@charset "UTF-8";

/* CSS Document */



html{font-size: 87.5%;

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

	padding: 0;

	margin: 0;}



body{font-size:1em;

	color:#111;

}



section{

	width:900px;

	margin: 0 auto;}



main{display: block;}



a{color: #111;transition-duration: .3s;}



.sp{display: none;}



/*  header-------------------------------------*/

header{

	position: relative;

	overflow: hidden;}



header .logo{

	/*background: rgba(255,255,255,0.3);*/

	position: absolute;

	top: 50%;

	left: 50%;

	transform: translate(-50%,-50%);

	font-size: /*2.14em*/1.3em;

	text-align: center;

	font-weight: bold;

	letter-spacing: 0.1em;

	line-height: 1.5;

	padding: 30px;

	min-width: 410px;

	color: #fff;

	text-shadow: 3px 3px 0px rgba(0,0,0,0.3);}



header .logo img{

	width:176px;

	margin: auto;

	display: block;

	margin-bottom: 15px;}



/*  nav-------------------------------------*/



nav{position: absolute;

	top: 0;

	left: 0;

	width: 100%;

	text-align: center;

	display: flex;

	justify-content: center;

	position: fixed;

    z-index: 9999;

	background: #FFF;

}

#english nav{ display: none; }

nav ul{

	background: #fff;

	padding: 0 20px;

	}



nav ul li{

	display: inline-flex;

	align-items: center;

	letter-spacing: 0.1em;

	padding: 10px 20px;}



nav > p{display: flex;}



nav .insta{background: #111;}

nav .yoyaku{background: #ff2200;}

nav .insta a,

nav .yoyaku a{padding: 15px 20px; color: #fff;}



nav .yoyaku i{

	font-size: 1.42em;

	margin-right: 4px;}

	

	



	



nav ul li a:after{

	content: "";

	display: block;

	width: 6px;

	height: 6px;

	background: #ccc;

	border-radius: 50px;

	margin:10px auto 0;}



nav input{display: none;}



/*  footer-------------------------------------*/

footer{

	background: #f8f8f8;

	/*display: flex;*/}



footer > div{flex-basis: 50%;}



footer .map img{ width: 100%; height: 100%; }



footer .foot_info{padding: 50px;text-align: center;}



footer .clinic_tit{

	font-size: 1.85em;

	font-weight: bold;

	letter-spacing: 0.1em;

	margin-bottom: 35px;}



footer .tel{

	font-size: 1.714em;

	font-weight: bold;

	letter-spacing: 0.1em;

	margin-bottom: 20px;}



footer .tel i{margin-right: 5px;}



footer .foot_info table{

	margin: auto;

	border: 1px solid;

	margin-bottom: 20px;}



footer .foot_info table th,

footer .foot_info table td{padding: 10px;}



footer .foot_info table th:first-child,

footer .foot_info table td:first-child{letter-spacing: 0.1em;}



footer .foot_info table th:not(:last-child),

footer .foot_info table td:not(:last-child){border-right: 1px solid;}



footer .foot_info table tr:not(:last-child){border-bottom: 1px solid;}



footer .foot_info .add{

	letter-spacing: 0.1em;

	line-height: 2;

	display: inline-block;

	text-align: left;	

	margin-bottom: 20px;}



footer .foot_info .map_btn a{

	display: inline-block;

	background: #fff;

	border-radius: 100px;

	letter-spacing: 0.1em;

	padding: 15px 100px;

	position: relative;}



footer .foot_info .map_btn a:before{

	content: "";

	width: 10px;

	height: 1px;

	background: #111;

	display: block;

	position: absolute;

	top: calc(50% - 4px);

	right: 30px;

	transform: rotate(45deg);}



footer .foot_info .map_btn a:after{

	content: "";

	width: 40px;

	height: 1px;

	background: #111;

	display: block;

	position: absolute;

	top: 50%;

	right: 30px;}



.copy{

	text-align: center;

	font-size: 0.85em;

	letter-spacing: 0.1em;

	padding: 10px 0;

	background: #111;

	color: #fff;}



.pagetop{

	position: fixed;

	right: 0;

	bottom: 43px;}

.pagetop a{

	background: #fff;

	font-size: 2em;

	padding: 10px 15px;

	border: solid;

	border-width: 1px 0 1px 1px;}





/*  Clearfix-------------------------------------*/

.clearfix:after {

  content: "";

  clear: both;

  display: block;

  margin-bottom:40px;

}





/*  sub--------------------------------------------------------------------------*/

header.sub {height: 350px;}

header.sub  .logo{font-size: 1.85em;top: 55%;}



.mv_sub {width: 100%;height: 100%;}

.mv_sub img{width: 100%;height: 100%;object-fit: cover;}



.breadcrumb{

	background: #f8f8f8;

	padding: 10px 0;

	margin: 10px 0;}

.breadcrumb ul{

	width: 900px;

	margin: auto;}

.breadcrumb ul li{

	display: inline-block;

	vertical-align: middle;

	font-size: 0.92em;

	letter-spacing: 0.1em;}



.breadcrumb ul li:not(:last-child):after{

	content: "-";

	margin: 0 5px;

	letter-spacing: 0;}



main.sub{

	width: 900px;

	margin: auto;

	padding: 100px 0;}



.sub h1{

	font-size: 2.14em;

	text-align: center;

	letter-spacing: 0.2em;}



.sub h1:after{

	content: "";

	display: block;

	width: 2px;

	height: 20px;

	background: #ff2200;

	margin:30px auto;}



.sub h2{

	text-align: center;

	font-size: 1.85em;

	font-weight: normal;

	letter-spacing: 0.2em;

	padding: 10px 0;

	border-bottom: 3px double;

	margin-bottom: 30px;}



.sub h3{

	font-size: 1.28em;

	font-weight: normal;

	text-align: center;

	letter-spacing: 0.2em;

	border: solid #b7b7b7;

	border-width: 1px 0;

	padding: 5px 0;

	margin-bottom: 30px;}



.sub h4{

	font-size: 1.14em;

	letter-spacing: 0.2em;

	font-weight: normal;

	padding-bottom: 5px;

	border-bottom: 1px solid;

	margin-bottom: 20px;}



.sub h5{

	font-size: 1.1em;

	letter-spacing: 0.2em;

	font-weight: normal;

	padding-bottom: 5px;

	border-left: 2px solid #ff2200;

	margin-bottom: 20px;

	padding-left:10px;}



.sub p:not([class]){

	line-height: 2;

	letter-spacing: 0.1em;

	text-align: justify;

	margin-bottom: 30px;}



.sub table{

	border: 1px solid #aaa;

	margin-bottom: 50px;

	border-collapse:collapse;

}

.sub table tr:not(:last-child){border-bottom: 1px solid #aaa;}

.sub table th,

.sub table td{

	border: 1px solid #aaa;

	font-weight: normal;

}



.sub table th,

.sub table td{

	text-align: left;

	padding: 10px 15px;

	vertical-align: middle;

}

	

.sub table.type01{

	width:100%;

	border: 1px solid #aaa;

	margin-bottom: 50px;

	text-align:center;

}

.sub table.type01 p{

	margin:0;

}

.sub table.type01 img{

	display:block;

	margin:0 auto;

}

.sub table.type01 tr:not(:last-child){border-bottom: 1px solid #aaa;}

.sub table.type01 th,

.sub table.type01 td{

	border-right: 1px solid #aaa;

	font-weight: normal;

	}



.sub table.type01 th,

.sub table.type01 td{

	text-align: left;

	padding: 10px 15px;

	vertical-align: middle;

	text-align:center;

	box-sizing:border-box;

}



.sub table.type01 th img,

.sub table.type01 td img{

	width:100%;

	height:auto;

}



.sub table.type01 th.bg01{

	background:#999;

	color:#FFF;

}

.sub table.type01 th.bg02{

	background:#333;

	color:#FFF;

}

.sub table.type01 th.bg03{

	background:#666;

	color:#FFF;

}



.sub table.type02{

	width:100%;

	border: 1px solid #aaa;

	margin-bottom: 50px;

	text-align:center;

}

.sub table.type02 p{

	margin:0;

}

.sub table.type02 img{

	display:block;

	margin:0 auto;

}

.sub table.type02 tr:not(:last-child){border-bottom: 1px solid #aaa;}

.sub table.type02 th{

	background:#ccc;

}

.sub table.type02 th,

.sub table.type02 td{

	border-right: 1px solid #aaa;

	font-weight: normal;

	}



.sub table.type02 th,

.sub table.type02 td{

	text-align: left;

	padding: 10px 15px;

	vertical-align: middle;

	text-align:center;

	box-sizing:border-box;

}



.sub table.type02 th img,

.sub table.type02 td img{

	width:auto;

	height:auto;

}







.column2{

	column-count: 2;

	column-gap: 40px;

	margin-bottom: 30px;}

.column2 img{max-width: 100%;}



.sub .block{

	display:flex;

	justify-content: space-between;

	margin-bottom: 40px;}



.sub .block > *:first-of-type{margin-right: 40px;}



.sub .block .txt{flex-grow: 1;}

.sub .block .txt p{

	text-align: justify;

	line-height: 1.8;

	letter-spacing: 0.06em;}



.sub .block .txt p + h3,

.sub .block .txt p + h4{margin-top: 40px;}

.sub .block .txt p + p{margin-top: 1em;}



.sub .block .photo{flex-grow: 0;}

.sub .block .photo p{

	line-height: 0;

	overflow: hidden;}



.doctor_profile{text-align: center;}

.doctor_profile .photo{margin-bottom: 20px;}

.doctor_profile .photo img{border-radius: 200px;}

.doctor_profile .job_tit{

	letter-spacing: 0.1em;

	line-height: 1.85;

	margin-bottom: 20px;}

.doctor_profile .name{

	font-size: 1.57em;

	font-weight: bold;

	letter-spacing: 0.1em;

	margin-bottom: 30px;}

.doctor_profile .name span{

	font-size: 0.7em;

	font-weight: normal;

	margin-left: 10px;}



.message{

	margin:40px 20px;

	background: #f8f8f8;

	padding:40px 30px 30px 30px;

	position: relative;}

.message p{

	letter-spacing: 0.1em;

	line-height: 1.85;}

.message p:not(:last-child){margin-bottom: 20px;}



.message:before{

	content: "Message";

	font-size: 2.28em;

	letter-spacing: 0.1em;

	position: absolute;

	top: -25px;

	left: 30px;}



.career{

	font-size: 0.92em;

	line-height: 2;}

	

	

.sub .box_01{

	width:100%;

	border:3px double #ff2200;

	margin:10px 0 50px 0;

	padding:10px 20px 0 20px;

	box-sizing:border-box;

}

.sub .box_01 p:last-child{

	margin-bottom:20px;

}

.sub .box_01 ul li{

	font-size: 1.1em;

    letter-spacing: 0.2em;

    font-weight: normal;

    padding-bottom: 5px;

	vertical-align:middle;

	border-bottom:1px dashed #CCCCCC;

}

.sub .box_01 ul.boder_none li{

	border-bottom:none;

	margin-bottom:10px;

}

.sub .box_01 ul li:before{

	content:"\f00c";

	font-family: "Font Awesome 5 free";

	font-weight:bold;

	margin-right:5px;

}





#contact .sub table textarea,

#recruit_contact .sub table textarea{

    width: 100%;

}

#contact .sub .wpcf7-submit,

#recruit_contact .sub .wpcf7-submit{

    background: rgba(255,34,1,1.00);

    color: #FFF;

    width: 50%;

	display: block;

	margin: 0 auto;

    padding: 10px;

    box-sizing: border-box;

	font-size: 1em;

}











/*--------------------------------20190515更新分*/

main.sub p.img_R img{

	width:400px;

	float:right;

	margin-left:15px;

}

.center{

	text-align:center;

}



.clearfix:after {

  margin-bottom:40px;

}



/*  clinic_list-------------------------------------*/



.top .clinic_list{padding:80px 0;}



.top .clinic_list ul{

	display: flex;

	flex-wrap: wrap;

	justify-content: space-between;

	margin-top: 40px;}



.top .clinic_list ul li{

	flex-basis: calc(100%/3 - 20px);

	margin-bottom: 20px;}

/*

.top .clinic_list ul li:last-child{

	margin-left: 30px;

	margin-right: auto;}

*/

.top .clinic_list h3{

	font-size: 1em;

	letter-spacing: 0.1em;

	height: 54px;

	margin-bottom: 10px;}



.top .clinic_list h3 a{

	display: flex;

	border: 1px solid #111;

	align-items: center;

	width: 100%;

	height: 100%;

	white-space: nowrap;

	box-sizing: border-box;

	padding: 8px;

	position: relative;}



.top .clinic_list h3 a:after{

	content: "";

	border: 5px solid;

	border-color: transparent #ccc #ccc transparent;

	position: absolute;

	right: 4px;

	bottom:4px;}



.top .clinic_list h3.long{font-size: 0.95em;}



.top .clinic_list h3 a:hover{background: #eee;}



.top .clinic_list .near:before{

	content: "最寄駅";

	display: inline-block;

	background: #eee;

	padding: 5px;

	margin-right: 10px;}









	



/*  TOP--------------------------------------------------------------------------------*/

header.top{height: 700px;}



header .logo{z-index: 3;}







.mv{width: 100%;height: 100%;}

.siema,.siema div{width: 100%; height: 100%;}



.mv img{width: 100%;height: 100%;object-fit: cover;}



.top h2{

	font-size: 2.14em;

	text-align: center;

	letter-spacing: 0.2em;}



.top h2:after{

	content: "";

	display: block;

	width: 2px;

	height: 20px;

	background: #ff2200;

	margin:30px auto;}



.btn{text-align: center;}

.btn a{

	display: inline-block;

	background: #111;

	border-radius: 100px;

	color: #fff;

	font-weight: bold;

	letter-spacing: 0.2em;

	padding: 15px 100px;

	margin-top: 30px;

	position: relative;

    box-sizing: border-box;

}



.btn a:before{

	content: "";

	width: 10px;

	height: 1px;

	background: #fff;

	display: block;

	position: absolute;

	top: calc(50% - 4px);

	right: 30px;

	transform: rotate(45deg);}



.btn a:after{

	content: "";

	width: 40px;

	height: 1px;

	background: #fff;

	display: block;

	position: absolute;

	top: 50%;

	right: 30px;}

	



.btn_red{text-align: center;}

.btn_red a{

	width: 20%;

	display: inline-block;

	float: left;

	background:rgba(255,34,1,1.00);

	border-radius: 100px;

	color: #fff;

	font-weight: bold;

	letter-spacing: 0.2em;

	margin: 0 30px;

	padding: 15px 100px;

	position: relative;

}



.btn_red a:before{

	content: "";

	width: 10px;

	height: 1px;

	background: #fff;

	display: block;

	position: absolute;

	top: calc(50% - 4px);

	right: 30px;

	transform: rotate(45deg);}



.btn_red a:after{

	content: "";

	width: 40px;

	height: 1px;

	background: #fff;

	display: block;

	position: absolute;

	top: 50%;

	right: 30px;}





	

	

	



/* top_info-------------------------*/



.top_info{

	display: flex;

	justify-content: space-between;

	padding: 50px;}



.top_info > div{flex-basis: calc(50% - 40px);}



.top_info h3{

	font-size: 1.28em;

	font-weight: normal;

	letter-spacing: 0.1em;

	margin-bottom: 20px;}



.top_info h3:before{

	content: "";

	display: inline-block;

	vertical-align: middle;

	width: 4px;

	height: 22px;

	background: #ff2200;

	margin-right: 10px;}



.top_info p{

	letter-spacing: 0.1em;

	line-height: 1.85;}



.top_info .hour table{

	border: 1px solid;

	margin-bottom: 10px;}



.top_info .hour table th,

.top_info .hour table td{

	padding: 10px;

	text-align: center;

	vertical-align: middle;}



.top_info .hour table th:first-child,

.top_info .hour table td:first-child{letter-spacing: 0.1em;}



.top_info .hour table th:not(:last-child),

.top_info .hour table td:not(:last-child){border-right: 1px solid;}



.top_info .hour table tr:not(:last-child){border-bottom: 1px solid;}



.top_info .hoken{

	display: inline-block;

	font-size: 0.85em;

	border: 1px solid;

	padding:2px 10px;

	margin-top: 10px;}



.top_info .add p{margin-bottom: 10px;}



.top_info .tel{font-size: 1.714em;}

.top_info .tel i{margin-right: 4px;}



/* intro----------------*/



.top .intro{

	position: relative;

	margin-bottom: 50px;}



.top .intro section{

	padding: 60px 0;

	text-align: right;

	position: relative;

	z-index: 1;}



.top .intro section > div{

	max-width: 50%;

	display: inline-block;

	text-align: left;}



.top .intro:after{

	content: "";

	display: block;

	width: 52vw;

	height: 360px;

	background: url(../images/index/intro_img01.jpg)no-repeat;

	background-size: cover;

	position: absolute;

	top: 50%;

	left: 0;

	transform: translateY(-50%);}



.top .intro .catch{

	font-size: 2.14em;

	font-weight: bold;

	letter-spacing: 0.2em;

	line-height: 2;}



.top .intro .catch:after{

	content: "";

	display: block;

	width: 50px;

	height: 2px;

	background: #ff2200;

	margin: 30px 0;}



.top .intro section p:not([class]){

	letter-spacing: 0.1em;

	line-height: 1.85;}



/* about----------------*/

.top .about{

	width: 1000px;

	border: 2px solid;

	margin-bottom: 50px;

	padding: 80px 100px;}



.top .about h2 + p{

	text-align: center;

	letter-spacing: 0.1em;

	line-height: 1.85;

	margin-bottom: 30px;}



.top .about .about_box{

	display: flex;

	justify-content: space-between;

	align-items: center;

	margin-bottom: 30px;}



.top .about .about_box > *{flex-basis: calc(50% - 30px);}

.top .about .about_box p img{width: 100%;}



.top .about .about_box:nth-of-type(2) p{order: 1;}



.top .about h3{

	font-size: 1.28em;

	line-height: 1.6;

	letter-spacing: 0.2em;

	border-bottom: 1px solid;

	padding-bottom: 20px;}





/* facility----------------*/

.top .facility{padding: 50px 0;}



.top .facility h2{margin-bottom: 50px;}



.top .facility_in{

	display: flex;

	justify-content: space-between;}



.top .facility_in .facility_box{

	flex-basis: calc(50% - 40px);

	text-align: right;

	position: relative;}



.top .facility_in .facility_box div{

	position: absolute;

	top: 30px;

	left: 0;

	text-align: left;}



.top .facility_in .facility_box h3{

	font-size: 1.42em;

	letter-spacing: 0.2em;

	padding-bottom: 15px;

	border-bottom: 1px solid;

	margin-bottom: 20px;

    text-shadow: 1px 2px 1px #FFF;

}



.top .facility_in .facility_box p{

	line-height: 1.85;

	letter-spacing: 0.1em;

background: rgba(255,255,255,0.6);

padding: 3px;}



.top .facility ul{

	margin: 30px 0 20px;

	text-align: center;

	letter-spacing: -0.5em;}



.top .facility ul li{

	width: calc(100%/3 - 20px);

	display: inline-block;

	vertical-align: top;

	letter-spacing: 0.1em;}



.top .facility ul li:nth-child(2){margin:0 30px 30px 30px;}



.top .facility ul li img{width: 100%;}



.top .facility ul li h4{

	font-size: 1.14em;

	letter-spacing: 0.2em;}



.top .facility ul li h4:before,

.top .facility ul li h4:after{

	content: "-";

	display: inline-block;

	letter-spacing: 0;}



.top .facility ul li h4:before{margin-right: 5px;}

.top .facility ul li h4:after{margin-left: 5px;}



/* treatment----------------*/

.top .treatment,

.sub .treatment{

	padding: 60px 0;}



.top .treatment ul,

.sub .treatment ul{

	text-align: center;

	padding: 50px 0;}



.top .treatment ul li,

.sub .treatment ul li{

	display: inline-block;

	width: calc(100%/4 - 22.5px);

	margin-bottom: 25px;}



.top .treatment ul li:nth-child(n + 1):nth-child(-n+3),

.top .treatment ul li:nth-child(n + 5):nth-child(-n+7),

.top .treatment ul li:nth-child(n + 9):nth-child(-n+11),

.top .treatment ul li:nth-child(n + 13):nth-child(-n+15),

.sub .treatment ul li:nth-child(n + 1):nth-child(-n+3),

.sub .treatment ul li:nth-child(n + 5):nth-child(-n+7),

.sub .treatment ul li:nth-child(n + 9):nth-child(-n+11),

.sub .treatment ul li:nth-child(n + 13):nth-child(-n+15){

	margin-right: 25px;}



.top .treatment ul li a,

.sub .treatment ul li a{

	background: #f8f8f8;

	font-weight: bold;

	letter-spacing: 0.1em;

	white-space: nowrap;

	display: block;

	padding: 10px;

	position: relative;}



.top .treatment ul li a:after,

.sub .treatment ul li a:after{

	content: "";

	border:4px solid;

	border-color: #aaa #aaa transparent transparent;

	position: absolute;

	top: 5px;

	right: 5px;}



.top .treatment ul li img,

.sub .treatment ul li img{

	display: block;

	margin:0 auto 10px;}







/*

.sub .treatment ul li:last-child{

	width: 100%;

}



.sub .treatment ul li:last-child a{

	padding-bottom: 30px;

}

.sub .treatment ul li:last-child img{

	width: 6%;

	margin-bottom: 0;

}

*/





/* for_first----------------*/

.top .for_first{

	padding: 80px 0;

	background: #f8f8f8;}



.top .for_first h3{

	text-align: center;

	font-size: 1.57em;

	letter-spacing: 0.2em;

	padding: 10px 0;

	border-bottom: 3px double;

	margin-bottom: 30px;}



.top .for_first ul{

	display: flex;

	flex-wrap: wrap;

	justify-content: center;

	margin-bottom: 40px;}



.top .for_first ul li{

	flex-basis:200px;

	margin: 20px;

	counter-increment: num;}



.top .for_first ul li img{width: 100%}



.top .for_first ul li .photo{

	line-height: 0;

	position: relative;

	margin-bottom: 20px;}



.top .for_first ul li .photo:after{

	content: counter(num);

	background: #111;

	color: #fff;

	font-size: 1.85em;

	line-height: 1.4;

	padding:2px 12px;

	position: absolute;

	left: 0;

	bottom:0;}



.top .for_first h4{

	font-size: 1.214em;

	letter-spacing: 0.2em;

	margin-bottom: 10px;}



.top .for_first .txt{

	letter-spacing: 0.15em;

	line-height: 2;

	text-align: justify;}



.top .for_first .fee{

	text-align: center;

	letter-spacing: 0.15em;

	line-height: 2;}



.top .for_first .fee span{

	display: inline-block;

	background: #fff;}



/* clinic----------------*/

.top .clinic{padding: 80px 0;}



.top .clinic ul{

	display: flex;

	justify-content: center;}



.top .clinic ul li{

	text-align: center;

	flex-basis: calc(100%/4 - 20px);

	margin: 20px;}



.top .clinic ul li img{width: 100%;}



.top .clinic ul li h4{

	letter-spacing: 0.2em;

	margin-bottom: 10px;}



.top .clinic ul li h4:before,

.top .clinic ul li h4:after{

	content: "-";

	display: inline-block;}



.top .clinic ul li h4:before{margin-right: 4px;}

.top .clinic ul li h4:after{margin-left: 4px;}



/*  TOPここまで--------------------------------------------------------------------------------*/

































#subclinic_list .clinic_box{

	width:270px;

	border:1px solid #CCC;

	display:inline-block;

	margin:20px 14px 0 13px;

	padding:10px;

	font-size:12px;

	box-sizing:border-box;

}

#subclinic_list .clinic_box p{

	margin-bottom:10px;



}

#subclinic_list .clinic_box p.clinic_name{

	font-size: 13.5px;

    font-weight: bold;

	margin-bottom:15px;

	height:62px;

	display: table-cell;

    vertical-align: middle;

}

#subclinic_list .clinic_box p span{

	display: inline-block;

	background: #eee;

	padding: 0 5px;

	margin-right: 10px;

    margin-right: 5px;

    letter-spacing: 0;

}

#subclinic_list .clinic_box .btn_clinic{

	margin:20px 0 5px;

	text-align:center;

}

#subclinic_list .clinic_box .btn_clinic a{

	background:#111;

	color:#FFF;

	padding:10px 50px;

	display:block;

}



/**** PC版スマホ版切り替えボタン ****/



.device-changer{

	display: flex;

	justify-content: space-around;

    margin: 20px auto;

    max-width: 400px;

}

.device-changer li{

	background: #000;

    color: #fff;

    padding: 10px 30px;

    border-radius: 30px;

    font-size: 1em;

    cursor: pointer;

}



/**** sliderレスポ ****/



.siema.sp-slide{

	display: none;

}











.sub .box_02 {

    width: 46%;

    float: left;

    margin: 0 15px;

    box-sizing: border-box;

}

.sub .box_02 .box_01{

	margin-bottom:0;

}

.btn01,

.btn02{text-align: center;}

.btn01 a,

.btn02 a{

	display: block;

    background: #fff;

    border-radius: 100px;

    border: 2px solid #000;

    letter-spacing: 0.2em;

    padding:5px 15px;

    margin-bottom: 15px;

    margin-top: 15px;

    position: relative;

    font-size: 12px;

}



.top .news .date p .btn02{text-align: center;}

.top .news .date p .btn02 a{

	display: block;

    background: #fff;

    border-radius: 100px;

    border: 2px solid #666;

    letter-spacing: 0.2em;

    padding: 0 20px;

    margin-bottom: 15px;

    margin-top: 15px;

    position: relative;

    font-size: 12px;

}





.font14{

	font-size:14px;

}



/*  jidv-------------------------------------*/



.top .jidv{

	background: #f1faf8;

	padding: 60px 0;}



.top .jidv section{

	padding: 0 50px;

	text-align: center;}



.top .jidv section h3{

	background: #fff;

	color: #74cdb7;

	font-size: 1.714em;

	font-weight: normal;

	letter-spacing: 0.2em;

	padding: 10px;

	position: relative;

	margin-bottom: 30px;}



.top .jidv section h3:after{

	content: "";

	border: 15px solid;

	border-color: #fff transparent transparent transparent;

	position: absolute;

	bottom: -30px;

	left: calc(50% - 15px);}



.top .jidv section p{

	line-height: 2;

	letter-spacing: 0.1em;}



.top .jidv section p:not(:last-child){margin-bottom: 1.5em;}

.top .jidv section p:last-child{margin-top: 40px;}



.top .jidv a:hover{filter: brightness(107%);}



.top .jidv section h4{

	color: #4fcfb8;

	font-size: 1.3em;

	font-weight: normal;

	letter-spacing: 0.2em;

	padding: 10px;

	position: relative;

	margin-top: 35px;

	font-weight: 500;}



.top .jidv section p.voice{

	margin-top: 10px;

}

	main.sub table.price{

		width: 90%;

		margin: 0 auto 70px;

		box-sizing: border-box;

		font-weight: 100;

	}



	main.sub table.price td,

	main.sub table.price th{

		padding: 10px;

		border: 1px solid #aaa;

	}

	main.sub table.price td{

		width: 20%;

		text-align: right;

		font-weight: bold;

	}



	main.sub table.price_mb10{

		width: 90%;

		margin: 0 auto 10px;

		box-sizing: border-box;

		font-weight: 100;

	}

	main.sub table.price_mb10 td,

	main.sub table.price_mb10 th{

		padding: 10px;

		border: 1px solid #aaa;

	}

	main.sub table.price_mb10 td{

		width: 20%;

		text-align: right;

		font-weight: bold;

	}	

.taihu_news {

    background: #f8f8f8;

    padding: 20px 30px 30px;

    box-sizing: border-box;

    width: 800px;

    margin: 40px auto 0px;

    line-height: 2.2;

}



.midashi{

	font-size:24px;

	color: #ff2200;

}



.flex_img{

display:flex;

}







/*English Page 20200417*/

.english_maps {

	width:70%;

	margin:0 auto;

	text-align:center;

}



.english_maps h3 {

	font-size:1.5em;

	margin: 20px auto;

}



.english_maps section {

	border-bottom:solid 1px #ccc;

}



.english_doc {

	font-size:1.2em;

	margin-top:50px;

}



.shibuya_area {

	border-bottom: solid 4px dodgerblue;

    padding-bottom: 15px;

    width: 17%;

    margin: 0 auto;

	margin-top:20px;

}



.minato_area {

	border-bottom: solid 4px red;

    padding-bottom: 15px;

    width: 17%;

    margin: 0 auto;

	margin-top:20px;

}



.setagaya_area {

	border-bottom: solid 4px green;

    padding-bottom: 15px;

    width: 17%;

    margin: 0 auto;

	margin-top:20px;

}



.kotoku_area {

	border-bottom: solid 4px brown;

    padding-bottom: 15px;

    width: 17%;

    margin: 0 auto;

	margin-top: 20px;

}



.english_page_link {

	width:60%;

	margin:0 auto;

	}



.english_page_link #subclinic_list .clinic_box{

	width: 375px;

	border:0;

	display:inline-block;

	margin:30px 14px 0 14px;

	padding:10px;

	font-size:12px;

	box-sizing:border-box;

}



#inactive_link {

   pointer-events: none;

   cursor: default;

}



.english_maps .top_info .hour table th, .top_info .hour table td {

    padding: 6px;

}

#engish .english_maps .top_info .hour table th, .top_info .hour table td{ padding: 5px; }



.english_maps table {

	width:100%;

	box-sizing:border-box;

	}



.dental_services ul li a {

	font-size:0.8vw;

	}

	

	.concept_in {

    display: flex;

    justify-content: space-between;

    margin-top: 50px;

	margin-bottom:50px;

}



.concept_box {

    flex-basis: calc(100%/3 - 20px);

    background: #f8f8f8;

    display: flex;

    flex-direction: column;

    justify-content: space-between;

    counter-increment: concept;

    position: relative;

}



.concept_box .txt {

    display: flex;

    width: 100%;

    height: 100%;

    align-items: center;

    justify-content: center;

    text-align: center;

    padding: 50px 0;

    font-size: 1.42em;

    font-weight: bold;

    line-height: 1.8;

    letter-spacing: 0.1em;

}



.concept_box .txt:before {

    content: counter(concept);

    display: block;

    color: #888;

    font-size: 3.28rem;

    position: absolute;

    top: -0.9em;

}



.concept_box .photo {

    flex-grow: 0;

    line-height: 0;

}



.concept_box img {

    width: 100%;

	}

main.sub img.auto{

    width: auto;

}

.jidv_bn{

	margin-top: 40px;

}



/*contact-page--------------------------------*/



.adjust-radio span.wpcf7-list-item {

	height: 30px;

    width: 160px;

}







@media screen and (max-width:599px){

.concept_in {

    display: block;

}

    

	.concept_box {

    flex-direction: row;

    margin-bottom: 30px;

}

.concept_box .txt {

    flex-wrap: wrap;

    font-size: 4vw;

    padding: 10px 0 30px;

}



.concept_box .txt:before {

    position: static;

    display: block;

    font-size: 6vw;

    flex-basis: 100%;

}

.concept_box .photo img {

    width: 100%;

    height: 100%;

    object-fit: cover;



}

        



}