:root{
	--base-font: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	--sub-font: source-han-serif-japanese, serif;
	--en-font: minion-pro-display, serif;
	--base-color: #3c2d1e;
	--sub-color01: #dcd2be;
	--sub-color02: #b1aba5;
	--sub-color03: #ebeae8;
	--sub-color04: #a38a77;
}

*{ box-sizing: border-box; }
html { font-size: 62.5%; }
body{
	font-family: var(--base-font);
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: var(--base-color);	
	font-size: 1.4rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.08em;
	text-align: justify;
}

h1,h2,h3,h4,h5,h6{ font-family: var(--sub-font); font-weight: 500; }
.sub-font{ font-family: var(--sub-font); }
.en-font{ font-family: var(--en-font); font-weight: 500; }

/*** adobe使用フォント
Source Han Serif Regular
font-family: source-han-serif-japanese, serif;
font-weight: 400;

Source Han Serif Medium
font-family: source-han-serif-japanese, serif;
font-weight: 500;

Minion Pro Display midium
font-family: minion-pro-display, serif;
font-weight: 500;
***/

a{ transition: .5s; }
a:hover{ opacity: .6; }
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: 800px; margin: 0 auto; position: relative; }
.wrap.midium{ width: 900px; }
.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; padding-top: 10rem; }

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

.btn{ width: 25rem; height: 5rem; border-radius: 2.5rem; display: flex; align-items: center; font-size: 1.5rem; font-family: var(--sub-font); background: var(--sub-color01); padding-left: 3.5rem; position: relative; color: var(--base-color); }
.btn:after{ content: ''; width: .6rem; height: .6rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; top: 50%; right: 2.3rem; transform: translateY(-50%) rotate(-45deg); }
.btn:hover{ opacity: 1; background: var(--sub-color04); }

