@charset "utf-8";


/* ------------------------------------------------------------ 検索部分 */

#search_list p.empty { font-size: 20px; font-weight: bold; text-align: center; padding: 60px 0 0; width: 100%; }
#news p.empty { font-size: 16px; font-weight: bold; text-align: center; }

#search_list .rotate {
	position: relative;
	width: 96px;
	height: 96px;
	margin: 60px auto 0;
	animation: rotation 1s linear infinite;
	pointer-events: none;
}

@keyframes rotation {
	0% { transform: rotate(360deg); }
	100% { transform: rotate(0deg); }
}

#search_list .loader {
  width: 48px;
  height: 48px;
  display: block;
  margin: 20px auto;
  position: absolute;
  top: 0;
  right: 0;
  border: 3px solid #ae8400;
  border-radius: 50%;
  box-sizing: border-box;
  animation: animloader 1s linear infinite;
}
#search_list .loader::after {
  content: '';  
  box-sizing: border-box;
  width: 6px;
  height: 24px;
  background: #ae8400;
  transform: rotate(-45deg);
  position: absolute;
  bottom: -20px;
  left: 46px;
}

@keyframes animloader {
  0% 	{ transform: rotate(0deg); }
  100% 	{ transform: rotate(360deg); }
}


.search_inner{ width: 700px; margin: 0 auto; }
.list_inner{ width: 800px; margin: 0 auto; }



/* ------------------------------------------------------------ fv */
#fv{ background: url(../images/affiliated/bg_patern.jpg) center/8px repeat; }
#fv .bg{ padding: 30px 0 70px; background: url(../images/affiliated/bg_fv.png) center no-repeat; }
#fv .fv_inner{ width: 890px; margin: 0 auto;}
#fv .flex{ display: flex; align-items: center; }

#fv .top h2{ width: 470px; padding: 90px 0 0; font-size: 45px; font-feature-settings: "palt"; letter-spacing: 0.1em; line-height: 160%; font-weight: 500; color: #ae8400; }
#fv .top h2 .line{ background: linear-gradient(transparent 75%, #fdf33f 75%); font-weight: 500; }
#fv .top img{ width: 340px; height: auto; }


#fv .join{ padding: 15px 0; text-align: center; }
#fv .join .item{ display: block; margin: 0 auto; }
#fv .join h3{ padding: 0 0 20px; font-size: 40px; letter-spacing: 0.02em; color: #ae8400; text-align: center; line-height: 110%; font-weight: 500; }
#fv .join h3 small{ font-size: 33px; letter-spacing: 0.02em; font-weight: 500; }

#fv .join .btn{ width: 430px; height: auto; margin: 0 auto; filter: drop-shadow(6px 7px 7px rgba(0,0,0,0.3)); }
#fv .join .btn img{ width: 100%; height: auto; }


/* ------------------------------------------------------------ spot */
#spot{ padding: 50px 0; }
#spot h4{ font-size: 40px; color: #ae8400; font-weight: 700; letter-spacing: 0.02em; margin-bottom: 20px; text-align: center; }
#spot p{ font-size: 20px; line-height: 170%; text-align: center;}


/* ------------------------------------------------------------ search */
#search{ padding: 40px 0 90px; background: url(../images/affiliated/bg_patern02.jpg) center/200px repeat; }

#search h4{ position: relative; padding: 0 0 15px; margin-bottom: 20px; font-size: 40px; font-weight: 700; letter-spacing: 0.02em; text-align: center; color: #ae8400; }
#search h4:after{ position: absolute; content: ""; background: #c8bb7e; width: 150px; height: 5px; bottom: 0; left: 50%; transform: translate(-50%,0); }
#search h4 img{ display: block; width: 50px; height: auto; margin: 0 auto; padding: 0 0 10px; }

#search dl dt{ padding: 0 0 10px 15px; font-size: 20px; letter-spacing: 0.02em; color: #ae8400; font-weight: 500; }
#search dl dd{ font-size: 20px; letter-spacing: 0.02em; }

#search .cross{ display: flex; justify-content: space-between; margin: 0 0 20px; }
#search .cross dl{ position: relative; width: 300px; }
#search .cross dl:first-of-type:after{ position: absolute; content: ""; bottom: 13px; right: -65px; width: 30px; height: 30px; background: url(../images/icn_cross.png) center/cover no-repeat; }

#search .cross dd{ position: relative; font-weight: 500; }
#search .cross dd span{ pointer-events: none; position: absolute; width: 50px; height: 50px; border-radius: 0 10px 10px 0; background: #ae8400; top: 0px; right: 0; /* border: 1px solid #ae8400; */ }
#search .cross dd span:after{ position: absolute; content: ""; top: 15px; right: 18px; transform: rotate(45deg); width: 14px; height: 14px; border-bottom: 3px solid #fff; border-right: 3px solid #fff; }
#search dl .box{ -webkit-appearance: none; appearance: none; color: #000; border: 2px solid #ae8400; border-radius: 10px; padding: 8px 30px; height: 50px; background: #fff; }

#search .btn{ display: block; margin: 40px auto 0; width: 300px; height: 50px; border-radius: 50px; background: #ae8400; text-align: center; color: #fff; font-size: 20px; }

