@charset "utf-8";
/* CSS Document */


/* header
   ========================================================================== */
header{
	position: relative;
}

header .inner{
	padding-top: 8vw;
	padding-bottom: 6vw;
}

header h1{
	padding-right: 10vw;
	font-size: 4vw;
	line-height: 170%;
	color: #fff;
}

header h1 .big{
	margin: 4vw 0 0;
	display: block;
	font-size: 2em;
	line-height: 120%;
	color: inherit;
}

header .talk{
	margin: 6vw 0 0;
	padding-right: 16vw;
}

header .bg_blue .inner{
	padding-top: 6vw;
	padding-bottom: 6vw;
}

header .bg_blue .text{
	padding-left: 8vw;
	font-size: 4vw;
	color: #fff;
	font-weight: bold;
	position: relative;
}

header .bg_blue .text::before{
	content: "";
	background: #377DC4;
	width: 4vw;
	height: 96%;
	position: absolute;
	left: 0;
	bottom: 0;
	border-radius: 3px;
}

header .bg_blue .big{
	color: inherit;
	font-size: 1.8em;
}

header .bg_blue .text .yen{
	width: 12vw;
	vertical-align: bottom;
}

header .bg_blue .box{
	margin: 3vw 3vw 0 0;
	padding: 2vw 2vw 1vw;
	display: inline-block;
	border: 2px solid #fff;
	color: inherit;
	border-radius: 3px;
}

header .bg_blue .small{
	margin: 4vw 0 0;
	font-size: 2vw;
	color: #fff;
}


/* know
   ========================================================================== */
.know{
	position: relative;
}

.know h2{
	margin: 0 0 5vw;
	text-align: center;
	font-size: 5vw;
	line-height: 150%;
	color: #565656;
}


/* member
   ========================================================================== */
.member{
	margin: 6vw 0 10vw;
	position: relative;
}

.member .inner{
	padding-top: 8vw;
	padding-bottom: 6vw;
}

.member ul{
	margin: 0 0 0;
	text-align: center;
}

.member ul li{
	margin: 8vw 0 0;
}

.member ul li:first-child{
	margin: 0 0 0;
}

.member ul li .photo{
	margin: auto;
	width: 40%;
}

.member ul li h3{
	margin: 4vw 0 0;
	font-size: 5vw;
}

.member ul li h3 .small{
	font-size: .7em;
}

.member ul li p{
	margin: 4vw 0 0;
}


/* diagnosis
   ========================================================================== */
.diagnosis .photo_list{
	margin: 8vw 0 0;
	text-align: center;
}

.diagnosis .photo_list li{
	margin: 6vw 0 0;
	padding: 2vw;
	border: 2px solid #377DC4;
	line-height: 0;
}

.diagnosis .photo_list li:first-child{
	margin: 0 0 0;
}

.diagnosis .price_text{
	margin: 8vw 0 0;
}

.diagnosis .price_text p{
	font-size: 6.5vw;
	font-weight: bold;
}

.diagnosis .price_text p .big{
	margin-top: 6vw;
	font-size: 2.0em;
	display: inline-block;
}


/* operation
   ========================================================================== */
.operation .pc{
	display: none;
}

.operation .photo{
	margin: 6vw auto;
	text-align: center;
	max-width: 520px;
}


/* cv
   ========================================================================== */
.cv{
	padding: 8vw 0;
	background: #FF5313;
	text-align: center;
}

.cv .inner{
	padding: 0 10vw;
}

.cv .illust{
	margin: auto;
	width: 35%;
	max-width: 200px;
}

.cv h2{
	margin: 6vw 0 0;
	font-size: 4vw;
	line-height: 170%;
	color: #fff;
}

.cv h2 .text{
	font-size: 4vw;
	line-height: 170%;
	color: #fff;
	display: block;
}

.cv h2 .box{
	margin: 4vw auto 7vw;
	padding: 3vw 0;
	font-size: 4vw;
	line-height: 170%;
	color: #FF5313;
	background: #fff;
	display: block;
}

.cv h2 .dot{
	color: inherit;
	display: inline-block;
	position: relative;
}

.cv h2 .dot::before{
	content: "・";
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: -4vw;
}

