@charset"UTF-8";

/* 
***********************************************************
* Copyright(C) CIDARIO Inc.
* URI:http://cidario.co.jp
* Editor:Hiromi Yoshino
***********************************************************
*/

/* article
========================================================================================================
*/

/*----------------------------------------
                   shop
-----------------------------------------*/

article#shop section h2.title02{
  width:100%;
  background-image:none;
  font-size:18px; font-size:1.8rem;
  text-align:center;
  line-height:130%;
  color:#FFF;
  padding:15px 20px;
  margin:0 auto;
}

@media print, screen and (min-width:960px) {
 article#shop section h2.title02{
  width:690px;
  height:40px;
  background:url(/common/images/title08.png) no-repeat right 0 #6EB92B;
  font-size:18px; font-size:1.8rem;
  line-height:40px;
  text-align:left;
  padding:0 0 0 20px;
  margin:0 0 15px 0;  
 }
}

article#shop section h2.title03{
  width:100%;
  background-color:#00BFFF;
  font-size:18px; font-size:1.8rem;
  line-height:130%;
  color:#FFF;
  text-align:center;
  padding:15px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section h2.title03{
  width:690px;
  height:40px;
  background:url(/common/images/title12.png) no-repeat right 0 #00BFFF;
  font-size:18px; font-size:1.8rem;
  line-height:40px;
  color:#FFF;
  text-align:left;
  padding:0 0 0 20px;
 }
}

/*.shop-forum{
  position: relative;
  width:100%;
  height:50px;
  background: url("../../images/shop/forum01.jpg") no-repeat 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}


@media print, screen and (min-width:960px) { 
.shop-forum{
  position: relative;
  width:100%;
  height:60px;
 }
}

.shop-forum img{
  display: block;
  width:60px;
  position: absolute;
  top:-10px;
  left:30px;
  z-index: 101;
}

@media print, screen and (min-width:960px) { 
.shop-forum img{
  width:80px;
  position: absolute;
  top:-15px;
  left:30px;
  }
}

.shop-forum p{
  font-size: 1.6rem;
  font-weight: 700;
  color: #F2DA30;
  text-align: center;
}

@media print, screen and (min-width:960px) { 
.shop-forum p{
  font-size: 2rem;
  }
}*/

.shop-forum01{
  text-align: center;
  padding: 30px 0 0 0;
  margin: 0 auto -30px auto;
}

@media print, screen and (min-width:960px) { 
.shop-forum01{
  padding: 40px 0 0 0;
  margin: 0 auto -30px auto;
  }
}

.shop-forum01 span{
  display: inline-block;
  background: -moz-linear-gradient(45deg, #F4E619, #E8C417 16%, #C97A1A 70%, #F6DA59);
  background: -webkit-linear-gradient(45deg, #F4E619, #E8C417 16%, #C97A1A 70%, #F6DA59);
  background: linear-gradient(45deg, #F4E619, #E8C417 16%, #C97A1A 70%, #F6DA59);
  font-size: 1.2rem;
  font-weight: 600;
  color: #FFF;
  padding:7px 10px;
  margin: 0 auto;
}

section#main-contents .shop-forum01 figure{
  width:15%;
  max-width: 80px;
  position: absolute;
  top:48%;
  left:20px;
  transform: translateY(-50%);
  margin: 0;
  z-index: 500;
}

@media print, screen and (min-width:960px) { 
section#main-contents .shop-forum01 figure{
  width:100px; 
  max-width: inherit;
  position: absolute;
  top:48%;
  left:40px;
  transform: translateY(-50%);
  margin: 0;
  z-index: 500;
  }
}

section#main-contents .shop-forum01 figure img{
  display: block;
  width:100%;
}

/* shop index
========================================================================================================
*/

/*----------------------------------------
               search01
-----------------------------------------*/

article#shop section div.search01{
  position:relative;
  margin:0 0 20px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search01{
  margin:0 0 50px 0;
 }
}

/*--h3--*/
article#shop section div.search01 h3,
article#shop section div.search01 div h3,
article#shop section div.search03 h3,
article#shop section div.search03 div h3{
  width:90%;
  height:25px;
  background:url(/common/images/icon13.png) no-repeat 0 2px;
  font-size:16px; font-size:1.6rem;
  font-weight: 700;
  padding:0 0 0 28px;
  margin:0 auto 10px auto;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search01 h3,
  article#shop section div.search01 div h3,
  article#shop section div.search03 h3,
  article#shop section div.search03 div h3{
    width:95%;
    font-size:20px; font-size:2.0rem;
    padding:0 0 0 28px;
    margin:0 auto 20px auto;
 }
}

/* ----  search03  ---- */

article#shop section div.search03{
  width: 100%;
  margin: 0 0 40px 0;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search03{
    width: 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin: 0 0 50px 0;
  }
}

article#shop section div.search03 div.shop-search-map{
  width:62%
}

article#shop section div.search03 div.shop-search-list{
  width:100%
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search03 div.shop-search-list{
    width:36%
  }
}

div.shop-search-list .prefecturesForm01{
  width: 100%;
  background: #F4F4F4;
  padding: 30px 10px;
  margin: 0 auto;
}

div.shop-search-list .prefecturesForm01 .select-box{
  position: relative;  
  background: #FFF;
  margin:0 auto;
}

div.shop-search-list .prefecturesForm01 .select-box i{
  width:50px;
  height: 100%;
  background: #F0209D;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  position: absolute;
  top:50%;
  right:0;
  transform: translateY(-50%);    
  z-index:100;
}

@media print, screen and (min-width:1200px) {
div.shop-search-list .prefecturesForm01 .select-box i{
  width:50px;
  height: 100%;
  background: #F0209D;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top:50%;
  right:0;
  transform: translateY(-50%);    
  z-index:100;
  }
}

div.shop-search-list .prefecturesForm01 .select-box i::before{
  content: "expand_more";
  color: #FFF;
}

div.shop-search-list .select-box{
  width: 85%;
  margin:0 auto;
}

div.shop-search-list select{  
  appearance: none; 
  position: relative; 
  display: block;
  width: 100%;
  height: 50px;
  background: transparent;
  border: 1px solid #CCC;  
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #666;
  padding: 0 10px;
  margin: 0 auto;
  z-index: 101;
}

/*div.search03 div.shop-search-list div{
  width:90%;
  background-color:#FFF;
  padding:0;
  margin:20px auto;
}

@media print, screen and (min-width:960px) { 
  div.search03 div.shop-search-list div{
    width:95%;
    background-color:#F4F4F4;
    padding:20px 0;
    margin:20px auto;
 }
}

div.search03 div.shop-search-list div form div{
  width:100%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding:0;
  margin:0 auto;
}

@media print, screen and (min-width:960px) { 
  div.search03 div.shop-search-list div form div{
    display: block;
    width:90%;
    padding:0;
    margin:0 auto;
  }
}

div.search03 div.shop-search-list div form div select{
  display: block;
  width:calc( 100% - 100px );
  height:40px;
  font-size:16px; font-size:1.6rem;
  padding: 0;
  margin:0 10px 0 0;
}

@media print, screen and (min-width:960px) { 
 div.search03 div.shop-search-list div form div select{
   width:100%;
   height:40px;
   font-size:14px; font-size:1.4rem;
   margin:0 0 15px 0;
  }
}

div.search03 div.shop-search-list div form button{
  width:80px;
  height: 40px;
  background: #F0209D;
  border-radius: 5px;
  font-size: 14px; font-size: 1.4rem;
  color: #FFF;
  text-align: center;
  padding:0;
  margin:0;
  cursor:pointer;
}

@media print, screen and (min-width:960px) { 
 div.search03 div.shop-search-list div form button{
   display: block;
   width:80%;
   height:40px;
   font-size: 16px; font-size: 1.6rem;
   margin:0 auto;
 }
}*/

/*------------- free word-------------*/

input, button, select {
  margin: 0;
  padding: 0;
}

input,
button{
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */  
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

article#shop div.shop-search-free{
  width:100%;
  padding: 40px auto;
}

@media print, screen and (min-width:960px) {
  article#shop div.shop-search-free{
    width:100%;
    background: #F4F4F4;
    padding: 40px 0 30px 0;
    margin: 0 auto;
  }
}

article#shop div.shop-search-free div.search-free{
  width:100%;
  margin: 20px auto;
}

article#shop div.search-alert div.shop-search-free{
  width:100%;
  padding: 40px 0;
  margin: 40px 0 0 0;
}

