@charset "UTF-8";

/*
Theme Name:tannosuke
*/


/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17

*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
*{box-sizing: border-box;}
body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
	display:block;
}

ul,ol {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#fff;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}
img{
	vertical-align:bottom;
	max-width: 100%;
}


/************** layout base ********************/

.clearfix{
overflow:hidden;
}
.clear:after{
	content:"";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}


a{color:#000;
	text-decoration:none;
}
a:hover{
}

/*ボタンrollover*/
a:hover{
-moz-opacity:0.60;
opacity:0.60;}

sup {
	line-height: 100%;
	font-size:10px;
	vertical-align: 0.4em;
}
sub{
	line-height: 100%;
	font-size:10px;
	vertical-align: -0.1em;
}

.txtLeft{
text-align:left;
}
.txtRight{
text-align:right;
}
.txtCenter{
text-align:center;
}
.fw{font-weight:bold !important;}
.f10{ font-size:10px !important;}
.f11{ font-size:11px !important;}
.f12{ font-size:12px !important;}
.f13{ font-size:13px !important;}
.f14{ font-size:14px !important;}
.f15{ font-size:15px !important;}
.f16{ font-size:16px !important;}
.f17{ font-size:17px !important;}
.f18{ font-size:18px !important;}

.txtRed{ color:#e60012;}
.note{ font-size:12px;}

.fLeft{ float:left;}
.fRight{ float:right;}
.fNon{
	float:none !important;
}

.mTop0{ margin-top:0 !important;}
.mTop5{ margin-top:5px !important;}
.mTop10{ margin-top:10px !important;}
.mTop15{ margin-top:15px !important;}
.mTop20{ margin-top:20px !important;}
.mTop25{ margin-top:25px !important;}
.mTop30{ margin-top:30px !important;}
.mTop35{ margin-top:35px !important;}
.mTop40{ margin-top:40px !important;}
.mTop45{ margin-top:45px !important;}
.mTop50{ margin-top:50px !important;}

.mBtm0{ margin-bottom:0 !important;}
.mBtm5{ margin-bottom:5px !important;}
.mBtm10{ margin-bottom:10px !important;}
.mBtm15{ margin-bottom:15px !important;}
.mBtm20{ margin-bottom:20px !important;}
.mBtm25{ margin-bottom:25px !important;}
.mBtm30{ margin-bottom:30px !important;}
.mBtm35{ margin-bottom:35px !important;}
.mBtm40{ margin-bottom:40px !important;}
.mBtm45{ margin-bottom:45px !important;}
.mBtm50{ margin-bottom:50px !important;}
.mBtm60{ margin-bottom:60px !important;}

.pTop0{ padding-top:0 !important;}
.pTop5{ padding-top:5px !important;}
.pTop10{ padding-top:10px !important;}
.pTop15{ padding-top:15px !important;}
.pTop20{ padding-top:20px !important;}
.pTop25{ padding-top:25px !important;}
.pTop30{ padding-top:30px !important;}
.pTop35{ padding-top:35px !important;}
.pTop40{ padding-top:40px !important;}
.pTop45{ padding-top:45px !important;}
.pTop50{ padding-top:50px !important;}

.pBtm0{ padding-bottom:0 !important;}
.pBtm5{ padding-bottom:5px !important;}
.pBtm10{ padding-bottom:10px !important;}
.pBtm15{ padding-bottom:15px !important;}
.pBtm20{ padding-bottom:20px !important;}
.pBtm25{ padding-bottom:25px !important;}
.pBtm30{ padding-bottom:30px !important;}
.pBtm35{ padding-bottom:35px !important;}
.pBtm40{ padding-bottom:40px !important;}
.pBtm45{ padding-bottom:45px !important;}
.pBtm50{ padding-bottom:50px !important;}
.pBtm60{ padding-bottom:60px !important;}




main{
 overflow: hidden;
}
.flex{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;}
.inner{
 box-sizing: content-box;
 max-width: 1100px;
 padding: 0 5.3%;
 margin: 0 auto;
}

@media screen and (min-width: 769px) {
.spOnly{ display:none;}
	.pcFlex{		
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	}
}/*-PC only-*/
@media screen and (max-width: 768px) {
.pcOnly{ display:none;}

}/*spOnly*/
/************** layout base ********************/
body{
position: relative;
 background: #fff;
text-align:center;
 font-family:"游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
line-height:1.2;
 font-weight: 400;
 padding-top: 105px;
 word-break:break-word;
}
.fontMin{
 font-family:Garamond , "Times New Roman" ,"游明朝" , "Yu Mincho" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
}
.fontG{
 font-family:"游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
div,p,dl{
text-align:left;
}

p,dt,dd,li,td,th{
color:#000;
font-size:14px;
line-height:1.8;
}
h1,h2,h3,h4,h5,h6{
 color: #000;
	font-size:14px;
 font-family:Garamond , "Times New Roman" ,"游明朝" , "Yu Mincho" ,"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" ,  "游明朝体" , "YuMincho" ,  "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
 font-weight: 400;
 line-height: 1.3;
}
h1{
font-size: 24px;
 text-align: center;
}

@media screen and (max-width: 768px) {
	body{
 font-family:"游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
-webkit-text-size-adjust: 100%;
  background: #fff;
  padding-top: 70px;
	}
img{
	height: auto;}

p,dt,dd,li,td,th{
font-size:13px;
}
h1{
font-size: 20px;
}

}/*-sp end-*/
/*------------------ list style----------------*/
.numberList{
	padding:0 0 0 18px;	
}
.numberList li{
	list-style:decimal outside;
	padding:0 0 5px 0;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 2px 0;
}

.indentList li{
	padding-left:1em;
	text-indent:-1em;
}
.indentList li + li{
	margin-top: 5px;
}

/*****************  head ***********************/
header{
 position:fixed;
 top: 0;
 left: 0;
 background: #54401F;
 width: 100%;
 z-index: 100;
}
#top header{
 position: absolute;
 background: none; 
 transition: 0.4s ease-in-out; 
}
 #top header.fixed{
  position: fixed;
  background: #54401F;
 }
header > div{
 position: relative;
 display: flex;
 justify-content: space-between;
 align-items: center;
 height: 105px;
 padding: 0 2.9% ;
}
#logo{
 width: 51px;
}
@media screen and (max-width: 768px) {/*----SP header----*/	
header{
}
header > div{
 height: 70px;
	padding: 0 5.3%;
}
#logo{
 width: 42px;
 z-index: 999;
}
#spMenu{
 position: relative;
 display: flex;
 align-items: flex-end;
	width:29px ;
	height: 22px;
 z-index: 999;
}
 #spMenu::before,
 #spMenu span::before,
  #spMenu span::after{
   content: "";
   display: block;
   background: #fff;
   width: 100%;
   height: 1px;
   position: absolute;
   top: 0;
   left: 0;
   -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out; 
 }
 #spMenu span::before{
  top: 10px;
 }
 #spMenu span::after{
  top: 20px;
 }
 #spMenu span{
  display: block;
  font-size: 10px;
  text-align: center;
 }
 #spMenu.active::before{
  opacity: 0;
 }
 #spMenu.active span::before,
 #spMenu.active span::after{
  top: 10px;
  bottom: 0;
 }
 #spMenu.active span::before{
  -webkit-transform: rotate(45deg);