#search_list .prefecture h5{ font-size: 40px; width: 170px; text-align: center; padding: 15px 0; font-weight: 500;  margin: 0 auto 30px; border-top: 1px solid #ae8400; border-bottom: 1px solid #ae8400; color: #ae8400; }

#search_list .prefecture{ padding: 80px 0 0; }
#search_list .prefecture .list{ display: flex; flex-wrap: wrap; justify-content: space-between; }
#search_list .prefecture .list .box{ min-height: 280px; width: 100%; position: relative; margin: 0 0 40px; padding: 20px 0 40px; background: #fff; border-radius: 10px; box-shadow: 5.142px 6.128px 0px 0px rgba(0, 0, 0, 0.2); }
#search_list .prefecture .list .box:last-of-type{ margin: 0; }

#search_list .prefecture .list .sort{ width: 240px; display: flex; }
#search_list .prefecture .list .sort p{ padding: 4px 0 0; width: 120px; height: 32px; font-weight: 700; text-align: center; font-size: 19px; letter-spacing: 0.02em; border: 2px solid #ae8400; color: #fff; }
#search_list .prefecture .list .sort p:first-of-type{ background: #ae8400; }
#search_list .prefecture .list .sort p:last-of-type{ background: #fff; color: #ae8400; border-radius: 0 7px 7px 0; }

#search_list .prefecture .list .txt{ width: 90%; margin: 0 auto; padding: 10px 0 0; }
#search_list .prefecture .list .txt h6{ padding: 0 0 15px; font-size: 30px; letter-spacing: 0.02em; font-weight: 700; line-height: 150%; }
/* #search_list .prefecture li .txt .detail{ display: flex; justify-content: space-between; } */
#search_list .prefecture .list .txt .detail{ display: flex; align-items: baseline; justify-content: space-between; }

#search_list .prefecture .list .txt .detail dl{ width: 48%; }
#search_list .prefecture .list .txt .detail dl dt{ margin: 0 0 20px 0; padding: 8px 0 7px; font-size: 16px; text-align: center; border: 1px solid #eeeeee; background: #eeeeee; border-radius: 7px; }
#search_list .prefecture .list .txt .detail dl dd{ width: 100%; font-size: 15px; line-height: 160%; }

#search_list .prefecture .list .txt .detail dl.addres dt{ color: #000; }
#search_list .prefecture .list .txt .detail dl.benefits dt{ color: #af120d; border: 2px solid #af120d; background: #fff; }
#search_list .prefecture .list .txt .detail dl.benefits dd{ font-size: 22px; font-weight: 700; line-height: 150%; }

#search_list .prefecture .list .txt .link { overflow: hidden; white-space: nowrap; }
#search_list .prefecture .list .txt .link a { width: 100%; display: inline-block; font-size: 18px; padding-bottom: 5px; margin-top: 20px; color: #127c96; text-decoration: underline; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }

#search_list .prefecture .list .box.niigata { height: auto; padding-bottom: 30px; }
#search_list .prefecture .list .box.niigata .txt .detail { display: flex; flex-direction: column; align-items: center; }
#search_list .prefecture .list .box.niigata .txt .detail p { font-size: 20px; font-weight: 500; padding: 10px 0; text-align: center; }
#search_list .prefecture .list .box.niigata .txt .detail p a { display: inline-block; font-size: 16px; margin-top: 10px; padding-bottom: 5px; border-bottom: 1px solid #000; }
#search_list .prefecture .list .box.niigata .txt .detail img { display: block; width: 100%; height: auto; margin: 0 auto;  }

#search_list .bnr{ width: 450px; margin: 65px auto 0; }
#search_list .bnr a{ display: block; }
#search_list .bnr a img{ width: 100%; height: auto; }


#qupon{ padding: 60px 0; background: #fefced; }
#qupon h4{ font-size: 40px; letter-spacing: 0.02em; font-weight: 700; text-align: center; }
#qupon h4 img{ display: block; width: 215px; height: auto; margin: 0 auto; padding: 0 0 20px; }
#qupon h4 span { display: block; font-size: 20px; margin-top: 20px; }

#qupon ul{ display: flex; justify-content: center; flex-wrap: wrap; width: 940px; margin: 0 auto; padding: 40px 0 0; }
#qupon ul li{ position: relative; /* float: left; */ width: 450px; /* height: 180px; */ box-shadow: 5.142px 6.128px 0px 0px rgba(0, 0, 0, 0.2); background: #fff; border: 1px solid #ae8400; }
#qupon ul li:first-of-type{ margin: 0 40px 0 0; }

#qupon ul li a{ display: block; padding: 60px 20px 20px; }
#qupon ul li .num{ position: absolute; top: 0; left: 0; padding: 5px 13px 8px; font-size: 20px; color: #fff; letter-spacing: 0.02em; background: #ae8400; border-radius: 0 0 15px 0; }
#qupon ul li .num span{ font-size: 26px; font-family: din-2014, sans-serif; }
#qupon ul li .txt{ font-size: 40px; letter-spacing: 0.02em; /* background: #eeeeee; padding: 30px 20px; */ border: 1px solid #eeeeee; text-align: center; }
#qupon ul li .txt img{ width: 100%; height: auto; }