@media print, screen and (min-width:960px) {
  article#shop div.search-alert div.shop-search-free{
    width:100%;
    padding: 40px 0;
    margin: 40px 0 0 0;
  }
}

article#shop div.search-free form{
   width:90%; 
   padding: 0 0 15px 0;
   margin: 0 auto;
}

article#shop div.search-free form div{
  width:100%; 
  display: flex;
  flex-flow:row nowrap;
  justify-content: space-between;
  margin: 0 auto;
}

article#shop div.search-free form input.freeword{
  width:calc( 100% - 100px );
  background-color: transparent;
  border-bottom: 1px solid #000;
  font-size:1.6rem;
  text-align: left;
  padding: 0 10px 10px 10px;
}

@media print, screen and (min-width:960px) {
  article#shop div.search-free form input.freeword{
  width:calc( 100% - 160px );  
  font-size:2.2rem;
  padding: 0 10px 15px 10px;
  }
}

article#shop div.search-free form input[type="text"]:focus {
  outline: none;
}

article#shop div.search-free span{
  display: block;
  width:90%;
  font-size: 1.2rem;
  line-height: 150%;
  padding: 0;
  margin:0 auto;
}

@media print, screen and (min-width:960px) {
article#shop div.search-free span{
  font-size: 1.3rem;
  }
}

article#shop div.search-free span strong{
  border-bottom: 1px solid #222;
  font-weight: normal;
  padding: 0 0 1px 0;
}

article#shop div.search-free input.h-search-btn{
  width:80px;
  height: 40px;
  background: #F0209D;
  font-size: 1.4rem;
  color: #FFF;
  text-align: center;
  padding:0;
  margin:0;
  cursor:pointer;
  transition: 1s;
}

@media print, screen and (min-width:960px) {
 article#shop div.search-free input.h-search-btn{
   width:140px;
   height: 50px;
   font-size: 1.6rem;
   padding:0;
   margin:0;
  }
}

article#shop div.search-free input.h-search-btn:hover{
  background: #F45EB8;
}

/* --------  shop-re-search --------*/

article#shop div.shop-re-search{
  width:90%;
  background-color: #F4F4F4;
  padding: 20px 0 20px 0;
  margin: 40px auto;
}

@media print, screen and (min-width:640px) and (max-width:960px){
  article#shop div.shop-re-search{
    width:95%;
    background-color: #F4F4F4;
    padding: 40px 0 40px 0;
    margin: 40px auto;
  }
}

@media print, screen and (min-width:960px) {
  article#shop div.shop-re-search{
    width:100%;
    background-color: #F4F4F4;
    padding: 40px 0 40px 0;
    margin: 40px 0;
  }
}  

article#shop div.shop-re-search p{
  width:90%;
  background-color: #F4F4F4;
  font-size: 16px; font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  margin: 0 auto 20px auto;
}

@media print, screen and (min-width:640px) {
  article#shop div.shop-re-search p{
    width:90%;
    font-size: 20px; font-size: 2.0rem;
    margin: 0 auto 40px auto;
  }
}

/*----------------------------------------
               search02
-----------------------------------------*/

article#shop section div.search02{
  margin:0 0 20px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02{
  margin:0 0 50px 0;
 }
}

article#shop section div.search02 div{
  width:90%;
  border-bottom:1px dotted #777;
  margin:0 auto 15px auto;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 div{
   width: 100%;
   display: flex;
   flex-flow: row nowrap;
	 padding:0 0 5px 0;
   margin:0 0 15px 0;
 }
}

article#shop section div.search02 div h3{
	width:100%;
	font-size:14px; font-size:1.4rem;
	text-align:center;
	font-weight:normal;
	padding:0;
	margin:0;
}

article#shop section div.search02 div h3 a{
	width:100%;
  display:block;
  color:#FFF;
	text-align:center;
  text-decoration:none;
	padding:8px 0;
	margin:0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 div h3{
	 width:100px;
   height:26px;
	 font-size:13px; font-size:1.3rem;
	 padding:0;
	 margin:0 10px;
 }
 
 article#shop section div.search02 div h3 a{  
   display:block;
	 width:100px;
   color:#FFF;
	 line-height:26px;
	 text-align:center;
   text-decoration:none;
	 padding:0 10px;
	 margin:0;
 }
}

article#shop section div.search02 dl{
  width:100%;
  padding:0 10px;
  margin:15px 0 0 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 dl{
   width:calc( 100% - 100px);
   display: flex;
   flex-flow: row wrap;
	 padding:0;
   margin:0;
 }
}

article#shop section div.search02 dl dt{
  width:100%;
  font-size:13px; font-size:1.3rem;
  text-align:center;
	padding:0;
  margin:0 0 10px 0;
}

article#shop section div.search02 dl dt a{
  display:block;
  width:100%;
  text-decoration:none;
  padding:8px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 dl dt{
	 width:90px;
   height:26px;
   font-size:13px; font-size:1.3rem;
	 padding:0;
   margin:0 0 10px 0;
 }
  
 article#shop section div.search02 dl dt a{
	 line-height:13px;
	 padding:5px 0;
 }
}

article#shop section div.search02 dl dd{
  width:100%;
  line-height:180%;
  padding:0;
  margin:0 0 15px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 dl dd{
	width:calc( 100% - 90px);
  padding:0 0 10px 15px;
  margin:0;
 }
}

article#shop section div.search02 div span{
	display:inline-block;
	color:#999;
	line-height:180%;
	margin:0 10px 0 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search02 div span{
	margin:0;
 }
}

article#shop section div.search02 dl dd a{
  display: inline-block;
  color:#0b0b0b;
  margin:0 10px 0 0;
}

article#shop section div.search02 dl dd a:hover{
  color:#DC2392;
}


div.region01 h3{
  background-color:#161388; 
}

div.region01 dl dt{
	border:1px solid #161388;
	color:#161388;
}

div.region01 dl dt a{
	color:#161388;
}

div.region02 h3{
  background-color:#144087;  
}

div.region02 dt{
  border:1px solid #144087;  
	color:#144087;
}

div.region02 dt a{
	color:#144087;
}

div.region03 h3{
  background-color:#1A6382;  
}

div.region03 dt{
  border:1px solid #1A6382;
	color:#1A6382;
}

div.region03 dt a{
	color:#1A6382;
}

div.region04 h3{
  background-color:#578217;  
}

div.region04 dt{
  border:1px solid #578217;
	color:#578217;
}

div.region04 dt a{
	color:#578217;
}

div.region05 h3{
  background-color:#896B10;  
}

div.region05 dt{
  border:1px solid #896B10;  
	color:#896B10;
}

div.region05 dt a{
	color:#896B10;
}

div.region06 h3{
  background-color:#813621;  
}

div.region06 dt{
  border:1px solid #813621; 
	color:#813621;
}

div.region06 dt a{
	color:#813621;
}

div.region07 h3{
  background-color:#7A253A;  
}

div.region07 dt{
  border:1px solid #7A253A; 
	color:#7A253A; 
}

div.region07 dt a{
	color:#7A253A; 
}

div.region08 h3{
  background-color:#5E156A;  
}

div.region08 dt{
  border:1px solid #5E156A; 
	color:#5E156A;
}

div.region08 dt a{
	color:#5E156A;
}

/* banner 
========================================================================================================
*/

section#main-contents aside.shop-list-bnbox{  
  position:relative;
  width:90%;
  max-width: 690px;
  margin: 30px auto;
}

@media print, screen and (min-width:960px) {
 section#main-contents aside.shop-list-bnbox{  
   margin: 0 auto 30px auto;
  }
}

section#main-contents aside.shop-list-bnbox a img{
   display: block;
   width:100%;
}

/* shop list
========================================================================================================
*/

/*--------------------------------------------------------------------------------
                                  sca-pref-cities
---------------------------------------------------------------------------------*/

.sca-city-wrap01{
  width:100%;
  border-bottom: 1px dashed #CCC;
}

.sca-city-wrap01 p{
  position: relative;
  width:100%;
  height: 70px;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
  margin:-20px auto 0 auto;
  cursor: pointer;
}

@media print, screen and (min-width:640px) {
.sca-city-wrap01 p{
  margin:-30px auto 0 auto;
  }
}

.sca-city-wrap01 p::before,
.sca-city-wrap01 p::after{
  content: "";
  width:20px;
  height: 1px;
  background: #313140;
  position: absolute;
  top:50%;
  right: 10px;
  transition: .8s;
}

