*{	

	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;

	font-feature-settings: "palt";

	-webkit-font-smoothing: antialiased;

	-moz-osx-font-smoothing: grayscale;

	color: #141414;

	box-sizing: border-box;

	font-size: 15px;

	font-style: normal;

	font-weight: 400;

	line-height: 1.8;

	letter-spacing: 0.08em;

	text-align: justify;

}



/*** google adobe使用フォント

font-family: 'Noto Serif JP', serif;

Didot LT Pro Roman font-family: linotype-didot, serif; font-weight: 400; font-style: normal;

***/



.mincho{ font-family: 'Noto Serif JP', serif; font-weight: 500; }

.didot{ font-family: linotype-didot, serif; font-weight: 400; font-style: normal; letter-spacing: .05em; }



img{ height: auto; }



a{ transition: .3s; }

a:hover{ opacity: .6; }

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; position: relative; }

.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; }



.sp{ display: none; }

main p strong {

    font-weight: bold;

    color: #14825d;

}

.btn{ width: 220px; height: 40px; border-radius: 20px; display: flex; align-items: center; background: url(../images/common/arrow02.png) #141414 no-repeat center right 16px/13px; font-size: 13px; color: #fff; padding-left: 17px; transition: .3s; }

.btn.white{ color: #fff; background-color: transparent; border: solid 1px; }

.btn:hover{ background-color: #3F3F3F; opacity: 1; }

.btn.white:hover{ background-color: rgba(255, 255, 255, .3); }



header{ width: 100%; background: #fff; height: 70px; display: flex; justify-content: space-between; align-items: center; padding: 0 100px 0 28px; position: fixed; top: 0; left: 0; z-index: 9990; }

header .logo{ display: block; width: 320px; }

header .logo img{ display: block; }

header .right{ display: flex; align-items: center; }

header .right{
    display: flex;
    position: fixed;
    right: 10px;
    bottom: 10px;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 10px;
    z-index: 1000;}

header .right a.tel{ width: 330px; height: 40px; border-radius: 20px; background: #a0bef0; display: flex; justify-content: center; align-items: center; font-size: 14px; margin-right: 20px; }

header .right a.tel span{ padding: 0 20px 0 18px; background-image: url(../images/common/icon-tel01.png), url(../images/common/arrow01.png); background-repeat: no-repeat, no-repeat; background-size: 11px, 13px; background-position: left center, right center; }

header .right a.tel strong{ font-size: 15px; }

header .right a.resv{ width: 170px; height: 40px; border-radius: 20px; background: #87c11b; display: flex; justify-content: center; align-items: center; font-size: 13px; margin-right: 28px; }

header .right a.resv span{ padding: 0 31px 0 21px; background-image: url(../images/common/icon-resv01.png), url(../images/common/arrow01.png); background-repeat: no-repeat, no-repeat; background-size: 14.4px, 13px; background-position: left center, right center; }



nav{ width: 350px; height: 100%; background: url(../images/common/webp/bg-nav01.webp) #fff no-repeat right -40px bottom -33px/287px; position: fixed; top: 0; right: -350px; z-index: 9989; padding: 130px 60px; overflow: scroll; transition: .5s;  }

.no-webp nav{ background-image: url(../images/common/bg-nav01.jpg); }

nav.active{ right: 0; }

nav .gnav li{ font-size: 16px; font-family: 'Noto Serif JP', serif; font-weight: 500; text-align: center; line-height: 4; }

nav .gnav li + li{ border-top: solid 1px #f2f2f2; }



.menu-btn{ cursor: pointer; position: fixed; top: 20px; right: 30px; z-index: 10000; }

.menu-btn .inner{ width: 40px; height: 15px; position: relative; margin: 0 auto 5px; }

.menu-btn .inner span{ width: 100%; height: 1px; background: #141414; 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: #141414; }

.menu-btn.active .inner span:nth-of-type(1){ transform: translateY(4px) rotate(45deg); }

.menu-btn.active .inner span:nth-of-type(2){ opacity: 0; }

.menu-btn.active .inner span:nth-of-type(3){ transform: translateY(-10px) rotate(-45deg); }

.menu-btn p{ font-size: 16px; text-align: center; line-height: 1; transition: .5s; }

.menu-btn.active p{ color: #141414; }



.treat-list{ display: flex; flex-wrap: wrap; max-width: 650px; margin-left: auto; margin-right: auto; }

.treat-list li{ width: 110px; margin-right: 25px; font-size: 14px; text-align: center; position: relative; }

.treat-list li:nth-of-type(5n){ margin-right: 0; }

.treat-list li:nth-of-type(n+6){ margin-top: 20px; }

.treat-list li .icon{ width: 110px; height: 110px; border-radius: 55px; background: url(../images/common/bg-treaticon01.jpg) center/cover; position: relative; z-index: 0; overflow: hidden; margin-bottom: 3px; }

.treat-list li .icon:after{ content: ''; width: 100%; height: 100%; background: url(../images/common/bg-treaticon02.jpg) center/cover; position: absolute; top: 0; left: 0; z-index: -1; transition: .3s; opacity: 0; }

.treat-list li:hover .icon:after{ opacity: 1; }

.treat-list li .icon.blank{ opacity: .2; }

.treat-list li .icon.blank:after{ content: none; }

.treat-list.width-fix { max-width: 665px; }

.treat-list.width-fix li{ width: 113px; }

.treat-list.width-fix li p{ font-size: 14px; }

.container .treat-list.foot-treat{ margin-top: 50px!important; }



.foot-logo{ width: 480px; display: block; margin: 30px auto!important; padding: 0 2rem; }



footer{ background: url(../images/common/webp/bg-footer01.webp) no-repeat center/cover; padding: 78px 0 14px; }

.no-webp footer{ background-image: url(../images/common/bg-footer01.jpg); }

footer .left{ width: 360px; }

footer .left dt{ font-weight: 700; color: #fff; border-bottom: solid 1px #439c7d; padding-bottom: .1em; margin-bottom: 1em; letter-spacing: .14em; }

footer .left dd{ color: #fff; font-size: 14px; }
footer .left dd p{ margin: 1rem 0 .5rem; font-size: 13px; letter-spacing: 0.03rem;}

footer .left dd p.access{ color: #fff; font-size: 14px; padding: .4em 0 .4em 27px; background: url(../images/common/icon-access01.png) no-repeat left top 8px/15px; }

footer .left dd p.instagram{ color: #fff; font-size: 14px; padding: .4em 0 .4em 27px; background: url(../images/common/instagram.png) no-repeat left top 8px/15px; }

footer .left dd + dt{ margin-top: 28px; }

footer .left dd a.tel{ display: table; font-size: 26px; color: #fff; line-height: 1.2; background: url(../images/common/icon-tel02.png) no-repeat center left/13px; padding-left: 24px; }

footer .right{ width: 460px; padding-top: 26px; }

footer .right a.banner-jidv01{ display: block; margin-bottom: 30px; }

footer .foot-link{ position: relative; }

footer .foot-link > ul > li{ color: #fff; font-size: 14px; line-height: 2.5; }

footer .foot-link > ul > li.parent.treatment{ position: absolute; top: 0; left: 145px; }

footer .foot-link > ul > li.child{ position: absolute; top: 33px; left: 145px; }

footer .foot-link > ul > li > ul{ display: flex; width: auto; justify-content: space-between; flex-wrap: wrap; }

footer .foot-link > ul > li > ul li{ width: 50%; color: #fff; font-size: 13px; padding-left: 1em; position: relative; line-height: 2.3; }

footer .foot-link > ul > li > ul li:before{ content: '-'; position: absolute; left: 0; }

footer .copy{ display: block; text-align: center; font-size: 12px; color: #fff; margin-top: 100px; }



.hour-table{ width: 360px; max-width: 100%; table-layout: fixed; }

.hour-table thead th{ width: 110px; background: #fff; vertical-align: middle; height: 30px; border-radius: 15px 0 0 15px; }

.hour-table thead td{ font-size: 13px; text-align: center; vertical-align: middle; background: #fff; }

.hour-table thead td:last-of-type{ width: 44px; padding-right: 10px; border-radius: 0 15px 15px 0; }

.hour-table tbody th{ font-size: 13px; color: #fff; text-align: center; padding-right: 0.5em; }

.hour-table tbody td{ font-size: 13px; color: #fff; text-align: center; }

.hour-table tbody td:last-of-type{ padding-right: 10px; }

.hour-table tbody tr:nth-of-type(1) > *{ padding-top: 8px; }

.hour-table + p{ font-size: 13px; text-align: right; color: #fff; margin-top: .5em; }

img.jidv{margin-top: 10px;}




@media(max-width: 768px){

	*{ font-size: 3.73vw; }



	.sp{ display: block; }

	.pc{ display: none !important; }



	.wrap{ width: 100%; /*padding-left: 6.66vw; padding-right: 6.66vw;*/ }

	.row{ flex-wrap: wrap; }



	.btn{ width: 60vw; height: 10.66vw; border-radius: 10.66vw; margin-left: auto; margin-right: auto; font-size: 3.46vw; background-size: 3.46vw; background-position: center right 4vw; padding-left: 1.5em; }



	header{ height: 15vw; padding: 0 4vw; }

	header .logo{ width: 51.06vw; }



	nav{ width: 66.66vw; right: -66.66vw; padding: 10vw 8vw; }

	nav .gnav li{ font-size: 4vw; line-height: 3.5; }

    

	.menu-btn{ right: 4vw; top: 4vw; }

	.menu-btn .inner{ width: 8.26vw; height: 3.46vw; transition: .5s; }

	.menu-btn.active .inner{ width: 6vw; }

	.menu-btn.active .inner span:nth-of-type(1){ top: 50%; transform: translateY(-50%) rotate(45deg); }

	.menu-btn.active .inner span:nth-of-type(3){ bottom: 50%; transform: translateY(50%) rotate(-45deg); }

	.menu-btn p{ font-size: 3.2vw; }



	.treat-list{ max-width: 100%; }

	.treat-list li, .treat-list li:nth-of-type(5n){ width: 22.66vw; margin-right: calc((100% - 22.66vw * 3) / 2); font-size: 3.46vw; white-space: nowrap; }

	.treat-list li:nth-of-type(3n){ margin-right: 0; }

	.treat-list li:nth-of-type(n+6){ margin-top: 0; }

	.treat-list li:nth-of-type(n+4){ margin-top: 4.66vw; }

	.treat-list li .icon{ width: 100%; height: 22.66vw; border-radius: 22.66vw; }
	
	.treat-list.width-fix { max-width: 100%; }

	.treat-list.width-fix li{ width: 22.66vw; }
	
	.treat-list.width-fix li p{ font-size: 3.46vw; margin-left: -2vw; }



	.group .foot-logo{ width: 73.33vw; /**margin-bottom: 13.33vw;**/ margin-top: 60px;}



	footer{ padding: 11.73vw 6vw 17.33vw; background-image: url(../images/common/webp/bg-footer01-sp.webp); }

	footer .left{ width: 100%; }

	footer .left dt{ font-size: 4vw; margin-bottom: .8em; }

	footer .left dd{ font-size: 3.73vw; }
    
    footer .left dd p{ font-size: 12px;}

	footer .left dd p.access{ font-size: 3.73vw; padding-left: 7.06vw; background-size: 4vw; background-position: left top 2.1vw; }

	footer .left dd + dt{ margin-top: 6.66vw; }

	footer .left dd a.tel{ font-size: 6.93vw; padding-left: .9em; }

	footer .right{ width: 100%; padding-top: 0; margin-top: 6.66vw; }

	footer .right a.banner-jidv01{ margin-bottom: 4.66vw; }

	footer .foot-link > ul{ display: flex; flex-wrap: wrap; justify-content: space-between; }

	footer .foot-link > ul > li{ width: 40vw; border-bottom: solid 1px #439c7d; font-size: 3.46vw; line-height: 2.8; }

	footer .foot-link > ul > li a{ white-space: nowrap; }

	footer .foot-link > ul > li.parent.treatment{ position: static; }

	footer .foot-link > ul > li.child{ position: static; width: 100%; border-bottom: none; }

	footer .foot-link > ul > li > ul{ width: 100%; position: relative; padding: 3vw 0; }

	footer .foot-link > ul > li > ul:before{ content: ''; width: 40vw; height: 1px; background: #439c7d; position: absolute; left: 0; bottom: 0; }

	footer .foot-link > ul > li > ul:after{ content: ''; width: 40vw; height: 1px; background: #439c7d; position: absolute; right: 0; bottom: 0; }

	footer .foot-link > ul > li > ul li{ width: 40vw; font-size: 3.2vw; }



	.hour-table{ width: 100%; }

	.hour-table thead th{ width: 27.73vw; height: 8vw; border-radius: 8vw 0 0 8vw; }

	.hour-table thead td{ font-size: 3.46vw; }

	.hour-table thead td:last-of-type{ width: 11.2vw; border-radius: 0 8vw 8vw 0; padding-right: 1em; }

	.hour-table tbody tr:nth-of-type(1) > *{ padding-top: 2vw; }

	.hour-table tbody th{ font-size: 3.46vw; }

	.hour-table tbody td{ font-size: 3.46vw; }

	.hour-table tbody td:last-of-type{ padding-right: 1em; }

	.hour-table + p{ font-size: 3.46vw; }



	footer .copy{ font-size: 3.2vw; margin-top: 8vw; letter-spacing: 0; margin-bottom:20vw; letter-spacing: 0; }



	.float-btn.sp{ display: flex; justify-content: space-between; width: 100%; padding: 2.66vw 3.33vw; background: #fff; position: fixed; bottom: 0; left: 0; z-index: 9988; }

	.float-btn li a{ width: 45.33vw; height: 10.66vw; border-radius: 10.66vw; display: flex; justify-content: center; align-items: center; background-image: url(../images/common/arrow01.png); background-repeat: no-repeat; background-size: 3.46vw; background-position: center right 4vw; }

	.float-btn li:nth-of-type(1) a{ background-color: #a0bef0; }

	.float-btn li:nth-of-type(2) a{ background-color: #87c11b; }

	.float-btn li:nth-of-type(1) a span{ padding-left: 4.93vw; background: url(../images/common/icon-tel01.png) no-repeat left center/2.93vw; }

	.float-btn li:nth-of-type(2) a span{ padding-left: 5.6vw; background: url(../images/common/icon-resv01.png) no-repeat left top .6vw/3.84vw; }

    .btn-des.sp{ width: 100%; padding: 0.5vw 3.33vw ; background: #fff; position: fixed; bottom: 60px; left: 0; z-index: 9988; }

    .dots span {position: relative!important;}

.dots span::before {content: "・"!important;position: absolute!important; top: -1em!important;left: 0px!important;color: #a0bef0!important;font-size: 26px!important;}

    .dots2 span {position: relative!important;}

.dots2 span::before {content: "・"!important;position: absolute!important; top: -1em!important;left: 0px!important;color: #87c11b!important;font-size: 26px!important;}

    .clinic-name{font-size: 8px!important;text-align: center;}

    .first-p{font-size: 16px;text-align: center!important;font-weight: 700!important; padding-top: .3rem;}

    .second-p{text-align: center!important;font-size:12px!important;}

    .fa-hours{font-size: 15px!important;font-weight: 700!important;}

    

    .fixed-btn.sp{position: fixed; bottom: 0; left: 0; z-index: 9988; width: 100%;background-color: white!important;}

    	.float-btn2.sp{ display: flex; justify-content: space-between; width: 100%; padding: 2.66vw 3.33vw; background: #fff; }

	.float-btn2 li a{ width: 45.33vw; height: 10.66vw; border-radius: 10.66vw; display: flex; justify-content: center; align-items: center; background-image: url(../images/common/arrow01.png); background-repeat: no-repeat; background-size: 3.46vw; background-position: center right 4vw; }

	.float-btn2 li:nth-of-type(1) a{ background-color: #a0bef0; }

	.float-btn2 li:nth-of-type(2) a{ background-color: #87c11b; }

	.float-btn2 li:nth-of-type(1) a span{ padding-left: 4.93vw; background: url(../images/common/icon-tel01.png) no-repeat left center/2.93vw; }

	.float-btn2 li:nth-of-type(2) a span{ padding-left: 5.6vw; background: url(../images/common/icon-resv01.png) no-repeat left top .6vw/3.84vw; }

	

	.container .treat-list.foot-treat{ margin-top: 0!important; }
	


}