@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;
	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;
}
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{}

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(https://www.setaden.com/meguro/img/top/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:30px 14px 0 14px;
	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: 14px;
    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%);}


	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;
	}
	
.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-btn{
    display: flex;
    justify-content: space-around;
}
.btn-bk{
    align-items: center;
    background: url(https://www.setaden.com/meguro/images/common/arrow01.svg) #111 no-repeat right 1.8rem top 1.6rem/2.1rem;
    color: #fff;
    display: flex;
    height: 4rem;
    padding-left: 1.8rem;
    width: 18rem;
    margin: 2.5rem auto;
}


/*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;

}



.side-img{

    display: flex;

    justify-content: space-between;

    margin: 40px 0;

}

.side-img img {

    width: 50%;

}



/*ドクター紹介*/
.history-row {
    display: flex;
    justify-content: space-between;
    margin: 5rem 0;
    flex-wrap: wrap;
}
.history-row .inner {
    width: 30rem;
    letter-spacing: .03em;
}
.history-row .inner h4 {
    letter-spacing: .05em;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: center;
    margin-bottom: 2.5rem;
    background: var(--bg-color01);
    padding: 0.2em;
}
.history-row .inner table {
    width: 100%;
}
.history-row .inner table th {
    font-weight: 400;
    width: 1px;
    padding-right: 1.5em;
    white-space: nowrap;
}
.history-row .inner:nth-of-type(n+3) {
    margin-top: 4rem;
}



.dr-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.dr-list li.dr-box {
    width: 48%;
    height: 410px;
    background-color: #e2e2e2;
    border-radius: 1rem;
    padding: 2rem;
}

.dr-list li.dr-box.male {
    background: #bdd7ee;
}

.dr-list li.dr-box.female {
    background: #ffccff85;
}

.dr-list li.dr-box:nth-of-type(n+3) {
    margin-top: 3rem;
}

.dr-list .dr-box h4 {
    letter-spacing: .05em;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: center;
    margin: 2rem 0 1rem;
    color: #000;
    background: #f2f2f2;
    padding: .2em;
	border-bottom: none;
}

.side-img-dr {
    display: flex;
    justify-content: space-between;
    margin: 20px 0;
}

.side-img-dr .content {
    width: 60%;
    padding: 0;
    margin: 0;
}

.side-img-dr .content h3 {
    margin:2rem auto;
}

.side-img-dr .content h4 {
    margin-top: 0;
}

.side-img-dr .content p {
    margin-top: 0;
    margin-bottom: 1rem;
}

.side-img-dr .img {
    width: 35%;
    margin-right: 20px;
}

.side-img-dr .img img {
    width: 100px;
    border-radius: 100%;
    border: 3px solid #f3f3f3;
}

.dr-list .tag-list {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    margin: 1rem auto 1.5rem;
}

.dr-list .tag-list li {
    font-size: 1rem;
    margin-right: 1em;
    margin-top: .5em;
    color: #fff;
    background: #16254b;
    padding: .2em .6em;
}
.dr-list .tag-list li span{
    font-size: 0.8rem;
}

.dr-list .week-list {
    width: 100%;
    display: flex;
    justify-content: space-around;
}

.dr-list .week-list li {
    width: 30px;
    height: 30px;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    background: #fff;
    border-radius: 100%;
    font-size: 1rem;
    font-weight: 700;
    line-height: 2;
    position: relative;
}

.sekoukai-logo {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 90;
	width: 100px;
}




@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;

}
}
/* 20241111start */

nav ul li {
	position: relative;
}
nav ul li.hover-link-box {
	
}
nav ul li .treatment-detail-box {
	display: none;
}
nav ul li .treatment-detail {
	position: absolute;
	top: 30px;
	left: 0;
	z-index: 1;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	background-color: #f2f2f2;
	min-width: 500px;
	margin-left: 20px;
}
nav ul li .treatment-detail li {
	position: relative;
	padding: 0;
	margin-right: 10px;
	margin-left: 10px;
}
nav ul li .treatment-detail li a {
	/* padding: 10px; */
	padding: 10px 30px;
}
nav ul li .treatment-detail li a::after {
	position: absolute;
	left: 0;
	top: 18%;

  /* transform: translateY(-50%); */

}
.sp-menu{display: none;}
/* 20241111end */