.sca-city-wrap01 p::before{
  transform: rotate(90deg);
}

@media print, screen and (min-width:600px) {
  .sca-city-wrap01 p::before,
  .sca-city-wrap01 p::after{
   content: "";
   width:20px;
   height:1px;
   position: absolute;
   top:50%;
   right: 20px;
 }
}

@media print, screen and (min-width:1050px) {
  .sca-city-wrap01 p::before,
  .sca-city-wrap01 p::after{
   content: "";
   width:20px;
   height:1px;
   position: absolute;
   top:50%;
   right: 20px;
 }
}

.sca-city-wrap01 p.active:before{
	transform: rotate(0deg);
}

.sca-city-wrap01 p.active:after{
	background-color: transparent;
}

.sca-city-wrap01 p span{
  font-size: 1.8rem;
  color: #313140;
  font-weight: 600;
  transition: 1s;
}

.sca-city-wrap01 p:hover span{
  color: #999;
}

.sca-city-wrap01 section.sca-pref-cities{  
  display: none;
  width:100%;
  background: #EEE;
  padding: 20px;
  margin: 0 auto;
}

@media print, screen and (min-width:960px) {
.sca-city-wrap01 section.sca-pref-cities{
  display: none;
  width:100%;
  background: #EEE;
  padding: 20px;
  margin: 0 auto;
  }
}

.sca-city-wrap01 section.sca-pref-cities .sca-city-links{
  width:100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  grid-gap: 1px 1px;
  margin: 0 auto;
}

.sca-city-wrap02 section.sca-pref-cities .sca-city-links{
  width:100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  grid-gap: 10px 10px;
  margin: 0 auto 15px auto;
}

.sca-city-wrap01 section.sca-pref-cities .sca-city-links li{
  height: 40px;
}

.sca-city-wrap01 section.sca-pref-cities .sca-city-links li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #FFF;
  font-size: 1.3rem;
  color: #999;
  font-weight: 600;
  text-decoration: none;
  padding: 5px;
  transition: 1s;
}

.sca-city-wrap01 section.sca-pref-cities .sca-city-links li a:hover{
  background: #6DB82B;
  color: #FFF;
}

.sca-city-wrap02{
  width:100%;
  background: #00BFFF;
}

.sca-city-wrap02{
  background:#FFF;
  padding: 10px;
}

.sca-city-wrap02 p{
  width:100%;
  height: 50px;
  margin: 0 auto 10px auto;
}

.sca-city-wrap02 p a{
  width:100%;
  height:100%;
  background:#EEE;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
  font-weight: 600;
  text-decoration: none;
  margin: 0 auto 10px auto;
  transition: 1s;
}

.sca-city-wrap02 p a:hover{
  background:#00BFFF;
  color: #FFF;
}

.sca-city-wrap02 section.sca-pref-cities .sca-city-links{
  width:100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.sca-city-wrap02 section.sca-pref-cities .sca-city-links li{
  height: 30px;
}

.sca-city-wrap02 section.sca-pref-cities .sca-city-links li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-bottom: 1px solid #EEE;
  font-size: 1.3rem;
  color: #999;
  font-weight: 600;
  text-decoration: none;
  padding: 5px;
  transition: 1s;
}


.sca-city-wrap02 section.sca-pref-cities .sca-city-links li a:hover{
  color: #000;
}

/*--------------------------------------------------------------------------------
                                    shop list
---------------------------------------------------------------------------------*/

section#main-contents div.shopList{  
  position:relative;
  width:90%;
  padding: 20px 0 0 0;
  margin: 0 auto;
}

@media print, screen and (min-width:640px) and (max-width:959px){
  section#main-contents div.shopList{  
   width:95%;
  }
}

@media print, screen and (min-width:960px) { 
  section#main-contents div.shopList{  
   width:100%;
  }
}

section#main-contents div.shopList div.shop-list-block{  
  position:relative;
  width:100%;
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: space-between; 
  border-bottom: 1px dashed #CCC;
  padding: 0 0 20px 0;
  margin: 0 0 20px 0;
}

div.shop-list-block div.shop-list01{  
  width:64%;
}

div.shop-list-block div.shop-list02{
  width:32%;
}

div.shop-list01 h3{
  font-size:18px; font-size: 1.8rem;
  font-weight: 700;
  color: #6CC50C;
  margin: 0;
}

@media print, screen and (min-width:640px) { 
  div.shop-list01 h3{
    font-size:20px; font-size: 2.0rem;
    margin: 10px 0 0 0;
  }
}

div.shop-list01 h3 a{
  color: #6CC50C;
  text-decoration: none;
}

div.shop-list01 h3 + p{
  font-size: 1.4rem;
  line-height: 150%;
  font-weight: 700;
  margin: 10px 0 0 0;
}

@media print, screen and (min-width:640px) { 
  div.shop-list01 h3 + p{
   font-size: 1.6rem;
   margin:15px 0 0 0;
  }
}

div.shop-list01 ul.shop-list-info{
  border: none;
  margin: 10px 0 0 0;
}

@media print, screen and (min-width:640px) { 
  div.shop-list01 ul.shop-list-info{
    border: none;
    margin: 15px 0 0 0;
  }
}

div.shop-list01 ul.shop-list-info li{
  position: relative;
  font-size: 12px; font-size: 1.2rem;
  line-height: 150%;
  padding: 0 0 0 25px;
  margin: 0 0 5px 0;
}

@media print, screen and (min-width:640px) { 
  div.shop-list01 ul.shop-list-info li{
  font-size: 14px; font-size: 1.4rem;
  }
}


div.shop-list01 ul.shop-list-info li::before{
  content: "";
  width:18px;
  height:18px; 
  position: absolute;
  top:1px;
  left:0;
 }

div.shop-list01 ul.shop-list-info li.info01::before{
  background: url(/common/images/h-icon04.png) no-repeat 50% 50%;
  background-size: 100%;
 }

div.shop-list01 ul.shop-list-info li.info02::before{
  background: url(/common/images/h-icon05.png) no-repeat 50% 50%;
  background-size: 100%;
 }

div.shop-list01 ul.shop-list-info li.info03::before{
  background: url(/common/images/h-icon07.png) no-repeat 50% 50%;
  background-size: 100%;
 }

div.shop-list02 div{
  position: relative;
  display: block;
  width:100%;
  cursor: pointer;
}

section#main-contents div.shopList div.shop-list-block div.shop-list02:hover div::before{
    background:rgba(0,0,0,0);
}

div.shop-list02 div img{
  position: relative;
  display: block;
  width:100%;
  height: 120px;
  object-fit: cover;
  z-index: 100;
 }

@media print, screen and (min-width:640px) { 
  div.shop-list02 div img{
    display: block;
    width:100%;
    height: 180px;
    object-fit: cover;
  }
}

div.shop-list02 div::before{
  display: block;
  content: "";
  width:100%;
  height:120px;
  background:rgba(0,0,0,0.3);
  position: absolute;
  top:0;
  left:0;
  z-index: 101;
  transition: 1s;
}

@media print, screen and (min-width:640px) { 
  div.shop-list02 div::before{
    content: "";
    width:100%;
    height:180px;
  }
}

div.shop-list02 div a.shop-list-btn{
  display: block;
  width:70%;
  max-width: 120px;
  background-color: #F0209D;
  font-size: 13px; font-size: 1.3rem;
  line-height: 100%;
  text-align: center;
  text-decoration: none;
  color: #FFF;
  padding:8px 0;
  position: absolute;
  bottom:15px;
  left:50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 102;
 }

@media print, screen and (min-width:640px) { 
  div.shop-list02 div a.shop-list-btn{
    display: block;
    width:120px;
    background-color: #F0209D;
    font-size: 13px; font-size: 1.3rem;
    line-height: 100%;
    text-align: center;
    text-decoration: none;
    color: #FFF;
    padding:8px 0;
    position: absolute;
    bottom:15px;
   left:50%;
   -webkit-transform: translateX(-50%);
   -ms-transform: translateX(-50%);
   transform: translateX(-50%);
   z-index: 102;
  }
}

/* ======== btn ========*/

article#shop section  a.shop-reserve-btn{
  width:180px;
  height:36px;
  display:block;
  line-height:36px;
  font-size:15px; font-size:1.5rem;
  text-align:center;
  margin:0 auto;
}

@media print, screen and (min-width:960px) { 
 article#shop section  a.shop-reserve-btn{
  margin:0 0 0 90px;
 }
}


