*{	
	font-family: noto-sans-cjk-jp, sans-serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #666;
	box-sizing: border-box;
	word-break: break-all;
	font-size: 14px;
	font-style: normal;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
}

.noto{ font-family: noto-sans-cjk-jp, sans-serif; font-weight: 500; }
.mincho{ font-family: "游明朝", YuMincho, yu-mincho-pr6, sans-serif; font-weight: 600; font-style: normal; }

/*** 使用フォント

Noto Sans CJK JP Medium font-family: noto-sans-cjk-jp, sans-serif; font-weight: 500; font-style: normal;
Noto Sans CJK JP Bold font-family: noto-sans-cjk-jp, sans-serif; font-weight: 700; font-style: normal;
Yu Mincho Pr6 R font-family: yu-mincho-pr6, sans-serif; font-weight: 400; font-style: normal;

***/

a{ transition: .3s; }
a:hover{ opacity: .7; }

br{ line-height: inherit; }

span, a, strong, small{ color: inherit; font-size: inherit; font-family: inherit; font-weight: inherit; letter-spacing: inherit; }

.wrap{ width: 900px; margin: 0 auto; }
.sp{ display: none; }
.linkwrap{ width: 100%; height: 100%; display: block; position: absolute; top: 0; left: 0; z-index: 10; }
.body-wrap{ overflow: hidden; position: relative; padding-top: 104px; }
.row{ display: flex; justify-content: space-between; }

