@charset "UTF-8";

/*共通きょ
---------------------------------------------------------*/
/*fst_tit*/
.fst_tit{
	font-size: min(235.3%,3.75vw);
	letter-spacing: 0.2em;
	line-height: 1em;
}
.fst_tit .ft_hero_m{
	font-size: 175%;
	letter-spacing: 0.3em;
	line-height: 1em;
	margin-bottom: 0.6em;
}
.fst_tit .ft_zen_m{
	display: flex;
	align-items: center;
}
.fst_tit .ft_zen_m h2{
	font-weight: 500;
	margin-right: 0.75em;
}
.fst_tit .ft_zen_m p{
	font-size: 45%;
	letter-spacing: 0.2em;
	line-height: 1em;
	text-align: center;
	color: #e69300;
	max-width: 300px;
	width: 16.6667em;
	padding: 1.2em 0;
	box-sizing: border-box;
	border-radius: 1.7em;
	border: 1px solid #e69300;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.fst_tit{
    letter-spacing: 0.1em;
}
.fst_tit .ft_hero_m{
	letter-spacing: 0.25em;
}
.fst_tit .ft_zen_m p{
	letter-spacing: 0.15em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.fst_tit{
	font-size: 165%;
    letter-spacing: 0.05em;
    text-align: center;
    margin-bottom: 0.5em;
}
.fst_tit .ft_hero_m{
	letter-spacing: 0.2em;
	margin-bottom: 4vw;
}
.fst_tit .ft_zen_m{
	display: block;
}
.fst_tit .ft_zen_m h2,
.fst_tit .ft_zen_m p{
	margin-top: 2vw;
	margin: 3vw auto 0;
}
.fst_tit .ft_zen_m p{
	font-size: 50%;
	letter-spacing: 0.1em;
}
}



/*reserve
---------------------------------------------------------*/
#reserve{
	padding-bottom: 120px;
}
#reserve .reserve_box{
	background: #fff;
	padding: 110px 4% 120px;
	box-sizing: border-box;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2);
	position: relative;
	z-index: 1;
}
#reserve .reserve_box::before {
	position: absolute;
	content: "";
	background: url("../images/first/reserve_box_abs@2x.png") no-repeat right top;
	background-size: auto;
	background-size: 100% auto;
	max-width: 326px;
	width: 34.34%;
	height: 178px;
	right: 0;
	top: 0;
	z-index: -1;
	border-radius: 0 50px 0 0;
}
#reserve .reserve_box .abs{
	position: absolute;
	z-index: 2;
	max-width: 190px;
	width: 16%;
	left: 5%;
	bottom: 0;
	transform: translateY(50%);
}
#reserve .reserve_box .inbox{
	max-width: 925px;
	margin: 0 auto;
}
#reserve .reserve_box .reserve_box_tit{
	font-size: 206%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	text-align: center;
	padding-bottom: 0.8em;
	margin-bottom: 1.6em;
	position: relative;
}
#reserve .reserve_box .reserve_box_tit::before{
	position: absolute;
	content: "";
	background: #e69300;
	width: 3.7em;
	height: 3px;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
}
#reserve .reserve_box .reserve_txt{
	font-size: 120%;
	letter-spacing: 0.15em;
	line-height: 1.8em;
	text-align: center;
}
#reserve .reserve_box .reserve_list{
	line-height: 1.7em;
}
#reserve .reserve_box .reserve_list li{
	margin-top: 0.8em;
	padding-left: 2em;
	position: relative;
}
#reserve .reserve_box .reserve_list li:first-child{
	margin-top: 0;
}
#reserve .reserve_box .reserve_list li::before{
	position: absolute;
	font-family: "fontello";
	content: '\e807';
	font-size: 1.2em;
	left: 0;
	top:-0.05em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#reserve{
	padding-bottom: 10%;
}
#reserve .reserve_box{
	padding: 10% 4% 11%;
}
#reserve .reserve_box::before {
	width: 50%;
	border-radius: 0 5vw 0 0;
}
#reserve .reserve_box .reserve_box_tit{
	font-size: 186%;
}
#reserve .reserve_box .reserve_txt{
	font-size: 115%;
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#reserve{
	padding-bottom: 13%;
}
#reserve .reserve_box{
	padding: 11% 5% 13%;
}
#reserve .reserve_box::before {
	width: 50%;
	border-radius: 0 5vw 0 0;
}
#reserve .reserve_box .abs{
	width: 24vw;
}
#reserve .reserve_box .reserve_box_tit{
	font-size: 166%;
    line-height: 1.4em;
    letter-spacing: 0.1em;
    margin-bottom: 1.2em;
}
#reserve .reserve_box .reserve_txt{
	font-size: 110%;
	letter-spacing: 0.05em;
}
}