/* ======== select ========*/

article#shop section div.s-select{
  text-align:right;
  margin:0 20px 30px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.s-select{
  margin:0 0 30px 0;
 }
}

/* ======== aside#s-news ========*/

article#shop section aside#s-news{
  width:90%;
  background-color:#FFFFFF;
  padding:0;
  margin:0 auto 20px auto;
}

@media print, screen and (min-width:960px) { 
 article#shop section aside#s-news{
  width:100%;
  background-color:#FFFFFF;
  padding:0;
  margin:0 auto 50px auto;
 }
}

article#shop section aside#s-news h2{
  font-size:16px; font-size:1.6rem;
  color:#6EB92B;
  padding:5px 0 5px 25px;
  margin:0 0 10px 0;
}

@media print, screen and (min-width:640px) { 
 article#shop section aside#s-news h2{
  font-size:18px; font-size:1.8rem;
  padding:10px 0 10px 40px;
  margin:0 0 10px 0;
 }
}

article#shop section aside#s-news h2#icon01{
  background:url(/common/images/icon16.png) no-repeat 0 0;
  background-size:20px 20px;
}

article#shop section aside#s-news h2#icon02{
  background:url(/common/images/icon17.png) no-repeat 0 0;
  background-size:20px 20px;
}

article#shop section aside#s-news h2#icon03{
  background:url(/common/images/icon18.png) no-repeat 0 0;
  background-size:20px 20px;
}

@media print, screen and (min-width:640px) { 
 article#shop section aside#s-news h2#icon01{
  background:url(/common/images/icon16.png) no-repeat 0 0;
  background-size:30px 30px;
 }

 article#shop section aside#s-news h2#icon02{
  background:url(/common/images/icon17.png) no-repeat 0 0;
  background-size:30px 30px;
 }

 article#shop section aside#s-news h2#icon03{
  background:url(/common/images/icon18.png) no-repeat 0 0;
  background-size:30px 30px;
 }
}


article#shop section aside#s-news h3{
  font-size:14px; font-size:1.4rem;
  background-color:#333333;
  padding:7px 10px;
  margin:0 0 10px 0;
  color:#FFFFFF;
  clear:both;
}

@media print, screen and (min-width:960px) { 
 article#shop section aside#s-news h3{
  padding:10px 15px;
 }
}


article#shop section aside#s-news img{
  width:30%;
  display:block;
  float:right;
  margin:0 0 15px 0;
}

article#shop section aside#s-news img+p{
  width:70%;
}

article#shop section aside#s-news p{
  line-height:200%;
  padding:0 10px;
  margin:0 0 20px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section aside#s-news p{
  padding:0 15px;
 }
}


/*----------------------------------------
                  shop partner
-----------------------------------------*/

aside.partner{
  width:100%;
  margin: 40px 0 0 0;
}

@media print, screen and (min-width:960px) { 
  aside.partner{
    display: grid;
    grid-template-columns: 50% 50%;
    /*column-gap: 40px;  */
  }
}

aside.partner h2{
  width:100%;
  background: #000;
  color: #FFF;
  font-size: 1.6rem;
  text-align: center;
  padding: 15px 20px;
  margin: 0 0 30px 0;
}

@media print, screen and (min-width:960px) { 
aside.partner h2{
  font-size: 1.6rem;
  }
}

aside.partner div{
  width:100%;
  text-align: center;
  background:#FFF;
  padding: 20px 4.5%;
  margin: 0;
}

@media print, screen and (min-width:960px) { 
  aside.partner div{
   width:100%;
   text-align: left;
   background: #FFF;
   padding: 30px 2.8%;
   margin: 0;
  }
}

aside.partner div h3{
  width:80%;
  padding: 0;
  margin: 0 auto 15px auto;
}

@media print, screen and (min-width:960px) { 
aside.partner div h3{
  width:80%;
  padding: 0;
  margin: 0 auto;
  }
}

aside.partner div h3 img{
  width:100%;
  max-width:350px;
  padding: 0;
  margin: 0;
}

aside.partner div p{
  width:100%;
  padding: 0;
  margin: 0 auto;
}

@media print, screen and (min-width:960px) { 
  aside.partner div p{
    width:100%;
    text-align: center;
    padding: 0 0 0 30px;
    margin: 15px auto 0 auto;
  }
}

aside.partner div p a{
  position: relative;
  display: inline-block;
  font-size: 16px; font-size: 1.6rem;
  font-weight: bold;
  line-height: 135%;
  color: #006CD8; 
  text-align: center;
  padding: 0 25px 0 0;
  margin: 0 0 10px 0;
}

@media print, screen and (min-width:960px) { 
  aside.partner div p a{
   padding: 0 25px 0 0;
   margin: 0 0 10px 0;
  }
}

aside.partner div p a::after{
  content: "";
  width:16px;
  height: 16px;
  background: url(/images/shop/partner03.png) no-repeat 0 0;
  background-size: 100%; 
  position: absolute;
  top:3px;
  right: 0;
}

@media print, screen and (min-width:960px) { 
  aside.partner div p a::after{
   position: absolute;
   top:50%;
   right: 0;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
  }
}

aside.partner div p span{
  display: block;
  font-size: 12px; font-size: 1.2rem;
  padding: 0;
  margin: 0;
}


/* shop detail
========================================================================================================
*/

/*------   photo   ------*/

section.shop-detail ul.shop-photo{
  width:90%;
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 20px auto 20px auto;
}

@media print, screen and (min-width:960px) { 
  section.shop-detail ul.shop-photo{
   width:100%;
   margin: 0 0 30px 0;
  }
}

section.shop-detail ul.shop-photo li{
  width:48%;
  max-height: 270px;
}

section.shop-detail ul.shop-photo li img{
  width:100%;
  height: 100%;
  object-fit: cover;
}

/*------   lead   ------*/

section.shop-detail p.shop-lead{
  width:90%;
  line-height: 200%; 
  margin: 0 auto 20px auto;
}

@media print, screen and (min-width:960px) { 
  section.shop-detail p.shop-lead{
   width:100%;
   line-height: 200%; 
   margin: 0 0 30px 0;
  }
}

/*------   div   ------*/
section.shop-detail div.shop-detail01,
section.shop-detail div.shop-detail02{
  width:100%;
}

@media print, screen and (min-width:960px) { 
  section.shop-detail div.shop-detail01,
  section.shop-detail div.shop-detail02{
  width:100%;
  }
}

/*------   div  detail01 ------*/

section.shop-detail div.shop-detail01{
  background: #6DC50E;
  padding: 0 0 30px 0;
}

section.shop-detail div.shop-detail01 h2{
  position: relative;
  width:92%;
  height: 100px;
  background: url(/common/images/guts-mark02.png) no-repeat;
  background-position: 100% 30px;
  font-size: 20px; font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  margin: 0 auto;
}

@media print, screen and (min-width:960px) { 
  section.shop-detail div.shop-detail01 h2{
   position: relative;
   width:92%;
   height: 100px;
   background: url(/common/images/guts-mark02.png) no-repeat;
   background-position: 100% 30px;
   font-size: 20px; font-size: 2.0rem;
   font-weight: 700;
   color: #FFF;
   margin: 0 auto;
  }
}