transform: rotate(45deg);
 }
 #spMenu.active span::after{
  left: auto;
  right: 0;
  -webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
 }
 #gNavi{
  position: absolute;
  top: 0;
  left: 0;
  background:#54401F;
  width: 100%;
  height: 100vh ;
 max-height: 100vh ;
  padding: 90px 0 10px;
 overflow-y: auto;
  visibility: hidden;
  z-index: -1;
 opacity: 0;
  -webkit-transition: 0.2s ease-in-out;  
       -moz-transition: 0.2s ease-in-out;  
         -o-transition: 0.2s ease-in-out;  
            transition: 0.2s ease-in-out;
 }
 #gNavi.active{
 top:0px;
  visibility: visible;
  opacity: 1;
  z-index: 998;
 }
}/*-SP-*/
/*****************  navi ***********************/
#gNavi li{
 position: relative;
 font-size: 14px;
 font-weight:700;
 line-height: 1.3;
}
#gNavi li a{
 color: #fff;
}
@media screen and (min-width: 769px) {
 #gNavi{
 }
#gNavi >ul:not(.spOnly){	
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: flex-start;
 align-items: center;
}
 #gNavi >ul li{
  margin-left:4.3vw;
 }
 #gNavi .reserve{
  width: 183px;
 }
 #gNavi .reserve a{
  height: 50px;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*----SP gnavi----*/
 #gNavi>ul{
  padding: 0 5.3%;
 }
 #gNavi>ul:not(.spOnly)>li {
  border-bottom: 1px #BDC1C7 solid;
 }
 #gNavi>ul:not(.spOnly)>li a{
  position: relative;
  display: block;
  padding: 20px 0;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
 }
 #gNavi ul.spOnly{
  margin-top: 50px;
  text-align: center;
 }
 #gNavi ul.spOnly li a{
  display: block;
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  line-height: 2.6;
 }
 #gNavi ul.spOnly .sns{
  margin-top: 45px;
 }
 #gNavi .fb{
  width: 33px;
  height: 33px;
 }
}/*-SP-*/