/*flow
---------------------------------------------------------*/
#flow .flow_bg{
	background: #f8f7f0;
	padding: 0 0 140px;
	position: relative;
	z-index: 0;
}
#flow .flow_bg::before{
	font-size: min(235.3%,3.75vw);
	line-height: 1em;
	position:absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: 0.91em;
	left: 0;
	top:0;
	z-index: -1;
}
#flow .flow_bg .w1200{
	position: relative;
	z-index: 0;
}
#flow .flow_bg .w1200 .abj{
	position: absolute;
	display: block;
	width: 60%;
	max-width: 710px;
	right: 0;
	top: 0;
	transform: translate(42%,-39%);
	z-index: -1;
}
#flow .flow_list > li{
	background: #fff;
	padding: 85px 4% 65px;
	margin-top: 120px;
	position: relative;
	z-index: 1;
}
#flow .flow_list > li .arrow{
	position: absolute;
	display: block;
	max-width: 200px;
	width: 19%;
	left: 0;
	right: 0;
	margin: auto;
	bottom: 0;
	transform: translateY(50%);
	z-index: 2;
}
#flow .flow_list > li .inbox{
	max-width: 1090px;
	margin: 0 auto;
}
#flow .flow_list > li .inbox .img_l{
	float: left;
	max-width: 480px;
	width: 44.1%;
	margin-left: -1.5%;
	margin-top: -12%;
	position: relative;
}
#flow .flow_list > li .inbox .img_l .no{
	position: absolute;
	display: block;
	max-width: 160px;
	width: 33.334%;
	top:0;
	right: 0;
	transform: translateX(50%);
}
#flow .flow_list > li .inbox .txt_r{
	float: right;
	max-width: 570px;
	width: 52.3%;
}
#flow .flow_style dt{
	font-size: min(194.12%,3.4vw);
	letter-spacing: 0.15em;
	line-height: 1.5em;
	margin-bottom: 0.8em;
}
#flow .flow_style dd {
	letter-spacing: 0.15em;
	line-height: 1.8em;
}
#flow .qre_link{
	font-size: 106%;
	letter-spacing: 0.2em;
	line-height: 1em;
	margin-top: 0.6em;
	display: flex;
    flex-wrap: wrap;
}
#flow .qre_link li{
	width: 15.53em;
	margin-top: 1em;
	margin-right: 0.4em;
}
#flow .qre_link li:last-child{
	margin-right: 0;
}
#flow .qre_link li a{
	display: block;
	padding: 1.38em 2em;
	box-sizing: border-box;
	border-radius: 1.88em;
	color: #fff;
}
#flow .qre_link li:first-child a{
	background-color: #95bd9a;
}
#flow .qre_link li:first-child:hover a{
	background-color: rgba(149,189,154,0.6);
}
#flow .qre_link li:last-child a{
	background-color: #f5c263;
}
#flow .qre_link li:last-child:hover a{
	background-color: rgba(245,194,99,0.6);
}
#flow .qre_link li span{
	padding-right: 1.45em;
	position:relative;
}
#flow .qre_link li span::before{
	position: absolute;
	font-family: "fontello";
	content: '\e812';
	font-size: 1em;
	right: 0;
	top:50%;
	transform: translateY(-50%);
}
#flow .first_exam .first_exam_tit{
	font-size: 176.7%;
	letter-spacing: 0.2em;
	line-height: 1.5em;
	text-align: center;
	padding: 0.55em 1em;
	background: #f9e43f;
	border-radius: 1em;
	margin-bottom: 1.5em;
}
#flow .first_exam ul{
    display: flex;
    justify-content: space-between;
}
#flow .first_exam ul li{
	max-width:245px;
	width: 23.5%;
}
#flow .first_exam ul li div{
	max-width: 245px;
	margin: 0 auto;
	text-align: center;
}
#flow .first_exam ul li dt{
	font-size: 118%;
	letter-spacing: 0.15em;
	line-height: 1.6em;
	color: #e69300;
	text-align: center;
	margin: 1.1em auto 0.6em;
}
#flow .first_exam ul li dd{
	letter-spacing: 0.13em;
	line-height: 1.8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#flow .flow_bg{
	padding: 0 0 12%;
}
#flow .flow_list > li{
	padding: 6% 4% 7%;
	margin-top: 11%;
}
#flow .flow_list > li .arrow{
	width: 18%;
}
#flow .flow_list > li .inbox .img_l{
	margin-top: -11%;
}
#flow .flow_style dt{
	letter-spacing: 0.1em;
}
#flow .flow_style dd {
	letter-spacing: 0.1em;
}
#flow .qre_link{
	font-size: 105%;
	letter-spacing: 0.15em;
	margin-top: 0.5em;
}
#flow .qre_link li{
	margin-top: 0.9em;
}
#flow .first_exam .first_exam_tit{
	font-size: 156.7%;
	letter-spacing: 0.15em;
	margin-bottom: 1.2em;
}
#flow .first_exam ul li dt{
	font-size: 115%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	margin: 0.9em auto 0.5em;
}
#flow .first_exam ul li dd{
	letter-spacing: 0.1em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#flow .flow_bg{
	padding: 0 0 14%;
}
#flow .flow_bg::before{
	font-size: 154%;
}
#flow .flow_bg .w1200 .abj{
	position: absolute;
	display: block;
	width: 70%;
	max-width: 710px;
	right: 0;
	top: 0;
	transform: translate(28%,-30%);
	z-index: -1;
}
#flow .flow_list > li{
	padding: 0 5% 10%;
	margin-top: 12%;
	box-sizing: border-box;
	background: none;
}
#flow .flow_list > li::before{
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	height: calc(100% - 4.5vw);
	left: 0;
	bottom: 0;
	border-radius: 5vw;
	z-index: -1;
}
#flow .flow_list > li .arrow{
	width: 30%;
}
#flow .flow_list > li .inbox{
	max-width: 100%;
}
#flow .flow_list > li .inbox .img_l{
	float: none;
	width:70%;
	margin:0 auto;
}
#flow .flow_list > li .inbox .txt_r{
	float: none;
	max-width: 100%;
	width: 100%;
}
#flow .flow_style dt{
	font-size: 154%;
    letter-spacing: 0.05em;
	text-align: center;
	margin-top: 0.6em;
	margin-bottom: 0.4em;
}
#flow .flow_style dd {
    letter-spacing: 0.05em;
}
#flow .qre_link{
	font-size: 105%;
	letter-spacing: 0.1em;
	justify-content: center;
	margin-top: 0.4em;
}
#flow .qre_link li{
	margin-top: 0.8em;
	margin-right: 0;
}
#flow .first_exam .first_exam_tit{
	font-size: 140%;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}