section.shop-detail div.shop-detail01 h2 span{
  display: block;
  width: 100%;
  font-size: 20px; font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  text-align: center;
  position: absolute;
  top:50%;
  left:0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media print, screen and (min-width:640px) { 
  section.shop-detail div.shop-detail01 h2 span{
   display: block;
   width: 100%;
   font-size: 20px; font-size: 2.0rem;
   font-weight: 700;
   color: #FFF;
   text-align: center;
   position: absolute;
   top:50%;
   left:0;
   -webkit-transform: translateY(-50%);
   -ms-transform: translateY(-50%);
   transform: translateY(-50%);
  }
}

section.shop-detail div.shop-detail01 h2 span strong{
  display: block;
  font-size: 28px; font-size: 2.8rem;
  font-weight: 900;
  font-style: italic;
  margin: 5px 0 0 0;
}

@media print, screen and (min-width:640px) { 
  section.shop-detail div.shop-detail01 h2 span strong{
    display: inline;
    font-size: 36px; font-size: 3.6rem;
    margin: 0;
  }
}

section.shop-detail div.shop-detail01 ul{
  width:90%;
  margin: 0 auto;
}

section.shop-detail div.shop-detail01 ul li{
  border: 3px solid #000;
  border-radius: 5px;
  background-color: #FFF;
  font-size: 16px; font-size: 1.6rem;
  font-weight: 700;
  line-height: 150%;
  text-align: center;
  padding: 15px 10px;
  margin: 0 0 10px 0;
}

@media print, screen and (min-width:640px) { 
  section.shop-detail div.shop-detail01 ul li{
   border: 3px solid #000;
   border-radius: 5px;
   background-color: #FFF;
   font-size: 18px; font-size: 1.8rem;
   font-weight: 700;
   line-height: 150%;
   text-align: center;
   padding: 25px 20px;
   margin: 0 0 10px 0;
  }
}

/*------   div  detail02 ------*/

section.shop-detail div.shop-detail02{
  margin: 40px 0 0 0;
}

@media print, screen and (min-width:640px) { 
    section.shop-detail div.shop-detail02{
    margin: 70px 0 0 0;
  }
}

section.shop-detail div.shop-detail02 h2{
  position: relative;
  font-size: 24px; font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
  padding: 0 0 15px 0;
  margin: 0 0 30px 0;
}

@media print, screen and (min-width:640px) { 
  section.shop-detail div.shop-detail02 h2{
   font-size: 36px; font-size: 3.6rem;
   padding: 0 0 30px 0;
   margin: 0 0 30px 0;
  }
}

section.shop-detail div.shop-detail02 h2::after{
  content: "";
  width:90px;
  height: 1px;
  background-color: #000;
  position: absolute;
  left:50%;
  bottom: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

/*--- tab --*/

div.shop-detail02 div.shop-movie{
  width:100%;
  display: flex;
  flex-flow: row wrap;
}

div.shop-detail02 div.shop-movie.forum{
  position: relative;
  width:100%;
  margin:60px 0 0 0;
}

@media print, screen and (min-width:640px) { 
div.shop-detail02 div.shop-movie.forum{
  margin: 100px 0 0 0;
  }
}

div.shop-detail02 div.shop-movie.forum .shop-forum02{
  width:100%;
  background:url("/images/shop/forum01.jpg") no-repeat 0 0;
  background-size: cover;
}

div.shop-detail02 div.shop-movie.forum .shop-forum02.movie-none{
  margin: 0 0 30px 0;
}

@media print, screen and (min-width:640px) { 
div.shop-detail02 div.shop-movie.forum .shop-forum02.movie-none{
  margin: 0 0 80px 0;
  }
}

section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 figure{
 width:15%;
 min-width: 80px;
 margin:-40px auto 0 auto;
}

@media print, screen and (min-width:640px) { 
section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 figure{
 width:100px;
 margin:-40px auto 0 auto;
  }
}

div.shop-detail02 div.shop-movie.forum .shop-forum02 figure img{
  display: block;
  width: 100%;
}

section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 p{
  background-color:transparent;
  font-size: 2.8rem;
  color: #ECC235;
  letter-spacing: 0.05em;
  padding: 15px 0;
}

@media print, screen and (min-width:640px) {
section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 p{
  font-size: 3.2rem;
  padding: 15px 0;
  }
}

section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 p + span{
  display: block;
  font-size: 1.4rem;
  color: #ECC235;
  font-weight: 600;
  text-align: center;
  margin: 0 auto 20px auto;
}

@media print, screen and (min-width:640px) {
section#main-contents div.shop-detail02 div.shop-movie.forum .shop-forum02 p + span{
  font-size: 1.6rem;
  margin: 0 auto 30px auto;
  }
}

div.shop-detail02 div.shop-movie.forum div.movie-content{
  border-left:8px solid #03040D;
  border-right:8px solid #03040D;
  border-bottom:8px solid #03040D;
}

div.shop-detail02 div.shop-movie.forum .tab-content{
  border-left:8px solid #03040D;
  border-right:8px solid #03040D;
  border-bottom:8px solid #03040D;
}

div.shop-detail02 div.shop-movie.forum div.movie-content iframe{
  border:10px solid #FFF!important;
}

div.shop-detail02 div.shop-movie.forum .tab-content iframe{
  border:10px solid #FFF!important;
}

div.shop-detail02 div.shop-movie p{
  position: relative;
  width:100%;
  background-color: #6DC50E;
  font-size: 18px; font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  text-align: center;
  padding: 20px 0;
  margin:0;
}

 div.shop-detail02 label.tab{
  position: relative;
  display: block;
  width:50%;
  background-color: #CCC;
  font-size: 18px; font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  text-align: center;
  cursor: pointer;
  padding: 20px 0;
  margin:0;
}

@media print, screen and (min-width:640px) { 
  div.shop-detail02 label.tab{
   font-size: 24px; font-size: 2.4rem;
   font-weight: 700;
  }
}

 div.shop-detail02 label.tab::before{
   content:"";
   width: 7px;
   height: 7px;
   border: 2px solid;
   border-color:  transparent transparent #FFF #FFF;
   position: absolute;
   top:50%;
   right: 20px;
   -webkit-transform:translateY(-50%) rotate(-45deg);
   -ms-transform:translateY(-50%) rotate(-45deg);
   transform:translateY(-50%) rotate(-45deg);
  }

div.shop-detail02 input[name="tab_item"] {
    display: none;
}

div.shop-detail02 input:checked + .tab{
  background-color: #6DC50E;
	color: #FFF;
  cursor: default;
}

div.shop-detail02 div.shop-movie.forum input + .tab:first-of-type{
  border-left: 8px solid #03040D;
}

div.shop-detail02 div.shop-movie.forum input + .tab:last-of-type{
  border-right: 8px solid #03040D;
}

div.shop-detail02 div.tab-content{
    display: none;
}

div.shop-detail02 input#introduction1:checked ~ #introduction1-content,
div.shop-detail02 input#introduction2:checked ~ #introduction2-content{
  display: block;
}

div.shop-detail02 div.tab-content,
div.shop-detail02 div.movie-content{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 0 0 40px 0;
}

div.shop-detail02 div.movie-wrap{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin: 20px 0 20px 0;
}

@media print, screen and (min-width:960px) { 
  div.shop-detail02 div.tab-content,
  div.shop-detail02 div.movie-content{
   margin: 0 0 50px 0;
  }
}

@media print, screen and (min-width:960px) { 
  div.shop-detail02 div.movie-wrap{
   margin: 20px 0 50px 0;
  }
}

div.shop-detail02 div.tab-content iframe,
div.shop-detail02 div.movie-content iframe,
div.shop-detail02 div.movie-wrap iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--- h3 --*/

section.shop-detail div.shop-detail02 h3{
  position: relative;
  width:100%;
  height:70px;
  background:url(/common/images/guts-mark03.png) no-repeat right 10px  #313140;
  font-size:18px; font-size:1.8rem;
  line-height:70px;
  text-align:center;
  color:#FFF;
  font-weight: 700;
  padding:0 10px;
}