/*****************  foot ***********************/
footer{
 position: relative;
 background: #4B3613;
 padding: 116px 0 ;
 margin-top: 200px;
}
#top footer,
.single:not(.single-shops) footer{
 margin-top: 0;
}
footer *{
 color: #fff;
}
footer #footLogo :not(.fb) img{
  width: 95px;
 }
footer .fb{
 width: 27px;
 height: 27px;
}
footer .footNavi li{
 font-weight: bold;
}
footer .footLinks li + li::before{
 content: "｜";
 color: #fff;
 margin: 0 0.5em;
}
@media screen and (min-width: 769px) {
 footer .pcFlex{
  align-items: center;
 }
 footer .pcFlex + .pcFlex{
  margin-top: 62px;
 }
 footer #footLogo .fb{
  margin-left: 27px;
 }
 footer .footNavi li{
  margin-left:50px;
 }
 
}/*-PC only-*/
footer small{
 display: block;
 color: #fff;
 font-size: 10px;
 line-height: 1.2;
}
/*--
#pageTop{
	position: fixed;
	right: 50px;
	bottom: 60px;
 width: 87px;
	cursor: pointer;
	z-index: 1000;
}*/
@media screen and (max-width: 768px) {/*----SP footer----*/	
footer{
 padding: 46px 0 50px;
}
 footer #footLogo{
  text-align: center;
 }
 footer #footLogo a:not(.fb) img{
  width: 87px;
 }
 footer #footLogo .fb{
  display: block;
  margin: 18px auto 0;
 }
 footer .footNavi{
  margin-top: 45px;
 }
 footer .footNavi li{
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
 }
 footer .footNavi li + li{
  margin-top: 17px;
 }
 footer .footLinks{
  justify-content: center;
  margin-top: 45px;
  font-size: 13px;
 }
footer small{
  margin-top: 48px;
 text-align: center;
}
 
 footer .btn{
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%; 
  transition: 0.3s ease-in-out;
  z-index: 99;
 }
}/*-SP-*/

/*****************  contents ***********************/
.pageTitle{
 position: relative;
 overflow: hidden;
 margin-bottom: 100px;
}
.pageTitle .inner{
 position: relative;
 padding: 0;
 letter-spacing: 0.15em;
}
.pageTitle .inner >span{
  display: block;
  margin-bottom: 14px;
  color:#C30014 ;
  font-size: 16px;
 letter-spacing: 0.1em;
  line-height: 1.3;
 }
