/*
Theme Name: eclin-theme2025
Description: eclin-theme2025
Author: takano
Version: 1.0
*/
@charset "utf-8";
body{
	margin: 0;
	padding: 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	box-sizing:border-box;
}
html{
	scroll-behavior: smooth;
}
.pc{display: block;}
.sp{display: none;}

h2.path{
	word-break: break-word;
}
h2{
	font-size: 2.4em;
	color:#252525;
}
h3{
	font-size: 2.2em;
	color:#252525;
}
h4{
	color:#252525;
	font-size: 2.0em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}
h5{
	font-size: 1.8em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}
h6{
	font-size: 1.4em;
	margin: 0;
	padding: 0;
	line-height: 180%;
}

p{
	line-height: 180%;
	margin: 0;
	padding: 0;
}
img{
	image-rendering: -webkit-optimize-contrast;
	vertical-align: bottom;
}
.w100{
	width: 100%;
}
.w60{
	width: 58%;
}
.w50{
	width: 48%;
}
.w40{
	width: 38%;
}
.w30{
	width: 31%;
}
.w25{
	width: 23%;
}
.w75{
	width: 75%;
}
.fl1{
	flex: 1;
}
.clear{
	display: none;
}
.lf{
	text-align: left;
}
.rt{
	text-align: right;
}
.cen{
	text-align: center;
}
.gothic{
	font-family: 'Noto Sans JP', sans-serif;
}

.searchbox{
	display: flex;
	justify-content: space-between;
	flex-wrap: nowrap;
	align-items: center;
	box-sizing: border-box;
	background-color: #efefef;
	padding: 15px;
	column-gap: 15px;
	margin-bottom: 15px;
}
.searchbox .sbox{
	flex: 1;
	box-sizing: border-box;
	padding: 10px;
}
.searchbox .sbtn{
	width: 150px;
	box-sizing: border-box;
	padding: 0;
	line-height: 35px;
	background-color: #333;
	color: #fff;
}
.shadow{
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}

/* header */
.header {
	width: 100%;
	height: 90px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
	overflow:visible;
    position:fixed;
    top: 0;
	z-index:555;
	font-size: 1.0em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	 background: linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,1));
  transition: .3s;
}

.header h1{
	display: flex;
	align-items: center;
	font-size: 1.5em;
	font-family: 'Noto Serif JP', serif;
	width: 30%;
	max-width: 180px;
	margin: 0;
	padding: 0;
	line-height: normal;	
}
.header h1 a{
	padding: 0;
	color: #fff;
	text-decoration: none;
}
.header h1 img{
	width: 100%;
	height: auto;
	max-height: 70px;
	vertical-align: bottom;
}
/* PCヘッダーメニュー */
.header .hdmenu{
	flex: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0;
}
.home{
	border-left:1px solid #fff;
	border-right:1px solid #fff;
	color: #fff;
}
.home a{
	text-decoration: none;
	color: #fff;
	padding: 0 15px;
	display: block;
}

.header .hdmenu ul{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0;
	padding: 0;
}
.header .hdmenu ul li{
	list-style: none;
	margin: 0 0 0 0;
	padding: 0 15px;
	border-right:1px solid #fff;
}
.header .hdmenu ul li a{
	text-decoration: none;
	color:#fff;
}
a.reserve{
	display: block;
	background-color: #fff;
	padding:3px 15px;
	margin: 0 20px;
	line-height: 180%;
	border-radius: 5px;
	text-decoration: none;
	color: #252525;
	font-weight: bold;
	transition: 0.5s;
}
a.reserve:hover{
	opacity: 0.5;
	transition: 0.5s;
}

a.ctlink{
	color: #fff;
	font-size: 2.5em;
	vertical-align:middle;
	margin: 0 0 5px 0;
	padding: 0;
	text-decoration: none;
	transition: 0.5s;
}
a.ctlink:hover{
	opacity: 0.5;
	transition: 0.5s;
}

/* メニューボタン */
.hamburger-menu{
	display: none;
}
.menu-btn {
    position: fixed;
    top: 15px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 200;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 4px;
    width: 30px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 9px;
}
.menu-btn span:after {
    top: 9px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}
/* メニュー展開 */
ul.m_bace {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
    padding: 90px 10px 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	color: #fff;
}
ul.m_bace li {
	width: 100%;
	list-style: none;
}