a.btn{ width: 325px; height: 60px; display: flex; justify-content: center; align-items: center;font-weight: 700; color: #fff; background: url(../images/common/arrow02.png) #666 no-repeat; background-size: 19px; background-position: right 20px top 50%; padding: 0 4em; margin: 5px 0px;}

header{ width: 100%; background: #fff; position: fixed; top: 0; left: 0; z-index: 9997; }
header nav{ display: flex; justify-content: space-between; align-items: center; padding: 0 40px; height: 104px; }
header nav .logo{ display: block; width: 322px; margin-right: auto; }
header nav .gnav{ display: flex; margin-right: 25px; }
header nav .gnav li{ padding: 0 1em; position: relative; line-height: 1; }
header nav .gnav li:after{ content: ''; width: 1px; height: 100%; background: rgba(102,102,102,.2); position: absolute; top: 0; right: 0; transform: skewX(-20deg); }

a.tel{ display: table; font-size: 27px; padding-left: 35px; background: url(../images/common/icon-tel01.png) no-repeat; background-size: 25.5px; background-position: left center; letter-spacing: .14em; }

.hour-table{ width: 325px; max-width: 100%; table-layout: fixed; }
.hour-table th{ width: 119px; padding-right: 17px; text-align: right; border-bottom: solid 1px #e6e6e6; }
.hour-table thead th{ text-align: center; padding-right: 0; }
.hour-table td{ text-align: center; border-bottom: solid 1px #e6e6e6; }
.hour-table tbody td{ font-size: 10px; }
.hour-table + p.note{ font-size: 13px; padding-left: 1.2em; position: relative; line-height: 1.6; margin-top: 1em; width: 325px; max-width: 100%; }
.hour-table + p.note:before{ content: '※'; position: absolute; left: 0; }

.treat-list{ display: flex; flex-wrap: wrap; }
.treat-list li{ width: 20%; position: relative; transform: skewX(-20deg); border-right: solid 1px #ccc; transition: .4s; }
.treat-list li:nth-of-type(5n),.treat-list li:last-of-type{ border-right: none; }
.treat-list li:hover{ background: #fff; box-shadow: 0px 10px 11px -2px rgba(0,0,0,0.12); border-right: none; transform: skewX(-20deg) scale(1.01); z-index: 2; }
.treat-list li .inner{ width: 100%; height: 172px; display: flex; justify-content: center; align-items: flex-end; padding-bottom: 40px; transform: skewX(20deg); }
.treat-list li p{ text-align: center; font-size: 15px; }
.treat-list li img{ width: 67px; position: absolute; top: 30px; left: 50%; transform: translateX(-50%); transition: .4s; }
.treat-list li img.on{ opacity: 0; }
.treat-list li:hover img.off{ opacity: 0; }
.treat-list li:hover img.on{ opacity: 1; }

.foot-info{ position: relative; z-index: 0; }
.foot-info .content{ width: 50%; padding-top: 100px; padding-bottom: 125px; position: relative; z-index: 0; }
.foot-info .content:before{ content: ''; width: 50vw; height: 100%; transform: skewX(-20deg); background: #fff; position: absolute; top: 0; left: calc(-50vw + 450px); z-index: -1; }
.foot-info .content .inner{ width: 363px; }
.foot-info .logo{ display: block; width: 360px; margin-bottom: 30px; }
.foot-info .logo + p{ line-height: 2; margin-bottom: 35px; }
.foot-info .hour-table thead{ background: #f5f5f5; }
.foot-info .img{ width: 70vw; height: 100%; background: url(../images/common/foot-info01.jpg) no-repeat; background-size: cover; position: absolute; top: 0; right: calc(-50vw + 450px); z-index: -1; }
.foot-info a.tel{ margin: 25px 0 8px; }
.foot-info a.tel span{ position: relative; }
.foot-info a.tel span:before{ font-size: 11px; font-family: noto-sans-cjk-jp, sans-serif; color: #b3b3b3; position: absolute; top: -14px; left: 50%; transform: translateX(-50%); }
.foot-info a.tel span:nth-of-type(1):before{ content: 'ハ'; }
.foot-info a.tel span:nth-of-type(2):before{ content: 'ヲ'; }
.foot-info a.tel span:nth-of-type(3):before{ content: 'ヨ'; }
.foot-info a.tel span:nth-of-type(4):before{ content: 'ク'; }
.foot-info .lang{ display: table; font-size: 13px; background: #f5f5f5; padding: 0 2em; letter-spacing: 0; }

footer{ background: #666; padding-top: 95px; }
footer *{ color: #fff; }
footer .wrap{ padding-bottom: 90px; }
footer .left{  }
footer .left dl dt{ font-size: 13px; padding-left: 1em; position: relative; }
footer .left dl dt:before{ content: ''; width: 3px; height: 3px; background: #f0d746; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
footer .left dl + dl{ margin-left: 44px; }
footer .left dl dd{ padding-left: 13px; }
footer .left dl dd ul{ display: flex; flex-direction: column; height: 118px; flex-wrap: wrap; }
footer .left dl dd ul li{ font-size: 12px; margin-right: 1em; padding-left: 1em; position: relative; }
footer .left dl dd ul li:before{ content: '-'; position: absolute; left: 0; }
footer .right{ position: relative; }
footer .jidv{ display: block; width: 380px; }
footer .copy{ font-size: 11px; display: block; text-align: right; position: absolute; bottom: 0; right: 0; }
footer .gmap{ height: 450px; position: relative; }
footer .gmap iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; filter:grayscale(100%); -webkit-filter:grayscale(100%) }

.float-btn{ position: fixed; top: 50%; right: 0; transform: translateY(-50%); z-index: 9998; }
.float-btn li{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; text-orientation: upright; width: 55px; height: 155px; color: #fff; display: flex; justify-content: center; align-items: center; background: #666; position: relative; }
.float-btn li span{ padding-top: 27px; background: url(../images/common/icon-resv01.png) no-repeat; background-size: 14.7px; background-position: top center; }
.float-btn li.sp{ display: none; }

p.access-t{ font-size: 13px; position: relative; line-height: 2; margin-top: 1em; width: 325px; max-width: 100%; }



@media(max-width: 768px){
	*{ font-size: 3.73vw; }

	.sp{ display: block; }
	.pc{ display: none !important; }

	.body-wrap{ padding-top: 0; }
	.wrap{ width: 100%; padding-left: 6.66vw; padding-right: 6.66vw; }
	.row{ flex-wrap: wrap; }

	a.btn{ width: 100%; height: 16vw; background-size: 5.03vw; background-position: right 5.33vw center; }

	a.tel{ font-size: 8vw; padding-left: 10.93vw; background-size: 7.54vw; }

	header{ height: 17.33vw; padding-left: 4vw; display: flex; align-items: center; background: #fff; width: 100%; position: static; }
	header > .logo{ display: block; width: 52.8vw; }
	header > .logo img{ display: block; }
	header nav{ width: 100%; height: 100%; background: #fff; padding: 0 4vw; display: block; position: fixed; top: 0; left: 0; z-index: 9997; opacity: 0; visibility: hidden; transition: .3s; }
	header nav.active{ opacity: 1; visibility: visible; }
	header nav .logo{ width: 58.8vw; margin-top: 3.3vw; margin-bottom: 24vw; }
	header nav .gnav{ display: block; }
	header nav .gnav li{ text-align: center; font-size: 4.26vw; }
	header nav .gnav li:after{ content: none; }
	header nav .gnav li + li{ margin-top: 9.6vw; }

	.hour-table{ width: 100%; }
	.hour-table td{ font-size: 3.2vw; }
	.hour-table tbody td{ font-size: 2.4vw; }
	.hour-table th{ font-size: 3.2vw; width: 23.33vw; letter-spacing: 0; padding-right: 2.4vw; }
	.hour-table + p.note{ font-size: 3.2vw; width: 100%; }

	.treat-list{ justify-content: flex-start; }
	.treat-list li{ width: 33.3333%; }
	.treat-list li:nth-of-type(5n), .treat-list li:last-of-type{ border-right: solid 1px #ccc; }
	.treat-list li:nth-of-type(3n){ border-right: none; }
	.treat-list li .inner{ height: 32.66vw; padding-bottom: 6.66vw; }
	.treat-list li img{ width: 16vw; top: 4.4vw; }
	.treat-list li p{ font-size: 3.2vw; margin-left: -1vw; }

	.foot-info .img{ position: static; height: 80vw; width: 100vw; margin-left: -6.66vw; background-image: url(../images/common/foot-info01-sp.jpg); }
	.foot-info .content{ width: 100%; padding-top: 11.33vw; padding-bottom: 13.33vw; }
	.foot-info .content:before{ content: none; }
	.foot-info .content .inner{ width: 100%; }
	.foot-info .logo{ width: 100%; margin-bottom: 8vw; }
	.foot-info .logo + p{ text-align: center; margin-bottom: 8vw; }
	.foot-info a.tel{ margin: 6.33vw auto 0.66vw; }
	.foot-info a.tel span:before{ font-size: 2.93vw; top: -4vw; }
	.foot-info .lang{ font-size: 3.46vw; margin: 0 auto; }

	footer{ padding-top: 8.66vw; padding-bottom: 16vw; }
	footer .wrap{ padding-bottom: 4vw; }
	footer .left{ margin-bottom: 8.66vw; }
	footer .left dl dt{ font-size: 3.46vw; }
	footer .left dl dt:before{ width: 0.8vw; height: 0.8vw; top: 3.4vw; }
	footer .left dl dd ul{ height: 35vw; }
	footer .left dl dd ul li{ font-size: 3.2vw; }
	footer .jidv{ width: 100%; }
	footer .copy{ position: static; font-size: 2.93vw; letter-spacing: 0; text-align: center; white-space: nowrap; margin-top: 8.66vw; }
	footer .gmap{ height: 92.66vw; }

	.float-btn{ top: auto; transform: none; bottom: 0; width: 100%; display: flex; border-top: solid 1px #e6e6e6; }
	.float-btn li{ width: 50%; height: 16vw; -webkit-writing-mode: horizontal-tb; -ms-writing-mode: lr-tb; writing-mode: horizontal-tb; }
	.float-btn li.sp{ display: flex; }
	.float-btn li:nth-of-type(1):after{ content: ''; width: 1px; height: 100%; background: #e6e6e6; position: absolute; top: 0; right: 0; transform: skewX(-20deg); z-index: 2; }
	.float-btn li:nth-of-type(1) span{ padding-top: 0; padding-left: 7.33vw; background: url(../images/common/icon-tel02.png) no-repeat; background-size: 5.33vw; background-position: left center; }
	.float-btn li:nth-of-type(2) span{ padding-top: 0; padding-left: 6.4vw; background-size: 4vw; background-position: left center; }

	.menu-btn{ position: fixed; top: 0; right: 0; z-index: 10000; width: 17.33vw; height: 17.33vw; background: #fff; }
	.menu-btn .inner{ width: 9.06vw; height: 4.48vw; position: relative; transform: skewX(-20deg); margin: 4.53vw auto 0; overflow: hidden; }
	.menu-btn .inner:before{ content: ''; width: 100%; height: .5vw; background: #f0d746; position: absolute; top: 50%; left: 0; transform: skewY(-25deg) translateY(-50%); transition: .3s; opacity: 0; }
	.menu-btn.active .inner:before{ opacity: 1; }
	.menu-btn .inner span{ width: 100%; height: 0.5vw; background: #f0d746; position: absolute; left: 0; }
	.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 p{ font-size: 3.2vw; letter-spacing: 0; padding-left: 3vw; line-height: 1.6; position: relative; }
	.menu-btn p span{ transition: .3s; white-space: nowrap; display: block; width: 100%; }
	.menu-btn p .close{ position: absolute; top: 0; opacity: 0; }
	.menu-btn.active p .close{ opacity: 1; }
	.menu-btn.active p .menu{ opacity: 0; }
    
    
    p.access-t{ font-size: 3.2vw; width: 100%; }
}



