@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#main {
    margin: 0 auto 188px;
}

.mainVisual {
	margin: 0 auto 120px;
    min-height: 680px;
    background: url("../img/index/main_visual.jpg") no-repeat center center;
	background-size:100%;
	background-size: cover;
}

.mainVisual .subBox {
	position: relative;
	margin: 0 auto;
    width: 1100px;
    height: 650px;
}

.ttlBox {
	position: absolute;
	right: 68px;
	top: 108px;
}

.ttlBox h2 {
	margin: 0;
	letter-spacing: 2px;
	font-size: 3.8rem;
	color: #fff;
	font-weight: normal;
	writing-mode: horizontal-tb;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	-webkit-writing-mode: horizontal-tb;
	-webkit-writing-mode: vertical-rl;  
	-webkit-writing-mode: tb-rl; 
}

.ttlBox h2 .span01{
	-webkit-writing-mode:horizontal-tb;
	-ms-writing-mode:lr-tb;
	writing-mode:horizontal-tb;
	font-size: 4.2rem;
	letter-spacing: 0;
}

.ttlBox h2 .span02{
	font-size: 2.3rem;
	display: block;
	line-height: 1.91;
	margin-right: 40px;
	margin-top: 70px;
	height: 100%;
}

#conts .sec01 {
	margin-bottom: 124px;
}

#conts .sec01 span:first-child{
	font-size: 1.4rem;
}

#conts .sec02 {
	margin-bottom: 122px;
}

#conts .sec02 ul{
	display: flex;
	justify-content: space-around;
	margin-bottom: 117px;
}

#conts .sec02 li {
	width: 200px;	
}

#conts .sec02 li .circle{
	width: 200px;
	height: 200px;
	background: #3d9cdc;
	border-radius: 100px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.0rem;
	letter-spacing: 2px;
	font-weight: normal;
	margin-bottom: 20px;
}

#conts .sec02 .banner{
	position: relative;
}

#conts .sec02 .banner img{
	width: 100%;
}

#conts .sec02 .banner .txt01{
	position: absolute;
	top: 48px;
	left: 255px;
	font-size: 2.4rem;
}

#conts .sec02 .banner .txt01 .hb{
	display: block;
	font-size: 1.1rem;
	color: #3d9cdc;
	margin-top: 10px;
}

#conts .sec03{
	margin-bottom: 120px;
	
}

#conts .sec03 ul{
	display: flex;
	justify-content: space-around;
}

#conts .sec03 ul li{
	width: 220px;
}

#conts .sec03 li .photo{
	margin-bottom: 22px;
}

#conts .sec03 li .ttl {
	font-size: 2.0rem;
	text-align: center;
	margin-bottom: 25px;
}

#conts .sec03 li .ttl span{
	margin-top: 8px;
	font-size: 1.1rem;
	display: block;
	color: #3d9cdc;
}

#conts .sec03 li .txt{
	margin-bottom: 22px;
}

#conts .sec04 {
	margin-bottom: 123px;
}

#conts .sec04 .doctorInfo{
	position: relative;
	margin-bottom: 70px;
}

#conts .sec04 .doctorInfo .doctor{
	position: absolute;
	top: 90px;
	left: 115px;
}

#conts .sec04 .doctorInfo .position{
	font-size: 2.0rem;
	padding-left: 46px;
	margin-bottom: 13px;
}

#conts .sec04 .doctorInfo .name{
	font-size: 3.0rem;
	display: flex;
	align-items: center;
}

#conts .sec04 .doctorInfo .name .hb{
	font-size: 1.1rem;
	margin-left: 27px;
	letter-spacing: 0;
}

#conts .sec04 .doctorInfo .photo{
	text-align: right;
	margin-right: 112px;
}

#conts .sec04 .msg{
	font-size: 2.3rem;
	margin-bottom: 50px;
}

#conts .sec04 .msg .ttl{
	margin-bottom: 45px;
	letter-spacing: 2px
}

#conts .sec05 iframe{
	width: 100%;
	height: 335px;
	margin-bottom: 28px;
}

#conts .sec05 .comTxtDl01{
}


