@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);*/
	backdrop-filter: blur(5px);
	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{line-height: 0;}
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;}

.kyusin {margin: 40px 20px;
    background: #f8f8f8;
    padding: 40px 30px 30px 30px;
    position: relative;}

.kyusin p{
	letter-spacing: 0.1em;
	line-height: 1.85;}
.kyusin p:not(:last-child){margin-bottom: 20px;}

.kyusin:before{
	
	font-size: 2.28em;
	letter-spacing: 0.1em;
	position: absolute;
	top: -25px;
	left: 30px;}

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

.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;
	margin-top: 3em;}

.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(../img/top/intro_img01.jpg)no-repeat;
	background-size: cover;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);}

.top .intro .catch{
	font-size: 1.8em;
	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 h3 span{
    font-size: 1.1rem;
    font-weight: 500;
}
.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(../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%;

}



/*-----------*/

.dr2_box {
    display: flex;
    align-items: flex-end;
}

.msg2 {
    margin: 0;
}

/*-----------*/


/*--------*/

/*
header .logo-txt {
    position: absolute;
    top: 76%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 1.5em;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.5;
    padding: 30px;
    color: #fff;
    border: 5px solid;
    text-shadow: 3px 3px 0px rgb(0 0 0 / 30%);
    z-index: 10;
    text-shadow: 5px black;
    z-index: 10;
}
*/

header .logo-txt {
   position: absolute;
    top: 76%;
    left: 50%;
    transform: translate(-50%,-50%);
    font-size: 1.3em;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.7;
    padding: 23px 30px 30px;
    color: #fff;
    /* border: 5px solid; */
    /* text-shadow: 3px 3px 0px rgb(0 0 0 / 30%); */
    z-index: 10;
    text-shadow: 5px black;
    z-index: 10;
    /* background: #222; */
    margin-top: 30px;
  
	    background-color: rgba(254, 129, 124,0.8);
    border: 8px double;
}


.yoyaku_area{
	text-align: center;
	margin-bottom: 40px;
	border-top: 1px solid;
	padding-top: 40px;
}
.yoyaku_area .txt{
	font-size: 26px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 3px;
}

.yoyaku_area span{
	    border-bottom: 3px solid red;
    color: red;
}

.flex-btn2{
	width: 700px;
	margin: auto;
}


.top-info-txt {
    font-size: 2.14em;
    font-weight: bold;
    letter-spacing: 0.2em;
    line-height: 2;
    text-align: center;
       margin: 3rem 0 0rem;
}

.top-info-txt span {
    border-bottom: 3px solid red;
	color: red;
}

.logo-txt span {
    font-size: 2rem;
}

/*目黒医院TOP修正*/

.about-txt {
    margin: 50px auto;
}

/*目黒医院TOP修正*/



.sub-iin-box {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.sub-iin {
    width: 45%;
}

.sub-iin img {
    width: 100%;
}

.sub-iin-bnt {
    padding: 15px 80px !important;
}




/*--------*/


.yoyaku_fuyo p{
	font-size: 20px;
}

.yoyaku_area2 {
    text-align: center;
    margin-bottom: 60px;
    border-top: none;
    padding-top: 40px;
    background: #ffeecb;
    padding-bottom: 40px;
}


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

}
}

/* painless_area----------------*/
.top .painless_area{
	padding: 80px 0;
/*	background: #f8f8f8;*/
}

.top .painless_area h3{
	text-align: center;
	font-size: 1.57em;
	letter-spacing: 0.2em;
	padding: 10px 0;
	border-bottom: 3px double;
	margin-bottom: 30px;}

.top .painless_area ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 40px;}

.top .painless_area ul li{
	flex-basis:200px;
	margin: 20px;
	counter-increment: num;}

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

.top .painless_area ul li .photo{
	line-height: 0;
	position: relative;
	margin-bottom: 20px;}