@media screen and (min-width: 769px) {
 .pageTitle .inner{
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  height: 380px;
 }
 .pageTitle .inner::before{
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  left: 0;
  top: 0;
  width: 260px;
  height: 100%;
  z-index: -1;
 }
 .pageTitle .inner::after{
  content: "";
  display: block;
  background: url("images/shops_mv.jpg") no-repeat left top/cover;
  width: 71.37vw;
  min-width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 260px;
 }
 #menu .pageTitle .inner::after{
  background: url("images/menu_mv.jpg") no-repeat left top/cover;
 }
 
 .pageTitle.noimg .inner{
  padding: 85px 0 0;
  height: auto;
 }
 .pageTitle.noimg .inner::before,
 .pageTitle.noimg .inner::after{
  display: none;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {
.pageTitle{
 position: relative;
 overflow: hidden;
 margin-bottom: 100px;
}
.pageTitle .inner{
 display: flex;
 justify-content: center;
 align-items: center;
 flex-flow: column;
 width: 100%;
 height: 135px;
 text-align: center;
}
 .pageTitle .inner >span{
  font-size: 14px;
 }
.pageTitle::after{  
  content: "";
  display: block;
  background: url("images/shops_mv_sp.jpg") no-repeat left top/cover;
  width: 100%;
  height:230px; 
 }
 #menu .pageTitle::after{
  background: url("images/menu_mv_sp.jpg") no-repeat left top/cover;
 }
 
 .pageTitle.noimg{
  margin-bottom: 5px;
 }
 .pageTitle.noimg::after{
  display: none;
 }
}/*-SP only-*/

/*btn*/

.btnBase{
 display: flex;
 justify-content: center;
 align-items: center;
 background:#AE2026;
 width: 100%;
 max-width: 297px;
 height: 50px;
 margin: 0 auto;
 color: #fff;
 font-size: 14px;
 font-weight: 700;
 letter-spacing: 0.05em;
 text-align: center;
}
.btnBd{
 position: relative;
 border: 1px #000 solid;
 display: flex;
 justify-content: center;
 align-items: center;
 width: 100%;
 max-width: 230px;
 height: 50px;
 margin: 0 auto;
 color: #000;
 font-size: 14px;
 font-weight: 600;
 text-align: center;

}
.btnBd:not(.noline)::after{
 content: "";
 display: block;
 background: #C30814;
 width: 40px;
 height: 1px;
 position: absolute;
 top: 50%;
 right: -20px;
}
@media screen and (max-width: 768px) {
.btnBase{
 max-width: none;
}

}/*-SP only-*/

/*-----------------------*/
/*-      TOP
-------------------------*/
#mv{
 overflow: hidden;
	position: relative;
 height: 100vh;
}
/*vegas用*/
#mv .mvslider {
    width: 100%;
    height: 100vh;
}
/*slick用
#mv .mvslider li{
 width: 100%;
 height: 100vh;
}
#mv .mvslider img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}*/
#mv h1{
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 78.6%;
 max-width:240px;
 line-height: 1;
}
#mv::before,
#mv::after{
 content: "";
 display: block;
 position: absolute;
 left: 50%;
 background: #fff;
 z-index: 1;
}
#mv::before{
 width: 1px;
 height: 65px;
 bottom: 0;
}
#mv::after{
 width: 7px;
 height: 7px;
 border-radius: 50%;
 margin-left: -3px;
 bottom: 0;
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:65px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }
#top{
 padding-top: 0;
}
@media screen and (max-width: 768px) {/*SP mv*/
#mv{
 height: 100vh;
 height: 100svh;
}
 
}/*-SP only-*/
/*-----*/
#top h2{
 margin-bottom: 50px;
 font-size: 20px;
 text-align: center;
 letter-spacing: 0.15em;
 line-height: 1.35;
}
#top h2 span{
 display: block;
 margin-bottom: 6px;
 color: #C30014;
 font-size: 16px;
 letter-spacing: 0.1em;
}
/***/
#topNews{
 padding: 130px 0 180px;
}
.date{
 display: block;
 color: #C30014;
 font-size: 12px;
 line-height: 1.3;
}
.newsSlider li a{
  display: block;
 }
.newsSlider li .date{
 margin-bottom: 16px;
}
.newsSlider li figure{
 margin: 0 0 25px;
 height: 300px;
}
.newsSlider li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
#topNews .btn{
 margin-top: 80px;
}
@media screen and (min-width: 769px) { 
 .newsSlider li a{
  margin: 0 25px;
 }
.newsSlider li p{
 letter-spacing: 0.1em;
 line-height: 2;
}
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP topNews*/
#topNews{
 padding: 98px 0 100px;
}
 .newsSlider li a{
  margin: 0 10px;
 }
