@charset "UTF-8";
/* CSS Document */

/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

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;
    vertical-align:baseline;
    background:transparent;
    box-sizing: border-box;
}

body {
    line-height:1.4;
}

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

nav ul ,li{
    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;
    text-decoration: none;
}

img{
    max-width: 100%;
    height: auto;
}

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

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    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;
}

/* clearfix */
 
.clearfix:after {  
  content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
  
.clearfix { display: inline-table; }  
  
/* Hides from IE-mac \*/  
* html .clearfix { height: 1%; }  
.clearfix { display: block; }  
/* End hide from IE-mac */  

span, a, strong, small{
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
  background: transparent;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
*{ box-sizing: border-box; }
html { font-size: 62.5%; }

body{
	font-family: dnp-shuei-gothic-gin-std, sans-serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #4d4d4d;	
	font-size: 1.5rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
}



.mincho{ font-family: "Noto Serif JP",serif; font-weight: 600; }


/**** 
adobe使用フォント
Shippori Mincho SemiBold
font-family: shippori-mincho, sans-serif;
font-weight: 600;

DNP ShueiGoGinStd L
font-family: dnp-shuei-gothic-gin-std, sans-serif;
font-weight: 400;

DNP ShueiGoGinStd M
font-family: dnp-shuei-gothic-gin-std, sans-serif;
font-weight: 500;

DNP ShueiGoGinStd B
font-family: dnp-shuei-gothic-gin-std, sans-serif;
font-weight: 600;
***/

a{ transition: .5s; }
a:hover{ opacity: .7; }
br{ line-height: inherit; }
p{ line-height: 2; }
span, a, strong, small{ color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; letter-spacing: inherit; }

.wrap{ width: 700px; margin: 0 auto; position: relative; }
.wrap.midium{ width: 800px; }
.row{ display: flex; justify-content: space-between; }

.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
.body-wrap{ overflow: hidden; position: relative; }

@media(min-width: 769px){ .sp{ display: none !important; } }

.btn{ width: 40rem; max-width: 100%; height: 5.2rem; background: #fff; border-bottom: solid .3rem #ffacbd; display: flex; justify-content: center; align-items: center; position: relative; border-radius: 1rem 1rem 0 0; }
.btn:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: .5rem 0 .5rem .5rem; border-color: transparent transparent transparent #ffacbd; position: absolute; top: 50%; right: 2.8rem; transform: translateY(-50%); transition: .5s; }
.btn.google-map{ width: 30rem; }
.btn.google-map span:before{ content: ''; width: 1.85rem; height: 2.5rem; background: url(../images/common/icon-pin01.png) no-repeat center/contain; position: absolute; top: 50%; left: 2.5rem; transition: .5s; transform: translateY(-50%); }
.btn.google-map span:after{ content: ''; width: 1.85rem; height: 2.5rem; background: url(../images/common/icon-pin02.png) no-repeat center/contain; position: absolute; top: 50%; left: 2.5rem; transition: .5s; transform: translateY(-50%); opacity: 0; }
.btn:hover{ opacity: 1; border-color: #644218; }
.btn:hover:after{ border-left-color: #644218; }
.btn.google-map:hover span:before{ opacity: 0; }
.btn.google-map:hover span:after{ opacity: 1; }

.btn-resv{ width: 32rem; height: 9.2rem; background: #644218; font-size: 2.2rem; line-height: 1.4; text-align: center; color: #fff; display: flex; justify-content: center; align-items: center; border-bottom: solid .6rem #ffacbd; border-radius: 1rem 1rem 0 0; position: relative; }
.btn-resv:before{ content: ''; width: 2.8rem; height: 2.55rem; background: url(../images/common/icon-resv01.png) no-repeat center/contain; position: absolute; left: 3.2rem; top: 50%; transform: translateY(-50%); transition: .5s; }
.btn-resv:after{ content: ''; width: 2.8rem; height: 2.55rem; background: url(../images/common/icon-resv02.png) no-repeat center/contain; position: absolute; left: 3.2rem; top: 50%; transform: translateY(-50%); opacity: 0; transition: .5s; }
.btn-resv span:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: .5rem 0 .5rem .5rem; border-color: transparent transparent transparent #fff; position: absolute; top: 50%; right: 2.7rem; transform: translateY(-50%); transition: .5s; }
.btn-resv:hover{ opacity: 1; background: #ffacbd; border-color: #644218; color: #644218; }
.btn-resv:hover:before{ opacity: 0; }
.btn-resv:hover:after{ opacity: 1; }
.btn-resv:hover span:after{ border-left-color: #644218; }

header{ width: 100%; height: 7rem; background: #fff; display: flex; justify-content: space-between; padding: 0 7.5rem 0 2.8rem; }
header .logo{ display: block; line-height: 0; align-self: center; }
header .btn-list{ display: flex; }
header .btn-list li + li{ margin-left: 1rem; }
header .btn-list li a{ width: 25.7rem; height: 6rem; display: flex; justify-content: center; align-items: center; border-radius: 0 0 1rem 1rem; color: #fff; }
header .btn-list li:nth-of-type(1) a{ background: #b2b2b2; font-size: 2.1rem; }
header .btn-list li:nth-of-type(2) a{ background: #644218; font-size: 1.8rem; }
header .btn-list li:nth-of-type(1) a span{ padding-left: 3.4rem; background: url(../images/common/icon-tel01.png) no-repeat left center/1.5rem; }
header .btn-list li:nth-of-type(2) a span{ padding: 0 2rem 0 3.7rem; position: relative; background: url(../images/common/icon-resv01.png) no-repeat left center/1.9rem; }
header .btn-list li:nth-of-type(2) a span:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: .5rem 0 .5rem .5rem; border-color: transparent transparent transparent #fff; position: absolute; top: 50%; right: 0; transform: translateY(-50%); }

nav{ width: 60rem; height: 100%; overflow: scroll; background: rgba(100, 66, 24, .95); position: fixed; top: 0; right: -60rem; z-index: 9979; padding: 2rem 7.4rem 5rem; color: #fff; transition: .5s; }
nav.active{ right: 0; }
nav .logo{ display: table; line-height: 0; margin-bottom: 8rem; }
nav .gnav{ width: 100%; height: 25rem; display: flex; flex-direction: column; flex-wrap: wrap; margin-bottom: 4.5rem; }
nav .gnav li{ width: 33.3333%; height: 25%; border-bottom: solid 1px; border-left: solid 1px; text-align: center; line-height: 1.4; font-size: 1.6rem; }
nav .gnav li:nth-of-type(4n){ border-bottom: none; }
nav .gnav li:nth-of-type(-n+4){ border-left: none; }
nav .gnav li a{ display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
nav .gnav li a:hover{ background: #ff92a0; opacity: 1; }
nav .inner{ width: 33rem; margin: 0 auto; }
nav .hour-table{ color: #4d4d4d;  }
nav .hour-table + p{ margin-bottom: 2rem; }
nav .inner .tel{ display: table; font-size: 3.4rem; line-height: 1; padding-left: 3.6rem; background: url(../images/common/icon-tel01.png) no-repeat center left/2rem; margin-bottom: 1.8rem; }
nav .inner .tel + small{ display: block; font-size: 1.4rem; }
nav .inner .ad_click img {margin-bottom: 1.8rem;}
.info-box .map-row{ z-index: 1; }
.info-box .map-row .left{ width: 40rem; }
.info-box .map-row .left p{ font-size: 1.8rem; margin-bottom: .2rem; }
.info-box .map-row .left ul li{ font-size: 2.8rem; color: #fff; position: relative; z-index: 0; }
.info-box .map-row .left ul li:before{ content: ''; width: calc(50vw + 5rem); height: 100%; background: linear-gradient(90deg, #876e5a 0%, #c1a993 100%); position: absolute; top: 0; right: 0; z-index: -1; }
.info-box .map-row .left ul li + li{ margin-top: .8rem; }
.info-box .map-row .map{ position: absolute; top: -6rem; left: 40rem; background: none; line-height: 0; width: calc(50vw - 5rem); border-radius: 4.5rem 0 0 0; overflow: hidden; }
.info-box .content-row{ align-items: flex-end; padding-top: 7rem; padding-bottom: 3.4rem; z-index: 0; }
.info-box .content-row:before{ content: ''; width: 100vw; height: calc(100% + 7rem); background: url(../images/common/webp/info-box-bg01.webp) no-repeat center/cover; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: -1; }
.info-box .content-row .left{ width: 33rem; }
.info-box .content-row .left h2{ font-size: 2.7rem; color: #644218; margin-bottom: .4rem; }
.info-box .content-row .left h2:after{ content: attr(data-en); font-size: 1.8rem; color: #aa8d77; display: inline-block; margin-left: 1.4rem; transform: translateY(-.2rem); }
.info-box .content-row .left .tel{ margin: 2.8rem 0 1.4rem; }
.info-box .content-row .left .tel dt{ font-size: 1.8rem; }
.info-box .content-row .left .tel dd a{ display: inline-block; font-size: 3.8rem; color: #644218; padding-left: 3.1rem; background: url(../images/common/icon-tel02.png) no-repeat left center/2.1rem; line-height: 1.5; }
.info-box .content-row .right{ width: 30rem; padding-bottom: 4rem; margin-top:3rem;}
.info-box .content-row .right h3{ font-size: 2rem; line-height: 1.5; margin-bottom: 2.6rem; }
.info-box .content-row .right p{ font-size: 1.4rem; line-height: 1.8; margin-bottom: 1.2rem; }

.hour-table{ width: 33rem; table-layout: fixed; background: #fff; letter-spacing: .03em; }
.hour-table th{ width: 12.6rem; font-weight: 500; padding-left: 1rem; vertical-align: middle; }
.hour-table td{ text-align: center; vertical-align: middle; }
.hour-table thead{ border-bottom: solid 1px; }
.hour-table thead th{ height: 3.35rem; }
.hour-table tbody th{ height: 5rem; }
.hour-table + p{ font-size: 1.4rem; margin-top: .7rem; }

.treat-list01{ display: flex; flex-wrap: wrap; justify-content: space-between; margin-bottom: 3rem; }
.treat-list01 a{ display: block; width: 33.6rem; height: 15.2rem; background: linear-gradient(90deg, rgba(187,163,143,1) 0%, rgba(227,212,181,1) 100%); padding: .5rem; border-radius: 5rem 0; overflow: hidden; }
.treat-list01 a:nth-of-type(n+3){ margin-top: 2.6rem; }
.treat-list01 a dl{ height: 100%; border-radius: 4.6rem 0; overflow: hidden; padding: 1.5rem 0 0 2.5rem; transition: .5s; position: relative; z-index: 0; }
.treat-list01 a dl:before{ content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; transition: .5s; }
.treat-list01 a:nth-of-type(1) dl:before{ background: url(../images/common/webp/treat-list01.webp) #87d5ff no-repeat center right/cover; }
.treat-list01 a:nth-of-type(2) dl:before{ background: url(../images/common/webp/treat-list02.webp) #d8d8d8 no-repeat center right/cover; }
.treat-list01 a:nth-of-type(3) dl:before{ background: url(../images/common/webp/treat-list03.webp) #f8dde2 no-repeat center right/cover; }
.treat-list01 a:nth-of-type(4) dl:before{ background: url(../images/common/webp/treat-list04.webp) #9ac7c0 no-repeat center right/cover; }
.treat-list01 a dl:after{ content: ''; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -2; opacity: 0; transition: .5s; }
.treat-list01 a:nth-of-type(1) dl:after{ background: linear-gradient(90deg, rgba(135,213,255,1) 0%, rgba(71,126,192,1) 100%); }
.treat-list01 a:nth-of-type(2) dl:after{ background: linear-gradient(90deg, rgba(216,216,216,1) 0%, rgba(102,102,102,1) 100%); }
.treat-list01 a:nth-of-type(3) dl:after{ background: linear-gradient(90deg, rgba(255,221,227,1) 0%, rgba(255,146,160,1) 100%); }
.treat-list01 a:nth-of-type(4) dl:after{ background: linear-gradient(90deg, rgba(154,199,192,1) 0%, rgba(84,182,171,1) 100%); }
.treat-list01 a dl dt{ font-size: 2rem; font-weight: 600; line-height: 1.3; margin-bottom: .8rem; transition: .5s; }
.treat-list01 a:nth-of-type(2) dl dt,
.treat-list01 a:nth-of-type(4) dl dt{ margin-bottom: 1.8rem; }
.treat-list01 a dl dd{ font-size: 1.4rem; line-height: 1.4; transition: .5s; }
.treat-list01 a:hover{ opacity: 1; }
.treat-list01 a:hover dl{ background-color: transparent; }
.treat-list01 a:hover dl:before{ background-color: transparent; }
.treat-list01 a:hover dl:after{ opacity: 1; }
.treat-list01 a:hover dl dt,
.treat-list01 a:hover dl dd{ color: #fff; }

.treat-list02{ display: flex; flex-wrap: wrap; }
.treat-list02 li{ width: 12rem; height: 12rem; margin-right: 2.5rem; font-size: 1.4rem; line-height: 1.3; text-align: center; }
.treat-list02 li:nth-of-type(5n){ margin-right: 0; }
.treat-list02 li:nth-of-type(n+6){ margin-top: 2.5rem; }
.treat-list02 li a{ width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; background: #e3d4b5; padding-top: 6.5rem; position: relative; }
.treat-list02 li a img{ position: absolute; top: 0; left: 0; transition: .5s; }
.treat-list02 li a img.on{ opacity: 0; }
.treat-list02 li a:hover{ background: #644218; color: #fff; opacity: 1; }
.treat-list02 li a:hover img.off{ opacity: 0; }
.treat-list02 li a:hover img.on{ opacity: 1; }

footer .logo{ display: block; margin-bottom: 6.5rem; }
footer .img-box{ display: block; width: 100%; margin-bottom: 4rem; }
footer .sitemap{ flex-wrap: wrap; justify-content: space-between; }
footer .sitemap > ul > li{ font-size: 1.4rem; font-weight: 400; line-height: 1.9; }
footer .sitemap > ul > li + li{ margin-top: 2.5rem; }
footer .sitemap > ul > li .child ul + ul{ margin-left: 2.1rem; }
footer .sitemap > ul > li .child li{ font-size: 1.3rem; padding-left: 1em; position: relative; padding-top: 3px; }
footer .sitemap > ul > li .child li:before{ content: '−'; position: absolute; left: 0 }
footer .copy{ display: block; font-size: 1rem; width: 100%; text-align: center; margin: 5rem 0 1.5rem; }

.menu-btn{ position: fixed; top: 1.3rem; right: 1.6rem; z-index: 9981; cursor: pointer; }
.menu-btn .inner{ width: 4.1rem; height: 2.1rem; position: relative; margin: 0 auto; }
.menu-btn .inner span{ width: 100%; height: 1px; background: #4d4d4d; border-radius: 1px; position: absolute; left: 0; transition: .5s; }
.menu-btn .inner span:nth-of-type(1){ top: 0; }
.menu-btn .inner span:nth-of-type(2){ top: 50%; transform: translateY(-50%); }
.menu-btn .inner span:nth-of-type(3){ bottom: 0; }
.menu-btn.active .inner span{ background: #fff; }
.menu-btn.active .inner span:nth-of-type(1){ transform: translateY(10px) rotate(30deg); }
.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }
.menu-btn.active .inner span:nth-of-type(3){ transform: translateY(-10px) rotate(-30deg); }
.menu-btn p{ font-size: 1.4rem; font-weight: 600; text-align: center; letter-spacing: 0; position: relative; }
.menu-btn p span{ display: block; transition: .5s; }
.menu-btn p span.close{ position: absolute; left: 50%; top: 0; transform: translateX(-50%); opacity: 0; }
.menu-btn.active p span{ color: #fff; }
.menu-btn.active p span.menu{ opacity: 0; }
.menu-btn.active p span.close{ opacity: 1; }



@media(max-width: 768px){
	html{ font-size: 2.66vw; }
	body{ font-size: 1.4rem;}
	
	body.lh{
	margin-top: -8vw;
}

	.pc{ display: none !important; }

	.wrap{ width: 100%; padding-left: 1.5rem; padding-right: 1.5rem; }
	.wrap.midium{ width: 100%; }
	.row{ flex-wrap: wrap; }

	.btn{ width: 31rem; height: 4.8rem; font-size: 1.3rem; margin-left: auto; margin-right: auto; }
	.btn.google-map{ width: 31rem; }
	.btn-resv{ width: 31rem; font-size: 2.1rem; }

	header{ height: auto; padding: 1.4rem 0 0 1.2rem; }
	header .logo{ width: 27rem; margin-bottom: .85rem; }	
	header .logo img{ width: 80%; margin-bottom: 10px;}
	header .btn-list{ position: fixed; bottom: 0; left: 0; z-index: 9978; width: 100%; }
	header .btn-list li{ width: 50%; }
	header .btn-list li + li{ margin-left: 0; }
	header .btn-list li a{ width: 100%; height: 6rem; border-radius: 0; }
	header .btn-list li a dl{ font-family: dnp-shuei-gothic-gin-std, sans-serif; font-weight: 600; }
	header .btn-list li a dl dt{ font-size: 1.5rem; display: table; margin: 0 auto; }
	header .btn-list li:nth-of-type(1) a dl dt{ padding-left: 1.9rem; background: url(../images/common/icon-tel01.png) no-repeat left center/1.25rem; }
	header .btn-list li:nth-of-type(2) a dl dt{ padding-left: 2.6rem; background: url(../images/common/icon-resv01.png) no-repeat left center/1.6rem; }
	header .btn-list li a dl dd{ font-size: 1rem; width: 13rem; background: #fff; margin: 0 auto; letter-spacing: 0; text-align: center; border-radius: .2rem; }
	header .btn-list li:nth-of-type(1) a dl dd{ color: #b2b2b2; }
	header .btn-list li:nth-of-type(2) a dl dd{ color: #644218; }

	nav{ width: 100%; right: -100vw; padding: 1.9rem 3.5rem 3rem; }
	nav .logo{ margin-bottom: 3rem; }
	nav .logo img{ width: 20.4rem; }
	nav .gnav{ height: 30rem; margin-bottom: 3rem; }
	nav .gnav li{ width: 50%; height: calc(100% / 6); font-size: 1.4rem; border-left: none; border-bottom: none; border-top: solid 1px; letter-spacing: 0; }
	nav .gnav li:nth-of-type(1), nav .gnav li:nth-of-type(7){ border-top: none; }
	nav .gnav li:nth-of-type(n+7){ border-left: solid 1px; }
	nav .gnav li a{ -webkit-tap-highlight-color: #ff92a0; }
	nav .inner{ width: 100%; }
	nav .inner .tel{ font-size: 3rem; padding-left: 3rem; background-size: 1.6rem; margin-bottom: 1.5rem; }
	nav .inner .tel + small{ font-size: 1.3rem; }
	nav strong{font-size: 2.4vw;}

	.info-box .map-row .left{ width: 100%; }
	.info-box .map-row .left p{ font-size: 1.4rem; margin-bottom: 1rem; }
	.info-box .map-row .left ul li{ font-size: 2.2rem; }
	.info-box .map-row .left ul li:before{ width: 100vw; right: -1.5rem; }
	.info-box .map-row .left ul li + li{ margin-top: .6rem; }
	.info-box .content-row{ padding-top: 4.35rem; padding-bottom: 5.5rem; }
	.info-box .content-row:before{ height: 100%; background-image: url(../images/common/webp/info-box-bg01-sp.webp); }
	.info-box .content-row .left{ width: 100%; margin-bottom: 4.5rem; }
	.info-box .content-row .left h2{ font-size: 2.2rem; }
	.info-box .content-row .left h2:after{ font-size: 1.4rem; }
	.info-box .content-row .left .tel{ width: 31rem; margin: 3rem auto 2rem; }
	.info-box .content-row .left .tel dd a{ font-size: 3.5rem; }
	.info-box .content-row .left .btn-resv{ margin: 0 auto; }
	.info-box .content-row .right{ width: 100%; padding-bottom: 0; }
	.info-box .content-row .right .map{ max-width: none; width: 100vw; margin-left: -1.5rem; display: block; border-radius: 3rem 0 0 0; margin-bottom: 3.25rem; }
	.info-box .content-row .right h3{ font-size: 1.8rem; margin-bottom: .6rem; }
	.info-box .content-row .right p{ font-size: 1.3rem; margin-bottom: 1.25rem; }

	.hour-table{ width: 100%; font-size: 1.3rem; }
	.hour-table th{ width: 11.7rem; padding-left: 1.7rem; }
	.hour-table tr > *:last-child{ width: 4.5rem; padding-right: 1.55rem; }
	.hour-table thead th{ height: 2.8rem; }
	.hour-table tbody th{ height: 4.35rem; }
	.hour-table + p{ font-size: 1.3rem; margin-top: .4rem; }

	.treat-list01{ margin-bottom: 2.5rem; }
	.treat-list01 a{ width: 100%; }
	.treat-list01 a:nth-of-type(n+2){ margin-top: 2rem; }

	.treat-list02 li{ width: 10.1rem; height: 10.1rem; margin-right: calc((100% - 10.1rem * 3) / 2); font-size: 1.1rem; font-weight: 600; }
	.treat-list02 li:nth-of-type(5n){ margin-right: calc((100% - 10.1rem * 3) / 2); }
	.treat-list02 li:nth-of-type(3n){ margin-right: 0; }
	.treat-list02 li:nth-of-type(n+4){ margin-top: 2.1rem; }
	.treat-list02 li a{ padding-top: 6rem; }
	.treat-list02 li a img{ width: 100%; }

	footer .logo{ width: 30rem; margin: 0 auto 4.5rem; }
	footer .img-box{ margin-bottom: 3rem; }
	footer .sitemap > ul{ width: 27.5rem; margin: 0 auto; }	
	footer .sitemap > ul > li{ font-size: 1.6rem; border-top: solid 1px; padding: 1.4rem 0 1.4rem 2.5rem; }
	footer .sitemap > ul:first-of-type > li:first-of-type{ border-top: none; }
	footer .sitemap > ul > li + li{ margin-top: 0; }
	footer .sitemap > ul > li.parent{ position: relative; }
	footer .sitemap > ul > li.parent .toggle{ position: absolute; right: 2rem; line-height: 1; top: 2.3rem; }
	footer .sitemap > ul > li > a img{ width: 1.9rem; }
	footer .sitemap > ul > li .child{ display: none; padding-top: .6rem; }
	footer .sitemap > ul > li .child ul + ul{ margin-left: 0; }
	footer .copy{ margin-bottom: 9rem; }

	.menu-btn{ top: 0; right: 0; width: 6.5rem; height: 6.5rem; /*border-radius: 0 0 0 .75rem;*/ padding-top: 1.3rem; transition: .5s;background: rgba(255,255,2555,0.8); }
	.menu-btn.active{ background: transparent; }
	.menu-btn .inner{ width: 4rem; height: 1.9rem; margin-bottom: .2rem; }
	.menu-btn.active .inner span:nth-of-type(1){ top: 50%; transform: translateY(-50%) rotate(30deg); }
	.menu-btn.active .inner span:nth-of-type(3){ bottom: 50%; transform: translateY(50%) rotate(-30deg); }
	.menu-btn p{ font-size: 1.25rem; }
	
	.btn-p {
		position: absolute;
        width: 100%;
        /* background: #ff92a0; */
        text-align: center;
        color: #fff;
        bottom: 6rem;
        background: linear-gradient(90deg, #aa8d77, #e3c7a3);
        font-weight: 600;
	}
	
}

.cta_wrap {
    background: url(../images/common/webp/info-box-bg01.webp) no-repeat 50%/cover;
    margin-bottom: 5rem;
    margin-top: 7rem;
    position: relative
}

.cta_wrap span.text {
    color: rgba(183,147,59,.3);
    font-family: YuMincho,Yu Mincho,yu-mincho-pr6,"serif";
    font-size: 6vw;
    left: 0;
    line-height: 1;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: -3.8vw;
    z-index: 0
}

.cta_box {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1024px;
    padding: 9vw 0 5rem;
    width: 90%
}

.cta_box h2 {
    border-bottom: 1px solid #b7933b;
    color: #644218;
    font-size: 2.6rem;
    margin-bottom: 2rem;
    padding: 2rem 0 1rem;
    text-align: center
}

.cta_box .flex_wrap {
    display: flex;
    justify-content: space-between
}

.cta_box .flex_wrap .img {
    width: 40%
}

.cta_box .flex_wrap .text {
    box-sizing: border-box;
    padding-left: 2rem;
    padding-top: 0;
    width: 60%
}

.cta_box .flex_wrap .text p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: .5rem;
    text-align: left
}

.yoyaku_wrap {
    padding-top: 1.5rem
}

.yoyaku_wrap p {
    font-size: 17px;
    line-height: 1.8;
    text-align: center
}

.text.yoyaku_wrap span {
    display: inline-block;
    font-size: 1.9rem;
    padding: 0 2.5rem 0 0;
    position: relative
}

.yoyaku_wrap h3 {
    color: #c39f8c;
    font-size: 1.3rem;
    margin-bottom: .5rem
}

.yoyaku_wrap .point_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: .8rem;
    margin-top: 5rem
}

.yoyaku_wrap .point_list li {
    align-content: center;
    background: #ab927d;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: .7rem;
    padding: .4rem 0;
    text-align: center;
    width: 48%
}

.yoyaku_wrap a.btn {
    align-items: center;
    background: #644218;
    border: none;
    color: #fff;
    display: flex;
    font-size: 2rem;
    height: 56px;
    justify-content: center;
    margin: 1rem auto 0;
    padding: 0 20px;
    position: relative;
    width: 475px
}

.yoyaku_wrap a.btn:before {
    background: url(../images/common/icon-resv01.png) no-repeat 0/1.9rem;
    border: none;
    border-radius: initial;
    content: "";
    display: inline-block;
    height: 30px;
    padding-right: 1.4rem;
    position: static;
    transform: none;
    width: 30px
}

.yoyaku_wrap a.btn:after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: .5rem 0 .5rem .5rem;
    content: "";
    height: 0;
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
    width: 0
}

.cta_box .tell_link {
    background: #b2b2b2;
    border-radius: 1rem 1rem 0 0;
    box-shadow: 0 1px 5px #888;
    margin: 1.5rem auto;
    padding-top: .6rem;
    position: relative;
    width: 475px
}

.cta_box .tell_link a {
    color: #fff;
    font-size: 2.4rem;
    letter-spacing: .2rem;
    padding-left: 3.5rem;
    position: relative
}

.cta_box .tell_link a:before {
    background: url(../images/common/icon-tel01.png) no-repeat 0/1.5rem;
    content: "";
    display: inline-block;
    height: 25px;
    left: -8px;
    position: absolute;
    top: 0;
    width: 25px
}

.cta_box .tell_link span {
    background: #5a4d45;
    border: 1px solid #fff;
    border-radius: 1rem;
    color: #fff;
    font-size: 12px;
    left: -20px;
    letter-spacing: 1px;
    line-height: 1.8;
    margin: auto;
    position: absolute;
    right: 0;
    text-align: center;
    top: -2rem;
    width: 120%
}

.cta_box.short {
    background: url(../images/common/webp/info-box-bg01.webp) no-repeat 50%/cover;
    margin: 0 auto 3rem;
    padding: 2rem 2rem 1.7rem;
    width: 800px
}

.cta_box.short .flex_wrap {
    margin: 0
}

.cta_box.short .flex_wrap .img {
    display: flex;
    height: 215px;
    justify-content: center;
    overflow: hidden;
    width: 365px
}

.cta_box.short .flex_wrap .img,.cta_box.short .flex_wrap .text {
    height: auto;
    margin-bottom: 0;
    padding: 0;
    width: 48%
}

.cta_box.short .yoyaku_wrap .point_text {
    font-size: 15px;
    line-height: 1.8;
    text-align: center
}

.cta_box.short .text.yoyaku_wrap span {
    padding-right: 0
}

.cta_box.short .flex_wrap .text .tell_link {
    background: #b2b2b2;
    border-radius: 1rem 1rem 0 0;
    font-size: 17px;
    text-align: center;
    width: 100%
}

.cta_box.short .yoyaku_wrap a.btn {
    margin-bottom: 0;
    width: 100%
}

@media (max-width: 768px) {
    .cta_wrap {
        margin-top:5rem
    }

    .cta_wrap span.text {
        font-size: 3.5rem;
        letter-spacing: 0;
        text-align: center;
        top: -1.8rem
    }

    .cta_box {
        padding: 6rem 1.5rem 3.5rem;
        width: 100%
    }

    .cta_box h2 {
        font-size: 20px;
        line-height: 1.5;
        margin-bottom: 1.5rem;
        padding: 0 0 .7rem
    }

    .cta_box .flex_wrap {
        display: block;
        margin-bottom: 0
    }

    .cta_box .flex_wrap .img {
        margin-bottom: 1rem;
        width: 100%
    }

    .cta_box .flex_wrap .text {
        padding-left: 0;
        width: 100%
    }

    .cta_box .flex_wrap .text p {
        letter-spacing: .05rem;
        line-height: 2
    }

    .yoyaku_wrap .point_list {
        margin-top: 1rem
    }

    .point_list li {
        font-size: 12px;
        letter-spacing: 0;
        width: 49%
    }

    .cta_wrap .yoyaku_wrap {
        padding-top: .5rem
    }

    .cta_wrap .yoyaku_wrap .point_text {
        font-size: 17px
    }

    .cta_wrap .yoyaku_wrap a.btn:before {
        height: 21px;
        width: 21px
    }

    .cta_box .yoyaku_wrap a.btn {
        font-size: 17px;
        height: 47px;
        padding-left: 0;
        width: 90%
    }

    .cta_box .tell_link {
        margin: 2rem auto 1rem;
        padding-bottom: .2rem;
        padding-top: .2rem;
        width: 90%
    }

    .cta_box .tell_link a {
        font-size: 20px
    }

    .cta_box .tell_link a:before {
        height: 25px;
        top: -2px;
        width: 25px
    }

    .cta_box .tell_link span {
        font-size: 11px;
        letter-spacing: .1rem;
        top: -1.7rem
    }

    .cta_box.short {
        margin: 0 auto 4rem;
        padding: 1.5rem;
        width: 100%
    }

    .cta_box.short .flex_wrap .img {
        height: auto;
        margin: 0 auto 1rem;
        width: 100%
    }

    .cta_box.short .flex_wrap .img,.cta_box.short .flex_wrap .text {
        margin-top: .5rem;
        width: 100%
    }

    .cta_box.short .yoyaku_wrap .point_text {
        font-size: 15px;
        line-height: 1.5
    }
}

.btn-resv02 {
    align-items: center;
    background: #644218;
    border-bottom: .6rem solid #ffacbd;
    border-radius: 1rem 1rem 0 0;
    color: #fff;
    display: flex;
    font-size: 2.2rem;
    height: 7rem;
    justify-content: center;
    line-height: 1.4;
    position: relative;
    text-align: center;
    width: 32rem
}

.btn-resv02:before {
    background: url(../images/common/icon-resv01.png) no-repeat 50%/contain
}

.btn-resv02:after,.btn-resv02:before {
    content: "";
    height: 2.55rem;
    left: 3.2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
    width: 2.8rem
}

.btn-resv02:after {
    background: url(../images/common/icon-resv02.png) no-repeat 50%/contain;
    opacity: 0
}

.btn-resv02 span:after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: .5rem 0 .5rem .5rem;
    content: "";
    height: 0;
    position: absolute;
    right: 2.7rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
    width: 0
}

.btn-resv02:hover {
    background: #ffacbd;
    border-color: #644218;
    color: #644218;
    opacity: 1
}

.btn-resv02:hover:before {
    opacity: 0
}

.btn-resv02:hover:after,.btn-resv02:hover:before {
    background: url(../images/common/icon-resv02.png) no-repeat 50%/contain
}

.btn-resv02:hover:after {
    opacity: 1
}

.btn-resv02:hover span:after {
    border-left-color: #644218
}

.btn-tel {
    align-items: center;
    background: #644218;
    border-bottom: .6rem solid #ffacbd;
    border-radius: 1rem 1rem 0 0;
    color: #fff;
    display: flex;
    font-size: 2.2rem;
    height: 7rem;
    justify-content: center;
    line-height: 1.4;
    position: relative;
    text-align: center;
    width: 32rem
}

.btn-tel:after,.btn-tel:before {
    background: url(../images/common/icon-tel01.png) no-repeat 50%/contain;
    content: "";
    height: 2.55rem;
    left: 3.2rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
    width: 2.8rem
}

.btn-tel:after {
    opacity: 0
}

.btn-tel span:after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: .5rem 0 .5rem .5rem;
    content: "";
    height: 0;
    position: absolute;
    right: 2.7rem;
    top: 50%;
    transform: translateY(-50%);
    transition: .5s;
    width: 0
}

.btn-tel:hover {
    background: #ffacbd;
    border-color: #644218;
    color: #644218;
    opacity: 1
}

.btn-tel:hover:before {
    opacity: 0
}

.btn-tel:hover:after,.btn-tel:hover:before {
    background: url(../images/common/icon-tel02.png) no-repeat 50%/contain
}

.btn-tel:hover:after {
    opacity: 1
}

.btn-tel:hover span:after {
    border-left-color: #644218
}

.lp-mode .treat-list02 li a:hover {
    background: #e3d4b5 !important;
    color: inherit !important;
}

.lp-mode .treat-list02 li a:hover img.off {
    opacity: 1 !important;
}
.lp-mode .treat-list02 li a:hover img.on {
    opacity: 0 !important;
}

.floating-button{
	position: fixed;
    top: 22.8rem;
    right: 0;
    width: 14.4rem;
    z-index: 2500;
}

@media (max-width: 768px) {
	.l-header__review{
		top: 0;
		right: 6.5rem;
		gap: 0;
		z-index: 10000;
		display: flex;
		position: fixed;
	}
	
	.l-header__review a{
		width: 6.5rem;
		height: 6.5rem;
		background: #2FBE9E;
		text-align: center;
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1;
		letter-spacing: -0.06em;
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 0.4rem;
		color: white;
	}
}