.top .painless_area 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 .painless_area h4{
	font-size: 1.214em;
	letter-spacing: 0.2em;
	margin-bottom: 10px;}

.top .painless_area .txt{
	letter-spacing: 0.15em;
	line-height: 2;
	text-align: justify;}

.top .painless_area .fee{
	text-align: center;
	letter-spacing: 0.15em;
	line-height: 2;}

.top .painless_area .fee span{
	display: inline-block;
	background: #fff;}


/*sec-features*/

.sec-features{ padding-top: 9rem; z-index: 0; margin-bottom: 8rem; }
.sec-features .deco-en{ top: 0; right: calc(-50vw + 49.5rem) }
.sec-features h2{ margin-bottom: 6rem; }
.sec-features ol li{ position: relative; z-index: 0; color: #fff; padding: 9rem 40rem 3.6rem 0; min-height: 30rem; }
.sec-features ol li + li{ margin-top: 1.2rem; }
.sec-features ol li:before{ content: ''; width: calc(50vw + 50rem); height: 100%; background-color: #ffffff;
background-image: linear-gradient(90deg, #ffffff 0%, #e8e8e8 100%);
 position: absolute; right: 0; top: 0; z-index: -1; }
.sec-features ol li:nth-of-type(even):before{ background-color: #ffffff;
background-image: linear-gradient(90deg, #ffffff 0%, #e8e8e8 100%); }
.sec-features ol li:after{ content: ''; width: 35rem; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center; position: absolute; top: 0; right: 0; }
.sec-features ol li:nth-of-type(1):after{ background-image: url(../img/top/features01.jpg); }
.sec-features ol li:nth-of-type(2):after{ background-image: url(../img/top/features02.jpg); }
.sec-features ol li:nth-of-type(3):after{ background-image: url(../img/top/features03.jpg); }
.sec-features ol li:nth-of-type(4):after{ background-image: url(../img/top/features04.jpg); }
.sec-features ol li .no{ width: 9.4rem; height: 6.8rem; background: #fe2201; font-size: 4rem; line-height: 1; color: #fbfbfb; position: absolute; top: 0; left: 0; display: flex; justify-content: center; padding-top: 1rem; }
.sec-features ol li .no:after{ content: ''; width: 0; height: 0; border-style: solid; border-width: 0 4.7rem 1.4rem 4.7rem; border-color: transparent transparent #fafafa transparent; position: absolute; bottom: 0; left: 0; }
.sec-features ol li:nth-of-type(even) .no{ color: #fbfbfb; }
.sec-features ol li:nth-of-type(even) .no:after{ border-color: transparent transparent #fbfbfb transparent; }
.sec-features ol li h3{ font-size: 1.8rem; margin-bottom: 1rem; color: #000; }
.sec-features ol li p{ color: #000; }
.sec-features ol + .btn{ margin-left: auto; }


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

footer .list .tit{
	flex-basis: 100%;
	background: #111;
	color: #fff;
	font-size: 1.42em;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-align: center;
	padding: 10px;
	margin-bottom: 50px;}

footer .list_box{
	flex-basis: calc(100%/3 - 20px);
	margin-bottom: 30px;
}

footer .list_box li{
	font-size: 0.92em;
	letter-spacing: 0.1em;
	margin-bottom: 5px;}

footer .list_box li a:before{
	content: "\f0da";
	font-family: "Font Awesome 5 free";
	font-weight: bold;
	color: #aaa;
	margin-right: 5px;}

footer .list_box li a:hover{text-decoration: underline;}

@media screen and (max-width:768px){
    
footer .list_box{
	flex-basis: 100%;
}
}

/*side-img-new*/
.side-img-new {display: flex;justify-content: space-between;margin: 40px 0;flex-wrap: wrap;}
.side-img-new .content-new {width: 48%;padding: 0px;margin: 0;}
.side-img-new .content-new h3{margin-top: 0;}
.side-img-new .content-new h3 + h4{font-size: 1.2rem; margin-top: 2rem; margin-bottom: 2rem;}
.side-img-new .img-new {width: 48%;}
.side-img-new .img-new img {width: 100%;}


.txt-box{
    padding: 2rem;
    text-align: left;
}
.sec-price .bg01 {
    width: 100vw;
    height: 45rem;
    background: url(../images/common/treatment-bg01.jpg) no-repeat top center/max(100%, 120rem);
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}
.sec-price .first-price{ background: rgba(255, 255, 255, .95); padding: 3rem 5rem 5rem; position: relative; bottom: 3rem;margin-top: 10rem;}
.sec-price .first-price:after{ content: ''; width: calc(100% - 10rem); height: .6rem; border-top: solid 1px; border-bottom: solid 1px; box-sizing: border-box; position: absolute; bottom: 5rem; left: 50%; transform: translateX(-50%); }
.sec-price .first-price h3{ font-size: 2.2rem; text-align: center; position: relative; margin-bottom: 2.4rem; }
.sec-price .first-price h3 .inner{ display: inline-block; padding-left: 3rem; background: url("../images/common/icon-first01.svg") no-repeat left .5rem center/1.33rem; }
.sec-price .first-price h3 span[class^="border"]{ display: inline-block; position: absolute; top: 50%; transform: translateY(-50%); height: .6rem; border-top: solid 1px; border-bottom: solid 1px; }
.sec-price .first-price h3 .border-left{ left: 0; }
.sec-price .first-price h3 .border-right{ right: 0; }
.sec-price .first-price h3 + p{ text-align: center; margin-bottom: 2.4rem; }
.sec-price .first-price h3 + p strong{ font-size: 1.5rem; font-weight: 700; color: #ff2201; line-height: 1; }
.sec-price .first-price h3 + p small{ font-size: 1.2rem; }

.sec-flow{ margin-bottom: 10rem; }
.sec-flow h2{ margin-bottom: 4rem; }
.sec-flow .flow-list{ counter-reset: flow; margin-bottom: 4rem; }
.sec-flow .flow-list li{ display: flex; justify-content: space-between; align-items: flex-start; }
.sec-flow .flow-list li + li{ margin-top: 4rem; }
.sec-flow .flow-list li .txt{ width: 40rem; }
.sec-flow .flow-list li .txt h3{ font-size: 2rem; padding-left: 3.8rem; position: relative; margin-bottom: 1rem; }
.sec-flow .flow-list li .txt h3:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; border-radius: 100%; background:#ff2201; font-size: 1.8rem; color: #fff; line-height: 1; letter-spacing: 0; display: flex; justify-content: center; align-items: center; position: absolute; left: 0; top: .2rem; }
.sec-flow .flow-list li img{ border-radius: 9rem; }

.wrap {
    width: 70rem;
    margin: 0 auto;
    position: relative;
}


main section ol.flow{ counter-reset: flow; margin: 5rem 0; }
main section ol.flow li{ position: relative; line-height: 2; }
main section ol.flow li + li{ margin-top: 4rem; }
main section ol.flow li.has-img{ padding-right: 40rem; }
main section ol.flow li strong:first-of-type{ position: relative; padding-left: 4rem; display: block; margin-bottom: 1.2rem; font-size: 2rem; font-weight: bold; letter-spacing: .05em; line-height: 1.6; }
main section ol.flow li strong:first-of-type:before{ counter-increment: flow; content: counter(flow); width: 3rem; height: 3rem; box-sizing: border-box; background: #ff2201; border-radius: 1.5rem; display: flex; justify-content: center; align-items: center; font-size: 1.8rem; color: #fff; letter-spacing: 0; position: absolute; left: 0; top: 0; }
main section ol.flow li img{ width: 35rem; position: absolute; top: 0; right: 0; }

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

/*sec-clinic2*/
.sec-clinic2 { background: url(../img/index/policy-bg01.jpg) no-repeat center/cover; padding: 8.4rem 0 10rem; position: relative; margin: 0 calc(50% - 50vw);
  width: 100vw;}
.sec-clinic2  .img01{ width: calc(40vw - 6rem); height: 44rem; border-radius: 27rem 0 0 27rem; background: url(../img/index/treatment01.jpg) no-repeat center/cover; position: absolute; top: -5rem; right: 0; }
.sec-clinic2  h2{ margin-bottom: 3.5rem; }
.sec-clinic2   h3{ max-width: 40rem; margin-bottom: 3.6rem; }
.sec-clinic2   p{ max-width: 40rem; margin-bottom: 3.6rem; }


.sub .block2{display:flex; justify-content: space-between; margin-bottom: 40px;}
.sub .block2 > *:first-of-type{margin-right: 40px;}
.sub .block2 .txt{flex-grow: 1;}
.sub .block2 .txt p{text-align: justify; line-height: 1.8; letter-spacing: 0.06em;}
.sub .block2 .txt p + h3,
.sub .block2 .txt p + h4{margin-top: 40px;}
.sub .block2 .txt p + p{margin-top: 1em;}
.sub .block2 .photo{flex-grow: 0;}
.sub .block2 .photo p{line-height: 0; overflow: hidden;}
.sub .block2 .txt img{ width: 90%; }

p.case-before{text-aline:center; color:#FFFFFF; background-color: #111; width:90%; margin: 0; padding-left: 145px; margin-top: 10px;}
p.case-after{ text-aline:center; color:#FFFFFF; background-color: #111; width:90%; margin: 0; padding-left: 150px; margin-top: 10px;}
.case table{width: 90%; margin: 0 auto 70px; border-collapse: collapse;}
.case table.sp-break th{width: 25%;}
.case table.sp-break td{width: 75%;}
.sp-break{}

/* news----------------*/
.top .news_area{
    width: 1000px;
    border: 2px solid;
    margin: 50px auto;
    padding: 40px;
    border-color:#ff2200;}
.top .news_area strong{font-size: 1.2rem;}
.top .news_area h2 + p{
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.85;}

.sec-banner{
    margin-bottom: 5rem;
}
.sec-banner .flex-banner{
    display: flex;
    justify-content: space-around;
}
.flex-banner + .flex-banner{
    margin-top: 2rem;
}


/*  news-------------------------------------*/
.top .news{
	background: #f8f8f8;
	padding: 50px 0;}

.top .news section{
	display: flex;
	justify-content: space-between;}

.top .news section > div{
	flex-basis: calc(50% - 10px);
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	overflow: hidden;}

.top .news section h3{
	font-size: 1.42em;
	letter-spacing: 0.1em;
	border-left: #ea3e25 2px solid;
	flex-basis: 100%;
	flex-grow: 0;
	flex-shrink: 0;
	padding-left: 10px;
	margin-bottom: 15px;}

.top .news ul{
	flex-basis: 100%;
	flex-grow: 1;
	height: 100%;
	background: #fff;
	padding: 25px;}

.top .news ul li:not(:last-child){margin-bottom: 15px;}

.top .news .closed ul{letter-spacing: 0.1em;}
.top .news .closed ul a{
	display: block;
	margin-top: 5px;}
.top .news .closed ul a:hover{color: #aaa;}

.top .news .date h4{
	flex-basis: 100%;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
	position: relative;
	z-index: 1;
	color:#FF2201;}

.top .news .date h4 span{
	background: #fff;
	padding-right: 20px;}

.top .news .date h4:after{
	content: "";
	width: 100%;
	height: 1px;
	background: #cfcfcf;
	position: absolute;
	left: 0;
	top: 50%;
	z-index: -1;}

.top .news .date li{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;}

.top .news .date p{
	line-height: 2;
	letter-spacing: 0.1em;}

/*  concept-------------------------------------*/

.top .concept{padding: 70px 0;}

.top .concept h2 span{
	display: block;
	font-size: 1.28rem;
	font-weight: normal;}

.top .concept_in{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;}

.top .concept_box{
	flex-basis: calc(100%/3 - 20px);
	background: #f8f8f8;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	counter-increment: concept;
	position: relative;}

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

.top .concept_box .txt:before{
	content: counter(concept);
	display: block;
	color: #888;
	font-size: 3.28rem;
	position: absolute;
	top: -0.9em;}


.top .concept_box .photo{
	flex-grow: 0;
	line-height: 0;}
.top .concept_box img{width:100%;}


/*  concept-------------------------------------*/
.top .doctor{
	background: #f8f8f8;
	padding: 80px 0;}

.top .doctor h2 span{
	display: block;
	font-size: 1.28rem;
	font-weight: normal;}

.top .doctor_in{
	display: flex;
	align-items: flex-end;}

.top .doctor_in .photo{margin-right: 40px;}

.top .doctor_in .message{
	line-height: 2;
	letter-spacing: 0.1em;}

.top .doctor_in .message p:not(:last-child){margin-bottom: 1em;}

.top .doctor_in .message .name{
	font-weight: bold;
	font-size: 1.24em;
	text-align: right;}


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


/*  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%);}

/*  recruit-------------------------------------*/
/*.top .recruit{
	padding: 70px 0;
	background: url(https://www.setaden.com/css/img/top/recruit_bg.jpg) no-repeat;
	background-size: cover;
	text-align: center;}

.top .recruit h3{
	font-size: 1.57em;
	letter-spacing: 0.2em;
	margin-bottom: 30px;}

.top .recruit p{
	line-height: 2;
	letter-spacing: 0.2em;}

footer .info{
	padding: 60px 0;
	text-align: center;}

footer .info .tel{
	font-size: 2.14em;
	font-weight: bold;
	letter-spacing: 0.15em;}

footer .info .tel + p{letter-spacing: 0.1em;}

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

footer .list .tit{
	flex-basis: 100%;
	background: #111;
	color: #fff;
	font-size: 1.42em;
	font-weight: bold;
	letter-spacing: 0.2em;
	text-align: center;
	padding: 10px;
	margin-bottom: 50px;}

footer .list_box{
	flex-basis: calc(100%/3 - 20px);
	margin-bottom: 30px;}

footer .list_box label{
	font-size: 1.14em;
	letter-spacing: 0.2em;
	display: block;
	padding-bottom: 5px;
	border-bottom: 3px double #222;
	margin-bottom: 15px;
}

footer .list_box input{display: none;}

footer .list_box li{
	font-size: 0.92em;
	letter-spacing: 0.1em;
	margin-bottom: 5px;}

footer .list_box li a:before{
	content: "\f0da";
	font-family: "Font Awesome 5 free";
	font-weight: bold;
	color: #aaa;
	margin-right: 5px;}

footer .list_box li a:hover{text-decoration: underline;}

footer .nav{
	text-align: center;
	margin-bottom: 30px;}
footer .nav li{
	display :inline-block;
	vertical-align: middle;
	letter-spacing: 0.1em;}

footer .nav li:not(:last-child):after{
	content: "-";
	display: inline-block;
	margin: 0 10px;
	letter-spacing: 0;}

.copy{
	text-align: center;
	background: #111;
	color: #fff;
	font-size: 0.85em;
	letter-spacing: 0.2em;
	padding: 10px;}

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

/*  sub--------------------------------------------------------------------------*/
header.sub {
	height: 350px;
	overflow: hidden;
	position: relative;}

header.sub .logo{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-30%);}

.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 p:not([class]){
	line-height: 2;
	letter-spacing: 0.1em;
	text-align: justify;
	margin-bottom: 30px;}

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

.sub table th,
.sub table td{
	text-align: left;
	padding: 10px 15px;
	vertical-align: middle;}

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

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




.sub .box_02 {
    width: 46%;
    float: left;
    margin: 0 15px;
    box-sizing: border-box;
}
.sub .box_02 .box_01{
	margin-bottom:0;
}
.btn02{text-align: center;}
.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;
}

#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%;
	margin: 0 auto;
    padding: 10px;
    box-sizing: border-box;
}




/* 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;}
.facility_box p{
	background: #FFF;
}
.top .facility_in .facility_box p{
	line-height: 1.85;
	letter-spacing: 0.1em;}

.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%;
height:auto;}

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

.top .facility_in .facility_box p{
	    background: rgba(255,255,255,0.6);
    padding: 3px;
}

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



/* news----------------*/
.top .news_area{
    width: 1000px;
    border: 2px solid;
    margin: 50px auto;
    padding: 40px;
    border-color:#ff2200;}
.top .news_area strong{font-size: 1.2rem;}
.top .news_area h2 + p{
    text-align: center;
    letter-spacing: 0.1em;
    line-height: 1.85;}

.sec-banner{
    margin-bottom: 5rem;
    margin-top: 10rem;
}
.sec-banner .flex-banner{
    display: flex;
    justify-content: space-around;
}
.flex-banner + .flex-banner{
    margin-top: 2rem;
}
.doctor section{margin-bottom: 5rem;}
.sekoukai-logo {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 90;
	width: 100px;
}
/*240911追記*/
.top_blank_link{text-decoration: underline;}
.top_blank_link:hover{text-decoration: none;}
footer .foot-bg .sitemap ul.footer_clinic li a{font-weight:normal;}
.footer_clinic li:not(.footer_clinic_ttl):not(.child)::before{content: '-';position: absolute;left: 0;}
.footer_clinic li:not(.footer_clinic_ttl):not(.child){position:relative;padding-left: 1em;}
@media screen and (max-width: 767px) {
footer .foot-bg .sitemap ul.footer_clinic li{border-bottom: none !important;}
footer .foot-bg .sitemap ul.footer_clinic{border-top: solid 1px #4d4d4d;}
footer .foot-bg .sitemap ul.footer_clinic li a{font-size: 12px;padding-left: 1em;}
body.clinic footer .foot-bg .sitemap ul.footer_clinic li:not(.footer_clinic_ttl) {padding:0;margin-top: 0;width: 96px;}
footer .foot-bg .sitemap ul.footer_clinic{padding-bottom: 20px;border-bottom: solid 1px #4d4d4d;}
footer .foot-bg .sitemap ul.footer_clinic .child{display: flex;}
footer .foot-bg .sitemap ul.footer_clinic .child ul+ul{margin-left: 30px;}
}
@media screen and (max-width: 767px) {
body.clinic .c-map__img iframe {object-fit: contain; width: 100%; height: 100%;margin-bottom: 20px;}}

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

}
/*top　googleカレンダー*/
.top .news_area .calendar{margin: 0 auto;}
.top .news_area .calendar iframe{width: 45%; height: 400px;}
/* 20241111end */
/*241210追記*/
.sec-doctor.shiodome-doctor .sec-doctor__inner{padding: 40px 0 80px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dt{background-color: #111; color: #fff; padding: 5px 20px; display: inline-block; font-size: 18px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dt h3{font-weight: 500;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dd .doctor_name{color: #ff2201; font-size: 63px; line-height: 1.3; text-align: left; font-weight: bold; margin-bottom: 20px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dd{margin-top: 10px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history{position: relative; padding-bottom: 30px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history dl{display: grid; grid-template-columns: 100px 1fr; grid-gap: 10px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history dt{font-weight: 700; position: relative; padding-left: 20px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history dt:before{content: ""; display: block; position: absolute; margin: auto; height: 1px; width: 10px; background-color: #ff2201; top: 10px; left: 0;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history:after{content: ""; display: block; margin: auto; background-image: url(/img/add/pic_doctor01.webp); background-repeat: no-repeat; background-size: cover; background-position: center center;}
.sec-doctor.shiodome-doctor .sec-doctor__profile{padding: 50px; background-color: #fff;letter-spacing: 0.1em;line-height: 1.85;}
.sec-doctor.shiodome-doctor .doctor_box{padding: 0 0 80px;}
.sec-doctor.shiodome-doctor .doctor_box .btn a{border-radius:unset !important; width: 220px; height: 40px; display: flex; align-items: center; color: #fff; padding-left: 18px; margin: 30px auto 0 ;}

.sec-doctor.shiodome-doctor .sec-doctor_hd .profile_txt{display: flex;}
.sec-doctor.shiodome-doctor .sec-doctor_hd .sec-doctor__item-name{margin: 40px 0 0 30px;}
.sec-doctor.shiodome-doctor .sec-doctor_cm{padding: 70px 0 60px;}

@media screen and (max-width: 767px) {
.sec-doctor.shiodome-doctor .sec-doctor__item-history{padding-bottom: 25px; display: flex; flex-wrap: wrap; flex-direction: column-reverse;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history dl{margin-top: 25px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-history:after{width: 62vw; height: 72vw; background-position: top center;}
.sec-doctor.shiodome-doctor .sec-doctor__profile{padding: 25px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name, body.clinic .sec-doctor.shiodome-doctor .sec-doctor__item-name dd .doctor_name{text-align: center;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dt{padding: 2px 10px; font-size: 16px; line-height: 1.8;min-width: 300px}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dd .doctor_name{font-size: 30px;}

.sec-doctor.shiodome-doctor .sec-doctor_hd .profile_txt{flex-direction: column-reverse; align-items: center;}
.sec-doctor.shiodome-doctor .sec-doctor__inner {padding: 0px 40px;}
.sec-doctor.shiodome-doctor .sec-doctor__item-name dt h3 {font-weight: 500;font-size: 90%;}
.sec-doctor.shiodome-doctor .sec-doctor_hd .sec-doctor__item-name {margin: 0;}
}
/*241210追記*/

/* 250610追記 */
@media screen and (max-width: 599px) {
	.concept_box .txt:before {
		top: -1.1em;
	}
}
/* 250610追記 END */

/* 251209追記 */
.top .treatment ul {
	display: block;
}
.top .treatment ul li {
	margin: auto
}
.top .treatment ul li img {
	width: 44.5px;
}
@media screen and (max-width: 599px) {
	.top .treatment ul li {
		flex-basis: auto!important;
        margin: auto!important;
        margin-bottom: 10px!important;
	}
}
/* 251209追記 END */

/* 260522 追記 */
@media (max-width: 1340px) and (min-width: 600px) {
	nav ul {
		margin-left: 70px;
	}
}

.sec-payment {
	padding: 5rem 0;
	text-align: center;
}
.sec-payment__text {
	margin-bottom: 30px;
}
.sec-payment__card-box {
	display: inline-block;
	border: 1px solid #d0e4f5;
	border-radius: 10px;
	padding: 24px 40px 28px;
	background: #f5faff;
	min-width: 320px;
}
.sec-payment__card-title {
	font-weight: bold;
	color: #1a2e5a;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.sec-payment__card-dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	background: #3a7bd5;
	border-radius: 50%;
	flex-shrink: 0;
}
.sec-payment__card-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.sec-payment__card-list li img {
	height: 40px;
	width: auto;
	display: block;
}
@media screen and (max-width: 767px) {
	.sec-payment__card-box {
	padding: 20px 20px 24px;
	min-width: unset;
	width: 90%;
	}
	.sec-payment__card-list {
	gap: 12px;
	flex-wrap: wrap;
	}
}
/* 260522 追記 END */