.newsSlider li .date{
 margin-bottom: 12px;
}
.newsSlider li figure{
 margin: 0 0 20px;
 height: 170px;
}
.newsSlider li p{
 line-height: 2;
}
#topNews .btn{
 margin-top: 70px;
}
}/*-SP only-*/
/*-----*/
#concept{
 background: url("images/concept_bg.jpg") no-repeat center center/cover;
 padding: 178px 0 180px;
}
#concept h2{
 margin-bottom: 70px;
 color: #fff;
}
#concept h3{
 margin-bottom: 75px;
 color: #fff;
 font-size: 41px;
 text-align: center;
 letter-spacing: 0.15em;
}
#concept p{
 color: #fff;
 font-size: 16px;
 text-align: center;
 line-height: 2.55;
 letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {/*SP concept*/
#concept{
 background: url("images/concept_bg_sp.jpg") no-repeat center center/cover;
 padding: 100px 0 98px;
}
#concept h2{
 margin-bottom: 48px;
}
#concept h3{
 margin-bottom: 48px;
 font-size: 28px;
 line-height: 1.9;
 letter-spacing: 0.05em;
}
#concept p{
 font-size: 14px;
 line-height: 2.5;
}
 
}/*-SP only-*/
/*-----*/
#topMenu{
 position: relative;
 padding:178px 0 180px;
}
#topMenu h2{
 margin-bottom: 75px;
}
#topMenu h3{
 margin-bottom: 48px;
 font-size: 18px;
}
#topMenu p{
 line-height: 1.8;
 letter-spacing: 0.05em;
}
#topMenu .btn{
 margin-top: 80px;
}
@media screen and (min-width: 769px) {
 #topMenu .pcFlex{
  align-items: center;
 }
#topMenu .pcFlex + .pcFlex{
	flex-direction: row-reverse;
}
#topMenu figure{
  width: 50%;
  max-width: 550px;
 margin-bottom: 0;
 }
#topMenu .txt{
  width: 42.5%;
  max-width: 463px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP topMenu*/
#topMenu{
 padding:100px 5.3% ;
}
 #topMenu .pcFlex{
  margin-bottom: 45px;
 }
#topMenu h2{
  margin-bottom: 50px;
 }
#topMenu figure{
  margin-bottom: 38px;
 }
#topMenu h3{
 margin: 0 0 30px;
 font-size: 16px;
}
#topMenu p{
 line-height: 1.9;
}
#topMenu .btn{
 margin-top: 0px;
}
 #topMenu .btn a{
  width: auto;
 max-width: none;
 margin: 0 5.3vw;
} 
}/*-SP only-*/
/*-------*/
#topShops{
 background: url("images/top_shops_bg.jpg") no-repeat center center/cover;
 padding: 108px 0 110px;
}
#topShops h2{
 color: #fff;
}
#topShops .pcFlex{
 max-width: 530px;
 margin: 0 auto;
}
#topShops .pcFlex a{
 border-color: #fff;
 color: #fff;
}
@media screen and (min-width: 769px) {
 #topShops .pcFlex li{
  width: 48%;
  max-width: 230px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP topShop*/
#topShops{
 background: url("images/top_shops_bg_sp.jpg") no-repeat center center/cover;
 padding: 92px 0 85px;
}
#topShops h2{
 margin-bottom: 30px;
}
 #topShops .pcFlex li + li{
  margin-top: 20px;
 }
 #topShops .pcFlex li a{
  width: auto;
  max-width: none;
  margin: 0 5.3vw;
 }
}/*-SP only-*/