section.shop-detail div.shop-detail02 h3 span{
  display: block;
  width:100%;
  font-size: 18px; font-size:1.8rem;
  font-weight: 700;
  text-align: center;
  color: #FFF;
  position: absolute;
  top:50%;
  left:0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media print, screen and (min-width:640px) { 
  section.shop-detail div.shop-detail02 h3 span{
   font-size: 22px; font-size:2.2rem;
   font-weight: 700;
  }
}

/*--- map --*/

/* -------------------- s-detail MAP-------------------- */

section.shop-map{
  width:100%;
  padding:0;
  margin: 0;
}

section.shop-map div.map-title{
  width:100%;
  background: url(/common/images/guts-mark04.png) no-repeat -10px 20px #313140;
  background-size: 60%;
  padding:25px 0 20px 0;
  margin: 0 auto;
}

@media print, screen and (min-width:640px) { 
  section.shop-map div.map-title{
    width:100%;
    background: url(/common/images/guts-mark04.png) no-repeat 20px 20px #313140;
    padding:30px 0;
    margin: 0 auto;
  }
}

section.shop-map div.map-title h2{
  width:90%;
  font-size: 18px; font-size: 1.8rem;
  font-weight: 700;
  line-height: 130%;
  text-align: center;
  color: #FFF;
  margin: 0 auto;
}

@media print, screen and (min-width:640px) { 
  section.shop-map div.map-title h2{
   width:90%;
   font-size: 24px; font-size: 2.4rem;
  }
}

section.shop-map div.map-title p{
  width:90%;
  font-size: 13px; font-size: 1.3rem;
  line-height: 150%;
  text-align: center;
  color: #FFF;
  margin: 15px auto 0 auto;
}

@media print, screen and (min-width:640px) { 
  section.shop-map div.map-title p{
    width:90%;
    font-size: 15px; font-size: 1.5rem;
    line-height: 150%;
    text-align: center;
    color: #FFF;
    margin: 20px auto 0 auto;
  }
}

section.shop-map div.map{
  position: relative;
  width:100%;
  height: 0;
  overflow: hidden;
  padding-bottom: 76%; /*アスペクト比 16:9の場合の縦幅*/
  margin: 0 auto;
}

@media print, screen and (min-width:640px) { 
 section.shop-map div.map{
   position: relative;
   width:100%;
   height: 0;
   overflow: hidden;
   padding-bottom: 42%; /*アスペクト比 16:9の場合の縦幅*/
   margin: 0 auto;
 }
}

section.shop-map div.map iframe{
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}


/*--- info --*/

section.shop-detail div.shop-detail02 div.shop-info{
  width: 100%;
  margin: 0;
}

@media print, screen and (min-width:960px) {
  section.shop-detail div.shop-detail02 div.shop-info{
  width: 100%;
  margin: 0;
  }
}

section.shop-detail div.shop-detail02 div.shop-info dl{
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
}

section.shop-detail div.shop-detail02 div.shop-info dl:nth-child(2n){
  background-color: #EEE;  
}

section.shop-detail div.shop-detail02 div.shop-info dl dt{
  width: 40%;
  font-size: 13px; font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  line-height: 150%;
  padding: 18px 0 18px 0;
}

@media print, screen and (min-width:640px) { section.shop-detail div.shop-detail02 div.shop-info dl dt{
  width: 30%;
  font-size: 15px; font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 150%;
  padding: 18px 0 18px 0;
  }
}

section.shop-detail div.shop-detail02 div.shop-info dl dd{
  width: 60%;
  font-size: 14px; font-size: 1.4rem;
  line-height: 150%;
  padding: 18px 15px 18px 5px;
}

@media print, screen and (min-width:640px){
section.shop-detail div.shop-detail02 div.shop-info dl dd{
  width: 70%;
  font-size: 15px; font-size: 1.5rem;
  line-height: 150%;
  padding: 18px 15px 18px 5px;
}
}

section.shop-detail div.shop-detail02 div.shop-info dl dd img{
  display: inline-block;
  margin: 0 1px 5px 0;
}

@media print, screen and (min-width:640px){
section.shop-detail div.shop-detail02 div.shop-info dl dd img{
  display: inline-block;
  margin: 0 1px 0 0;
  }
}


/* ======== shopDetail02 ========*/

article#shop section div.shopDetail02{
  margin:0 20px 20px 20px;
}

@media print, screen and (min-width:640px) { 
 article#shop section div.shopDetail02{
   width:95%;
   margin:0 auto 50px auto;
 }
}

article#shop section div.shopDetail02 dl{
  width:100%;
  border-bottom:1px dotted #777;
  padding:10px 0;
}

article#shop section div.shopDetail02 dl:first-child{
  padding:0 0 10px 0;
}

@media print, screen and (min-width:640px) { 
 article#shop section div.shopDetail02 dl{
   width:100%;
   display: flex;
   flex-flow: row nowrap;
   border-bottom:1px dotted #777;
   padding:15px 0;
 }
}

article#shop section div.shopDetail02 dl:after{
	content:""; 
	display:block; 
	clear:both; 
}

article#shop section div.shopDetail02 dl dt{
  width:30%;
  height:24px;
  float:left;
  background-color:#424251;
  font-size:12px; font-size:1.2rem;
  line-height:24px;
  text-align:center;
  color:#FFF;
  margin:0;
}

@media print, screen and (min-width:640px) { 
 article#shop section div.shopDetail02 dl dt{
  width:13%;
  height:24px;

  background-color:#424251;
  font-size:12px; font-size:1.2rem;
  line-height:24px;
  text-align:center;
  color:#FFF;
  margin:0;
 }
}

article#shop section div.shopDetail02 dl dd{
  width:70%;
  float:left;
  line-height:150%;
  padding:0 10px;
}

@media print, screen and (min-width:640px) { 
 article#shop section div.shopDetail02 dl dd{
  width:87%;
  min-height:24px;
  line-height:24px;
  padding:0 10px 0 20px;
  margin:0;
 }
}

article#shop section div.shopDetail02 dl dd img{
  display:inline-block;
  margin:0 2px 4px 0;
}


/* ======== map ========

article#shop section div.map{
  width:100%;
  height:200px;
  border:1px solid #CCC;
  position: relative;
  overflow:hidden;
  margin:0 0 20px 0;
}

article#shop section h2.t-map{
  margin:0;
}

@media print, screen and (min-width:640px) { 
 article#shop section div.map{
  width:660px;
  height:400px;
  margin:0 15px 50px 15px;
 }
 
 article#shop section h2.t-map{
  margin:0 0 20px 0;
 }
}

article#shop section div.map iframe,
article#shop section div.map object,
article#shop section div.map embed {
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
}
*/


/* ======== shop contact ========*/

article#shop section div.shop-contact{
  width:90%;
  border:5px solid #F4F4F4;
  padding:25px 0;
  margin:0 auto 20px auto; 
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact{
  width:690px;
  border:10px solid #F3F3F3;
  padding:25px 0;
  margin:0 0 50px 0; 
 }
} 
  
  
article#shop section div.shop-contact a.s-btn{
  width:90%;
  height:60px;
  display:block;
  font-size:20px; font-size:2.0rem;
  line-height:60px;
  text-align:center;
  padding:0;
  margin:0 auto;
}
 
  
@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact a.s-btn{
  width:570px;
  height:60px;
  font-size:24px; font-size:2.4rem;
  line-height:60px;
 }
} 
  
article#shop section div.shop-contact dl{
  width:90%;
	position:relative;
  background-color:#F4F4F4;
  margin:10px auto 0 auto;
}


@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dl{
  width:570px;
  background-color:#F4F4F4;
  margin:15px auto 0 auto;
 }
}

article#shop section div.shop-contact dt{
  background-color:#424251;
  text-align:center;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dt{
	 width:160px;
	 float:left;
	 background-color:#424251;
	 text-align:left;
	 padding:8px 0;
 }
}

article#shop section div.shop-contact dt img{
   width:126px;
   height:28px;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dt img{
	width:160px;
	height:36px;
	display:block;
	margin:0 auto;
 }
}

article#shop section div.shop-contact dd{
	text-align:center;
	padding:15px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dd{
	 text-align:left;
	 padding:23px 0 0 170px;
 }
}

article#shop section div.shop-contact dd span{
	display: inline-block;
  color:#000;
  font-size:18px; font-size:1.8rem;
  text-decoration:none;
	margin:0 0 10px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dd span{
  color:#000;
	font-size:27px; font-size:2.7rem;
	font-weight:bold;
	margin:0;
 }
 
 article#shop section div.shop-contact p{
	text-align:center;
  color:#000;
	padding:10px 0 0 0;
 }
}

@media print, screen and (min-width:960px) { 
 article#shop section div.shop-contact dd br{
  display:none; 
 }
}

/* =========== shop-about ===========*/

aside#side-nav div.shop-about{
  width:90%;
  padding: 0;
  margin:30px auto 0 auto; 
}

@media print, screen and (min-width:960px) { 
 aside#side-nav div.shop-about{
   width:100%;
   max-width: 320px;
   padding:0;
   margin:0 auto;
 }
}

aside#side-nav div.shop-about a{
  position: relative;
  display: inline-block;
  background-color: #FFF;
  border: 1px solid #999;
  border-radius: 5px;
  font-size: 11px; font-size: 1.1rem;
  color: #666;
  text-decoration: none;
  padding: 4px 5px 5px 20px;
  margin:0 0 5px 0;
 }

aside#side-nav div.shop-about a::before{
  content: "";
  width:10px;
  height: 10px;
  background: url(/images/shop/shop-icon05.png) no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  top:51%;
  left:5px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
 }

aside#side-nav div.shop-about a:hover{
  background-color: #EEE;
 }

aside.shop-bn01{
  width:100%;
  margin: 20px auto 0 auto;
}

@media print, screen and (min-width:640px) { 
  aside.shop-bn01{
    margin: 30px auto 0 auto;
  }
}

