.subf_view_inner {
	background:url(../images/mens/bg_mens.jpg) no-repeat center / cover;
}

.h_title {
	color:#4C5E65;
}

.h_title::after {
	background:#8AABB8;
}

.maru_list li::before {
	background:#8AABB8;
}

/* --- about --- */

.about {
	position: relative;
	margin-bottom:125px;
}

.about::before {
	content:"";
	display:block;
	width:55%;
	max-width:1060px;
	height:70%;
	background:#E1E7E9;
	position:absolute;
	left:0;
	top:196px;
	z-index:1;
}

.about h2 {
	font-size:2.5rem;
	margin-bottom:1.8em;
	line-height:1.5em;
}

.ab_txt {
	width:49%;
	max-width:585px;
	position: relative;
	z-index:2;
	margin:140px 0 70px;
	padding-top:60px;
}

.ab_txt p {
	margin-bottom:1em;
	line-height:2em;
}

.ab_txt p strong {
	font-size:1.6rem;
	line-height:2em;
}

.ab_bg {
	position:absolute;
	right:0;
	top:140px;
	width:54%;
	max-width:1030px;
}

.abo_child {
	border:2px solid #000;
	padding:48px 100px 54px;
	width:77%;
	max-width:916px;
	margin:0 auto;
	position:relative;
	z-index:3;
}

.abo_child h3 {
	font-size:1.8rem;
	margin-bottom:1.5em;
}

.merit {
	margin-bottom:2.815em;
}

.merit .maru_list {
	width:49%;
}

/* --- diagnosis --- */

.diagnosis {
	padding:90px 0 130px;
	background:#E1E7E9;
	margin-bottom:150px;
}

.diagnosis h1.h_title {
	font-size:4rem;
	font-weight:300;
	padding-bottom:0.5em;
	margin-bottom:2em;
	line-height:1.2em;
}

.diagnosis h1.h_title::after {
	width:1.2em;
}

.type {
	position:relative;
	padding:0 20px 0 14%;
	width:50%;
}

.type h2 {
	font-size:3rem;
	margin-bottom:0.4em;
}

.face {
	position:absolute;
	left:20px;
	top:45px;
	width:22%;
	max-width:130px;
	text-align:center;
}