/*-----------------------*/
/*-      shops
-------------------------*/
.typeNavi{
 margin-bottom: 95px;
}
.typeNavi li a{
 display: block;
 border: 1px #000000 solid;
 background: #fff;
 color: #000;
 font-weight: bold;
 text-align: center;
 line-height: 48px;
 letter-spacing: 0.05em;
}
.typeNavi li.current a{
 background: #000;
 color: #fff;
}
@media screen and (min-width: 769px) {
.typeNavi{
 gap:0 50px;
 justify-content: center;
}
 .typeNavi li{
  width: 48%;
  max-width: 230px;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {
 .typeNavi{
  margin-bottom:50px; 
 }
 .typeNavi li + li{
  margin-top: 20px;
 }
}/*-SP only-*/


.shopbox{
 background: #E0E0E0;
 padding: 50px;
}
.shopbox + .shopbox{
 margin-top: 50px;
}
.shopbox h2{
 margin-bottom: 22px;
 font-size: 20px;
 letter-spacing: 0.15em;
}
.shopbox .catch{
 margin-bottom: 25px;
 font-size: 16px;
 font-weight: 500;
 line-height: 1.37;
 letter-spacing: 0.15em;
}
.shopbox p{
 font-size: 13px;
 line-height: 1.5;
}
.shopbox p+ p{
 margin-top: 1.5em;
}
.shopbox figure img{
 height: auto;
}
@media screen and (min-width: 769px) {
 .shopbox figure{
  width: 45.6%;
  margin: 0;
 }
 .shopbox .txt{
  position: relative;
  width: 45.6%;
  padding-bottom: 70px;
 }
 
.shopbox .txt .pcFlex{
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
}
 .shopbox .txt .pcFlex li{
  width: 45.5%;
  max-width: 207px;
 }
}/*-PC only-*/
@media screen and (max-width: 768px) {/*SP shopbox*/
.shopbox{
 background: #E0E0E0;
 padding: 40px 5.3vw;
 margin-left: -5.3vw;
 margin-right: -5.3vw;
}
.shopbox + .shopbox{
 margin-top: 40px;
}
 .shopbox figure{
  margin: 0 0 28px;
 }
.shopbox h2{
 margin-bottom: 22px;
 font-size: 18px;
}
.shopbox .catch{
 margin-bottom: 30px;
 font-size: 14px;
 line-height: 2;
}
.shopbox p{
 font-size: 13px;
 line-height: 1.85;
}
.shopbox p+ p{
 margin-top: 1.85em;
}
 .shopbox .txt .pcFlex{
  margin-top: 32px;
 }
 .shopbox .txt .pcFlex li + li{
  margin-top: 12px;
 }
 .shopbox .txt .pcFlex li a{
  max-width: none;
 }
}/*-SP only-*/

/*-----------------------*/
/*-      shops Detail
-------------------------*/
.shopsDetail{}
.shopsDetail .txt h2{
 position: relative;
 margin-bottom: 18px;
 padding: 0 0 0 1.5em;
 font-size: 14px;
 font-weight: 500;
 font-family:"游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
line-height:1.3;
 letter-spacing: 0.15em;
}
.shopsDetail .txt h2::before{
 content: "ー";
 display: block;
 color: #000;
 font-size: 14px;
 font-weight: 500;
 position: absolute;
 left: 0;
}

.shopsMv{}
 .shopThumb li figure img{
  object-fit: cover;
  width: 100%;
  height: 100%;
 }
@media screen and (min-width: 769px) {
 .shopsMv{
  flex-flow: row-reverse;
  padding-top: 55px;
 }
 .shopsMv .shopimg{
  width: 55.5%;
  max-width: 610px;
 }
 .shopSlider{
  margin: 0;
 }
 .shopThumb{
  margin-top: 30px;
  margin-left: -10px;
  margin-right: -10px;
 }
 .shopThumb li figure{
  width: 106px;
  height: 78px;
  margin: 0 auto;
 }
 .shopsMv .txt{
  width: 39.5%;
  max-width: 434px;
 }
}/*-PC only-*/

.shopsMv h1{
 margin-bottom: 50px;
 text-align: left;
 letter-spacing: 0.15em;
}
.shopsMv .txt .catch{
 margin-bottom: 38px;
 font-size: 16px;
 font-weight: 500;
 line-height: 1.37;
 letter-spacing: 0.15em;
}
.shopsMv .txt p{
 font-size: 13px;
 line-height: 1.85;
}
.shopsMv .txt .btn{
 margin-top: 50px;
}
.shopsMv .txt .btn a{
 max-width: 207px;
 margin: 0;
}
.shopsMv .txt h2{
 margin-top: 100px;
}
.feature span{
 display: inline-block;
 background: #313131;
 padding: 0 10px;
 color: #fff;
 font-size: 13px;
 line-height: 30px;
}
.feature span +span{
 margin-left: 10px;
}
@media screen and (max-width: 768px) {/*SP shopsMv*/
 .shopsMv{ }
 .shopsMv .shopimg{ }
 .shopSlider{
  margin: 0 -5.3vw;
 }
 .shopThumb{
  margin-top: 20px;
  margin-left: -6px;
  margin-right: -6px;
 }
 .shopThumb li figure{
  height: 43px;
  margin: 0 6px;
 }
 .shopsMv .txt{
  padding: 48px 0 0;
 }
.shopsMv h1{
 margin-bottom: 36px;
}
.shopsMv .txt .catch{
 margin-bottom: 48px;
 font-size: 15px;
}
.shopsMv .txt p{
}
.shopsMv .txt .btn{
 margin-top: 47px;
}
.shopsMv .txt .btn a{
 max-width: none;
 margin: 0;
}
.shopsMv .txt h2{
 margin-top: 70px;
}

}/*-SP only-*/
/**/
.shopsInfo{
 margin-top: 72px;
}
@media screen and (min-width: 769px) {
 .shopsInfo .txt{
  width: 40%;
  max-width: 440px;
 }
 .shopsInfo .map{
  width: 55.5%;
  max-width: 610px;
 }
 .shopsInfo .map iframe{
  width: 100%;
  height: 339px;
 }
}/*-PC only-*/
.shopsInfo .txt dl{
 overflow: hidden;
}
.shopsInfo .txt dl dt{
 float: left;
 width: 5em;
 font-size: 13px;
}
.shopsInfo .txt dl dd{
 padding: 0 0 0 6.2em;
 font-size: 13px;
}
@media screen and (min-width: 769px) {
.shopsInfo .txt dl dd:nth-of-type(1){
 letter-spacing: -0.02em;
}
 .shopsInfo .txt dl dt,
 .shopsInfo .txt dl dd{
  line-height: 2.3;
 }
}/*-PC only-*/
.shopsDetail .btns{
 margin-top: 85px;
 gap:0 30px;
 justify-content: center;
}
.shopsDetail .btns .btnBd{
 max-width: none;
}
@media screen and (min-width: 769px) {
 .shopsDetail .btns li{
  width: 40%;
  max-width: 297px;
 }
}/*-PC only-*/

@media screen and (max-width: 768px) {/*SP shopsInfo*/
.shopsInfo{
 margin-top: 82px;
}
.shopsInfo .txt dl{
 overflow: hidden;
}
.shopsInfo .txt dl dt{
 line-height: 2;
}
.shopsInfo .txt dl dd{
 padding-bottom: 15px;
 line-height: 2;
}
 .shopsInfo .map{
  margin-top: 25px;
 }
 .shopsInfo .map iframe{
  width: 100%;
  height: 89.3vw;
 }
.shopsDetail .btns{
 margin-top: 50px;
}
 .shopsDetail .btns li + li{
  margin-top: 10px;
 }
}/*-SP only-*/

/*-----------------------*/
/*-      menu
-------------------------*/
.ttlBd{
 position: relative;
 margin-bottom: 57px;
 font-size: 24px;
 letter-spacing: 0.15em;
 text-align: center;
}
.ttlBd::before{
 content: "";
 display: block;
 background: #C30014;
 width: 1px;
 height: 30px;
 margin: 0 auto 20px;
}
@media screen and (max-width: 768px) {
.ttlBd{
 position: relative;
 margin-bottom: 37px;
 font-size: 20px;
}
.ttlBd::before{
 margin: 0 auto 16px;
}
 
}/*-SP only-*/


#menu .inner{
 max-width: 1000px;
}
#menu .inner figure{
 margin-bottom: 60px;
}
#menu .inner p{
 font-size: 13px;
 line-height: 1.85;
}
@media screen and (max-width: 768px) {
#menu .inner figure{
 margin-bottom: 32px;
}
#menu .inner p{
 font-size: 12px;
 line-height:2;
}
}/*-SP only-*/