#flow .first_exam ul{
    flex-wrap: wrap;
}
#flow .first_exam ul li{
	max-width:48%;
	width: 48%;
	margin-top: 8%;
}
#flow .first_exam ul li:nth-child(-n + 2){
	margin-top: 0;
}
#flow .first_exam ul li div{
	max-width: 245px;
	margin: 0 auto;
	text-align: center;
}
#flow .first_exam ul li dt{
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.4em;
	margin: 0.7em auto 0.4em;
}
#flow .first_exam ul li dd{
	letter-spacing: 0.05em;
}
}



/*next_visit
---------------------------------------------------------*/
#next_visit .next_visit_bg .w1200{
	padding-top: 100px;
	position: relative;
	z-index: 1;
}
#next_visit .next_visit_bg .w1200 .abs{
	position: absolute;
	display: block;
	max-width: 190px;
	width: 15.834%;
	top:0;
	right: -5.84%;
	transform: translateY(-50%);
	z-index: -1;
}
#next_visit .fst_tit{
	margin-bottom: 25px;
}
#next_visit .check_list{
	display: flex;
	justify-content: space-between;
	font-size: 118%;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	text-align: center;
}
#next_visit .check_list li{
	max-width: 290px;
	width: 24.4%;
	background: #f7ecb7;
	padding: 2.5em 0 1.75em;
	position: relative;
	z-index: 1;
}
#next_visit .check_list li::before{
	position: absolute;
	content: "";
	background: url("../images/first/abs_check.svg") no-repeat left top; 
	background-size: 100% 100%;
	width: 4.1em;
	height: 4.1em;
	left: 1em;
	top:1em;
	z-index: -1;
}


/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1450px) {
#next_visit .next_visit_bg .w1200 .abs{
	right: -2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1340px) {
#next_visit .next_visit_bg .w1200 .abs{
	right: 2%;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
#next_visit .next_visit_bg .w1200{
	padding-top: 10%;
}
#next_visit .fst_tit{
	margin-bottom: 2.5vw;
}
#next_visit .check_list li{
	padding: 1.6em 0 1.2em;
	z-index: 1;
}
#next_visit .check_list{
	font-size: 115%;
}
#next_visit .check_list li::before{
	left: 0.8em;
	top:0.8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
#next_visit .next_visit_bg .w1200{
	padding-top: 14%;
}
#next_visit .next_visit_bg .w1200 .abs{
	width: 24vw;
	right: 3%;
}
#next_visit .fst_tit{
	margin-bottom: 5%;
}
#next_visit .check_list{
    flex-wrap: wrap;
	font-size: 110%;
	letter-spacing: 0.05em;
	line-height: 1.4em;
}
#next_visit .check_list li{
	width: 48.5%;
	padding: 1.6em 0 1.2em;
	margin-top: 3%;
	border-radius: 8vw;
}
#next_visit .check_list li:nth-child(-n + 2){
	margin-top: 0;
}
#next_visit .check_list li::before{
	left: 0.6em;
	top:0.6em;
}
}