/* 20250213 */
.reservation-link-txt {
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
    margin-top: 16px;
}
.reservation-link-txt a {
    color: #0563C1;
    text-decoration: underline;
    font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
    .reservation-link-txt {
        font-size: 1.1rem;
    }
    .reservation-link-txt a {
        font-size: 1rem;
    }
}
@media screen and (max-width: 599px) {
    nav input:checked ~ div.sp-menu {
        overflow-y: auto;
        max-height: 87vh;
        justify-content: center!important;
    }
    nav input:checked ~ ul {
        overflow-y: auto;
        max-height: 87vh;
    }
}
/* 20250213 END */

/* 20250311追記 */
footer .sub_page_footer .row{display: flex; justify-content: space-between; margin: 0 auto;}
footer .sub_page_footer {background: url(/img/add/footer-bg01.webp) no-repeat center/cover; color: #fff; padding: 70px 0 15px;}
footer .sub_page_footer .wrap{width: 1100px;}
footer .sub_page_footer .sitemap{justify-content: flex-start; margin-bottom: 50px;}
footer .sub_page_footer .sitemap>ul>li{font-weight: 700; line-height: 1.8;}
footer .sub_page_footer .sitemap>ul>li a{color: #fff;}
footer .sub_page_footer .sitemap>ul>li+li{margin-top: 6px ;}
footer .sub_page_footer .sitemap>ul+ul{margin-left: 40px;}
footer .sub_page_footer .sitemap>ul>li.parent .child li{font-size: 12px; font-weight: 400; padding-left: 1em; position: relative;}
footer .sub_page_footer .sitemap>ul>li.parent .child li:before{content: '-'; position: absolute; left: 0;}
footer .sub_page_footer .sitemap>ul>li.parent .row{margin-top: 6px;}
footer .sub_page_footer .sitemap>ul>li.parent .child+.child{margin-left: 30px;}
footer .sub_page_footer .copy{background: unset !important;}
footer .sub_page_footer .copy a{color: #fff;}
footer .sub_page_footer .footer_clinic li:not(.footer_clinic_ttl):not(.child) {position: relative;padding-left: 1em;}
footer .sub_page_footer .footer_clinic li:not(.footer_clinic_ttl):not(.child)::before {content: '-';position: absolute;left: 0;}
@media screen and (max-width: 767px) {
    footer .sub_page_footer .row{display: block;}
    footer .sub_page_footer {padding: 45px 0 100px;}
    footer .sub_page_footer .sitemap {margin-bottom: 20px;}
    footer .sub_page_footer .sitemap>ul {width: 100%;}
    footer .sub_page_footer .sitemap>ul>li {border-bottom: solid 1px #4d4d4d; padding: 4px 0;}
    footer .sub_page_footer .sitemap>ul>li.parent {border-bottom: none; margin-bottom: 20px;}
    footer .sub_page_footer .parent .row {display: flex; justify-content: flex-start;}
    footer .sub_page_footer .sitemap>ul+ul {margin-left: 0;}
    footer .sub_page_footer .copy a{color: #fff !important;}
    footer .sub_page_footer .wrap {width: 100%; padding: 0 15px;}
    footer .sub_page_footer .sitemap ul.footer_clinic li:not(.footer_clinic_ttl) {display: flex; padding: 0;margin-top: 0;width: 96px;}
    footer .sub_page_footer .sitemap ul.footer_clinic li {border-bottom: none !important;}
    footer .sub_page_footer .sitemap ul.footer_clinic {padding-bottom: 20px;border-bottom: solid 1px #4d4d4d;}
    footer .sub_page_footer .sitemap ul.footer_clinic li a {font-size: 12px;padding-left: 1em;}
    footer .sub_page_footer .copy {color: #fff; padding: 0;}
} 
/* 20250311追記 */

/* 20250410追記 */
@media screen and (max-width: 599px) {
    .sp_new_cta .sp_fix li {
        height: 100%;
    }
    .sp_new_cta .sp_fix li a:before {
        width: 20px;
        height: 20px;
    }
    .sp_new_cta .sp_fix li.line_link a:before {
        background-image: url(/images/common/sp_linecta.png);
    }
    .sp_new_cta .sp_fix li.line_link {
      background: #4CC764;
    }
    .sp_new_cta .sp_fix a {
        font-size: 14px;
    }
    .sp_new_cta .sp_fix_text {
          bottom: 49px;
    }
}

.pc_lineCta {
    position: fixed;
    right: 0;
    bottom: 10px;
    display: block;
    z-index: 10;
}
.pc_lineCta a:hover {
    filter: brightness(1.06);
}
.pc_lineCta img {
    width: 90px;
}
@media screen and (max-width: 767px) {
    .pc_lineCta {
        display: none;
    }
}
/* 20250410追記 */