/*-----------------------*/
/*-      news
-------------------------*/
#news main,
.archive main{
 padding-bottom: 180px;
}
.newsList li figure{
 height: 184px;
 margin: 0 0 18px;
}
.newsList li figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.newsList li .date{
 margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
 .newsList{
 justify-content: flex-start;
  gap:68px 67px;
 }
 .newsList li{
  width: calc((100% - 67px - 67px) / 3);
 }
}/*-PC only-*/

.pagenation{
 margin-top: 100px;
 font-size: 0;
 text-align: center;
}
.pagenation a,
.pagenation span{
 position: relative;
 display: inline-block;
 margin: 0 0.5em;
 color: #959595;
 font-size: 17px;
 vertical-align: middle;
}
.pagenation span{
 color: #CB0000; 
}
.pagenation span::after{
 content: "";
 display: block;
 background: #CB0000;
 width: 100%;
 height: 2px;
 position: absolute;
 bottom: 0;
 left: 0;
}
.pagenation .prev{
 background: url("images/arrow_prev.png") no-repeat left center/100% auto;
 width: 17px;
 height: 12px;
 text-indent: -9999px;
}
.pagenation .next{
 background: url("images/arrow_next.png") no-repeat left center/100% auto;
 width: 17px;
 height: 12px;
 text-indent: -9999px;
}