header{ width: 100%; height: 10rem; display: flex; justify-content: space-between; align-items: center; background: #fff; padding: 0 3rem; position: fixed; top: 0; left: 0; z-index: 9978; }
header nav{ margin: 0 3rem 0 auto; }
header nav .tel{ display: flex; align-items: center; justify-content: center; width: 38rem; height: 3rem; border: solid 1px; border-radius: 1.5rem; font-size: 1.2rem; margin: 0 0 1rem auto; }
header nav .tel:hover{ opacity: 1; background: #f4ebe4; }
header nav .tel span{ font-size: 2rem; padding-left: 1.8rem; margin-left: .8rem; background: url(../images/common/icon-tel01.png) no-repeat left center/.95rem; }
header nav .gnav{ display: flex; font-size: 1.2rem; }
header nav .gnav li + li{ margin-left: 1.8em; }

.mv .online-resv{ display: block; /*position: absolute;*/ position: fixed; width:200px; height: 200px; border-radius: 100%; background: url(../images/common/icon-resv01.png) var(--sub-color01) no-repeat center top 4.3rem/5.2rem; font-size: 20px; font-weight: 500; line-height: 1.5; text-align: center; padding-top: 9.3rem; /*bottom: -5rem; right: 5rem;*/ bottom: 2rem; right: 2rem; z-index: 11; }
.mv .online-resv.line_btn{ color:#00B900; bottom: 23rem; padding-top: 11rem; background-color:#FFF; background-image:url("../images/common/line.png"); background-size: 6rem; background-position: center top 3.5rem; border:#00B900 2px solid; font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif"; font-weight:bold; letter-spacing: 0; font-size: 25px;}
.mv .online-resv.line_btn:hover{ background-color: #d9f5d9;}
.mv .online-resv:after{ content: ''; width: .6rem; height: .6rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; bottom: 2.1rem; left: 50%; transform: translateX(-50%) rotate(45deg); }
.mv .online-resv strong{ font-size: 2.4rem; line-height: 1; }
.mv .online-resv:hover{ opacity: 1; background-color: var(--sub-color04); }

.info-box .left{ width: 34rem; }
.info-box .left .logo{ display: table; margin: 0 auto 3.5rem; }
.info-box .left a.tel{ width: 100%; height: 6rem; border-radius: 3rem; display: flex; justify-content: center; align-items: center; font-size: 3.4rem; border: solid 1px; margin-top: 3.4rem; }
.info-box .left a.tel span{ padding-left: 2.4rem; background: url(../images/common/icon-tel01.png) no-repeat left center/1.58rem; }
.info-box .left a.tel:hover{ opacity: 1; background: #f4ebe4; }
.info-box .right{ width: 34rem; }
.info-box .right .map{ display: block; margin-bottom: 1.2rem; }
.info-box .right p.address{ line-height: 1.7; margin-bottom: .8rem; }
.info-box .right p.train{ padding-left: 2rem; background: url(../images/common/icon-train01.png) no-repeat left center/1.2rem; line-height: 1.8; margin-bottom: 2.7rem; }
.info-box .right .btn{ margin-left: auto; }

.hour-table{ width: 34rem; table-layout: fixed; font-family: var(--sub-font); border-top: solid 1px var(--sub-color03); border-bottom: solid 1px var(--sub-color03); margin-bottom: .4rem; }
.hour-table th{ width: 11.2rem; font-weight: 400; vertical-align: middle; padding-right: 1.3rem; text-align: right; }
.hour-table td{ text-align: center; vertical-align: middle; }
.hour-table thead{ border-bottom: solid 1px var(--sub-color03); }
.hour-table thead th{ height: 3rem; }
.hour-table tbody tr:first-of-type > *{ padding-top: .8rem; }
.hour-table tbody tr:last-of-type > *{ padding-bottom: .8rem; }
.hour-table tr > *:last-child{ width: 4rem; padding-right: 1rem; }

.treat-list{ display: flex; flex-wrap: wrap; }
.treat-list a{ width: 28rem; margin-right: calc((100% - 28rem * 3) / 2); display: block; position: relative; z-index: 0; padding: 5rem 2rem 7rem; color: #fff; overflow: hidden; }
.treat-list a:nth-of-type(3n){ margin-right: 0; }
.treat-list a:nth-of-type(n+4){ margin-top: 5rem; }
.treat-list a:after{ content: ''; width: .9rem; height: .9rem; border-bottom: solid 1px; border-right: solid 1px; position: absolute; bottom: 2.8rem; left: 50%; transform: translateX(-50%) rotate(45deg); }
.treat-list a picture{ display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: -1; }
.treat-list a picture img{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: cover; object-position: center; transition: .5s; }
.treat-list a dl dt{ font-size: 2.2rem; font-family: var(--sub-font); text-align: center; margin-bottom: 1.4rem; }
.treat-list a dl dt img{ display: block; margin: 0 auto 1.2rem; }
.treat-list a dl dd{ line-height: 2; }
.treat-list a:hover{ opacity: 1; }
.treat-list a:hover picture img{ transform: scale(1.1); }

footer .info-box{ margin-bottom: 13rem; }
footer .bg-photo{ padding: 7rem 0 1.7rem; position: relative; z-index: 0; color: #fff; }
footer .bg-photo .bg01{ width: 100%; height: 100%; object-fit: cover; object-position: center; position: absolute; top: 0; left: 0; z-index: -1; }
footer .sitemap{margin-bottom: 6rem; }
footer .sitemap > ul + ul{ margin-left: 3.4rem; }
footer .sitemap > ul > li + li{ margin-top: .8rem; }
footer .sitemap > ul > li .child { margin-top: .8rem; }
footer .sitemap > ul > li .child li{ font-size: 1.4rem; padding-left: 1em; position: relative; }
footer .sitemap > ul > li .child li:before{ content: '-'; position: absolute; left: 0; }
footer .sitemap > ul > li .child li + li{ margin-top: .4rem; }
footer .sitemap ul li{font-family: var(--base-font); font-weight: bold;}
footer .copy{ display: block; text-align: center; font-size: 1.2rem; }





@media(max-width: 768px){
	html{ font-size: 2.66vw; }
	body{ font-size: 1.4rem; }
	p{ line-height: 2; letter-spacing: .1em; }

	.pc{ display: none !important; }

	.body-wrap{ padding-top: 0; }
	.wrap{ width: 100%; padding-left: 2.5rem; padding-right: 2.5rem; }
	.wrap.midium{ width: 100%; }
	.row{ flex-wrap: wrap; }

	.btn{ width: 30rem; margin-left: auto; margin-right: auto; }

	header{ position: static; height: 8rem; padding: 0 0 0 1.5rem; }
	header .logo img{ width: 27.3rem; }
	header nav{ position: fixed; top: 0; right: -27.5rem; z-index: 9981; width: 27.5rem; height: 100vh; background: var(--base-color); color: #fff; margin: 0; padding: 13rem 5rem 5rem; overflow: scroll; transition: .5s; }
	header nav.active{ right: 0; }
	header nav .gnav{ display: block; margin-bottom: 5rem; }
	header nav .gnav li{ text-align: center; line-height: 3.2; }
	header nav .gnav li + li{ margin-left: 0; border-top: solid 1px #4f4234; }
	header nav .line{ margin: 0 auto; display: table; }
	header nav .line img{ width: 5rem; }

	.info-box .left{ width: 100%; margin-bottom: 5rem; }
	.info-box .left .logo img{ width: 28.3rem; }
	.info-box .right{ width: 100%; }
	.info-box .right .map{ width: 100%; }

	.hour-table{ width: 100%; }

	.treat-list a{ width: 100%; margin-right: 0; }
	.treat-list a:nth-of-type(n+2){ margin-top: 2.5rem; }
	.treat-list a dl dt{ font-size: 2rem; }
	.treat-list a dl dt img{ width: 7.5rem; margin-bottom: 1rem; }

	footer{ padding-bottom: 6rem; }
	footer .info-box{ margin-bottom: 9rem; }
	footer .bg-photo{ padding: 6rem 0 1.4rem; }
	footer .sitemap > ul{ width: 100%; }
	footer .sitemap > ul + ul{ margin-left: 0; padding-top: .8rem; border-top: solid 1px #4f4234; }
	footer .sitemap > ul.no-border{ border-top: none; }
	footer .sitemap > ul > li{ padding-bottom: .7rem; line-height: 1.6; }
	footer .sitemap > ul > li + li{ border-top: solid 1px #4f4234; margin-top: 0; padding-top: .8rem; }
	footer .sitemap > ul > li.parent{ border-bottom: none; }
	footer .sitemap > ul > li .child{ display: flex; flex-wrap: wrap; flex-direction: column; height: 9rem; }
	footer .copy{ font-size: 1.1rem; }

	.menu-btn{ width: 5rem; height: 5rem; border-radius: 2.5rem; position: fixed; top: 1.5rem; right: 1.5rem; z-index: 9990; background: var(--base-color); padding-top: 1.25rem; }
	.menu-btn .inner{ width: 2rem; height: 1.3rem; position: relative; margin: 0 auto; }
	.menu-btn .inner span{ width: 100%; height: 1px; background: #fff; 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:nth-of-type(1){ top: 50%; transform: translateY(-50%) rotate(45deg); }
	.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }
	.menu-btn.active .inner span:nth-of-type(3){ bottom: 50%; transform: translateY(50%) rotate(-45deg); }
	.menu-btn > span{ display: block; font-size: 1.2rem; text-align: center; color: #fff; letter-spacing: 0; line-height: 1.7; }

	.float-btn{ display: flex; justify-content:space-around; position: fixed; bottom: 1rem; left: 0; z-index: 9979; width: 100%; }
    .float-btn li{width: 30%;}
	.float-btn li a{ height: 6.5rem; border-radius: 2rem; display: flex; justify-content: center; align-items: center; font-size: 15px; font-weight: bold;}
	.float-btn li a.tel{ border: solid 1px; background: #fff; }
    .float-btn li a.line{ border: #00B900 1px solid; background: #d9f5d9; letter-spacing: 0; padding-left: 5px;}
    .float-btn li a.line span{ font-family:YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif" ; padding-left: 2.1rem; background: url("../images/common/line.png") no-repeat left center/1.7rem;}
	.float-btn li a.tel span{ padding-left: 1.5rem; background: url(../images/common/icon-tel01.png) no-repeat left center/.94rem; }
	.float-btn li a.resv{ background: var(--sub-color01); letter-spacing: 0; }
	.float-btn li a.resv span{ padding-left: 1.9rem; background: url(../images/common/icon-sp01.png) no-repeat center left/.94rem; }
	.float-btn li a strong{ font-size: 1.7rem; margin-right: 2px; font-weight:bold; letter-spacing: 0; }

footer .sitemap ul.group li ul.child{display: block;}
    
    

}

/*202402*/
ul.bunin {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 30px;
}

.taishinkai-group .taishinkai-group-span {
    font-size: 0.5em;
    color: #5555;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    text-align: center;
}


