@charset "UTF-8";

/* sec2
---------------------------------------------------------*/
#sec2 .w1200{
	padding-top: 120px;
	padding-bottom: 150px;
}
#sec2 .doc_list1 > li{
	border-bottom: 1px solid #ccc;
	padding-bottom: 120px;
	margin-bottom: 120px;
}
#sec2 .doc_list1 > li:last-child{
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}


#sec2 .prof1{
	position: relative;
}
#sec2 .prof1 .img{
	position: absolute;
	top:0;
	right: -13%;
	width: 63%;
	max-width: 750px;
	background: #ccc;
	z-index: -2;
}
#sec2 .prof1 .txt{
	width: 100%;
	max-width: 725px;
	padding-top: 20px;
}
#sec2 .prof1 .txt .name{
	position: relative;
	text-align: center;
	margin: 0 auto 80px 0;
	width: min(45rem,40vw);
}
#sec2 .prof1 .txt .name::before{
	position: absolute;
	display: block;
	content: "";
	background: url("../images/doctor/abs01.svg")no-repeat top center;
	background-size: 100% auto;
	width: 100%;
	max-width: 540px;
	height: 330px;
	top: 65%;
	transform: translateY(-50%);
	left: 0;
	right: 0;
	margin: 0 auto;
	aspect-ratio: 540 / 330;
}
#sec2 .dr2 .prof1 .txt .name::before{
	background-image: url("../images/doctor/abs02.svg");
}
#sec2 .prof1 .txt .name h3{
	font-size: min(145%,2.5vw);
	line-height: 2.5em;
}
#sec2 .prof1 .txt .name h3 span{
	font-size: 200%;
	letter-spacing: 0.1em;
}
#sec2 .prof1 .txt .name .ft_bi{
	font-size: min(120%,2.2vw);
	letter-spacing: 0.15em;
	line-height: 1em;
}
#sec2 .prof1 .txt dl dt{
	font-size: min(250%,4vw);
	letter-spacing: .05em;
	line-height: 1.7em;
	margin-bottom: .8em;
}

#sec2 .prof2{
	margin-top: 70px;
}
#sec2 .prof2 .img_l{
	width: 41%;
	max-width: 480px;
	background: #ccc;
	float: left;
}
#sec2 .prof2 .txt_r{
	width: 55%;
	float: right;
}

#sec2 .reki_box{
	margin-top: 70px;
	background: rgba(249,248,246,0.9);
	border-radius: 30px;
	padding: 50px 5%;
	box-sizing: border-box;
}
#sec2 .reki_box .flexbox > div{
	width: 44%;
}
#sec2 .reki_box .flexbox > div:nth-child(2){
	width: 23%;
}
#sec2 .reki_box .flexbox > div:nth-child(3){
	width: 29%;
}
#sec2 .reki_box .flexbox h4{
	font-size: min(120%,2.2vw);
	line-height: 1em;
	margin-bottom: .7em;
}
#sec2 .reki_box .flexbox li{
	font-size:90%;
	line-height: 1.4em;
	position: relative;
	padding-left: 1.5em;
	box-sizing: border-box;
	margin-bottom: .5em;
}
#sec2 .reki_box .flexbox li::before{
	position: absolute;
	display: block;
	content: "／";
	top:0;
	left: 0;
	color: #f76f00;
}
#sec2 .reki_box .flexbox li.noicon::before{
	display: none
}
#sec2 .dr2 .reki_box .flexbox li::before{
	color: #005fad;
}
#sec2 .reki_box .flexbox li:last-child{
	margin-bottom: 0;
}
#sec2 .reki_box .flexbox li dl{
	display: flex;
    justify-content: space-between;
}
#sec2 .reki_box .flexbox li dl dt{
	width: 4em;
}
#sec2 .reki_box .flexbox li dl dd{
	width: calc(100% - 5em);
}
#sec2 .reki_box p{
	font-size: min(115%,2.2vw);
	text-align: center;
	line-height: 1.5em;
	margin-top: 2.2em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec2 .w1200{
	padding-top: 10%;
	padding-bottom: 10%;
}
#sec2 .doc_list1 > li{
	padding-bottom: 10%;
	margin-bottom: 10%;
}

