@charset "UTF-8";

body{
  font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	font-size: 1em;
	font-display: swap;
	line-height: 1.6em;
	color: #222;
}
p{text-align:left; margin-top:5px;}
a{text-decoration: none;}
*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
img{max-width: 100%; height: auto;}

/* __ h TAG __ */

h1 {
	font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-size:1.9em;
	font-weight:bold; color:#5e8396; line-height:1.4em; margin-bottom:20px;
}

h2 {
	padding: .75em 0;
	font-weight: bold;
	margin-bottom: 20px;
	background: #e5a323;
	color: #FFF;
}

h3 {
	padding: .25em 0 .5em .75em;
	border-left: 6px solid #ccc;
	border-bottom: 1px solid #ccc;
	margin-bottom:20px;
	font-weight:bold;
	text-align:left
}

h4 {
	font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-size:1.9em;
	font-weight:bold; color:#5e8396; line-height:1.4em; margin-bottom:20px;
}

h5 {
	padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
	border-bottom: solid 3px #d7d7d7;/*下線*/
	margin-bottom:20px;
	font-weight:bold;
	color: #666;
} 

h6{
	position: relative;
	color: #FFF;
	background: #003355;
	line-height: 1.4;
	padding: 0.25em 0.5em;
	margin: 2em 0 0.5em;
	border-radius: 0 5px 5px 5px;
	font-weight:bold;
}

h6:after {/*タブ*/
	position: absolute;
	font-family: "Font Awesome 5 Free",'Quicksand','Avenir','Arial',sans-serif;
	content: 'Implant';
	background: #2196F3;
	color: #fff;
	left: 0px;
	bottom: 100%;
	border-radius: 5px 5px 0 0;
	padding: 3px 7px 1px;
	font-size: 0.7em;
	line-height: 1;
	letter-spacing: 0.05em
}

h7 {
	padding: 0.5em;/*文字周りの余白*/
	color: #333;/*文字色*/
	font-size: 1.4em;
}

h8 {
	font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-size: 1.9em;
	font-weight: bold;
	color: #5e8396;
	line-height: 1.4em;
}


/* __ Header __ */

