*{	
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #122948;
	box-sizing: border-box;
	word-break: break-all;
	font-size: 14px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: justify;
    word-break: keep-all;
}

.mincho{ font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }

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

body{ padding-right: 70px; background: #efefef; }

.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: 182px; height: 45px; border: solid 1px; display: flex; justify-content: center; align-items: center; position: relative; }
a.btn:after{ content: ''; width: 4px; height: 4px; border-top: solid 1px; border-right: solid 1px; position: absolute; top: 4px; right: 4px; }
a.btn:hover{ background: #d5be87; opacity: 1; }

header .inner{ position: fixed; top: 0; right: -360px; width: 360px; height: 100%; background: rgba(18,41,72,.8); padding-left: 56px; transition: .5s; z-index: 9998; }
header .inner.active{ right: 0; }
header .inner nav{ margin-top: 15vh; }
header .inner nav ul li{ font-size: 18px; color: #fff; }
header .inner nav ul li + li{ margin-top: 1em; }
header .inner nav a.tel{ font-size: 20px; font-weight: 700; color: #fff; padding-left: 19px; background: url(../images/common/icon-tel01.png) no-repeat; background-size: 12px; background-position: top 10px left 0; position: absolute; bottom: 30px;  }
header .side{ width: 70px; height: 100%; background: #e3e3e3; position: fixed; top: 0; right: 0; z-index: 9999; }
header .side .lang{ display: block; width: 30px; margin: 75px auto 0; }
header .side .insta{ display: block; width: 32px; margin: 5px auto 0; }
header .side .bottom{ position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%); }
header .side .bottom p{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; font-size: 16px; margin: 0 auto 20px; font-feature-settings: normal; }
_:-ms-lang(x)::-ms-backdrop, header .side .bottom p{ display: table; white-space: nowrap; padding-bottom: 20px; }
header .side .bottom p span{ text-combine-upright: all; -webkit-text-combine: horizontal; -ms-text-combine-horizontal: all; }
header .side .bottom a{ -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; width: 40px; height: 130px; display: flex; justify-content: center; align-items: center; background: url(../images/common/icon-mail01.png) #122948 no-repeat; background-size: 13px; background-position: top 10px left 50%; color: #fff; margin: 0 auto; padding-top: 15px; }
_:-ms-lang(x)::-ms-backdrop, header .side .bottom a{ padding-right: 4px; }

.menu-btn{ width: 30px; display: table; position: fixed; top: 30px; right: 20px; z-index: 10000; cursor: pointer; }
.menu-btn .inner{ width: 30px; height: 11px; position: relative; }
.menu-btn .inner span{ width: 100%; height: 1px; background: #122948; 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: 12px; font-weight: 700; letter-spacing: 0; text-align: center; white-space: nowrap; }

.foot-info{ position: relative; background: #fff; padding: 130px 0 140px; }
.foot-info .img{ width: 50vw; height: 100%; background: url(../images/common/foot-info01.jpg) no-repeat; background-size: cover; position: absolute; right: 0; top: 0; }
.foot-info .inner{ width: 290px; }
.foot-info .logo{ width: 285px; display: block; margin-bottom: 10px; }
.foot-info .logo-bottom{text-align: center; margin-bottom: 30px;}
.foot-info a.tel{ display: block; border-top: solid 1px #e3e3e3; border-bottom: solid 1px #e3e3e3; font-size: 34px; margin: 20px 0 10px; }
.foot-info a.tel small{ font-size: 19px; margin-right: .8em; }
.foot-info p.address{ padding-left: 16px; background: url(../images/common/icon-home01.png) no-repeat; background-size: 11px; background-position: top 6px left 0; }

.hour-table{ width: 100%; /*max-width: 290px;*/ table-layout: fixed; }
.hour-table th{ width: 85px; letter-spacing: 0; white-space: nowrap; text-align: center; font-size: 15px; border-right: solid 1px #e3e3e3; border-bottom: solid 1px #e3e3e3; height: 32px; vertical-align: middle; }
.hour-table thead th{ background: #122948; color: #fff; }
.hour-table td{ font-size: 15px; text-align: center; letter-spacing: 0; border-right: solid 1px #e3e3e3; border-bottom: solid 1px #e3e3e3; height: 32px; vertical-align: middle; }
.hour-table td:last-of-type{ border-right: none; }
.hour-table tbody tr:last-of-type *{ border-bottom: none; }
/*.hour-table + .three{ display: flex; justify-content: space-between; margin-top: 10px; }*/
.hour-table + .three li{ width: 100%; background: #f1f1f1; text-align: center; line-height: 1.4; padding: .3em 0; margin-top: 10px;}

.gmap{ height: 425px; position: relative; }
.gmap iframe{ width: 100%; height: 100%; position: absolute; top: 0; left: 0; filter:grayscale(100%);-webkit-filter:grayscale(100%) }

footer{ background: #122948; padding-top: 80px; }
footer *{ color: #fff; }
footer > .wrap{ display: flex; justify-content: space-between; margin-bottom: 46px; }
footer > .wrap .img{ width: 266px; }
footer > .wrap .content{ width: 480px; }
footer > .wrap h2{ font-size: 20px; margin-bottom: 15px; }
footer > .wrap h2:before{ content: '— '; }
footer > .wrap h2:after{ content: ' —'; }
footer .foot-map{ width: 930px; margin: 0 auto; display: flex; justify-content: space-between; border-top: solid 1px; padding-top: 50px; align-items: center;}
footer .foot-map .logo{ width: 65px; }
footer .foot-map .sitemap{ width: 800px; }
footer p.copy{ font-size: 12px; text-align: center; padding: 1em 0; position: relative;}

.sitemap{ display: flex; justify-content: space-between; }
.sitemap dl dt{ font-size: 13px; margin-bottom: .2em; }
.sitemap dl dd ul li{ font-size: 13px; color: #8894a3; }
.sitemap dl dd ul li a{ color: inherit; }

.loop{ margin-top: 70px; }

.totop{ width: 60px; height: 60px; background: url(../images/common/totop01.png) no-repeat; background-size: contain; position: fixed; bottom: 0; right: 70px; z-index: 999; transition: .5s; opacity: 0 !important; visibility: hidden; }
.totop.active{ opacity: 1 !important; visibility: visible; }

.pic-up{ margin-bottom: 50px; }
.pic-up li{ display: flex; justify-content: space-between; }
.pic-up li .img{ width: 375px; background-size: cover; background-position: center; background-repeat: no-repeat; }
.pic-up li:nth-of-type(1) .img{ background-image: url(../images/common/picup01.jpg); }
.pic-up li:nth-of-type(2) .img{ background-image: url(../images/common/picup02.jpg); }
.pic-up li:nth-of-type(3) .img{ background-image: url(../images/common/picup03.jpg); }
.pic-up li:nth-of-type(4) .img{ background-image: url(../images/common/picup04.jpg); }
.pic-up li .content{ width: 370px; }
.pic-up li .content p{ font-size: 20px; margin: 1.5em 0 1em; font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif; }
.pic-up li .content a.btn{ width: 100%; }
.pic-up li .content a.btn span{ position: relative; }
.pic-up li:nth-of-type(1) .content a.btn span:before{ content: ''; width: 23px; height: 25px; background: url(../images/common/icon-picup01.png) no-repeat; background-size: contain; position: absolute; left: -30px; }
.pic-up li:nth-of-type(2) .content a.btn span:before{ content: ''; width: 20px; height: 22px; background: url(../images/common/icon-picup02.png) no-repeat; background-size: contain; position: absolute; left: -28px; }
.pic-up li:nth-of-type(3) .content a.btn span:before{ content: ''; width: 27px; height: 20px; background: url(../images/common/icon-picup03.png) no-repeat; background-size: contain; position: absolute; left: -32px; top: 2px; }
.pic-up li:nth-of-type(4) .content a.btn span:before{ content: ''; width: 25px; height: 19px; background: url(../images/common/icon-picup04.png) no-repeat; background-size: contain; position: absolute; left: -30px; top: 3px; }

.treat-list{ display: flex; width: calc(120px * 5); margin: 0 auto; flex-wrap: wrap; }
.treat-list li{ width: 120px; position: relative; transition: .3s; }
.treat-list li:hover{ opacity: .7; }
.treat-list li:nth-of-type(n + 6){ margin-top: 18px; }
.treat-list li img{ width: 68px; display: block; margin: 0 auto 10px; }
.treat-list li p{ text-align: center; }

.insurance-box{ padding: 22px 45px; background: #efefef; display: flex; justify-content: space-between; margin-top: 40px; }
.insurance-box p{ /*width: 455px;*/ line-height: 1.6; }
.insurance-box p strong{ font-weight: 700; font-size: 18px; }

.sns{
	display: none;
}


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

	body{ padding-right: 0; }

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

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

	a.btn{ width: 100%; height: 12vw; }
	a.btn:after{ width: 1.0666vw; height: 1.0666vw; top: 1.0666vw; right: 1.0666vw; }

	.foot-info{ padding: 0 0 10vw; }
	.foot-info .img{ position: static; width: 100%; height: 53.333vw; background-image: url(../images/common/foot-info01-sp.jpg); }
	.foot-info .inner{ width: 77.33vw; margin: 11.333vw auto 0; }
	.foot-info .logo{ width: 76vw; }
	.foot-info a.tel{ font-size: 9.0666vw; margin: 5.3333vw 0 3.2vw; }
	.foot-info a.tel small{ font-size: 5.0666vw; }
	.foot-info p.address{ font-size: 3.7333vw; padding-left: 4vw; background-size: 3.013vw; background-position: top 1.4vw left 0; }

	.hour-table{ max-width: 100%; }
	.hour-table th{ width: 22.8vw; font-size: 3.7333vw; height: 8.6666vw; }
	.hour-table td{ font-size: 3.7333vw; height: 8.6666vw; }
	.hour-table + .three{ margin-top: 3.2vw; }
	.hour-table + .three li{ width: 100%; font-size: 3.7333vw; }

	.gmap{ height: 53.333vw; }

	footer{ padding-top: 21.3333vw; padding-bottom: 14.666vw; }
	footer > .wrap{ flex-wrap: wrap; margin-bottom: 8vw; }
	footer > .wrap .img{ width: 100%; margin-bottom: 3.2vw; }
	footer > .wrap .content{ width: 100%; }
	footer > .wrap h2{ font-size: 5.3333vw; text-align: center; margin-bottom: 4.6666vw; }
	footer > .wrap h2:before, footer > .wrap h2:after{ content: none; }
	footer > .wrap h2 + p{ font-size: 3.7333vw; }
	footer .foot-map{ width: 100%; padding: 0; border: none; }
	footer .foot-map .sitemap{ width: 100%; }
	footer p.copy{ font-size: 3.2vw; }

	.sitemap{ display: block; padding: 0 6.6666vw; }
	.sitemap dl{ border-bottom: solid 1px; padding: .8em 0; }
	.sitemap dl:first-of-type{ border-top: solid 1px; }
	.sitemap dl dt{ font-size: 3.2vw; position: relative; margin-bottom: 0; }
	/*.sitemap dl:not(.no-child) dt:after{ content: '＋'; position: absolute; top: 50%; right: 4vw; transform: translateY(-50%); }*/
	/*.sitemap dl:not(.no-child) dt.active:after{ content: '−'; }*/
	.sitemap dl dd ul{ padding-top: 2vw; }
	.sitemap dl dd ul li{ font-size: 3.2vw; color: #e3e3e3; }

	.loop{ margin-top: 21.333vw; }

	.menu-btn{ width: 13.333vw; height: 13.333vw; background: #122948; top: 0; right: 0; }
	.menu-btn .inner{ width: 6.4vw; height: 2.346vw; margin: 4vw auto 0; }
	.menu-btn .inner span{ background: #fff; }
	.menu-btn p{ font-size: 2.666vw; color: #fff; }

	header .inner{ width: 100%; height: 100%; background: #122948; right: -100%; padding: 6.6666vw; }
	header .inner nav{ margin-top: 0; }
	header .inner nav .logo{ width: 15.066vw; margin-bottom: 6.666vw; }
	header .inner nav ul li{ font-size: 4.8vw; text-align: center; }

	.float-btn{ width: 100%; display: flex; position: fixed; bottom: 0; left: 0; z-index: 999; border-top: solid 1px; }
	.float-btn li{ width: 50%; height: 14.666vw; display: flex; justify-content: center; align-items: center; background-color: #d5be87; font-size: 3.7333vw; padding-left: 4.6666vw; position: relative; background-repeat: no-repeat; }
	.float-btn li:nth-of-type(1){ background-image: url(../images/common/icon-tel02.png); background-size: 2.773vw; background-position: top 50% left 11vw; border-right: solid 1px; }
	.float-btn li:nth-of-type(2){ background-image: url(../images/common/icon-access01.png); background-size: 2.8666vw; background-position: top 50% left 15vw; }

	.totop{ width: 10.6666vw; height: 10.6666vw; right: 2.666vw; bottom: 18vw; }

	.pic-up{ margin-bottom: 10.66vw; }
	.pic-up li{ flex-wrap: wrap; }
	.pic-up li + li{ margin-top: 6.6666vw; }
	.pic-up li .img{ width: 100%; height: 40vw; }
	.pic-up li .content{ width: 100%; }
	.pic-up li .content p{ font-size: 4.8vw; margin: 4vw 0 2.666vw; }
	.pic-up li:nth-of-type(1) .content a.btn span:before{ width: 6.266vw; height: 6.666vw; left: -8vw; }
	.pic-up li:nth-of-type(2) .content a.btn span:before{ width: 5.2666vw; height: 5.9066vw; left: -7vw; }
	.pic-up li:nth-of-type(3) .content a.btn span:before{ width: 7.16vw; height: 5.333vw; left: -9vw; top: .1vw; }
	.pic-up li:nth-of-type(4) .content a.btn span:before{ width: 6.6vw; height: 5.1066vw; left: -8vw; top: .3vw; }

	.treat-list{ width: 100%; }
	.treat-list li{ width: calc(100% / 3); }
	.treat-list li:nth-of-type(n + 4){ margin-top: 4.8vw; }
	.treat-list li img{ width: 18vw; margin-bottom: 2vw; }
	.treat-list li p{ font-size: 3.466vw;}

	.insurance-box{ background: transparent; padding: 0; flex-wrap: wrap; margin-top: 6.6666vw; }
	.insurance-box p{ width: 100%; line-height: 1.8; margin-bottom: 6.666vw; letter-spacing: .18em; }
	.insurance-box p strong{ font-size: 4.8vw; }
    
    /*↓20210113追加*/
    .float-btn li {width: 40%;
    background-position: top 50% left 11vw;}
    .float-btn li:last-child {width: 20%;}
    .float-btn li:nth-of-type(2) {
    background-position: top 50% left 9vw;
        border-right: solid 1px;
    }
    .float-btn li:nth-of-type(1) {
    background-position: top 50% left 8vw;}
    .float-btn li:nth-of-type(3) {
    padding-left: 0px;}
    .eng_btn{width:60%;
     margin:0 auto;}
    /*↑20210113追加*/
	
	
	    .sns {
	display: flex;
	margin: 20px;
	
}

    .sns a {
	width: 45px;
	margin-right: 10px;
	
}
}








