@charset "UTF-8";

/*矯正した方が良い理由：共通
---------------------------------------------------------*/
.rea_first {
	position: relative;
	margin-bottom: 80px;
}

.rea_first::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 1px;
	background: #b0b0bf;
	left: 0;
	bottom: 0;
}
.rea_link {
	margin-top: 60px;
	width: 80%;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.rea_link li {
	width: 49%;
	max-width: 340px;
}
.rea_link li a {
	display: block;
	background: #fff;
}
.rea_link li.otona a:hover {
	background: #dcecfb;
}
.rea_link li.kodomo a:hover {
	background: #f5dddd;
}

.rea_lead {
	color: #534741;
	font-size: 220%;
	font-weight: bold;
	letter-spacing: .1em;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 70px;
}

.rea_float {
	margin-top: 60px;
}
.rea_float:first-of-type {
	margin-top: 0;
}
.rea_float .img_l,
.rea_float .img_r {
	width: 38%;
	max-width: 450px;
}
.rea_float .txt_l,
.rea_float .txt_r {
	width: 59%;
	max-width: 700px;
	box-sizing: border-box;
}
.rea_float .img_l {float: left;}
.rea_float .img_r {float: right;}
.rea_float .txt_l {float: left;}
.rea_float .txt_r {float: right;}

.rea_style1 dt,
.rea_style1 dd {
	padding-left: 35px;
}
.rea_style1 dt {
	padding-top: 35px;
	position: relative;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-style: normal;
	color: #534741;
	font-size: 170%;
	letter-spacing: .05em;
	line-height: 1.8em;
	margin-bottom: .6em;
}
.rea_style1 dt::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 140px;
	height: 140px;
	left: 0;
	top: 0;
	background: url("../images/circle@2x.png") no-repeat left top;
	background-size: contain;
}

.reason .com_second_box {
	padding-top: 0;
}
.rea_bg_index {
	width: 100%;
	background-color: #b0b0bf;
	background-image: url("../images/adult/bg1@2x.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: auto 100%;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
	font-style: normal;
	color: #fff;
	font-size: 270%;
	letter-spacing: .05em;
	line-height: 1.4em;
	box-sizing: border-box;
	padding: 90px 3%;
	margin-bottom: 120px;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.rea_first {
	margin-bottom: 6%;
}

.rea_link {
	margin-top: 6%;
}

.rea_lead {
	font-size: 180%;
	line-height: 1.6em;
	margin-bottom: 8%;
}

.rea_float {
	margin-top: 6%;
}
.rea_float .img_l,
.rea_float .img_r {
	width: 45%;
	margin-bottom: 1.0em;
}
.rea_float .txt_l,
.rea_float .txt_r {
	width: 100% !important;
	max-width: 100% !important;
	float: none;
}
.rea_float .img_l {margin-right: 3%;}
.rea_float .img_r {margin-left: 3%;}
	
.rea_style1 dt,
.rea_style1 dd {
	padding-left: 0;
}
.rea_style1 dt {
	width: 52%;
	padding-top: 20px;
	font-size: 150%;
	letter-spacing: normal;
	line-height: 1.6em;
	margin-bottom: .4em;
}
.rea_float .txt_l dt {
	float: left;
}
.rea_float .txt_r dt {
	float: right;
}

.rea_bg_index {
	background-position: -20vw center;
	font-size: 220%;
	padding: 9% 3%;
	margin-bottom: 10%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.rea_first {
	margin-bottom: 10%;
}

.rea_link {
	margin-top: 8%;
	width: 100%;
	max-width: 100%;
}

.rea_lead {
	font-size: 130%;
	letter-spacing: .05em;
	line-height: 1.6em;
	margin-bottom: 12%;
}

.rea_float {
	margin-top: 8%;
}
.rea_float .img_l,
.rea_float .img_r {
	width: 70% !important;
	margin: 0 auto;
	float: none !important;
}
.rea_float .txt_l,
.rea_float .txt_r {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

.rea_style1 dt,
.rea_style1 dd {
	padding-left: 0;
}
.rea_style1 dt {
	padding-top: 1.0em;
	font-size: 130%;
	letter-spacing: normal;
	line-height: 1.6em;
	margin-bottom: .4em;
}
.rea_style1 dt::before {
	width: 30%;
	left: -5%;
}

.rea_bg_index {
	background-position: -30vw center;
	font-size: 160%;
	letter-spacing: normal;
	padding: .8em 0;
	margin-bottom: 10%;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}