*{	
	font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #343434;
	box-sizing: border-box;
	word-break: break-all;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.15em;
	text-align: justify;
}

.oswald{ font-family: 'Oswald', sans-serif; font-weight: 600; }

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: 1000px; margin: 0 auto; }

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

.sp{ display: none; }

a.btn{ width: 350px; max-width: 100%; height: 50px; background: #343434; color: #fff; font-size: 14px; font-weight: 700; display: flex; justify-content: center; align-items: center; position: relative; }
a.btn:before{ content: ''; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 6px; border-color: transparent transparent transparent #fff; position: absolute; top: 50%; right: 1.5em; transform: translateY(-50%); }
a.btn.white{ background: #fff; color: #343434; }
a.btn.white:before{ border-color: transparent transparent transparent #343434; }

a.btn.mannaka{margin: 30px auto;}

header{ background: #343434; width: 100%; }
header nav{ width: 1340px; height: 85px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
header nav .logo{ display: block; width: 221px; }
header nav .gnav{ display: flex; }
header nav .gnav li{ color: #fff; font-weight: 700; line-height: 1; padding: 0 1.2em; }
header nav .gnav li:not(:last-of-type){ border-right: solid 1px rgba(255,255,255,.3); }
header nav .head-info{ display: flex; align-items: center; }
header nav .head-info a:nth-of-type(1){ font-size: 18px; font-weight: 700; color: #fff; padding-left: 16px; background: url(../images/common/icon-tel01.png) no-repeat; background-size: 11px; background-position: top 50% left 0; }
header nav .head-info a:nth-of-type(2){ width: 100px; height: 40px; background: #dedede; font-weight: 700; display: flex; justify-content: center; align-items: center; margin-left: 16px; }
header.clone{ position: fixed; top: -85px; left: 0; z-index: 999; transition: .5s; }
header.clone.active{ top: 0; }

footer{ background: #343434; padding-top: 95px; }
footer *{ color: #fff; }
footer .wrap{ width: 1100px; }
footer .logo{ display: block; width: 345px; margin-bottom: 40px; }
footer .row{ display: flex; justify-content: space-between; }
footer .row:nth-of-type(1){ padding-bottom: 24px; border-bottom: solid 1px rgba(255,255,255,.2); }
footer .row:nth-of-type(2){ margin-top: 26px; }
footer .row > dl dt{ font-size: 16px; font-weight: 700; margin-bottom: 12px; }
footer .row > dl.access dt{ padding-left: 25px; background: url(../images/common/icon-access01.png) no-repeat; background-size: 15.5px; background-position: left 0 top 3px; border-bottom: solid 1px rgba(255,255,255,.2); padding-bottom: .4em; }
footer .row > dl a.tel{ font-size: 25px; font-weight: 700; display: table; padding-left: 20px; background: url(../images/common/icon-tel01.png) no-repeat; background-size: 15px; background-position: top 50% left 0;  margin-top: .3em; }
footer .row > dl.group dt{ padding-left: 21px; background: url(../images/common/icon-tooth01.png) no-repeat; background-size: 16px; background-position: top 50% left 0; }
footer .row > dl.group dd a{ display: block; width: 230px; }
footer .row .right{ width: 230px; }
footer p.copy{ font-size: 10px; margin-top: 1.5em; }
footer .gmap{ height: 400px; position: relative; margin-top: 100px; }
footer .gmap iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; filter:grayscale(100%); -webkit-filter:grayscale(100%) }

.site-map{ display: flex; justify-content: space-between; width: 734px; }
.site-map .treat{ display: flex; flex-direction: column; height: 95px; width: 465px; flex-wrap: wrap; }
.site-map dt{ font-size: 12px; }
.site-map dd{ font-size: 12px; padding-left: 16px; position: relative; }
.site-map dd:before{ content: ''; width: 10px; height: 1px; background: rgba(255,255,255,.2); position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

.hour-table{ width: 100%; max-width: 380px; table-layout: fixed; }
.hour-table th{ width: 116px; letter-spacing: 0.1em; }
.hour-table td{ text-align: center; }
.hour-table thead{ border-bottom: solid 1px rgba(255,255,255,.2); }
.hour-table thead th{ font-size: 16px; font-weight: 700; padding-left: 28px; background: url(../images/common/icon-hour01.png) no-repeat; background-size: 18px; background-position: top 50% left 0; }
.hour-table thead td{ padding-bottom: .6em; }
.hour-table tbody tr *{ padding: .8em 0; border-bottom: solid 1px rgba(255,255,255,.2); }
.hour-table + p{ font-size: 12px; margin-top: 1em; }

.treat-list{ display: flex; flex-wrap: wrap; }
.treat-list li{ width: calc(100% / 5); background: #fff; height: 180px; border: solid 1px #eee; transition: .5s; position: relative; }
.treat-list li:not(.blanc):hover{ box-shadow:0px 2px 5px 2px rgba(0,0,0,.25); z-index: 2; }
.treat-list li img{ display: block; width: 66px; margin: 40px auto 22px; }
.treat-list li p{ font-weight: 700; text-align: center; }

.center-foot{display: block;margin: -30px auto 30px;}


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

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

	.wrap{ width: 100%; padding-left: 6.666vw; padding-right: 6.666vw; }

	a.btn{ width: 73.333vw; height: 13.333vw; font-size: 3.733vw; }
	a.btn:before{ border-width: 0.8vw 0 0.8vw 1.2vw; right: 1em; }

	header{ position: fixed; top: 100%; height: 100%; background: #fff; top: 0; left: 0; z-index: 9998; opacity: 0; visibility: hidden; transition: .3s; }
	header.active{ opacity: 1; visibility: visible; }
	header nav{ width: 100%; display: block; }
	header nav .gnav{ display: block; }
	header nav .gnav li{ color: #343434; text-align: center; margin-bottom: 7.4666vw; }
	header nav .logo{ width: 60.533vw; margin: 22.2666vw auto 12vw; }

	footer{ padding-top: 16.666vw; }
	footer .wrap{ width: 100%; }
	footer .logo{ width: 78.2666vw; margin: 0 auto 8vw; }
	footer .row{ display: block; }
	footer .row:nth-of-type(1){ padding-bottom: 9.333vw; }
	footer .row:nth-of-type(2){ margin-top: 6.666vw; }
	footer .row > dl dt{ font-size: 4.266vw; margin-bottom: 3.3333vw; }
	footer .row > dl.access dt{ background-size: 4.1333vw; background-position: left 0 top 1vw; padding-left: 6vw; }
	footer .row > dl a.tel{ font-size: 6.666vw; padding-left: .8em; background-size: 4vw; }
	footer .row .hour{ margin: 10vw 0; }
	footer .row > dl.group dt{ padding-left: 5.6vw; background-size: 4.133vw; }
	footer .row > dl.group dd{ display: flex; justify-content: space-between; }
	footer .row > dl.group dd a{ width: 41.333vw; }
	footer .row .right{ width: 100%; margin-top: 6.666vw; }
	footer p.copy{ font-size: 2.666vw; margin-top: 3em; text-align: center; }
	footer .gmap{ height: 100vw; margin-top: 4vw; margin-bottom: 13.333vw; }

	.hour-table td{ font-size: 3.466vw; }
	.hour-table th{ font-size: 3.466vw; width: 30vw; white-space: nowrap; }
	.hour-table thead th{ font-size: 3.466vw; padding-left: 7.2vw; background-size: 4.266vw; background-position: top 1vw left 1vw; }
	.hour-table tbody tr th{ padding-left: .5em; }
	.hour-table + p{ font-size: 3.2vw; }
	.site-map{ width: 100%; flex-direction: column; flex-wrap: wrap; height: 55.733vw; justify-content: flex-start; }
	.site-map .treat{ width: 53.333vw; height: 55.744vw; }
	.site-map dd{ font-size: 3.2vw; line-height: 2.2; }
	.site-map dt{ font-size: 3.2vw; line-height: 2.2; }

	.treat-list li{ width: calc(100% / 3); height: 28.8vw; }
	.treat-list li img{ width: 10.4vw; margin: 6.66vw auto 2.9333vw; }
	.treat-list li p{ font-size: 2.9333vw; }

	.float-btn.sp{ display: flex; width: 100%; position: fixed; bottom: 0; left: 0; z-index: 9997; }
	.float-btn li{ width: 50%; height: 13.333vw; background: #333; display: flex; justify-content: center; align-items: center; font-size: 3.466vw; color: #fff; position: relative; }
	.float-btn li:nth-of-type(1){ border-right: solid 1px; }
	.float-btn li:nth-of-type(1) span{ padding-left: 5.333vw; background: url(../images/common/icon-calender01.png) no-repeat; background-size: 3.2vw; background-position: top 50% left 0; }
	.float-btn li:nth-of-type(2) span{ padding-left: 4vw; background: url(../images/common/icon-tel01.png) no-repeat; background-size: 2.773vw; background-position: top 50% left 0; }

	.menu-btn{ width: 14.66vw; height: 14.66vw; background: #343434; position: fixed; top: 0; right: 0; z-index: 10000; }
	.menu-btn .inner{ width: 8.72vw; height: 3.733vw; position: relative; margin: 4vw auto 0; }
	.menu-btn .inner span{ width: 100%; height: 2px; background: #fff; position: absolute; left: 0; transition: .3s; }
	.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){ transform: rotate(25deg) translate(calc(1vw - 1px),calc(1.8vw - 1px)); }
	.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }
	.menu-btn.active .inner span:nth-of-type(3){ transform: rotate(-25deg) translate(calc(.9vw - 1px),calc(-1vw - 1px)); }
	.menu-btn p{ color: #fff; font-size: 2.9333vw; text-align: center; letter-spacing: 0; font-weight: 700; position: relative; }
	.menu-btn p span{ transition: .3s; }
	.menu-btn p .back{ position: absolute; left: 0; width: 100%; text-align: center; opacity: 0; }
	.menu-btn.active p .back{ opacity: 1; }
	.menu-btn.active p .menu{ opacity: 0; }
    
}