header{
	padding: 1em;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.logo{
	margin: 0.5em 0;
	align-items: center;
	justify-content: center;
	font-size: 26px;
}
.logo a{text-align: center;}

.gnav{
	display: flex;
	margin-top:60px;
	text-align:center;
}

.main-nav-btn {
	width: 40%;
	display: inline-block;
	text-decoration: none;
	font-size: 0.8em;
	text-align: center;
	line-height: 80px;
}
.main-nav-home-btn {
	width: 90%;
	height: 40px;
	text-align: center;
	background-color: #f5f5f5;
	font-size: 0.8em;
	color:#666
}
.sidebar-nav{line-height:80px;}

/* __ Contents __ */

.container p:not(:last-child){margin-bottom: 1.5em;}
.main, footer{padding: 20px;}

.sidebar{margin:20px}
.sidebar-nav{border: 1px solid #ddd; padding: 1em;}
.sidebar-nav a{color:#333; display: block;}
.sidebar-cliniclist{
	border: 1px solid #ddd;
	background-color: #f5f5f5;
	padding: 1em;
}
.sidebar-cliniclist li{
	padding:20px 0 ;
	line-height: 20px;
	font-size: 13px;
	border-bottom: 1px solid #ddd;
}
.sidebar-cliniclist li a{color: #333; display: block;}
.sidebar-nav li{
	margin-bottom: 0.5em;
	padding-top: 0.1em;
	padding-bottom: 0.5em;
	border-bottom: 1px solid #ddd;
}

.sidebar-nav li:last-child, .sidebar-cliniclist li:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

/*__ Tiles __*/

.tiles{margin-bottom: 1em;}
.tiles li{
	border:#CCC 1px solid;
	margin-bottom: 1em;
	padding: 20px;
	border-radius: 4px;
	background-color: #fff;
}

.tiles2{margin-bottom: 1em;}
.tiles2 li{
	margin-bottom: 1em;
}

/* __ Footer __ */

footer{
	text-align: center;
	color: #CCC;
	background-color: #5e8396;
}
.foot_map{
	color: #333 !important;
	border: none;
	margin-top: 2rem;
}


/* __ パンくず __ */
.pankuzu {
	width: 100%;
	background-color: #FFFFFF;
	margin-bottom: 30px;	
}
.pankuzu a{
	color:#2e8b57
}
.pankuzu ol{
	margin:0 auto;
	text-align:center;
}
.pankuzu li{
	display: inline-block;
	margin: 0.9em 0;
	color: #2e8b57;
	font-size:0.7em;
}
.pankuzu li::after{
	content: '>>';
	margin-left: 1rem !important;
	margin-right: 1rem !important;
}
.pankuzu li:last-child::after{
	content: '';
	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
.pc { display: none !important; }
.pc-inline { display: none !important; }
.sp { display: block !important; }
.sp-inline { display: inline-block!important; }

.bt-0{border-top: none !important;}

.guideline-link{
	display: block;
	border: 1px #999 solid;
	font-size: 0.9rem;
	padding: 0.5rem;
	margin-bottom: 2rem;
	background-color: #ddd;
	color: #444;
	font-weight: bold;
	font-family:"游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
	transition: 0.5s;
}
.guideline-link:hover{
	color: #666;
}


/* Media queries
-------------------------------------------------------*/
@media screen and (max-width : 959px) {
	
	.main-nav-btn {
		background-color:#FFF;
		margin:10px;
		box-shadow: 0px 0px 4px gray;
    }
	.main-nav-btn a {color:#333;}
	.main-nav-home-btn {
		margin-bottom:10px;
		line-height:40px;
    }
	.main-nav-home-btn a{color:#333;}
	.top {margin:20px;}
	.tiles3 li{margin: 20px;}
}

@media screen and (min-width : 960px) { /* デスクトップ用CSS */

	/* __ Header __ */

	header{
	margin: 0 auto;
	padding: 0;
	max-width: 1180px;
	flex-direction: row;
	}
	p{font-size:14px;}
	.logo{margin: 0 auto 0 0;}
	.gnav{
		margin-top:0px;
		text-align:right;
		color: #5e8396;
	}
	
	.main-nav {
		display: flex;
		justify-content: center;
		background-color: #FFF;
		box-shadow: 2px 2px 4px gray;
    }
	.main-nav-btn {
	width: 160px;
	max-width: 100%;
	height: 60px;
	text-align: center;
	font-size: 0.8em;
	border-right: #CaCaCa 1px solid;
	display: inline-block;
	line-height: 60px;
    }
	.main-nav-btn a {
	display: block;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
	color: #333333;
    }
	.main-nav-btn a:hover {
	background-color: #cce5ff;
	color: #333333;
    }
	.main-nav-home-btn {
		display: block;
		width: 70px;
		max-width: 100%;
		height: 60px;
		text-align: center;
		font-size: 0.8em;
		color: #CCC;
		background-color: #333;
		line-height: 60px;
    }
	.main-nav-home-btn a {
		display: block;
		color: #CCC;
	}

	/* __ Contents __ */

	.container{
		display: flex;
		width: 100%;
		max-width: 1180px;
		margin: 0 auto;
	}
	.main{
		flex: 1;
		order: 1;
		padding:30px;
		margin-right:40px;
	}

	.sidebar{
		order: 2;
		margin:0px;
		width: 230px;
		min-width: 230px;
	}
	.sidebar-nav{
		border: 1px solid #ddd;
		padding: 1em;
	}
	.sidebar-nav li{
		line-height:40px;
		font-size:13px;
		border-bottom: 1px solid #ddd;
	}
	.sidebar-cliniclist{
		border: 1px solid #ddd;
		background-color: #f5f5f5;
		padding: 1em;
	}
	.sidebar-cliniclist li{
		padding:20px 0 ;
		line-height: 20px;
		font-size: 13px;
		color: #333;
		border-bottom: 1px solid #ddd;
	}
	
	/*__ Tiles __*/

	.tiles{
		display: flex;
		flex-wrap: wrap;
	}
	.tiles li{
		margin: 5px;
		width: calc( 33.3% - 10px);
	}
	.tiles2{
		display: flex;
		flex-wrap: wrap;
	}
	.tiles2 li{
		margin: 5px;
		width: calc( 33.3% - 10px);
		border-bottom:#CCC 1px solid;
	}
	.tiles3{
		display: flex;
		flex-wrap: wrap;
	}
	.tiles3 li{
		margin: 10px;
		width: calc( 48% - 10px);
		border-bottom:#CCC 1px solid;	
	}
	
	.pc { display: block !important; }
	.pc-inline { display: inline !important; }
	.sp { display: none !important; }	
	.sp-inline { display: none !important; }	
}

strong {
font-weight: bold !important;
color:#555 !important;
}

.youtube{
	background-color: #000;
	padding: 40px;
}
.youtube iframe{
	max-width: 100%;
	max-height: 100%;
	border: none;
}
.youtube span{
	color:#CCC;
}
@media screen and (min-width : 767px) { 
	.youtube iframe{
		width: 560px;
		height: 315px;
	}
}
.headline-bg{
	background-image: url(../img/header_bg.webp);
}

.h1-main{
	font-family: YuMincho, 'Yu Mincho', 'MS Mincho', serif;
	font-size: 1.9em;
	font-weight: bold;
	color: #5e8396;
	line-height: 1.4em;
	margin-bottom: 20px;
}
.h1-sub{
	display: inline-block;
	color: #5e8396;
	font-size: 1.2rem;
	padding-bottom: 0.2rem;
}

.mt-auto {margin-top: auto !important;}
.mt-0 {margin-top: 0 !important;}
.mt-1 {margin-top: 0.25rem !important;}
.mt-2 {margin-top: 0.5rem !important;}
.mt-3 {margin-top: 1rem !important;}
.mt-4 {margin-top: 1.5rem !important;}
.mt-5 {margin-top: 2rem !important;}
.mt-6 {margin-top: 3rem !important;}

.mb-auto {margin-bottom: auto !important;}
.mb-0 {margin-bottom: 0 !important;}
.mb-1 {margin-bottom: 0.25rem !important;}
.mb-2 {margin-bottom: 0.5rem !important;}
.mb-3 {margin-bottom: 1rem !important;}
.mb-4 {margin-bottom: 1.5rem !important;}
.mb-5 {margin-bottom: 2rem !important;}
.mb-6 {margin-bottom: 3rem !important;}

.ml-auto {margin-left: auto !important;}
.ml-0 {margin-left: 0 !important;}
.ml-1 {margin-left: 0.25rem !important;}
.ml-2 {margin-left: 0.5rem !important;}
.ml-3 {margin-left: 1rem !important;}
.ml-4 {margin-left: 1.5rem !important;}
.ml-5 {margin-left: 2rem !important;}
.ml-6 {margin-left: 3rem !important;}

.mr-auto {margin-right: auto !important;}
.mr-0 {margin-right: 0 !important;}
.mr-1 {margin-right: 0.25rem !important;}
.mr-2 {margin-right: 0.5rem !important;}
.mr-3 {margin-right: 1rem !important;}
.mr-4 {margin-right: 1.5rem !important;}
.mr-5 {margin-right: 2rem !important;}
.mr-6 {margin-right: 3rem !important;}

.p-0 {padding: 0 !important;}
.p-1 {padding: 0.25rem !important;}
.p-2 {padding: 0.5rem !important;}
.p-3 {padding: 1rem !important;}
.p-4 {padding: 1.5rem !important;}
.p-5 {padding: 2rem !important;}
.p-6 {padding: 3rem !important;}

.pt-0 {padding-top: 0 !important;}
.pt-1 {padding-top: 0.25rem !important;}
.pt-2 {padding-top: 0.5rem !important;}
.pt-3 {padding-top: 1rem !important;}
.pt-4 {padding-top: 1.5rem !important;}
.pt-5 {padding-top: 2rem !important;}
.pt-6 {padding-top: 3rem !important;}

.pb-0 {padding-bottom: 0 !important;}
.pb-1 {padding-bottom: 0.25rem !important;}
.pb-2 {padding-bottom: 0.5rem !important;}
.pb-3 {padding-bottom: 1rem !important;}
.pb-4 {padding-bottom: 1.5rem !important;}
.pb-5 {padding-bottom: 2rem !important;}
.pb-6 {padding-bottom: 3rem !important;}

.pl-0 {padding-left: 0 !important;}
.pl-1 {padding-left: 0.25rem !important;}
.pl-2 {padding-left: 0.5rem !important;}
.pl-3 {padding-left: 1rem !important;}
.pl-4 {padding-left: 1.5rem !important;}
.pl-5 {padding-left: 2rem !important;}
.pl-6 {padding-left: 3rem !important;}

.pr-0 {padding-right: 0 !important;}
.pr-1 {padding-right: 0.25rem !important;}
.pr-2 {padding-right: 0.5rem !important;}
.pr-3 {padding-right: 1rem !important;}
.pr-4 {padding-right: 1.5rem !important;}
.pr-5 {padding-right: 2rem !important;}
.pr-6 {padding-right: 3rem !important;}

.d-inline-block{display: inline-block !important;}
.d-inline{display: inline !important;}
.d-block{display: block !important;}

.flex-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media screen and (min-width : 960px) {
	.col-4{width: calc(33.333333% - 10px);}
	.col-5{width: calc(41.666667% - 10px);}
	.col-6{width: calc(50% - 10px);}
	.col-7{width: calc(58.333333% - 10px);}
	.col-8{width: calc(66.666667% - 10px);}
	.col-10{width: calc(100%);}
	.order-1{order: 1;}
	.order-2{order: 2;}
	.order-3{order: 3;}
}
.bg-white{
	background-color: #fff;
}

@media screen and (min-width: 768px) and (max-width: 959px){
	.tab-off{ display: none !important;}
}

/*2023年11月14日追記*/
#floating-menu{
	position: fixed;
	z-index: 20;
	bottom: 0px;
	width: 100%;
	background-color: #5e8396;
	display: flex;
	flex-wrap: wrap;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
@media screen and (min-width : 960px) {
	#floating-menu{display: none;}
}

.reserve-btn{
	width: 27%;
	border-right: 1px #fff solid;	
}
.reserve-btn a{
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.reserve-btn-img{
	width: 36px;
	height: 36px;
	display: inline-block;
}
.tel-btn-text{
	display: inline-block;
	width: 100%;
	font-size: 0.875rem;
	line-height: 1.25rem;
	text-align: center;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-indent: 0.05em;
}
.form-btn-text,
.tel-btn-text2{
	display: inline-block;
	width: 100%;
	font-size: .8rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.05em;
	text-indent: 0;
}
.tel-btn-text2{
	display: none;
}
.sns-btn{
	width: 20%;
	border-right: 1px #fff solid;	
}
.sns-btn a{
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.hamburger-btn{
	width: 19%;
	position: relative;
}
.menu-btn{
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.menu-btn span,
.menu-btn span:before,
.menu-btn span:after{
    content: '';
    display: block;
    height: 2px;
    width: 30px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
	transition: 0.3S;
}
.menu-btn span:before{bottom: 12px;}
.menu-btn span:after{top: 12px;}

.menu-content-bg{
	height: /*70.39px*/100px;
	display: none;
	z-index: -5;
	background-color: #5e8396;
	width: 100%;
	position: fixed;
	bottom: 0;
	left: 0;
}
#menu-content{
	transition: .1s ease-in-out;
	transform: translateY(105%);
	z-index: -10;
/*	overflow-y: scroll;*/
	background-color: #5e8396;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
#menu-content ul{
    padding-left: 2rem;
    padding-right: 2rem;
	padding-bottom: 2rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#menu-content ul li{
	border-bottom: solid 1px #fff;
	width: 100%;
	padding-left: 0.5rem;
}
#menu-content ul li a{
	color: #fff;
	display: inline-block;
	width: 100%;
	padding: 0.8rem 0;
	position: relative;
	font-size: 0.8rem;
	text-align: start;
}
#menu-content ul li a::before{
	content: "";
	width: 7px;
	height: 7px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	right: 20px;
	top: 48%;
}
.treatment-list{
	width: 50% !important;
}
@media screen and (max-width: 320px){
	#menu-content ul{padding-bottom: 0.75rem;}
	#menu-content{padding-top: 0.5rem;}
	#menu-content ul li a{padding: 0.6rem 0;}
	.tel-btn-text{display: none;}
	.tel-btn-text2{display: inline-block;}
	#menu-content ul li a{font-size: 0.8rem;}
	#menu-content ul li a::before{right: 8px;}
}

#menu-btn-check{display: none;}
#menu-btn-check:checked ~ .menu-btn span{
	background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before{
	bottom: 0;
    transform: rotate(135deg);
	transform-origin: center center;
}
#menu-btn-check:checked ~ .menu-btn span::after{
	top: 0;
    transform: rotate(-135deg);
	transform-origin: center center;
}

#menu-btn-check:checked ~ #menu-content{
	left: 0;
	transform: translateY(0%);
}
#menu-btn-check:checked ~ .menu-content-bg{
	display: block;
}

@media screen and (min-width : 960px) and (max-width : 1199px) {
	header{padding-left: 20px; padding-right: 20px;}
}
.campaign{padding: 20px;}
@media screen and (min-width: 767px) {
	.campaign_mb{display: none;}
}
@media screen and (max-width:768px) {
	.campaign_pc{display: none;}
}