#sec2 .prof1 .img{
	right: -5%;
	width: 60%;
}
#sec2 .prof1 .txt{
	padding-top: 7vw;
}
#sec2 .prof1 .txt .name{
	margin: 0 auto 7vw 0;
}
#sec2 .prof1 .txt .name::before{
	height: 30vw;
}
#sec2 .prof1 .txt .name h3{
	line-height: 2.3em;
}
#sec2 .prof1 .txt dl dt{
	line-height: 1.6em;
	margin-bottom: .5em;
}

#sec2 .prof2{
	margin-top: 5%;
}
#sec2 .prof2 .img_l{
	margin-right: 4%;
	margin-bottom: 1rem;
}
#sec2 .prof2 .txt_r{
	width: 100%;
	float: none;
}

#sec2 .reki_box{
	margin-top: 5%;
	border-radius: 20px;
	padding: 4%;
}
#sec2 .reki_box .flexbox > div{
	width: 44%;
}
#sec2 .reki_box .flexbox > div:nth-child(2){
	width: 23%;
}
#sec2 .reki_box .flexbox > div:nth-child(3){
	width: 29%;
}
#sec2 .reki_box .flexbox h4{
	margin-bottom: .6em;
}
#sec2 .reki_box .flexbox li{
	font-size: 88%;
	letter-spacing: normal;
	padding-left: 1.3em;
}
#sec2 .reki_box .flexbox li dl dt{
	width: 3.5em;
}
#sec2 .reki_box .flexbox li dl dd{
	width: calc(100% - 4.5em);
}
#sec2 .reki_box p{
	margin-top: 1.5em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec2 .w1200{
	padding-top: 12%;
	padding-bottom: 12%;
}
#sec2 .doc_list1 > li{
	padding-bottom: 12%;
	margin-bottom: 12%;
}

#sec2 .prof1 .img{
	position: static;
	width: 85%;
	margin: 0 auto;
}
#sec2 .prof1 .txt{
	width: 100%;
	max-width: 100%;
	padding-top: 5%;
}
#sec2 .prof1 .txt .name{
	margin: 0 auto 7%;
	width: 80%;
}
#sec2 .prof1 .txt .name::before{
	height: 50vw;
	top: 65%;
}
#sec2 .prof1 .txt .name h3{
	font-size: 110%;
	line-height: 2.1em;
}
#sec2 .prof1 .txt .name h3 span{
	font-size: 180%;
}
#sec2 .prof1 .txt .name .ft_bi{
	font-size:100%;
}
#sec2 .prof1 .txt dl dt{
	font-size: 150%;
	line-height: 1.6em;
	margin-bottom: .3em;
}

#sec2 .prof2{
	margin-top: 5%;
}
#sec2 .prof2 .img_l{
	width: 60%;
	float: none;
	margin: 0 auto 5%;
}
#sec2 .prof2 .txt_r{
	width: 100%;
	float: none;
}

#sec2 .reki_box{
	margin-top: 5%;
	border-radius: 20px;
	padding: 5%;
}
#sec2 .reki_box .flexbox{
	display: block;
}
#sec2 .reki_box .flexbox > div{
	width: 100%!important;
	margin-bottom: 8%;
}
#sec2 .reki_box .flexbox > div:last-child{
	margin-bottom: 0;
}
#sec2 .reki_box .flexbox h4{
	font-size:105%;
	margin-bottom: .5em;
}
#sec2 .reki_box .flexbox li{
	font-size:88%;
	letter-spacing: normal;
	padding-left: 1.3em;
}
#sec2 .reki_box .flexbox li dl dt{
	width: 3.5em;
}
#sec2 .reki_box .flexbox li dl dd{
	width: calc(100% - 4.5em);
}
#sec2 .reki_box p{
	font-size: 110%;
	text-align: left;
	margin-top: 1.5em;
}
}




/* sec3
---------------------------------------------------------*/
#sec3{
	margin-bottom: 150px;
}
#sec3 .dr_slider{
	margin-bottom: 70px;
}
#sec3 .dr_slider .swiper-slide{
	width: 100vw;
	max-width: 1620px;
}
#sec3 .com_lead{
	margin-bottom: 0;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
#sec3{
	margin-bottom: 10%;
}
#sec3 .dr_slider{
	margin-bottom: 5%;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
#sec3{
	margin-bottom: 12%;
}
#sec3 .dr_slider{
	margin-bottom: 7%;
}
#sec3 .dr_slider .swiper-slide{
	width: 150vw;
}
}