/* --------------------------------------------------------------------- mobile ------------------------------------------------------------ */

@media only screen and (max-width:640px){

#search_list p.empty { font-size: 16px; }

.search_inner,
.list_inner{ width: 92%; }


/* ------------------------------------------------------------ fv */
#fv{ background: url(../images/affiliated/bg_patern.jpg) center/10px repeat; }
#fv .bg{ padding: 90px 0 50px; background: url(../images/affiliated/bg_fv-sp.png) center bottom/100% no-repeat; }
#fv .fv_inner{ width: 94%; }
#fv .flex{ flex-direction: column; }

#fv .top h2{ width: 100%; padding: 0 0 20px; font-size: 35px; font-weight: 500; }
#fv .top h2 .line{ font-weight: 500; }
#fv .top img{ width: 70%; margin: 0 auto 0 0; }

#fv .join{ padding: 40px 0 0; }
#fv .join h3{ padding: 0 0 12px; font-size: 30px; font-weight: 500; }
#fv .join h3 small{ font-size: 24px; font-weight: 500; }
#fv .join .item{ width: 90px; height: auto; }

#fv .join .btn{ width: 80%; filter: drop-shadow(4px 5px 7px rgba(0,0,0,0.3)); }


/* ------------------------------------------------------------ spot */
#spot{ padding: 30px 0; }
#spot h4{ font-size: 20px; margin-bottom: 10px; }
#spot p{ font-size: 13px; }


/* ------------------------------------------------------------ search */
#search{ padding: 30px 0 40px; background-size: 50px; }

#search h4{ padding: 0 0 15px; font-size: 20px; }
#search h4:after{ width: 80px; height: 3px; }
#search h4 img{ width: 30px; }

#search dl dt{ padding: 0 0 7px 10px; font-size: 15px; }
#search dl dd{ font-size: 15px; }
#search dl .box{ height: 40px; padding: 8px 10px; }


#search .cross dl{ width: 45%; }
#search .cross dl:first-of-type:after{ right: -27px; width: 18px; height: 18px; }
#search .cross dd span{ width: 40px; height: 40px; pointer-events: none; }
#search .cross dd span:after{ top: 13px; right: 15px; width: 10px; height: 10px; border-bottom: 2px solid #fff; border-right: 2px solid #fff; }

#search .btn{ margin: 25px auto 0; width: 80%; height: 50px; font-size: 15px; }

#search_list .prefecture h5{ font-size: 30px; width: 140px; margin: 0 auto 20px; }

#search_list .prefecture{ padding: 40px 0 0; flex-direction: column; }
#search_list .prefecture .list{ margin: 0 0 30px; }
#search_list .prefecture .list .box{ height: auto; width: 100%; padding: 20px 0; }
#search_list .prefecture .list .sort{ width: 120px; }
#search_list .prefecture .list .sort p{ padding: 8px 0 0; width: 50%; height: 30px; font-size: 13px; }
#search_list .prefecture .list .sort p:last-of-type{ border-radius: 0 7px 7px 0; }

#search_list .prefecture .list .txt{ width: 90%; }
#search_list .prefecture .list .txt h6{ padding: 0 0 15px; font-size: 25px; }

#search_list .prefecture .list .box.niigata .txt .detail p { font-size: 14px; line-height: 140%; }
#search_list .prefecture .list .box.niigata .txt .detail p a { font-size: 12px; }

#search_list .prefecture .list .txt .detail{ flex-direction: column; }
#search_list .prefecture .list .txt .detail dl{ width: 100%; }
#search_list .prefecture .list .txt .detail dl dt{ margin: 0 0 10px; padding: 8px 0 7px; font-size: 14px; }
#search_list .prefecture .list .txt .detail dl dd{ font-size: 14px; }

#search_list .prefecture .list .txt .link a { font-size: 14px; margin-top: 10px; }

#search_list .prefecture .list .txt .detail dl.benefits{ padding: 15px 0 0; }
#search_list .prefecture .list .txt .detail dl.benefits dt{ margin: 0; }
#search_list .prefecture .list .txt .detail dl.benefits dd{ padding: 10px 0 0; font-size: 15px;}

#search_list .bnr{ width: 80%; margin: 40px auto 0; }



#qupon{ padding: 40px 0 50px; }
#qupon h4{ font-size: 20px; line-height: 150%; }
#qupon h4 img{ width: 115px; padding: 0 0 10px; }
#qupon h4 span { display: block; font-size: 14px; line-height: 150%; }

#qupon ul{ width: 100%; padding: 20px 0 0; }
#qupon ul li{ width: 100%; /* height: 110px; */ }
#qupon ul li a{ padding: 35px 20px 20px; }
#qupon ul li:first-of-type{  margin: 0 0 20px; }
#qupon ul li .num{ padding: 4px 8px 6px; font-size: 12px; }
#qupon ul li .num span{ font-size: 16px; vertical-align: baseline; }
#qupon ul li .txt{ font-size: 20px; padding: 15px 20px; }



}