ul.m_bace li ul{
	width: 100%;
	margin: 0;
	padding: 0;
}
ul.m_bace li ul li{
	width: 100%;
	margin: 0;
	padding: 0;
	border-bottom: solid 1px #ffffff;
    list-style: none;
}
ul.m_bace li ul li a {
    display: block;
    width: 100%;
    font-size: 1.2em;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 11px 15px 12px 10px;
    position: relative;
}
ul.m_bace li ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 20px;
}
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 150;
    background:rgba(0,0,0,0.7);
    transition: all 0.5s;/*アニメーション設定*/
	backdrop-filter: blur(8px);
	padding-top: 100px;
	box-sizing: border-box;
}
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}
.menu-content ul{
	width: 80%;
	margin: 0 auto;
	padding: 0;
}
.menu-content ul li{
	list-style: none;
	width: 100%;
	box-sizing: border-box;
	color: #fff;
	margin: 0;
	padding: 15px 10px;
	border-bottom:1px dotted #fff;
}
.menu-content ul li a{
	color: #fff;
	text-decoration: none;
	display: block;
}
.menu_home {
	list-style: none;
	width: 80%;
	margin: 0 auto;
	box-sizing: border-box;
	color: #fff;
	padding: 15px 10px;
	border-top:1px dotted #fff;
	border-bottom:1px dotted #fff;
}
.menu_home a{
	color: #fff;
	text-decoration: none;
	display: block;
}
.menu_rsv{
	width: 200px;
	margin: 50px auto 0 auto;
	background-color: #fff;
	line-height: 180%;
	border-radius: 5px;
	color: #252525;
}
.menu_rsv a{
	text-align: center;
	padding:15px;
	box-sizing: border-box;
	text-decoration: none;
	display: block;
	color: #252525;
	font-weight: bold;
}


/* top_contact */
.t_con{
position:fixed;
right:0px;
top:65%;
background: #525293;
	text-align: center;
	border-radius: 10px 0 0 10px; 
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	border-bottom: 2px solid #fff;
	writing-mode: vertical-rl;
	z-index: 400;
}
.t_con a{
	padding:15px;
	font-weight: bold;
	display: block;
	color: #fff;
	text-decoration: none;
	line-height: 100%;
	letter-spacing: 1px;

	font-size: 1.4em;
}


/* slide */
.slide-img img{
  display: block;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	filter: brightness(60%);
}
.slidebace {
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	margin-top: 0;
	padding-top:0;
	background-color: #000;
	z-index: 0;
}
.slidebace .path{
	height: auto;
	text-align: center;
	position:absolute;
	z-index: 100;
	top: 45%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	width: 100%;
	max-width: 470px;
}
.slidebace .path img{
	width: 100%;
	height: auto;
}

.slidebace .scl{
	line-height: 100%;
	text-align: center;
	font-size: 1.0em;
	text-shadow: 1px 1px 3px #000;
	position:absolute;
	bottom:5%;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	color:#fff;
	animation: flash 2s linear infinite;
	z-index: 100;
}
.top_mobile{
	display: none;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	position: relative;
	margin-top: 0;
	padding-top:0;
	background-color: #000;
	z-index: 0;
}
.top_mobile img{
	display: block;
	width: 100%;
	height: 100vh;
	object-fit: cover;
	filter: brightness(60%);
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }
  
  
  100% {
    opacity: 1;
  }
}

.slidebace .scl a{
	border:2px solid #fff;
	border-radius: 100px;
	box-sizing: border-box;
	width: 180px;
	line-height: 200%;
	display: block;
	color: #fff;
	text-decoration: none;
}
a#scl01{
scroll-margin-top: 0px;
}

/* page */
.pagebace{
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}
h4.pp{
	font-size: 1.6em;
	border-bottom: 7px double #ccc;
	padding: 5px 10px;
	margin-bottom: 15px;
}
p.tx{
	padding: 0 10px;
}
.pagebace ul{
	margin: 0;
	padding: 0 0 0 30px;
	line-height: 180%;
}
.pagebace ul li{
	margin: 5px 0;
}
.modoru{
	text-align: center;
	width: 200px;
	margin: 0 auto;
}
.modoru a{
	text-decoration: none;
	color: #252525;
	display: block;
	line-height: 300%;
	border:double 3px #252525;
	transition: 0.5s;
	margin-top: 50px;
}
.modoru a:hover{
	opacity: 0.3;
	transition: 0.5s;
}