aside.shop-bn01 a{
  display: block;
  width:90%;
  max-width: 680px;
  padding: 0;
  margin: 0 auto;
}

@media print, screen and (min-width:960px) { 
  aside.shop-bn01 a{
   width:100%;
   max-width: 680px;
   padding: 0;
   margin: 0 auto;
  }
}

aside.shop-bn01 a img{
  display: block;
  width:100%;
  max-width: 680px;
  margin: 0 auto;
}

/* shop detail notfound
========================================================================================================
*/
.shop-info dl dd a{
  color: #00BFFF;
}

article section div#notfound{
  width:90%;
  background:url(/common/images/not-found01.png) no-repeat 50% 50% #F4F4F4;
  background-size:70%;
  text-align:center;
  padding:30px 20px;
  margin:0 auto 20px auto;  
}

@media print, screen and (min-width:960px) { 
article section div#notfound{
  width:650px;
  background-size: auto;
  padding:80px 0;
  margin:0 auto 50px auto;  
 }
}

article section div#notfound h2{
  font-size:20px; font-size:2.0rem;
  line-height:130%;
  margin:0 0 15px 0;
}

@media print, screen and (min-width:960px) { 
 article section div#notfound h2{
  font-size:26px; font-size:2.6rem;
  line-height:150%;
  margin:0 0 30px 0;
 }
}

article section div#notfound p.notfound02{
  font-size:12px; font-size:1.2rem;
  line-height:130%;
  margin:0 0 30px 0;
}

@media print, screen and (min-width:960px) { 
 article section div#notfound p.notfound02{
  font-size:16px; font-size:1.6rem;
  line-height:150%;
  margin:0 0 60px 0;
 }
}

article section div#notfound a{
  width:80%;
  height:40px;
  display:block;
  font-size:16px; font-size:1.6rem;
  line-height:40px;
  color:#FFF;
  margin:0 auto;
}

@media print, screen and (min-width:960px) { 
article section div#notfound a{
  width:240px;
  height:50px;
  display:block;
  font-size:18px; font-size:1.8rem;
  line-height:50px;
  color:#FFF;
  margin:0 auto;
 }
}


/* search-free-list
========================================================================================================
*/

article#shop section div.search-free-list{
  position: relative;
  width: 90%;
  border-bottom: 1px dotted #333;
  padding: 0 0 65px 0;
  margin: 20px auto 20px auto;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search-free-list{
  width: 95%;
  padding: 0 0 30px 0;
  margin: 30px auto 30px auto;
  }
}

article#shop section div.search-free-list h3{
  width: 100%;
  font-size: 16px; font-size: 1.6rem;
  padding:0;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search-free-list h3{
    font-size: 20px; font-size: 2.0rem;
  }
}

article#shop section div.search-free-list h3 + p{
  width: 100%;
  font-size: 13px; font-size: 1.3rem;
  line-height: 150%;
  padding: 0;
  margin:15px 0 10px 0;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search-free-list h3 + p{
   width: 100%;
   font-size: 14px; font-size: 1.4rem;
   line-height: 150%;
   padding: 0;
   margin: 20px 0 10px 0;
  }
}

article#shop section div.search-free-list span{
  display: block;
  width:50%;
  position: absolute;
  bottom:20px;
  left:50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search-free-list span{
   width:20%;
   position: absolute;
   top:-5px;
   bottom:inherit;
   left:80%;
   -webkit-transform: translateX(0);
   -ms-transform: translateX(0);
   transform: translateX(0);
 }
}

article#shop section div.search-free-list span a{
  display: block;
  width:100%;
  font-size: 13px; font-size: 1.3rem;
  text-align: center;
  padding: 12px 0;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search-free-list span a{
    padding: 7px 0;
  }
}


article#shop section div.search-free-list ul{
  width: 100%;
  display: flex;
  flex-flow:row wrap; 
  font-size: 13px; font-size: 1.3rem;
  font-weight:600;
}

@media print, screen and (min-width:960px) { 
 article#shop section div.search-free-list ul{
   font-size: 14px; font-size: 1.4rem;
  }
}

article#shop section div.search-free-list ul li{
  position: relative;
  line-height: 150%;
  padding: 0 0 0 25px;
  margin: 3px 15px 3px 0;
}

article#shop section div.search-free-list ul li::before{
  content: "";
  width:19px;
  height:19px;
  position: absolute;
  top:0;
  left:0;
}

article#shop section div.search-free-list ul li.sf-list01,
article#shop section div.search-free-list ul li.sf-list02,
article#shop section div.search-free-list ul li.sf-list03{
  width: 100%;
}

@media print, screen and (min-width:960px) { 
  article#shop section div.search-free-list ul li.sf-list01,
  article#shop section div.search-free-list ul li.sf-list02,
  article#shop section div.search-free-list ul li.sf-list03{
    width: auto;
  }
}

article#shop section div.search-free-list ul li.sf-list01::before{
  background: url(/images/shop/shop-icon01.png) no-repeat 0 0;
  background-size: 100%;
}

article#shop section div.search-free-list ul li.sf-list02::before{
  background: url(/images/shop/shop-icon02.png) no-repeat 0 0;
  background-size: 100%;
}

article#shop section div.search-free-list ul li.sf-list03::before{
  background: url(/images/shop/shop-icon03.png) no-repeat 0 0;
  background-size: 100%;
}

article#shop section div.search-free-list ul li.sf-list04::before{
  background: url(/images/shop/shop-icon04.png) no-repeat 0 0;
  background-size: 100%;
}


article#shop section div.search-alert{
  width:90%;
  background: url(/common/images/not-found01.png) no-repeat 50% 50% #F4F4F4;
  text-align: center;
  padding: 40px 10px;
  margin:30px auto;
}

article#shop section div.search-alert h3{
  font-size: 1.8rem;
  background-image: none;
  line-height: 1.5em;
  margin: 0 auto 60px auto;
}

article#shop section div.search-alert p{
  line-height: 170%;
  margin: 0 0 40px 0;
}

@media print, screen and (min-width:640px) { 
  article#shop section div.search-alert{
    width: 650px;
    background-size: auto;
    padding: 80px 30px 60px 30px;
    margin: 0 auto 60px auto;
  }
  article#shop section div.search-alert h3{
    font-size: 2.0rem;
    margin: 0 0 60px 0;
  }
  article#shop section div.search-alert p{
    margin: 0 0 40px 0;
  }
}


/*----------------------------------------
                shop-footer
-----------------------------------------*/

/* ---------ft01-02-shop--------- */

div.ft01-02-shop{
  width:100%;
  display: block;
  background-color: #FFF;
  box-shadow: 0 0 15px #111;
  padding: 20PX;
  margin: 25px 0 0 0;
}

div.ft01-02-shop div{
  width:100%;
  display: flex;
  flex-flow: row nowrap;
}

div.ft01-02-shop div p{  
  height: 55px;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}

div.f-shop01 div p{
  width:50%;
  background: #0E1A63;
}

div.f-shop02 div p{
  width:100%;  
  background: #F0209D;
}

div.ft01-02-shop div p span{
  position: relative;
  color: #FFF;
  text-align: center;
  padding: 0 0 0 25px;
  margin: 0;
}

div.ft01-02-shop div p span strong{
  display: inline-block;
  font-size: 24px; font-size: 2.4rem;
  font-weight: 700;
  margin: 0 5px 0 5px;
}

div.ft01-02-shop div p span::before{
  content: "";
  width:21px;
  height: 20px;
  background: url(/common/images/icon-tel.png) no-repeat 0 0;
  background-size: 100%;
  position: absolute;
  top:55%;
  left:0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}


div.ft01-02-shop div dl dt{
  position: relative;
  width:30%;
  height: 50px;
  background-color: #313140;
  font-size: 13px; font-size: 1.3rem;
  text-align: center;
}