.cv .yellow_text{
	margin: 8vw 0 0;
	font-size: 3.5vw;
	line-height: 170%;
	font-weight: bold;
	color: #FFEE56;
}

.cv .yellow_text .size{
	color: inherit;
	position: relative;
	display: inline-block;
}

.cv .yellow_text .big1{
	font-size: 4em;
	color: inherit;
}

.cv .yellow_text .big2{
	font-size: 2em;
	color: inherit;
}

.cv .yellow_text .size::before,
.cv .yellow_text .size::after{
	content: "";
	background: #FFEE56;
	width: 1.5vw;
	height: 100%;
	position: absolute;
	bottom: -1vw;
	border-radius: 10px;
}

.cv .yellow_text .size::before{
	left: -10vw;
	transform: rotate(-35deg);
}

.cv .yellow_text .size::after{
	right: -10vw;
	transform: rotate(35deg);
}

.cv .btn{
	margin: 6vw 0 0;
}

.cv .btn a{
	padding: 7px;
	display: block;
	background: #fff;
	border-radius: 100px;
	box-shadow: 0 0 10px rgba(0,0,0,.3);
}

.cv .btn a span{
	padding: 5vw 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #377DC4;
	font-size: 5vw;
	line-height: 150%;
	color: #fff;
	font-weight: bold;
	border-radius: 100px;
	position: relative;
	transition: .3s;
}

.cv .btn a span::after{
	content: "";
	background: url("../images/common/chevron-right-light.svg") no-repeat center center;
	background-size: 100%;
	width: 3vw;
	height: 4vw;
	position: absolute;
	margin: auto;
	top: 0;
	bottom: 0;
	right: 3vw;
}
	
.cv .btn a:hover span{
	background: #00FFED;
}


/* message
   ========================================================================== */
.message{
	text-align: center;
}


/* footer
   ========================================================================== */
footer{
	/*margin: 10vw 0 15vw;*/
	margin: 10vw 0 0;
}

footer address{
	padding: 4vw 1vw;
	font-size: 2.5vw;
	line-height: 150%;
	font-weight: bold;
	font-style: italic;
	color: #377DC4;
	text-align: center;
}

footer .link{
	padding: 4vw 1vw;
	border-top: 4px solid #377DC4;
	text-align: center;
}

footer .link a{
	font-size: 2.5vw;
	line-height: 150%;
	text-align: center;
	display: inline-block;
}


/* company_page
   ========================================================================== */
.company_page header{
	border-top: 4px solid #377DC4;
	border-bottom: 4px solid #377DC4;
}

.company_page header .inner{
	padding: 0;
}

.company_page header h1{
	padding: 3vw 3vw;
	box-sizing: border-box;
}

.company_page header h1 a{
	display: block;
	width: 60%;
	line-height: 0;
}

.company_page header h1 a img{
	width: 100% !important;
}

.company_page header p{
	padding: 3vw 3vw;
	font-size: 4vw;
	font-weight: bold;
	color: #377DC4;
	border-top: 3px solid #E5E5E5;
}

.company_page header p span{
	color: inherit;
}

.company_info .inner{
	padding: 10vw 3vw 0;
}

.company_message .inner{
	padding: 15vw 3vw 0;
}

.company_message h2{
	display: block;
	width: 40%;
	line-height: 0;
}

.company_message .border_box{
	margin: 3vw 0 0;
	padding: 15vw 4vw;
	border: 1px solid #D1D1D1;
	border-radius: 8px;
	position: relative;
}

.company_message .border_box .item{
	position: absolute;
	top: -22vw;
	right: 5vw;
	width: 40vw;
}

.company_message .border_box .icon_text{
	padding: 10vw 0 0;
	background: url("../images/company/icon.png") no-repeat center top;
	background-size: 7vw;
	text-align: center;
	font-size: 4.2vw;
	font-weight: bold;
	line-height: 150%;
}

.company_message .border_box .text{
	margin: 8vw 0 0;
	text-align: left;
	font-size: 3.3vw;
}