/* contents1 */
.conbace01{
	padding:130px 0;
	background-image: url("images/bg01.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
/* contents2 */
.conbace02{
	padding:130px 0;
}
/* contents3 */
.conbace03{
	padding:130px 0;
}


/* news */
ul.newsbox{
	width: 100%;
	padding: 0;
}
ul.newsbox li{
	margin: 10px 0 10px 0;
	padding: 15px;
	list-style: none;
	list-style-position:inside;
	border-bottom: 1px dotted #000;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	font-size: 1.2em;
}
ul.newsbox li .date{
	flex: 1 15%;
	font-weight: bold;
	color: #333;
}
ul.newsbox li .tit{
	flex: 2 85%;
	color: #333;
}
ul.newsbox li .tit a{
	text-decoration: none;
	color: #333;
}
.nw_link{
	width: 200px;
	margin: 30px auto 0 auto;
	text-align: center;
	font-size: 1.2em;
	color: #333;
}
.nw_link a{
	color: #333;
	font-weight: bold;
	text-decoration: none;
	line-height: 45px;
	padding:0 10px;
	display: block;
	border-radius: 10px;
	border:1px solid #333;
	transition: all 0.8s;
}
.nw_link a:hover{
	opacity: 0.3;
}

/* archive */
ul.archive{
	margin: 0;
	padding: 0;
	border-top: 1px dotted #333;
}
ul.archive li{
	list-style: none;
	margin: 0;
	padding:15px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	border-bottom: 1px dotted #333;
}
ul.archive li a{
	text-decoration: none;
	color: #333;
}
ul.archive .date{
	font-weight: bold;
	margin-right: 20px;
}

/* pagenation */
.pagination{
   margin:40px 0 0 0;
}
.nav-links{
   display:flex;
}
.pagination .page-numbers{
   display:inline-block;
   margin-right:10px;
   padding:8px 13px;
   color:#333;
   border-radius:5px;
   background:#fff;
	border: 1px solid #ccc;
}
.pagination .current{
   padding:8px 13px;
   background:#ccc;
   color:#fff;
	border: 1px solid #ccc;
}
.pagination .prev,
.pagination .next{
   background:transparent;
   box-shadow:none;
   color:#333;
}
.pagination .dots{
   background:transparent;
   box-shadow:none;
}
.pagination a{
	text-decoration: none;
}


/* flexbox */
.flb{
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.flb li{
	list-style: none;
	padding: 0;
}
.fstart{
	justify-content: flex-start;
}
.fcenter{
	justify-content: center;
}
.fbetween{
	justify-content:space-between;
}
.alc{
	align-items: center;
}


/* fade animation */
.box{
	opacity: 0;
}

.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(30px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.delay-time02{
animation-delay: 0.8s;
}

.delay-time04{
animation-delay: 1.6s;
}
.delay-time06{
animation-delay: 2.4s;
}

/* footer */
footer{
	color: #252525;
	background-image: url("images/bg01.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin: 0;
	padding: 10px 0 0 0;
}
ul.bannerbox{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 40px 0;
	column-gap: 20px;
	row-gap: 30px;
}
ul.bannerbox li{
	list-style: none;
	background-color: #fff;
	position: relative;
	display: flex;
	align-items: center;
}
ul.bannerbox li a{
	display: block;
	width: 260px;
	padding:25px 0 25px 70px;
	box-sizing: border-box;
	text-decoration: none;
	color: #252525;
	border: 1px solid #089280;
	transition: 0.5s;
}
ul.bannerbox li a:hover{
	opacity: 0.5;
	transition: 0.5s;
}
.insta{
	background-image: url("images/icon01.png");
	background-repeat: no-repeat;
	background-position: left center;
}
.line_sns{
	background-image: url("images/icon03.png");
	background-repeat: no-repeat;
	background-position: left center;
}
.mail{
	background-image: url("images/icon02.png");
	background-repeat: no-repeat;
	background-position: left center;
}

ul.bannerbox li a::after{
	font: var(--fa-font-solid);
	content: "\f061";
	color: #fff;
	background-color: #252525;
	padding: 0 10px;
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	display: flex;
	align-items: center;
	line-height: 1;
	box-sizing: border-box;
}

.sitemap{
	background-color: #089280;
	padding: 30px 0;
	display: flex;
	justify-content: center;
}
.sitemap ul{
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	row-gap: 15px;
}
.sitemap ul li{
	color: #fff;
	list-style: none;
	border-right: 1px solid #fff;
	margin: 0;
	padding: 0 15px;
	box-sizing: border-box;
}
.sitemap ul li a{
	text-decoration: none;
	color: #fff;
	margin: 0;
	padding: 0; 
}
.copyright{
	background-color: #252525;
	margin: 0;
	padding: 15px 0;
	text-align: center;
	color: #fff;
}

/* fade */
.view{
opacity : 0;
transform : translate(0, 70px);
transition : all 500ms;
}
.view.scrollin{
opacity : 1;
transform : translate(0, 0);
}

/* contactform7 */
.wpcf7
{
    background-color: #efefef;
	border-radius: 10px;
 	padding: 3%;
	margin: 0;
}
ul.cf{
	margin: 0;
	padding: 0;
}
ul.cf li{
	list-style: none;
	margin: 0 0 15px 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: 10px;
}
.cf_tit{
	display: flex;
	align-items: flex-start;
	width: 280px;
	padding:8px 13px;
	margin-top: 8px;
	color: #333;
	box-sizing: border-box;
	font-weight: bold;
}
.cf_tit span{
	font-size: 0.9em;
	line-height: 100%;
	background-color: #089280;
	border-radius: 5px;
	padding: 5px 10px;
	color: #fff;
	margin-right: 10px;
}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"]
{
    background-color: #fff;
	border: 1px solid #ccc;
    color: #000;
    width: 100%;
	line-height: 180%;
	font-size: 1.2em;
	padding: 8px;
	margin: 0;
	box-sizing: border-box;
}
.wpcf7 textarea
{
	min-height: 100px;
    background-color: #fff;
	border: 1px solid #ccc;
    color: #000;
    width: 100%;
	line-height: 180%;
	font-size: 1.2em;
	padding: 8px;
	margin: 0;
	box-sizing: border-box;
	display: block;
}
.wpcf7 input[type="submit"]{
	background-color: #252525;
	border: none;
	width: 100%;
	line-height: 300%;
	font-size: 1.2em;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	color: #fff;
	font-weight: bold;
	border-radius: 5px;
}
.sbmt{
	width: 250px;
	margin: 30px auto 0 auto;
}

/** TOPページ用カスタム **/
h2.frp{
	text-align: center;
	max-width: 426px;
	margin: 0 auto 50px auto;
	padding: 0;
}
h2.frp img{
	width: 100%;
	height: auto;
}
.shop_info{
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
	column-gap: 4%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.shop_tx{
	width: 48%;
	max-width: 545px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
.shop_tx h2{
	text-align: center;
	font-size: 2.0em;
	margin:30px 0;
	padding: 0;
}
.shop_tx img{
	width: 100%;
	height: auto;
}
.tbl_box {
	border-spacing:0;
	border-collapse:collapse;
	border-top: solid 1px #252525;
	width: 100%;
	margin:30px 0;
}
.tbl_box th {
	width: 140px;
	box-sizing: border-box;
	padding:20px;
	background-color: #089280;
	border-bottom: solid 1px #252525;
	text-align:center;
	color: #fff;
}
.tbl_box td {
	padding:20px;
	background-color: #fff;
	border-bottom: solid 1px #252525;
	color: #252525;
}
a.link01{
	background-color: #252525;
	color: #fff;
	display: inline-block;
	text-decoration: none;
	padding:0 25px;
	margin: 10px 0 0 0;
	line-height: 250%;
	transition: 0.5s;
}
a.link01:hover{
	opacity: 0.5;
	transition: 0.5s;
}
a.link02{
	background-color: #252525;
	color: #fff;
	font-size: 1.2em;
	display: inline-block;
	text-decoration: none;
	padding:15px 25px;
	margin: 30px 0 0 0;
}
ul.mn_tx{
	margin: 0;
	padding: 0;
	color: #fff;
}
ul.mn_tx li{
	list-style: none;
	border-bottom:2px dotted #fff;
	margin: 0;
	padding: 15px 8px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;	
	column-gap: 20px;
}
.price{
	text-align: right;
}
ul.notice{
	margin: 0;
	padding:20px 0 20px 30px;
	color: #fff;
	border-bottom:2px dotted #fff;
}
ul.notice li{	
	margin: 0;
	padding: 0;
	line-height: 180%;
}

.mn_tg{
	background-color: #fff;
	margin: 50px 0 0 0;
	padding: 15px 10px 15px 53px;
	box-sizing: border-box;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 5px;
}
.mn_tg h3{
	line-height: 120%;
	font-size: 1.1em;
	color: #252525;
	flex:1;
	display: flex;
	align-items: center;
	font-weight: bold;
	padding: 0;
	margin: 0;
}
.mn_tg span{
	font-weight: bold;
	width: 50px;
	font-size: 0.9em;
	line-height: 230%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	outline: 1px solid rgb(255, 255, 255);
    outline-offset: -4px;
	background-color: #252525;
}
.mn_tg::before{
	font: var(--fa-font-solid);
	content: "\f02c";
	color: #fff;
	background-color: #252525;
	padding:10px 15px;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	display: flex;
	align-items: center;
	line-height: 1;
	box-sizing: border-box;
}

.section-title {
	display: flex;
	align-items: center;
	gap: 1rem;
	box-sizing: border-box;
	background-image: url("images/h3_point.png");
	background-repeat: no-repeat;
	background-position: left center;
	margin-bottom: 20px;
}
.section-title .label {
	display: flex;
	align-items: center;
	padding-left: 40px;
}
.section-title .line {
	flex-grow: 1;
	height: 1px;
	background-color: #666;
	opacity: 0.6;
}
.shop_img01{
	width: 45%;
	max-width: 620px;
	margin: 0;
	padding: 0 50px 0 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}
.shop_img01 .swiper-container {
	width: 100%;
	max-width: 472px;
	box-shadow: 30px 30px #ccc;
}

.shop_img01 .swiper-slide {
	text-align: center;
}

.shop_img01 .swiper-slide img {
	width: 100%;
	height: auto;
	display: block;
}
ul.shop_link{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin: 30px 0 0 0;
	padding: 0;
	column-gap: 20px;
}
ul.shop_link li{
	list-style: none;
	background-color: #fff;
}
ul.shop_link li a{
	background-color: #252525;
	color: #fff;
	font-size: 1.2em;
	display: inline-block;
	text-decoration: none;
	padding:15px 25px;
	margin:0;
	transition: 0.5s;
}
ul.shop_link li a:hover{
	opacity: 0.5;
	transition: 0.5s;
}
/* アコーディオン */
.accordion {
	width: 100%;
	margin: 0;
	background-color: #089280;
	padding: 80px 0;
	box-sizing: border-box;
}
.toggle {
	display: none;
}
.option {
	position: relative;
}
.ac_title,
.ac_content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.ac_title {
	width: 250px;
	color: #252525;
	background-color: #fff;
	border-radius: 30px;
	padding: 10px 25px;
	font-size: 1.8em;
	text-align: left;
	margin: 0 auto 0 auto;
	font-weight: bold;
	display: block;
	cursor: pointer;
	box-sizing: border-box;
}
.ac_title::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 36px;
	height: 36px;
	background: url("images/tg_icon.svg") no-repeat center / contain;
	transform: translateY(-50%);
	transition: all 0.3s;
}
.ac_content {
	max-height: 0;
	overflow: hidden;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}
.toggle:checked + .ac_title + .ac_content {
	max-height: 3000px;
	transition: all 1.5s;
}
.toggle:checked + .ac_title::after {
	transform: rotate(-90deg);
	transform: translateY(-50%) rotateZ(-90deg);
}
p.tax{
	color: #fff;
	padding: 8px 0 0 0;
	text-align: right;
}


/** モバイル **/
@media screen and (max-width: 768px) {
/* メニューボタン */
.hamburger-menu{
	display: block;
}
.home{
	display: none;
}
.header .hdmenu ul{
	display: none;
}
a.reserve{
	margin: 0 65px 0 0;
}
a.ctlink{
	display: none;
}
h3{
	font-size: 1.6em;
}
h4{
	font-size: 1.4em;
}
h5{
	font-size: 1.2em;
}
h6{
	font-size: 1.0em;
}
.spacer { width: 100%; }	
.pc{display: none;}
.sp{display: block;}
.w60{
	width: 100%;
}
.w50{
	width: 100%;
}
.w40{
	width: 100%;
}
.w30{
	width: 100%;
}
.w25{
	width: 100%;
}
.w75{
	width: 100%;
}	
	
.cf_tit{
	width: 100%;
	margin-bottom: 5px;
}
	
/* banner */
.banner{
	width: 90%;
	margin: 8px auto;
}
/* footer */
ul.fcon{
	justify-content: flex-start;
}
.ft_name{
	margin:0 15px 20px 15px;
}
	
/** TOPページ用カスタム **/
.top_mobile{
	display: block;
}
.shop_tx{
	width: 100%;
	max-width: 100%;
}
.conbace02 p{
	padding:0 15px;
}
.conbace03 p{
	padding:0 15px;
}
.shop_img01{
	width: 100%;
	max-width: 620px;
	margin: 0 auto;
	padding: 0 30px 80px 30px;
}
ul.shop_link{
	justify-content: center;
	column-gap: 15px;
}
ul.shop_link li a{
	font-size: 1.0em;
}
.sitemap{
	display: none;
}
}