@media all and (max-width: 767px) {
	#main {
		margin: 0 auto 105px;
	}

	.mainVisual {
		min-height: 250px;
		margin: -116px auto 77px;
		height: 250px;
		padding: inherit;
		background: url("../img/index/sp_main_visual.jpg") no-repeat center center;
	}

	.mainVisual .subBox {
		position: relative;
		margin: 0 auto;
		width: 100%;
		height: 100%;
	}

	.ttlBox {
		position: absolute;
		left: 250px;
		top: 20px;
	}

	.ttlBox h2 {
		margin: 0;
		letter-spacing: 2px;
		font-size: 1.9rem;
	}

	.ttlBox h2 .span01{
		font-size: 2.0rem;
		letter-spacing: 0;
	}

	.ttlBox h2 .span02{
		font-size: 1.2rem;
		display: block;
		letter-spacing: 1px;
		line-height: 1.91;
		margin-right: 17px;
		margin-top: 30px;
		height: 100%;
	}
	
	#conts .sec01 {
		margin-bottom: 90px;
	}

	#conts .sec01 span:first-child{
		font-weight: normal;
	}
	#conts .sec01 .comTxtUl01 li{
		border-bottom: 1px dashed #e5e5e5;
		padding: 22px 0px 20px;
	}

	#conts .sec01 .comTxtUl01 li p{
		display: block;
	}

	#conts .sec01 .comTxtUl01 li p span{
		line-height: 1.625;
	}

	#conts .sec01  .comTxtUl01 .txtSpan01{
		font-weight: bold;
		display: block;
		box-sizing: border-box;
		width: 100%;
	}

	#conts .sec01 .comTxtUl01 .txtSpan02{
		display: block;
	}
	#conts .sec02 {
		margin-bottom: 88px;
	}

	#conts .sec02 ul{
		display: block;
		margin-bottom: 37px;
		width: 100%;
	}

	#conts .sec02 li {
		width: 100%;
		display: flex;
	}

	#conts .sec02 li .circle{
		width: 130px;
		height: 130px;
		text-align: center;
		box-sizing: border-box;
		font-size: 1.8rem;
		line-height: 1.38;
		letter-spacing: 2px;
		font-weight: normal;
		margin-bottom: 12px;
		flex: none;
		margin-right: 23px;
	}

	#conts .sec02 .circleUl li:first-child .circle{
		padding-top: 5px;
	}
	
	#conts .sec02 li .txt{
		display: flex;
		align-items: center;
	}
	
	#conts .sec02 .banner{
		position: relative;
	}

	#conts .sec02 .banner img{
		width: 100%;
	}

	#conts .sec02 .banner .txt01{
		position: absolute;
		top: 35%;
		left: 40%;
		font-size: 1.8rem;
	}

	#conts .sec02 .banner .txt01 .hb{
		font-size: 0.9rem;
		margin-top: 5px;
	}

	#conts .sec03{
		margin-bottom: 84px;

	}

	#conts .sec03 ul{
		display: block;
	}

	#conts .sec03 ul li{
		width: 100%;
	}

	#conts .sec03 li .photoBox{
		margin-bottom: 27px;
		display: flex;
	}
	
	#conts .sec03 li .photo{
		margin-bottom: 0;
		width: 40%;
		margin-right: 18px;
	}

	#conts .sec03 li .txtBox{
		width: 60%;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	
	#conts .sec03 li .ttl {
		font-size: 1.8rem;
		text-align: left;
		margin-top: 5px;
		margin-bottom: 18px;
	}

	#conts .sec03 li .ttl span{
		margin-top: 0;
		margin-left: 14px;
		font-size: 0.9rem;
		display: inline;
		vertical-align: middle;
	}

	#conts .sec03 li .comBtn01 a{
		line-height: 2.1;
		width: 100%;
		height: 35px;		
	}
	
	#conts .sec03 li .txt{
		padding-bottom: 29px;
		margin-bottom: 30px;
		border-bottom: 1px dashed #e5e5e5;
	}

	#conts .sec04 {
		margin-bottom: 84px;
	}

	#conts .sec04 .doctorInfo{
		position: relative;
		margin-bottom: 53px;
	}

	#conts .sec04 .doctorInfo .doctor{
		position: absolute;
		top: 30px;
		left: 47px;
		letter-spacing: 2px;
	}

	#conts .sec04 .doctorInfo .position{
		font-size: 1.3rem;
		padding-left: 0;
		display: flex;
		justify-content: center;
		margin-bottom: 8px;
	}

	#conts .sec04 .doctorInfo .name{
		font-size: 1.9rem;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	#conts .sec04 .doctorInfo .name .hb{
		font-size: 0.9rem;
		margin-left: 0;
		letter-spacing: 0;
		margin-top: 10px;
	}

	#conts .sec04 .doctorInfo .photo{
		text-align: right;
		margin-right: 38px;
	}

	#conts .sec04 .doctorInfo .photo img{
		width: 126px;
	}
	
	#conts .sec04 .msg{
		font-size: 1.7rem;
		margin-bottom: 40px;
	}

	#conts .sec04 .msg .ttl{
		margin-bottom: 35px;
		letter-spacing: 0;
		font-weight: bold;
	}

	#conts .sec05 iframe{
		height: 165px;
		margin-bottom: 34px;
	}
	
}