.page-numbers{
 margin-top: 100px;
 text-align: center;
 font-size: 0;
}
.page-numbers li {
 position: relative;
 display: inline-block;
 margin: 0 0.5em;
 vertical-align: middle;
}
.page-numbers li a,
.page-numbers li span{
 display: block;
 position: relative;
 color: #959595;
 font-size: 17px;
}
.page-numbers li span{ 
 color: #CB0000;
}
.page-numbers li span::after{
 content: "";
 display: block;
 background: #CB0000;
 width: 100%;
 height: 2px;
 position: absolute;
 bottom: 0;
 left: 0;
}
.page-numbers li i{
 display: block;
}
.page-numbers li .prev{
 background: url("images/arrow_prev.png") no-repeat left center/100% auto;
 width: 17px;
 height: 12px;
}
.page-numbers li .next{
 background: url("images/arrow_next.png") no-repeat left center/100% auto;
 width: 17px;
 height: 12px;
}

@media screen and (max-width: 768px) {
}/*-SP only-*/

/*----single----*/
article.inner{
 max-width: 900px;
 padding-top: 88px;
 padding-bottom: 140px;
}
article h1{
 margin: 40px 0;
 font-size: 18px;
 font-weight: 600;
 text-align: left;
 line-height: 2;
}
article h2{
 margin-bottom: 34px;
 font-size: 20px;
 font-weight: 700;  
 font-family:"游ゴシック", YuGothic,  "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 text-align: left;
 line-height: 2;
 letter-spacing: 0.1em;
}
article figure{
 margin: 0 0 60px;
}
article img{
 height: auto;
}
article p{
 margin-bottom: 60px;
 line-height:2.1; 
}

.pageNavi{
 background: #E0E0E0;
 padding: 100px 10.6%;
}
.pageNavi ul{
 position: relative;
 overflow: hidden;
 max-width: 845px;
 margin: 0 auto;
}
.pageNavi ul li:not(.back){
 width: 38%;
 max-width: 320px;
}
.pageNavi ul .next{
 float: left;
}
.pageNavi ul .prev{
 float: right;
}
.pageNavi ul figure{
 height: 184px;
 margin: 0 0 18px;
}
.pageNavi ul figure img{
 object-fit: cover;
 width: 100%;
 height: 100%;
}
.pageNavi ul .date{
 margin-bottom: 18px;
}
.pageNavi ul p{
 line-height: 1.7;
}
.pageNavi ul .back{
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 text-align: center;
}
.pageNavi ul .back img{
 width: 28px;
}
.pageNavi ul .back span{
 display: block;
 padding-top: 10px;
 text-align: center;
}




/*-------*/
@media screen and (min-width: 769px) {
}/*-PC only-*/
@media screen and (max-width: 768px) {
}/*-SP only-*/