div.ft01-02-shop div dl dt::before{
  content: "";
  width:21px;
  height: 20px;
  background: url(/common/images/icon-tel.png) no-repeat 0 0;
  position: absolute;
  top:50%;
  left:12px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

div.ft01-02-shop div dl dt span{
  display:inline-block;
  font-size: 14px; font-size: 1.4rem;
  color: #FFF;
  text-align: center;
  position: absolute;
  top:50%;
  left:40px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

div.ft01-02-shop div dl dd{
  position: relative;
  width:70%;
  height: 50px;
  /*background-color: #F4F4F4;*/
  padding: 0 0 0 10px;
}

div.ft01-02-shop div dl dd span{
  display: block;
  width: 100%;
  font-size: 28px; font-size: 2.8rem;
  text-align: center;
  font-weight: 400;
  color: #FFF;
  position: absolute;
  top:50%;
  left:50%;
  -webkit-transform: translate(-50%,-50%);
  -ms-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

div.ft01-02-shop div dl dd span strong{
  /*display: block;*/
  font-size: 13px; font-size: 1.3rem;
}

div.ft01-02-shop div a{
  position: relative;
  display: block;
  width:50%;
  height: 55px;
  background-color: #F0209D;
  transition: 1s;
}

div.ft01-02-shop div a span{
  display: block;
  width:100%;
  font-size: 18px; font-size: 1.8rem;
  color: #FFF;
  font-weight: 700;
  text-align: center;
  position: absolute;
  top:50%;
  left:0;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

div.ft01-02-shop div a:hover{
  background-color: #F45EB8;
}

/* modaal-plivacy
========================================================================================================
*/

.modal01{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1301;
}

.modal02{
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1301;
}

.modal_bg {
  background: rgba(0, 0, 0, 0.9);  
  height: 100vh;
  position: absolute;
  width: 100%;
}

.modalScroll {
  background: #FFF;  
  height: 80vh;  
  width: 90vw;
  padding: 20px;
}

@media print, screen and (min-width:640px) { 
.modalScroll {
  height: 90vh;  
  max-width: 1200px;
  /*max-height: 600px;*/
  }
}

.modalScroll{
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
}

.ScrollContent{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.ScrollContent {
  overflow-y: scroll;  
  overscroll-behavior-y: contain;
  width: 95%;  
  height: 90%;
}

@media print, screen and (min-width:640px) { 
.ScrollContent {
  /*max-height: 520px;*/
  }
}

::-webkit-scrollbar {
  border-radius: 10px;
  width: 10px;  /* スクロールバーの幅 */
}

/* スクロールバーのツマミ部分 */
::-webkit-scrollbar-thumb {
  background-color: #b6b6b6;  /* ツマミの色を変更 */
  border-radius: 10px;  /* 角を丸くする */
}

section#privacy01,
section#privacy03{
  width:95%;
  margin: 0 auto;
}

#second section#privacy01 h2.title01,
#second section#privacy03 h2.title01{
  width:100%;
  max-width: inherit;
  margin: 0 0 50px 0;
}

section#privacy01 div{
  width:95%;
  border-bottom: 1px dotted #777;
  padding: 0 0 20px 0;
  margin: 0 auto 30px auto;
}

section#privacy01 h3{
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 150%;
  padding: 0 0 0 35px;
  margin: 0 0 10px 0;
}
section#privacy01 h3::before{
  content: "";
  width:30px;
  height: 30px;
  background: url("/common/images/icon13.png") no-repeat 50% 50%;
  position: absolute;
  top:0;
  left:0;
}
section#privacy01 h3 + p{  
  font-size: 1.6rem;
  line-height: 200%;
}

section#privacy01 div.sign{
  border: none;
  font-size: 1.6rem;
}

section#privacy01 div.sign ul{
  margin: 0 0 20px 0;
}

section#privacy01 div.sign ul li{
  text-align: right;
  line-height: 2.3rem;
  margin: 0 0 10px 0;
}

section#privacy01 div.sign dl{
  text-align: right;
  margin: 0 0 30px 0;
}
section#privacy01 div.sign dl dt{
  margin: 0 0 5px 0;
}
section#privacy01 div.sign dl dd{
  margin: 0 0 5px 0;
}

section#privacy03 div{
  width:95%;
  margin: 0 auto;
}

section#privacy03 div p{
  font-size: 1.6rem;
  line-height: 200%;
}

section#privacy03 div dl{
  width: 100%;
  margin: 30px auto;
}

section#privacy03 div dl dt{
  position: relative;
  font-size: 1.6rem;
  line-height: 150%;
  font-weight: 700;  
  padding: 0 20px 10px 30px;
}

@media print, screen and (min-width:640px) {
section#privacy03 div dl dt{
  font-size: 1.8rem;
  }
}

section#privacy03 div dl dt span{  
  position: absolute;
  top:13px;
  left:0;
  transform: translateY(-50%);
}

section#privacy03 div dl dd{  
  font-size: 1.4rem;
  line-height: 200%;
  padding: 5px 20px 10px 25px;
  margin: 0 0 15px 0;
}

@media print, screen and (min-width:640px) {
section#privacy03 div dl dd{  
  font-size: 1.6rem;
  }
}

section#privacy03 dl dd ul.privacy-list{
  margin: 20px 0;
}

section#privacy03 dl dd ul.privacy-list li{
  position: relative;
  line-height: 150%;
  padding: 0 0 0 15px;
  margin: 0 0 15px 0;
}

section#privacy03 dl dd ul.privacy-list li::before{
  content: "・";
  position: absolute;
  top:0;
  left:0;
  padding: 0 10px 0 0;
}

section#privacy03 div dl dd table{  
  width: 100%;
  margin: 10px 0 0 0;
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}

section#privacy03 div dl dd table th{  
  width:35%;
  background: #F1F1F1;  
  font-size: 1.3rem;
  align-items: center;
  line-height: 150%;
  padding: 5px;
  border-bottom: 1px solid #CCC;
}

section#privacy03 div dl dd table th.type01{  
  width:65%;
  border-left: 1px solid #CCC;
}

section#privacy03 div dl dd table td{  
  width:65%;
  padding: 10px;
  border-bottom: 1px solid #CCC;
  border-left: 1px solid #CCC;
  font-size: 1.4rem;
}

section#privacy03 div dl dd span.type01{  
  display: block;
  margin: 30px 0;
}

section#privacy03 div dl dd span.type02{  
 display: block;
 font-weight: 700;
}

a.btn-close{
  display: flex;
  align-items: center;
  justify-content: center;
  width:120px;
  height: 35px;
  /*background: #313140;*/
  background: #999;
  text-decoration: none;
  padding: 0;
  position: absolute;
  top:90%;
  left:50%;
  transform: translateX(-50%);
}

@media print, screen and (min-width:640px) { 
a.btn-close{
  position: absolute;
  top:calc(10% + 620px);
  left:50%;
  transform: translateX(-50%);
  }
}
a.btn-close span{
  font-size: 1.4rem;
  font-weight: 700;
  color: #FFF;
}

a.btn-close:hover,
a.btn-close:visited{
  text-decoration: none;
}

/* tokutei
========================================================================================================
*/

/*------dl-------*/

section#tokutei01{
  width:95%;
  margin: 0 auto;
}

#second section#tokutei01 h2.title01{
  width:100%;
  max-width: inherit;
}

section#tokutei01 dl{
  width:90%;
  padding:0;
  margin:0 auto 10px auto;
}

@media print, screen and (min-width:640px) { 
 section#tokutei01 dl{
   width:100%;
   display: flex;
   flex-flow: row wrap;
   padding:0;
   margin:0 0 20px 0;
 }
}

section#tokutei01 dl dt{
  display: inline-block;
  width:100%;
  line-height:130%;
  background-color:#F4F4F4;
  font-size: 14px; font-size: 1.4rem;
  text-align: center;
  margin:0;
  padding: 10px 0;
  font-weight: 700;
}

@media print, screen and (min-width:640px) { 
  section#tokutei01 dl dt{
    width:25%;
    min-height:40px;
    margin:0 0 5px 0;
    padding:13px 0;
  }
}

@media print, screen and (max-width:640px) { 
 section#tokutei01 dl dt br{
   display:none;
 }
}

section#tokutei01 dl dd{
  width:100%;
  display:inline-block;
  background-color:#FFF;
  font-size:14px; font-size:1.4rem;
  line-height:130%;
  padding:20px 0;
  margin:0;
  text-align: center;
}

@media print, screen and (min-width:640px) { 
 section#tokutei01 dl dd{
  width:75%;
  min-height:40px;
  float:left;
  background-color:#FFF;
  padding:13px 0 13px 20px;
  margin:0 0 5px 0;
  text-align: left;
 }
}

section#tokutei01 dl dd a{
	color:#00BFFF;
}

section#tokutei01 dl dd a:hover{
	color:#00BFFF;
  text-decoration:none;
}

section#tokutei01 dl dd a:visited{
	color:#00BFFF;
}

section#tokutei01 dl dd a:active{
	color:#00BFFF;
  text-decoration:none;
}