@media screen and (min-width : 500px){


	/* diagnosis
	   ========================================================================== */
	.diagnosis .photo_list li{
		margin: 4vw 0 0;
		padding: 1vw;
	}

	
	/* cv
	   ========================================================================== */
	.cv .btn a span{
		padding: 3vw 0;
	}


	/* footer
	   ========================================================================== */
	footer{
		/*margin: 10vw 0 8vw;*/
		margin: 10vw 0 0;
	}

	footer .link{
		padding: 4vw 1vw;
	}
	
	footer .link a{
		font-size: 2.3vw;
	}
 

	/* company_page
	   ========================================================================== */
	.company_page header .inner{
		padding: 0;
	}
	
	.company_page header h1{
		padding: 2vw 2vw;
	}
	
	.company_page header h1 a{
		width: 40%;
	}
	
	.company_page header p{
		padding: 2vw 2vw;
		font-size: 2.3vw;
	}
	
	.company_info .inner{
		padding: 7vw 2vw 0;
	}
	
	.company_message .inner{
		padding: 15vw 2vw 0;
	}
	
	.company_message h2{
		width: 25%;
	}
	
	.company_message .border_box{
		margin: 2vw 0 0;
		padding: 5vw 4vw;
	}
	
	.company_message .border_box .item{
		top: -12vw;
		right: 5vw;
		width: 28vw;
	}
	
	.company_message .border_box .icon_text{
		padding: 0 0 0 6vw;
		background: url("../images/company/icon.png") no-repeat left 4vw;
		background-size: 3vw;
		text-align: left;
		font-size: 2.5vw;
	}
	
	.company_message .border_box .text{
		margin: 4vw 0 0 6vw;
		text-align: left;
		font-size: 2.3vw;
	}
	
	.company_message p .sp{
		display: none;
	}
	
	.company_message p .pc{
		display: block;
	}
   

}
@media screen and (min-width : 768px){


	/* header
	   ========================================================================== */
	header{
		position: relative;
	}
	
	header .inner{
		padding-top: 100px;
		padding-bottom: 40px;
	}
	
	header h1{
		padding-right: 0;
		font-size: 26px;
	}
	
	header h1 .big{
		margin: 25px 0 0;
	}
	
	header .talk{
		margin: 30px 0 0;
		padding-right: 0;
		width: 484px;
	}

	header .bg_blue .inner{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	header .bg_blue .text{
		padding-left: 70px;
		font-size: 26px;
	}
	
	header .bg_blue .text::before{
		width: 20px;
		height: 96%;
	}
	
	header .bg_blue .big{
		font-size: 50px;
	}
	
	header .bg_blue .text .yen{
		width: 77px;
		vertical-align: bottom;
	}
	
	header .bg_blue .box{
		margin: 30px 25px 0 0;
		padding: 20px 20px 10px;
	}
	
	header .bg_blue .small{
		margin: 35px 0 0;
		font-size: 15px;
	}


	/* know
	   ========================================================================== */
	.know.content{
		margin: 65px 0 80px;
	}

	.know h2{
		margin: 0 0 25px;
		font-size: 30px;
	}


	/* member
	   ========================================================================== */
	.member{
		margin: 0 0 100px;
		position: relative;
	}
	
	.member .inner{
		padding-top: 65px;
		padding-bottom: 60px;
	}
	
	.member ul{
		margin: 0 0 0;
		font-size: 0;
	}
	
	.member ul li{
		margin: 0 0 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: 32%;
	}
	
	.member ul li:first-child{
		margin: 0 0 0;
	}
	
	.member ul li:nth-child(2){
		margin: 0 2% 0;
	}
	
	.member ul li .photo{
		margin: auto;
		width: 80%;
	}
	
	.member ul li h3{
		margin: 25px 0 0;
		font-size: 24px;
	}
	
	.member ul li h3 .small{
		font-size: .7em;
	}
	
	.member ul li p{
		margin: 20px 0 0;
	}


	/* diagnosis
	   ========================================================================== */
	.diagnosis .photo_list{
		margin: 65px 0 0;
		font-size: 0;
		display: flex
	}
	
	.diagnosis .photo_list li{
		margin: 0 0 0;
		padding: 10px;
		display: inline-flex;
		vertical-align: top;
		box-sizing: border-box;
		justify-content: center;
		align-items: center;
		width: 48%;
	}
	
	.diagnosis .photo_list li:nth-child(2n+1){
		margin-right: 4%;
	}
	
	.diagnosis .price_text{
		margin: 55px 0 0;
	}
	
	.diagnosis .price_text p{
		font-size: 26px;
	}
	
	.diagnosis .price_text p .big{
		margin-top: 50px;
		font-size: 80px;
	}


	/* operation
	   ========================================================================== */
	.operation .sp{
		display: none;
	}
	
	.operation .pc{
		display: inline-block;
	}
	
	.operation .photo{
		margin: 60px auto 40px;
		max-width: none;
	}


	/* cv
	   ========================================================================== */
	.cv{
		padding: 60px 0 45px;
	}
	
	.cv .inner{
		padding: 0 80px;
		position: relative;
	}

	.cv .illust{
		margin: auto;
		width: 24%;
		max-width: none;
		position: absolute;
		top: 0;
		right: 80px;
	}
	
	.cv h2{
		margin: 0 0 0;
		font-size: 20px;
		width: 65%;
	}
	
	.cv h2 .text{
		font-size: 20px;
	}
	
	.cv h2 .box{
		margin: 20px auto 30px;
		padding: 20px 0;
		font-size: 20px;
	}
	
	.cv h2 .dot::before{
		top: -22px;
	}
	
	.cv .yellow_text{
		margin: 50px 0 0;
		font-size: 18px;
	}
	
	.cv .yellow_text .big1{
		font-size: 4em;
	}
	
	.cv .yellow_text .big2{
		font-size: 2em;
	}
	
	.cv .yellow_text .size::before,
	.cv .yellow_text .size::after{
		width: 10px;
		height: 80px;
		bottom: -10px;
	}
	
	.cv .yellow_text .size::before{
		left: -60px;
	}
	
	.cv .yellow_text .size::after{
		right: -60px;
	}
	
	.cv .btn{
		margin: 30px auto 0;
		width: 65%;
	}
	
	.cv .btn a span{
		padding: 20px 0;
		font-size: 26px;
	}
	
	.cv .btn a span::after{
		width: 10px;
		height: 30px;
		right: 20px;
	}


	/* footer
	   ========================================================================== */
	footer{
		/*margin: 100px 0 10vw;*/
		margin: 100px 0 0;
	}
	
	footer address{
		padding: 0 0 50px;
		font-size: 13px;
	}
    

}
@media screen and (min-width : 769px){


	/* header
	   ========================================================================== */
	header{
		position: relative;
	}
	
	header .inner{
		padding-top: 100px;
		padding-bottom: 40px;
	}
	
	header h1{
		padding-right: 0;
		font-size: 30px;
	}
	
	header h1 .big{
		margin: 35px 0 0;
	}
	
	header .talk{
		margin: 50px 0 0;
		padding-right: 0;
		width: 484px;
	}

	header .bg_blue .inner{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	
	header .bg_blue .text{
		padding-left: 70px;
		font-size: 26px;
	}
	
	header .bg_blue .text::before{
		width: 20px;
		height: 96%;
	}
	
	header .bg_blue .big{
		font-size: 50px;
	}
	
	header .bg_blue .text .yen{
		width: 77px;
		vertical-align: bottom;
	}
	
	header .bg_blue .box{
		margin: 30px 25px 0 0;
		padding: 20px 20px 10px;
	}
	
	header .bg_blue .small{
		margin: 35px 0 0;
		font-size: 15px;
	}


	/* member
	   ========================================================================== */
	.member{
		margin: 0 0 100px;
	}
	
	.member .inner{
		padding-top: 65px;
		padding-bottom: 60px;
	}
	
	.member ul{
		font-size: 0;
	}
	
	.member ul li{
		margin: 0 0 0;
		display: inline-block;
		vertical-align: top;
		box-sizing: border-box;
		width: 29.2%;
	}
	
	.member ul li:nth-child(2){
		margin: 0 4.8% 0;
	}
	
	.member ul li .photo{
		margin: auto;
		width: 220px;
	}
	
	.member ul li h3{
		margin: 25px 0 0;
		font-size: 30px;
	}
	
	.member ul li h3 .small{
		font-size: 20px;
	}
	
	.member ul li p{
		margin: 20px 0 0;
		line-height: 150%;
	}


	/* diagnosis
	   ========================================================================== */
	.diagnosis .photo_list{
		margin: 65px 0 0;
		font-size: 0;
		display: flex
	}
	
	.diagnosis .photo_list li{
		margin: 0 0 0;
		display: inline-flex;
		vertical-align: top;
		box-sizing: border-box;
		justify-content: center;
		align-items: center;
		width: 44.6%;
	}
	
	.diagnosis .photo_list li:nth-child(2n+1){
		margin-right: 10.8%;
	}

	.diagnosis .photo_list li img{
		width: 100% !important;
	}
	
	.diagnosis .price_text{
		margin: 55px 0 0;
	}
	
	.diagnosis .price_text p{
		font-size: 28px;
		letter-spacing: 0.25em;
	}
	
	.diagnosis .price_text p .big{
		margin-top: 50px;
		font-size: 82px;
	}
	
	.diagnosis .price_text p:nth-child(2){
		font-size: 38px;
	}


	/* cv
	   ========================================================================== */
	.cv{
		padding: 115px 0 65px;
	}
	
	.cv .inner{
		padding: 0 87px;
		position: relative;
	}

	.cv .illust{
		width: 252px;
		right: 87px;
	}
	
	.cv h2{
		margin: 0 0 0;
		font-size: 20px;
		width: 550px;
	}
	
	.cv h2 .text{
		font-size: 27px;
	}
	
	.cv h2 .box{
		margin: 25px auto 50px;
		padding: 20px 0;
		font-size: 30px;
	}
	
	.cv h2 .dot::before{
		top: -25px;
		font-size: 15px;
	}
	
	.cv .yellow_text{
		margin: 75px 0 0;
		font-size: 27px;
	}
	
	.cv .yellow_text .big1{
		font-size: 80px;
	}
	
	.cv .yellow_text .big2{
		font-size: 40px;
	}
	
	.cv .yellow_text .size::before,
	.cv .yellow_text .size::after{
		width: 10px;
		height: 80px;
		bottom: -10px;
	}
	
	.cv .yellow_text .size::before{
		left: -60px;
	}
	
	.cv .yellow_text .size::after{
		right: -60px;
	}
	
	.cv .btn{
		margin: 30px auto 0;
		width: 550px;
	}

	.cv .btn a{
		padding: 7px;
	}
	
	.cv .btn a span{
		padding: 26px 0;
		font-size: 30px;
	}
	
	.cv .btn a span::after{
		width: 14px;
		height: 30px;
		right: 32px;
	}


	/* footer
	   ========================================================================== */
	footer{
		margin: 100px 0 0;
	}
	
	footer address{
		padding: 0 0 50px;
		font-size: 13px;
	}

	footer .link{
		padding: 35px 0;
		border-top: 8px solid #377DC4;
	}
	
	footer .link a{
		font-size: 16px;
	}
	
	footer .link a:hover{
		text-decoration: underline;
	}
 

	/* company_page
	   ========================================================================== */
	.company_page header{
		border-top: 8px solid #377DC4;
		border-bottom: 8px solid #377DC4;
	}
	
	.company_page header .inner{
		padding: 0;
	}
	
	.company_page header h1{
		padding: 30px 0;
	}
	
	.company_page header h1 a{
		width: 400px;
	}
	
	.company_page header p{
		padding: 15px 0;
		font-size: 30px;
		border-top: 6px solid #E5E5E5;
	}
	
	.company_info .inner{
		padding: 80px 0 0;
	}
	
	.company_message .inner{
		padding: 140px 0 0;
	}
	
	.company_message h2{
		width: 245px;
	}
	
	.company_message .border_box{
		margin: 40px 0 0;
		padding: 35px 30px 55px;
	}
	
	.company_message .border_box .item{
		top: -142px;
		right: 65px;
		width: 290px !important;
	}
	
	.company_message .border_box .icon_text{
		padding: 0 0 0 75px;
		background: url("../images/company/icon.png") no-repeat left 10px;
		background-size: 38px;
		font-size: 20px;
	}
	
	.company_message .border_box .text{
		margin: 35px 0 0 75px;
		font-size: 20px;
	}


}