.face figcaption {
	font-size:2rem;
	display: inline-block;
	padding:0 0.3em 0.5em;
	margin-top:0.8em;
	background: linear-gradient(transparent 45%, #EBEBB7 45%);
}

.type_txt {
	padding:40px 30px;
	border-radius:5px;
	position:relative;
	margin-bottom:60px;
}

.type_txt::before {
	content:"";
	display: block;
	width:33px;
	height:27px;
	background:url(../images/common/tri_white.svg) no-repeat center right / contain;
	position:absolute;
	right:99%;
	top:70px;
}

.type_txt dl {
	margin-bottom:2.2em;
}

.type_txt dt,
.type_txt dd {
	padding:0.5em 0;
	border-bottom:1px solid #8AABB8;
	line-height:1.875em;
}

.type_txt dt {
	width:3em;
}

.type_txt dd {
	width:calc(100% - 3em);
}

.type_txt h3.h_title {
	font-size:1.6rem;
	color:#000;
	font-weight:500;
	padding-bottom:0.6em;
	margin-bottom:1.5em;
}

.type_txt h3.h_title::after {
	width:2.5em;
}

.type02 .eye {
	margin:0 15px;
}

.eye figcaption {
	margin-top:1em;
	line-height:1.2em;
}


/* --- flow --- */

.flow {
	margin-bottom:110px;
}

.flow .h_title {
	margin-bottom:1.5em;
}

.step {
	width:24%;
	max-width:284px;
	padding-top:20px;
	margin-bottom:40px;
}

.step figure {
	position:relative;
}

.step figcaption {
	position:absolute;
	left:2%;
	bottom:88%;
}

.step h2 {
	margin:1em 0 1.2em;
	font-weight:700;
	font-size:1.8rem;
}

.step p {
	line-height:2.185em;
}

/* --- menu --- */

.menu {
	margin-bottom:100px;
}

.menu .h_title {
	margin-bottom:1.2em;
}

.menu .inner {
	max-width:918px;
}

.menu p {
    margin-bottom: 1em;
    line-height: 2.185em;
}

.menu .tex_ce {
	text-align: center;
	padding-bottom: 30px;
}

.menu_list {
	margin-bottom:3em;
	border: 2px solid #e1e7e9;
	padding: 25px 35px;
}

.menu_list .p_ex {
	margin:1.2em 0 0 0;
	padding:1.2em 0 0 0;
	border-top:2px solid #D1D1D1;
	position:relative;
}

.menu_list .p_ex::after {
	content:"";
	display: block;
	width:32%;
	height:2px;
	background:#8AABB8;
	position:absolute;
	top:-2px;
	left:0;
}

.menu_list h2 {
	line-height:2.185em;
}

.menu_list .menutime {
	margin-right:4.5em;
}


/* --- prepaid --- */

.menu_list .prepaid {
	margin-right:4.5em;
}

.menu_list .content {
	padding-bottom: 5px;
}

.menu_list .discount {
	color: #e56085;
}

.menu_list .expiration {
	margin:1.2em 0 0 0;
	padding:1.2em 0 0 0;
	border-top:2px solid #D1D1D1;
	position:relative;
	text-align: center;
}



@media screen and (max-width:960px){

	.type {
		width:100%;
		padding:0 0 0 21%;
	}

	.face {
		width:17%;
		left:10px;
	}

	.type_txt::before {
		top:60px;
	}

	.step {
		width:48%;
		max-width:100%;
	}

	.step figure img {
		width:100%;
		height:100%;
		object-fit: cover;
	}

	.step figure {
		width:100%;
	}

	.step figcaption {
		bottom:90%;
	}

}

/* ---------  ver.SmartPhone ------------ */

@media screen and (max-width:768px){

	.ab_bg {
		position:relative;
		right:auto;
		top:auto;
		width:91.25vw;
		margin:0 0 0 auto;
		height:47.5vw;
	}

	.ab_bg img {
		width:100%;
		height:100%;
		object-fit: cover;
	}

	.about {
		background:linear-gradient(#fff 0%, #fff 10%,#E1E7E9 10%, #E1E7E9 82%, #fff 82%, #fff 100%);
		margin-bottom:8.75vw;
	}

	.about::before {
		display:none;
	}

	.ab_txt {
		width:100%;
		max-width:100%;
		margin:7.5vw 0;
		padding-top:0;
	}

	.about h2 {
		font-size:5vw;
		text-align:center;
	}

	.ab_txt p strong {
		font-size:3.5vw;
	}

	.abo_child {
		width:100%;
		max-width:100%;
		padding:8vw 5vw 8.75vw;
	}

	.merit .maru_list {
		width:100%;
	}

	.abo_child h3 {
		font-size:4.5vw;
	}

	.maru_list li {
		font-size:4vw;
	}

	.merit .maru_list:not(:last-of-type){
		margin-bottom:1em;
	}

	.diagnosis {
		padding:8.75vw 0 11.25vw;
		margin-bottom:10vw;
	}

	.diagnosis h1.h_title {
		font-size:6.25vw;
		line-height:1.4em;
		margin-bottom:1.2em;
	}

	.type {
		padding:0;
		margin-bottom:7.5vw;
	}

	.type h2 {
		font-size:6.25vw;
		text-align:center;
		margin-bottom:5vw;
	}

	.face {
		width:25vw;
		margin:0 auto;
		position:relative;
		left:auto;
		top:auto;
		z-index:3;
	}

	.face figcaption {
		font-size:3.5vw;
	}

	.type_txt {
		padding:25vw 5vw 7.5vw;
		margin-top:-21.25vw;
		margin-bottom:0;
		border-radius:1.25vw;
	}
	.type_txt::before {
		display:none;
	}

	.type_txt dt {
		font-size:4vw;
	}

	.type_txt dt,
	.type_txt dd {
		padding:4vw 0;
		line-height:6.25vw;
	}

	.type_txt dd {
		font-size:3.5vw;
		width:calc(100% - 3.5em);
	}

	.type_txt h3.h_title {
		 font-size:4vw;
	}

	.eye {
		width:22.75vw;
	}

	.eye figcaption {
		font-size:3.5vw;
	}

	.type02 .eye {
		margin:0 3.5vw;
	}

	.type:last-of-type {
		margin-bottom:0;
	}

	.flow {
		margin-bottom:11.25vw;
	}

	.flow .h_title {
		margin-bottom:0.2em;
	}

	.step {
		width:100%;
		padding-top:8.75vw;
		margin-bottom:2vw;
	}

	.step figure {
		height:63.5vw;
	}

	.step figcaption {
		width:23.25vw;
		bottom:93%;
	}

	.step h2 {
		font-size:4vw;
	}

	.menu {
		margin-bottom:11.25vw;
	}

	.menu .h_title {
		margin-bottom:0.5em;
	}

	.menu_list:not(:last-of-type) {
		margin-bottom:1.5em;
	}

	.menu_list h2 {
		width:100%;
		font-size:3.5vw;
		line-height:1.6em;
		margin-bottom:0.5em;
	}

	.menu_list .menutime,
	.menu_list .menuprice {
		font-size:3.5vw;
	}

	.menu_list .menutime {
		margin-right:3.5em;
	}

	.menu_list .p_ex {
		line-height:2em;
		margin:1em 0 0 0;
		padding:1em 0 0 0;
	}

	.menu_list .p_ex::after {
		width:45%;
	}




}
