@charset "utf-8";

/* ======================================================= */
/* common */
/* ======================================================= */
address,blockquote,div,dl,h1,h2,h3,h4,h5,h6,ol,p,pre,th,ul{font-weight:500;font-style:normal}
div#footer_sitema ul{font-weight: 400;}

#content {
	width:100%;
	max-width:100%;
	margin:0 auto;
	font-size:1.125em;
	line-height:1.76;
}
/*#content p { margin-bottom:1em; }*/
.figure { vertical-align:bottom; width:100%;}
.mb0 { margin-bottom:0 !important; }
.pt0 { padding-top:0 !important; }
.pb0 { padding-bottom:0 !important; }
.mt2em { margin-top:2em !important; }
.txtC { text-align:center; }
a.txtLink { text-decoration:underline; }
.txtNote {font-size:90%;}

@media only screen and (max-width: 640px){
	#content {
		font-size:1em;
	}
	.figure { width:100%; vertical-align:bottom; }
	.txtC { text-align:left; }
}


/* ======================================================= */
/* block style */
/* ======================================================= */
#main {
	position: relative;
}
#main_visual {
    background-color: #fff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 10.2% 0 6.2% 0;
    max-width: 1176px;
    width: 100%;
    margin: 0 auto;
    justify-content: end;
}
#main_visual .index_title{
	width:58%;
}
#main_visual .img_main{
	width: 34.099%;
	margin: -5% 0 0 2%;
}
#main_visual .img_main img{
	width: 100%;
	max-width: 401px;
}
#main_visual .index_title .subtitle{
	font-size:1.714em;
	font-weight: 500;
	line-height:1;
	margin-bottom:14px;
}
#main_visual .index_title .title{
	font-size:3em;
	font-weight: 500;
	line-height:1.5;
	letter-spacing:-0.007em;
	margin-bottom:0;

}
#main_visual .index_title span.red{
	color:#cc0000;
	display:inline-block;
	font-size:1em;
	line-height:1;
	margin-bottom:0;
}
#main_visual .message_btn{
	max-width: 553px;
	margin: 20px 0 0;
}
#main_visual .message_btn .ft_sz_adjust{
	font-size: 0.928577em;
}
#main_visual .message_btn a.button{
	font-size: 2em;
	padding: 15px 20px;
	line-height: normal;
	display: flex;
	align-items: center;
	justify-content: center;
}
#main_visual .message_btn .button span{
	display: inline-block;
    background: url(../images/icon_plus.png) no-repeat right center;
    background-size: 21px 21px;
    padding-right: 25px;
    line-height: 1.2em;

}
.wrap {
	width: 100%;
	max-width:100%;
	margin: 0 auto;
	padding:80px 0 0 0;
	letter-spacing: 0.05em;
}
.wrap#sec01{
	padding:107px 0 120px;
}
.wrap#sec02{
	padding:105px 0 50px;
}
.wrap#sec03 .container{
	max-width: 1440px;
}
.wrap#sec03 .office_block{
	border-top: 4px solid #f4f4f4;
    padding-top: 118px;
}
.wrap.gray {
	background:#f4f4f4;
}
.col img{
	max-width: 100%;
	vertical-align: bottom;
}
.subsection.point_block{
	padding: 0 10px;
	margin-bottom: 0;
}
.point_block+.point_block{
	margin-top: 38px;
}
.point_border_box{
	position: relative;
	background-color: #fff;
	border: 2px solid #000;
	padding: 44px 0 0;
	border-radius: 25px;
}
.point_border_box:before{
	content:'' ;
	display: block;
	position: absolute;
	width: 12px;
	height: 2px;
	background-color: #fff;


}
.point_border_box:after{
	content:'' ;
	display: block;
	position: absolute;
	width: 12px;
	height: 2px;
	background-color: #fff;


}
.point_border_box.point01:before{
	top: -2px;
	left: 6.2%;

}
.point_border_box.point01:after{
	bottom: -2px;
	right: 8%;

}
.point_border_box.point02:before{
	top: -2px;
	right: 13%;

}
.point_border_box.point02:after{
	bottom: -2px;
	left: 8%;

}
.point_border_box.point02 .has_2col .col+.col{
	width: 35.756%;
	margin-right: 3%;
	margin-top: -48px;
	margin-left: 7%;
}
.point_border_box.point03:before{
	top: -2px;
	left: 50.8%;

}
.point_border_box.point03:after{
	bottom: -2px;
	left: 21.7%;

}
.point_border_box .has_2col{
	justify-content: inherit;
}
.has_2col{
	display: flex;
	justify-content: space-between;
}
.point_border_box.point02 .has_2col .col .point_img{
	margin-top: 32px;
	margin-bottom: 0;
}
.point_border_box .has_2col .col{
	width: 68%;
	margin-left: 4px;
}
.point_border_box .has_2col .col+.col{
	width: 18.9%;
	margin-left: 9.9%;
}
.point_border_box.point03 .bg_inner{
	padding-bottom: 27px;
}
.point_border_box.point03 .has_2col .col+.col{
	width: 59.833%;
	margin-left: 0;
	margin-right: 2.5%;
	margin-top: 5px;
}

.point_border_box .has_2col .col+.col img{
	margin-top: -69px;
}
.point_border_box .bg_inner{
	padding: 82px 8.9% 86px;
}
.point_border_box  .point_title{
	font-family: 'Oswald', sans-serif;
	font-size: 2.79365em;
	font-weight: 200;
	background-color: #ca0813;
	padding: 23px 0 22px;
	color: #fff;
	text-align: center;
}
.point_border_box .bg_inner .sub_title{
	font-size: 2.15873em;
	font-weight: 500;
}
.point_border_box.point01 .bg_inner .sub_title{
	width: 78%;
}
.point_border_box.point02 .bg_inner .sub_title{
	width: 67%;
}
.point_border_box.point03 .bg_inner .sub_title{
	width: 52%;
}
.point_border_box .bg_inner .sub_title .red_color{
	color: #ca0813;
}
.point_border_box .point_text{
	font-size: 1.14285em;
	margin-top: 30px;
	margin-bottom: 0;
}
.point_border_box.point02 .point_text{
	margin-top: 35px;
}
.point_border_box .inner_box{
	border: 2px solid #eeeeee;
	border-radius: 25px;
	padding: 33px 64px 33px 69px;
	margin-top: 33px;
}
.point_border_box .inner_box .has_2col{
	align-items: center;
	justify-content: space-between;
}
.point_border_box .inner_box .has_2col .col{
	width: 19.879%;
	margin-left: 0;
}
.point_border_box .inner_box .has_2col .col+.col{
	width: 73.6%;
}
.point_border_box .inner_box .under_point_text{
	font-size: 1.15em;
	margin-bottom: 0;
	/*word-break: break-word;*/
}
.step_col_block{
	display: flex;
	justify-content: space-between;
	max-width: 1016px;
	margin: 0 auto;
	text-align: center;
}
.step_col_block .col{
	position: relative;
	width: 32.285%;
	padding-bottom: 78px;
	border-bottom: 2px solid #9e9e9e;

}
 .step_title{
	font-size: 2.79365em;
	font-family: 'Oswald', sans-serif;
	font-weight: 200;
	text-align: center;

}
#step_03 .step_title{
	margin-bottom: 73px;
	padding-bottom: 16px;
 }
 .step_col_block .col+.col .step_title{
 	margin-bottom: 0;
 }
.step_col_block .col .step_title{
	border-bottom: 2px solid #9e9e9e;
	padding-bottom: 3px;
	margin-bottom: 48px;
	line-height: 2.25;


}
.step_col_block .col .step_area{
	display: block;
	padding-top: 48px;
	text-decoration: none;
	color: inherit;
}

.step_col_block .col:nth-of-type(3) .step_title{
	margin-bottom: -15px;
}


.step_col_block .col:nth-of-type(1) .step_text{
	margin-bottom: 120px;
}
.step_col_block .col:nth-of-type(2) .step_img{
	margin-left: 16px;
	margin-top: 16px;
}
.step_col_block .col:nth-of-type(3) .step_img{
	margin-left: 12px;
	margin-top: 80px;
}
.step_text{
	font-size: 1.525em;
	font-weight: 500;
	line-height: 1.45719;
	text-align: center;
	margin-bottom: 20px;
}
.step_img{
	margin-bottom:22px;
}
.step_by_step{
	margin-top: 38px;
	padding:  0 14.78%;
}
.member_btn{
	max-width: 251px;
	margin: 0 auto;
}
a.button{
	position: relative;
	display: block;
	font-size: 1.77777em;
	font-weight: 500;
	line-height: 1.92858;
	color: #fff;
    text-decoration: none;
	background-color: #ca0813;
	border-radius: 10px;
	padding: 2px 0 6px;
	text-align: center;
}

.member_btn a span{
	display: inline-block;
    background: url(../images/icon_blank.png) no-repeat right center;
    background-size: 18px 15px;
    padding-right: 25px;
}
a.button:hover{
	background-color: rgba(204,0,0,0.7)!important;
}
.member_btn.bg_arw a:after{
	content: "";
    display: block;
    position: absolute;
    right: -22px;
    bottom: -14px;
    background:url(../images/arw_01.png)no-repeat right center;
    background-size: 100% auto;
    width: 43px;
    height: 42px;
    z-index: 1;
}
.step_application{
	position: relative;
	display: inline-block;
	border: 2px solid #ca0813;
	border-radius: 5px;
	font-size: 1.01587em;
	font-weight: 500;
	color: #ca0813;
    padding: 8px 21px;
    line-height: 1.5;
    letter-spacing: normal;
    margin-bottom: 1em;
}
.step_application:after{
	content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 2px solid #ca0813;
    border-right: 2px solid #ca0813;
    left: 50%;
    bottom: -7px;
   transform: translateX(-50%) rotate(135deg);
   background-color: #fff;


}
.step_col_block .step_detail{
	position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
	font-size: 1.14285em;
	font-weight: 500;
	color: #ca0813;
	text-decoration: none;
	margin-bottom: 16px;
}
.step_col_block .step_detail span{
	display: block;
}
.step_bg_gray{
	position: relative;
	background-color: #f4f4f4;
	padding: 150px 40px 148px;
	margin-top: 100px;
}
.step_bg_gray:before{
	content:'' ;
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 52px 51px 0 51px;
	border-color: #fff transparent transparent transparent;
	top: 0;
    left: 50%;
    transform: translateX(-50%);
}
.step_bg{
	position: relative;
	background-color: #fff;
	padding: 90px 40px 40px;
}
.step_bg:before{
	content:'' ;
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 52px 51px 0 51px;
	border-color: #f4f4f4 transparent transparent transparent;
	top: -50px;
    left: 50%;
    transform: translateX(-50%);
}
.inner_step .step_title{
	border-bottom: 2px solid #ca0813;
	margin-bottom: 30px;
}
.inner_step{
	background-color: #fff;
}
.step_subtitle{
	color: #ca0813;
	font-size: 1.525em;
	margin-bottom: 16px;
	font-weight: 500;
}
.step_list_text{
	font-size: 1.15em;
	font-weight: 500;
	margin-bottom: 28px;
}

.step_by_step .gray_box{
	max-width: 640px;
	margin: 0 auto 34px;
	padding: 26px 0 26px;
	background-color: #f4f4f4;

}
.step_interview{
	background-color: #ca0813;
	color: #fff;
	text-align: center;
	padding: 44px 40px 28px;
	margin-bottom: 72px;
}
.step_interview .interview_text{
	position: relative;
	font-size: 1.52381em;
	font-weight: 500;
	line-height: 1.58333;
}
.step_interview .interview_text:after{
	content: "";
    display: block;
    position: absolute;
    right: calc(50% - 370px);
    bottom: 50px;
    background: url(../images/interview_logo.png)no-repeat;
    background-size: cover;
    width: 199px;
    height: 116px;
}
.select_text{
	text-align: center;
	font-size: 1.15em;
	margin-bottom: 42px;
}
.step_btn{
	max-width: 247px;
	margin: 0 auto;
}
.step_btn .button{
	font-size: 1.15em;
	font-weight: 500;
	color: #ca0813;
	background-color: #fff;
	border: 1px solid #ca0813;
	padding: 10px;
}
.step_btn .button span{
	display: inline-block;
    background: url(../images/arw_top.png) no-repeat right center;
    background-size: 27px 27px;
    padding-right: 40px;
}
.step_btn .button em{
/*	font-family: 'Oswald', sans-serif;*/
}
.step_btn a.button:hover{
	background-color: #fff!important;
	opacity: 0.7;
}
.member_text{
	font-size: 1.15em;
	color: #ca0813;
	margin-bottom: 14px;
}
.step_list_text span{
	color: #ca0813;
}
.step_by_step .member_btn a.button{
	font-size: 1.27em;
	font-weight: 500;
	padding: 10px 5px 9px;

}
.step_by_step .member_btn.bg_arw a:after{
	right: -34px;
	bottom: -7px;
}
.step_by_step .product_btn a.button{
	font-size: 1.27em;
}
.step_innerblock{
	position: relative;
	border-top: 4px solid #ca0813;
	border-left: 4px solid #ca0813;
	border-right: 4px solid #ca0813;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	text-align: center;
	padding: 38px 20px 2px;

}

.step_innerblock:nth-of-type(n+2){
	border-top: none;
	border-top-left-radius: inherit;
	border-top-right-radius: inherit;
	padding: 40px 20px 2px;
}
.step_innerblock:nth-of-type(5) .step_list_text{
	margin-bottom: 0;
}
.step_innerblock:nth-of-type(5){
	padding-bottom: 16px;
}
.step_innerblock .gray_box + .step_list_text{
	margin-bottom: 0;
}
.step_image img{
	width: 100%;
	vertical-align: middle;
}
.following {
	position: relative;
	bottom: 0;
	z-index: 990;
}
.how_to {
    visibility: visible;
    opacity: 1;
    position: fixed;
    z-index: 990;
    right: 30px;
    bottom: 95px;
    width: 7.567%;
    cursor: pointer;
    -webkit-transition: opacity .3s,background .3s;
    transition: opacity .3s,background .3s;
    font-size: 0;
    text-align: right;
}
.how_to img{
	max-width: 144px;
	width: 100%;
	vertical-align: middle;
}
.how_to a:hover{
	opacity: 0.7;
}
.how_to.is_hide {
    visibility: hidden;
    opacity: 0;
}
.how_to.is-absoluted {
    position: absolute;
    bottom: 30px;
}

.step_innerblock .member_btn{
	max-width: 250px;

}
.step_bg_gray .inner_step .step_title{
	border-bottom: 2px solid #ca0813;
	margin-bottom: 66px;
	padding-bottom: 18px;
}
.step_bg_gray .inner_step{
	padding: 28px 0 82px;
	background-color: #fff;
}
.step_bg_gray .inner_step .step_text{
	margin-bottom: 48px;
}
.step_bg_gray .business_block{
	padding: 0 8.75%;
	text-align: center;
}
.step_bg_gray .business_block+.business_block{
	margin-top: 148px;
}
.step_bg_gray .business_block .business_title{
	position: relative;
	display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.525em;
    font-weight: 500;
    text-align: center;
    padding: 12px 10px;
    color: #fff;
    background-color: #000;
    border-radius: 50px;
    line-height: 1.20735;
    margin-bottom: 30px;
}
.step_bg_gray .business_block .business_title:after{
	content: '';
    display: block;
    position: absolute;
    width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16.5px 0 16.5px;
	border-color: #000 transparent transparent transparent;
	left: 50%;
    transform: translateX(-50%);
	bottom: -15px;
}
.step_bg_gray .business_block .has_2col .col{
	position: relative;
	display: flex;
	flex-direction: column;
	width: 74.6%;

}
.step_bg_gray .business_block .has_2col .col+.col{
   width: 23.619%;
}
.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col .product_img{
	margin-top: 0;

}
.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col{
	width: auto;
}
.step_bg_gray .business_block .inner_col{
	display: flex;
	justify-content: space-between;
}
.step_bg_gray .business_block .has_2col .col .col:before{
	content: '';
    display: block;
    position: absolute;
    width: 98.49%;
    height: 54px;
    border: 2px solid #000;
    border-top-left-radius: 18px;
    border-top-right-radius: 18px;
    border-bottom: none;
    border-bottom-right-radius: inherit;
}
.step_bg_gray .business_block .has_2col .col .col:after{
	content: '';
    display: block;
    position: absolute;
    width: 98.49%;
    height: 18px;
    bottom: -52px;
    border: 2px solid #000;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    border-top: none;
}
.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col:after{
	bottom: -42px;
}
.step_bg_gray .business_block .inner_col .col:nth-of-type(n+1){
	width: 31.543%;

}
.step_bg_gray .business_block .inner_col .col:nth-of-type(3) .product_text{
	padding: 0 24px;

}
.step_bg_gray .business_block .has_2col .product_img{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: -6px;

}
.step_bg_gray .business_block .col_title{
	padding: 40px 10px 2px;
	font-size: 1.14285em;
	font-weight: 500;
}
.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col .col_title{
	padding: 27px 10px 0;

}
.step_bg_gray .col_product{
	padding: 0 33px;
}
.step_bg_gray .business_block .product_title{
	margin: 38px 0 22px;
	font-size: 1.14285em;
	font-weight: 500;
	letter-spacing: -0.06em;
}
.step_bg_gray .business_block .product_text{
	font-size: 1.14285em;
	text-align: left;
	line-height: 1.89;
	padding: 0 33px;
}
.step_bg_gray .business_block .col_text{
	padding-bottom: 28px;
}
.step_bg_gray .business_block .color_box{
	padding: 27px 10px 10px;
	/* margin-top: -11px; */
	background-color: #fffaaf;

}
.step_bg_gray .business_block .color_box .step_app_block{
	/* margin-top: -52px; */
}
.step_bg_gray .business_block .color_box .product_text{
	padding: 0 23px;
	margin-bottom: 0;
}
.step_bg_gray .business_block .color_box .step_application{
	background-color: #fff;
	margin: 28px 0 -28px;
}
.step_bg_gray .business_block .color_box .product_title{
	margin-top: 0;

}
.step_bg_gray .business_block .color_box .step_application:after{
	background-color: #fff;

}

.product_btn .button{
	max-width: 240px;
    margin: 0 auto;
    font-size: 1.3em;
    line-height: 2.4;
    letter-spacing: normal;
}
.product_btn .button span{
	display: inline-block;
    background: url(../images/icon_blank_01.png) no-repeat right center;
    background-size: 14px 12px;
    padding-right: 23px;
}
.step_bg_gray .recruit_border_box{
	border: 2px solid #fff883;
	border-radius: 20px;
	padding: 45px 48px 30px 33px;
}
.step_bg_gray .recruit_border_box .recruit_title{
	font-size: 1.14285em;
	font-weight: 500;
	margin-bottom: 25px;
}
.step_bg_gray .recruit_border_box .recruit_title{
	font-size: 1.14285em;
	text-align: left;
}
.step_bg_gray .recruit_border_box .point_text{
	font-size: 1.14285em;
	letter-spacing: -0.03em;
	margin-bottom: 25px;

}
.step_bg_gray .recruit_border_box .has_2col .col{
	width: 72.5%;
	text-align: left;
}
.step_bg_gray .recruit_border_box .has_2col .col+.col{
	width: 19.284%;
	margin-top: -40px;
}
.step_bg_gray .recruit_border_box .product_btn a{
	max-width: 450px;
	margin-left: auto;
	margin-right: inherit;
	padding: 8px 0;
}
.box_border_gray {
	border:1px #ccc solid;
	padding:50px;
	background:#fff;
	margin-bottom:1em;
}
.box_border_gray_bold {
	border:3px #ccc solid;
	padding:30px 50px;
	position:relative;
}
.box_border_gray_bold > .title {
	position:absolute;
	top:-.9em;
	left:0;
	display:block;
	width:100%;
	font-weight:700;
	color: #cc0000;
	font-size:1.125em;
	text-align:center;
}
.box_border_gray_bold > .title span {
	display: inline-block;
	/*margin: 0 2.5em;*/
	padding: 0 .5em;
	background-color:#fff;
}
.box_border_red {
	border:1px #cc0000 solid;
	padding:40px 50px;
	background:#fafafa;
	margin-bottom:1em;
	position:relative;
	font-size:0.938em;
}
.box_border_red .about.pc_only {
	position:absolute;
	right:50px;
	z-index:2;
	font-size:.9em;
}
.box_button_wrap + .headline_num {
	margin-top:50px;
}
.inner_office_block{
	max-width: 1120px;
	margin: 0 auto;
}
@media print, screen and (min-width: 641px) and (max-width: 860px){
	.step_interview .interview_text:after {
		right: -20px;
		bottom: 75px;
		width: calc(199/860*100vw);
		height: calc(116/860*100vw);
	}
}
@media only screen and (max-width: 640px){
	#main_visual {
		display: block;
		padding:47px 22px 40px;
		width: auto;
	}
	#main_visual .index_title{
		width: 100%;
	}
	#main_visual .index_title .subtitle{
		font-size: 1em;
		margin-bottom: 1.2em;
	}
	#main_visual .index_title .title{
		padding: 0;
    	font-size: 1.5em;
    	letter-spacing: -0.03em;
	}
	#main_visual .img_main{
		width: 100%;
		margin: 40px 0 0;
	}
	#main_visual .img_main img{
		max-width: 270px;
		margin: 0 auto;
	}
	#main_visual .message_btn .button span{
		line-height: 1.3rem;
	}
	#main_visual .message_btn .ft_sz_adjust{
		font-size: 0.85em;
	}
	#main_visual .message_btn a.button{
		font-size: 1.285em;
		padding: 14px 12px 10px 16px;
		line-height: 1.50083;
		display: block;
	}
	#main_visual .message_btn{
		max-width: 270px;
		margin: 20px auto 0;
	}
	.wrap {
		padding:40px 0 0 0;
	}

	.box_border_gray {
		border:1px #ccc solid;
		padding:20px 25px;
		background:#fff;
		margin-bottom:1em;
	}
	.box_border_gray_bold {
		border:3px #ccc solid;
		padding:15px 25px;
	}
	.box_border_red {
		border:1px #cc0000 solid;
		padding:20px 25px;
		background:#fafafa;
		margin-bottom:1em;
		position:relative;
		font-size:0.938em;
	}
	.box_button_wrap + .headline_num {
		margin-top:30px;
	}
}


/* ======================================================= */
/* page_anchor */
/* ======================================================= */
.page_anchor {
	width:940px;
	margin:0 auto 60px auto;
}


/* ======================================================= */
/* section */
/* ======================================================= */
.section {
	width:100%;
	max-width:980px;
	margin:0 auto;
	padding-bottom:100px;
}
.container{
	width:100%;
	max-width:1360px;
	margin:0 auto;

}
.subsection {
	margin-bottom:50px;
}
.subsection:last-child {
	margin-bottom:0;
}

@media only screen and (max-width: 640px){
	.section {
		padding-bottom:50px;
	}
	.subsection {
		margin:0 10px 25px 10px;
	}
}


/* ======================================================= */
/* headline */
/* ======================================================= */
.headline {
	font-size:2.4127em;
	margin-bottom: 1.85em;
	font-weight: 500;
}
.wrap#sec02 .headline {
	margin-bottom: 50px;
}
.headline .color_txt{
	color: #000;
}
.subheadline {
	margin-bottom:.75em;
	padding-bottom:0;
	text-align:center;
	font-size:1.625em;
	font-weight:bold;
	color:#333;
	border:none;
}
.subheadline.red {
	color:#cc0000;
}
.headline_step {
	 position:relative;
	 text-align:center;
	 font-size:1.5em;
	 font-weight:700;
	 color:#cc0000;
	 margin-bottom:20px;
}
.headline_step span {
	position:relative;
	z-index:2;
	display:inline-block;
	margin:0 2.5em;
	padding:0 1em;
	background-color:#f2f2f2;
}
.headline_step::before {
	position:absolute;
	top:50%;
	z-index:1;
	content:'';
	display:block;
	width:100%;
	height:1px;
	background-color:#b3b3b3;
}
.headline_line {
	 position:relative;
	 text-align:center;
	 font-size:1.125em;
	 font-weight:700;
	 color:#cc0000;
	 margin-bottom:20px;
}
.headline_line.mt3em {
	 margin-top:3em;
}
.headline_line span {
	position:relative;
	z-index:2;
	display:inline-block;
	margin:0 2.5em;
	padding:0 .5em;
	background-color:#fafafa;
}
.headline_line::before {
	position:absolute;
	top:50%;
	z-index:1;
	content:'';
	display:block;
	width:100%;
	height:1px;
	background-color:#b3b3b3;
}
.headline_num {
	display:inline-block;
	font-size:1.250em;
	font-weight:700;
	text-align:center;
	margin:0 auto 0.5em auto;
	position:relative;
}
.headline_num span {
	display:inline-block;
	padding-left:35px;
}
.headline_num span.num {
	position:absolute;
	top:3px;
	display:inline-block;
	font-size:0.75em;
	font-weight:700;
	text-align:center;
	color:#fff;
	background:#cc0000;
	padding:0.05em 0.5em;
	margin-right:8px;
	border-radius:3px;
}
p + .headline_num {
	margin-top:30px;
}
/*.headline_num + p {
	margin-bottom:30px;
}*/
.headline_num + p.last {
	margin-bottom:0;
}
.smallheadline {
	font-size:1.375em;
	color:#cc0000;
	text-align:center;
	margin-bottom:30px;
}

@media only screen and (max-width: 640px){
	.headline {
		font-size:1.36em;
		margin-bottom: 30px;
	}
	.subheadline {
		line-height:1.5;
	}
	.headline_step {
		 font-size:1.25em;
	}
	.headline_step span {
		padding:0 .5em;
		background-color:#f2f2f2;
	}
	.headline_num {
		font-size:1.13em;
		font-weight:700;
		text-align:left;
		margin-bottom:0.5em;
	}
	.headline_num span {
		display:inline-block;
		padding-left:28px;
	}
	.headline_line {
		 margin-bottom:5px;
	}
	.headline_line.mt3em {
		 margin-top:0;
	}
	.wrap#sec01{
		padding: 60px 0 55px;
	}
	.wrap#sec02{
		padding: 40px 0 0;
	}
	.wrap#sec03 .office_block{
		padding-top: 50px;
	}
	.wrap#sec02 .headline {
		margin-bottom: 16px;
	}
	.wrap#sec03 .subsection {
		margin: 0 23px 25px 23px;
	}
	.subsection__results{
		margin: 0 23px;
	}
	a.button{
		font-size: 1.3em;
		border-radius: 5px;
		padding: 3px 0;
	}
	.member_btn a span{
		background-size: 12px 10px;
    	padding-right: 15px;
	}
	.member_btn.bg_arw a:after{
		width: 22px;
		height: 21px;
		bottom: -10px;
		right: 0;
	}
	.product_btn .button{
		max-width: 220px;
	}
	.point_border_box .bg_inner{
		padding: 35px 26px 26px;
	}
	.point_border_box.point02 .bg_inner{
		padding-bottom: 40px;
	}
	.point_border_box .point_text{
		line-height: 2;
	}
	.point_block+.point_block{
		margin-top: 14px;
	}
	.point_border_box.point02.bg_inner{
		padding-bottom: 40px;
	}
	.point_border_box .point_title{
		font-size: 1.79em;
		padding: 17px 0 16px;
	}
	.point_border_box .bg_inner .sub_title {
    	font-size: 1.3em;
	}
	.point_border_box.point01 .bg_inner .sub_title{
		width: auto;
	}
	.point_border_box.point02 .bg_inner .sub_title{
		width: auto;
	}
	.point_border_box.point03 .bg_inner .sub_title{
		width: auto;
	}
	.has_2col{
		flex-direction: column;
	}
	.point_border_box .has_2col .col{
		width: 100%;
		margin-left: 0;
	}
	.point_border_box .has_2col .col{
		order: 2;
	}
	.point_border_box .has_2col .col+.col{
		order: 1;
	}
	.point_border_box .has_2col .col+.col{
		width: 50%;
    	margin-left: auto;
    	margin-right: auto;
	}
	.point_border_box .has_2col .col+.col img{
		margin-top: 30px;
	}
	.point_border_box .inner_box{
		padding: 50px 20px;
		margin-top: 42px;
	}
	.point_border_box .inner_box .has_2col{
		display: block;
	}
	.point_border_box .inner_box .has_2col .col{
		width: 70%;
		margin: 0 auto;
	}
	.point_border_box .inner_box .has_2col .col+.col{
		width: 100%;
		margin-top: 47px;
	}
	.point_border_box .inner_box .under_point_text{
		font-size: 1.15em;
	}
	.point_border_box{
		padding-top: 30px;

	}
	.point_border_box.point03 .bg_inner{
		padding-bottom: 60px;

	}
	.point_border_box.point02 .has_2col .col+.col {
    	width: 60%;
    	margin: 0 auto;
	}
	.point_border_box.point03 .has_2col .col+.col {
    	width: 100%;
    	margin: 0 auto;
	}
	.following {
		bottom: -95px;
	}
	.how_to{
		width: 28.125%;
		bottom: 100px;
		right: 0;
	}
	.how_to.is-absoluted {
    bottom: 100px;
}
	.how_to img{
		max-width: 90px;
	}
	.step_col_block a.button{
		font-size: 0.9em;
	}
	.step_col_block .col .step_title{
		font-size: 1.21428em;
		margin-bottom: 14px;
	}
	.step_col_block .col:nth-of-type(1) .step_text{
		margin-bottom: 60px;
	}
	.step_col_block .col .step_area {
		padding-top: 14px;
	}
	.step_text {
		font-size: 1em;
		margin-bottom: 12px;
	}
	.step_col_block .col {
		width: 32.113%;
		padding-bottom: 35px;
	}
	.step_col_block .col:nth-of-type(2) .step_img{
		margin: 0 0 6px 0;
	}
	.step_col_block .col:nth-of-type(2) .step_img img{
		max-width: 95px;
	}
	.step_col_block .col:nth-of-type(3) .step_img{
		margin-left: 12px;
		margin-top: 10px;
	}
	.step_application:after{
		width: 4px;
    	height: 4px;
    	bottom: -4px;
		border-top: 1px solid #ca0813;
		border-right: 1px solid #ca0813;
	}
	.step_application{
		padding: 5px 2px;
		font-size: 0.643em;
		letter-spacing: -0.05em;
		border: 1px solid #ca0813;
		margin-bottom: 25px!important;
	}
	.step_col_block .step_detail {
		line-height: 1.4;
		font-size: 0.85714em;
		margin: 0;
		padding: 5px 0;
	}
	.step_title {
		font-size: 1.8em;
	}
	.step_bg_gray{
		padding: 50px 12px 40px;
		margin: 0;
	}
	.step_bg_gray:before {
		border-width:25px 25px 0px 25px;
	}
	.step_col_block{
		margin-bottom: 38px;
	}
	.step_bg_gray .inner_step{
		padding: 26px 0 42px;
	}
	.step_bg_gray .inner_step .step_title{
		padding-bottom: 8px;
		margin-bottom: 28px;
	}
	.step_col_block .arw_down img{
		max-width: 14px;
	}
	.step_bg_gray .inner_step .step_text{
		font-size: 1.285em;
		margin-bottom: 20px;
	}
	.step_bg_gray .business_block .color_box .step_app_block{
		/* margin-top: -30px; */
		margin-bottom: -30px;
	}
	.step_bg_gray .business_block .business_title{
		font-size: 1.285em;
		margin-bottom: 22px;
		padding: 10px 20px;
	}
	.step_bg_gray .business_block+.business_block .business_title{
		border-radius: 20px;
		margin-bottom: 24px;
	}
	.step_bg_gray .business_block .business_title:after{
		border-width: 10px 8.5px 0 8.5px;
		bottom: -7px;
	}
	.step_bg_gray .business_block .has_2col{
		display: block;
	}
	.step_bg_gray .business_block{
		padding: 0 10px;
	}
	.step_bg_gray .business_block+.business_block{
		margin-top: 40px;
	}
	.step_bg_gray .business_block .has_2col .col{
		width: 100%;
	}
	.step_bg_gray .business_block .inner_col{
		display: block;
	}
	.step_bg_gray .business_block .inner_col .col:nth-of-type(n+1){
		width: 100%;
		padding-bottom: 42px;
	}
	.step_bg_gray .business_block .col_title{
		font-size: 1.285em;

	}
	.step_bg_gray .business_block .has_2col .product_img{
		margin-top: 14px;
	}
	.step_col_block .col:nth-of-type(3) .step_title{
		margin-bottom: 0;
	}
	.step_bg_gray .business_block .product_title{
		font-size: 1.285em;
		margin: 25px 0 15px;
		line-height: 1.52;
	}
	.step_bg_gray .business_block .inner_col .col:nth-of-type(1) .product_img img{
		max-width: 239px;
	}
	.step_bg_gray .business_block .inner_col .col:nth-of-type(2) .product_img img{
		max-width: 231px;
	}
	.step_bg_gray .business_block .inner_col .col:nth-of-type(3) .product_img img{
		max-width: 192px;
	}
	.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col .product_img img{
		max-width: 195px;
	}
	.step_bg_gray .business_block .product_text{
		font-size: 1.285em;
		padding: 0 20px;
		margin-bottom: 35px;
		letter-spacing: -0.05em;
	}
	.step_bg_gray .business_block .inner_col .col:nth-of-type(3) .product_text{
		padding: 0 20px;
	}
	.step_bg_gray .business_block .has_2col .col .col:before,.step_bg_gray .business_block .has_2col .col .col:after{
		width: 100%;
	}
	.step_bg_gray .business_block .has_2col .col .col:after{
		height: 20px;
    	bottom: 0;
	}
	.step_bg_gray .business_block .has_2col .col+.col{
		width: 100%;
		margin-top: 40px;
	}
	.step_bg_gray .business_block .inner_col .col+.col{
		margin-top: 20px;

	}
	.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col .col_title{
		padding: 40px 0 22px;
	}
	.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col{
		padding-bottom: 50px;
	}
	.step_bg_gray .business_block .color_box{
		padding: 38px 18px 50px;
		margin-top: 32px;
	}
	.step_bg_gray .business_block .color_box .product_text{
		padding: 0;
		margin-bottom: 26px;

	}
	.step_bg_gray .business_block .color_box .step_application{
		font-size: 1.14286em;
		padding: 9px 22px;
		margin:  0 0 16px;

	}
	.step_bg_gray .business_block .has_2col .col:nth-of-type(2) .col:after{
		bottom: 0;
	}
	#step_03 .step_title{
		margin-bottom: 25px;
	}
	.step_bg_gray .business_block .color_box .product_title{
		margin-bottom: 25px;
	}
	.step_bg_gray .recruit_border_box .recruit_title{
		font-size: 1.285em;
    	text-align: center;
	}
	.step_bg_gray .recruit_border_box{
		padding: 40px 20px 22px;
	}
	.step_bg_gray .recruit_border_box .has_2col{
		display: flex;
		flex-direction: column;
	}
	.step_bg_gray .recruit_border_box .has_2col .col{
		order: 2;
	}
	.step_bg_gray .recruit_border_box .has_2col .col+.col{
		max-width: 228px;
    	margin: 0 auto 35px;
		order: 1;
		margin-top: 0;
	}
	.step_bg_gray .recruit_border_box a.button{
		max-width: 220px;
		margin: 0 auto;
		padding: 4px 0;
	}
	.step_bg_gray .recruit_border_box .product_btn .button span{
		padding-right: 26px;
	}
	.step_bg{
		padding: 50px 12px 40px;
	}
	.step_bg:before{
		border-width: 25px 25px 0px 25px;
		top: 0;
	}
	.step_bg .step_text,
	.step_bg .step_subtitle{
		font-size: 1.285em;
	}
	.step_bg .step_subtitle{
		margin-bottom: 22px;
	}
	.step_bg .step_list_text{
		font-size: 1.285em;
		position: relative;
	    padding-left: 1em;
	    letter-spacing: -0.03em;
	    margin-bottom: 15px;
	}
	.step_list_text span{
		position: absolute;
		left: 0;
	}
	.step_by_step{
		padding: 0 11px;
		margin-top: 18px;
	}
	.step_list_text{
		text-align: left;
	}
	.step_innerblock {
		padding: 24px 20px 50px;
	}
	.step_innerblock .member_btn{
		max-width: 220px;
	}
	.step_by_step .member_btn.bg_arw a:after{
		right: -18px;
	    bottom: -13px;
	    width: 43px;
	    height: 42px;
	}
	.step_by_step .gray_box{
		margin-bottom: 18px;
   		 padding: 30px 20px 26px 20px;
	}
	.step_by_step .gray_box+.step_list_text{
		margin-bottom: 0;
	}
	.step_interview .interview_text{
		font-size: 1.285em;
		letter-spacing: -0.056em;
	}
	.step_interview{
		border-top: none;
		padding: 80px 20px 35px;
		margin-bottom: 34px;
	}
	.step_innerblock:nth-of-type(3) .step_list_text{
		margin-bottom: 15px;
	}
	.select_text{
		font-size: 1.285em;
		 margin-bottom: 33px;
	}
	.step_interview .interview_text:after{
		width: 144px;
    	height: 106px;
    	background: url(../images/interview_logo_x2.png)no-repeat;
		background-size: cover;
        right: -10px;
    	bottom: 60px;
	}

}
@media only screen and (min-width:641px) and (max-width:1660px) {
	.how_to{
		width: 8.4%;
		right: 2%;
	}
}
@media only screen and (min-width:641px) and (max-width:1344px) {
	#main_visual{
		padding: 10.2% 0 6.2% 0;
		justify-content: center;
	}
}
@media only screen and (min-width:641px) and (max-width:1260px) {
	.step_bg_gray .business_block{
		padding: 0 40px;
	}
	.step_by_step{
		padding: 0;
	}
	.step_bg_gray .business_block .color_box .step_application{
		padding: 8px 10px;
		/* margin-top: -58px; */
	}
	.step_bg_gray .product_btn a{
		font-size: 1em;
		padding: 10px 5px;

	}
	.product_btn .button span{
		letter-spacing: -0.05em;
		padding-right: 17px;
	}
	.step_bg_gray .business_block .product_text,
	.step_bg_gray .business_block .color_box .product_text{
		padding: 0 15px;
	}

}

/* ======================================================= */
/* list */
/* ======================================================= */
ul.list_check {
	margin:15px 0;
}
ul.list_check li {
	font-size:1.125em;
	font-weight:700;
	background:url(../images/icon_check.png) no-repeat left 3px;
	background-size: 21px 20px;
	padding-left:30px;
	padding-bottom:15px;
}
ul.list_check li:last-child {
	padding-bottom:0;
}
ul.list_radio {
	margin:5px 0 0 0;
}
ul.list_radio li {
	position: relative;
	display: inline-block;
	margin: 15px 20px 0 0;
	padding-right: 20px;
	border-right: 1px solid #d9d9d9;
	letter-spacing: normal;
}
ul.list_radio li:first-child {
	display: block;
	margin: 0;
	padding-right: 0;
	border-right: none;
}

@media only screen and (max-width: 640px){
	ul.list_radio {
		margin:5px 0 15px 0;
	}
}


/* ======================================================= */
/* box_button */
/* ======================================================= */
.box_button_wrap {
	max-width:660px;
	margin:0 auto;
}
.box_button {
	margin:1em auto 0 auto;
	font-size:1.375em;
	font-weight:700;
	text-align:center;
}
.box_button a {
	display:block;
	position:relative;
	width:100%;
	color:#fff;
	text-decoration:none;
	padding:1em 0;
	background:#cc0000;
}
.box_button.black a {
	display:block;
	position:relative;
	width:100%;
	color:#fff;
	text-decoration:none;
	padding:1em 0;
	background:#404040;
}
.box_button a:hover {
	opacity:.75;
}
.box_button_harf {
	width:660px;
	margin:1em auto 0 auto;
	font-size:1.375em;
	font-weight:700;
	text-align:center;
	background:#cc0000;
}
.box_button a span img {
	vertical-align:middle;
	margin-left:10px;
	width:13px;
}
.box_button a.arr_line_white span.arr {
    display: inline-block;
    width: .72vw;
    height: .72vw;
		border-top: .255vw solid #fff;
		border-right: .255vw solid #fff;
    /*border-top: .14286vw solid #fff;
    border-right: .14286vw solid #fff;*/
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
		margin-right: 13px;
}
/*.box_button a.arr_line_white span {
	display:inline-block;
	position:relative;
	padding-top:5px;
	padding-right:30px;
  background:url(../images/arr_line_white.svg) no-repeat right .65em;
	background-size: 20px 16px;
}*/

@media only screen and (max-width: 640px){
	.box_button_wrap {
		width:100%;
		margin:0 auto;
	}
	.box_button a.arr_line_white span.arr {
	    display: inline-block;
	    width: 2vw;
	    height: 2vw;
			border-top: .795vw solid #fff;
			border-right: .795vw solid #fff;
	    /*border-top: .14286vw solid #fff;
	    border-right: .14286vw solid #fff;*/
	    -webkit-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	    transform: rotate(45deg);
			margin-right: 10px;
			margin-bottom: .1em;
	}
	/*.box_button a.arr_line_white span {
		position:relative;
		padding-top:0;
		padding-right:25px;
	  background:url(../images/arr_line_white.svg) no-repeat right center;
		background-size: 20px 16px;
	}*/
}


/* ======================================================= */
/* form parts */
/* ======================================================= */
#select input[type="radio"] {
	position:absolute;
	top:1px;
	opacity:0;
	z-index:1;
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	width:18px;
	height:18px;
	-webkit-border-radius:9px;
	border-radius:9px;
	vertical-align: middle;
}
#select input[type="radio"] + em {
	position:relative;
	top:-1px;
	display:inline-block;
	width:18px;
	height:18px;
	margin-right:5px;
	background-color:#fff;
	border:1px solid #b2b2b2;
	-webkit-border-radius:9px;
	border-radius:9px;
	vertical-align:middle;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing: border-box;
}
#select input[type="radio"] + em:before {
	position:absolute;
	top:50%;
	left:50%;
	display:none;
	content:"";
	width:8px;
	height:8px;
	margin:-4px 0 0 -4px;
	background-color:#cc0000;
	-webkit-border-radius:4px;
	border-radius:4px;
}
#select input[type="radio"]:checked + em:before {
	display: inline-block;
}
.list_select {
	display:none;
}
.sp_select_button {
	display:none;
}

@media only screen and (max-width: 640px){
	.list_radio {display:none;}
	.list_select {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 100%;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		padding: 10px 35px 10px 15px;
		margin-bottom:10px;
		background: url(/saiyo/graduates/shared/img/arr_select_@2x.png) #fff no-repeat right center;
		background-size: 29px auto;
		border: 1px solid #d9d9d9;
		-webkit-border-radius: 0;
		border-radius: 0;
		font-size: 121.4%;
		font-weight: 500;
	}
	.sp_select_button {
		display: block;
		width: 100%;
		margin-top: 20px;
		padding-top: 20px;
		border-top: 1px solid #ccc;
	}
	.sp_select_button button {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		display: block;
		width: 100%;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		padding: 10px;
		background-color: #cc0000;
		border: none;
		color: #fff;
		font-size: 100%;
		font-weight: 500;
	}
	.sp_select_button button span {
		display: inline-block;
		padding-left: 25px;
		background: url(/saiyo/graduates/shared/img/icon_search_@2x.png) no-repeat 0 center;
		background-size: 16px auto;
	}
}


/* ======================================================= */
/* search result */
/* ======================================================= */
.result_label {display:none;}
#results {
	margin-bottom:40px;
}
#results .container {
	display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;
	-webkit-box-pack:start; -webkit-justify-content:flex-start; -ms-flex-pack:start; justify-content:flex-start;
	-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;
	/*margin-bottom:40px;*/
}
#results .container .item {
	position:relative;
	width:32%;
	background:#f5f5f5;
	box-sizing:border-box;
	border:1px #d9d9d9 solid;
	margin-bottom:20px;
	margin-right:2%;
}
#results .container .item:last-child {
	margin-right:0;
}
#results .container .item a {
	color:#333 !important;
	text-decoration:none;
}
#results .container .item:hover {
	opacity:.8;
}
#results .container .item .wrap__inner {
	width:100%;
	padding:28px 25px;
	font-size:0.875em;
	line-height:1.6;
}
#results .container .item.thumb {
	width:100%;
}
#results .container .item .thumb img {
	width:100%;
}
#results .container .item .wrap__inner .name {
	margin-bottom:.7em;
	font-size:1.143em;
	font-weight:700;
}
#results .container .item .wrap__inner .catch {
	margin-bottom:1em;
	font-size:1em;
	font-weight:700;
}
#results .container .item .wrap__inner .list.business {
	margin-bottom:15px;
}
#results .container .item .wrap__inner .list.business dt,
#results .container .item .wrap__inner .list.technology dt {
	color:#cc0000;
	font-weight:700;
	border-bottom:1px #d9d9d9 solid;
	padding-bottom:5px;
	margin-bottom:8px;
}
/*ul.list_case {
	display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;
	-webkit-box-pack:space-between;-webkit-justify-content:space-between;-ms-flex-pack:space-between;justify-content:space-between;
	-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;
	margin-bottom:40px;
}
ul.list_case li {
	position:relative;
	width:32%;
	background:#f5f5f5;
	box-sizing:border-box;
	border:1px #d9d9d9 solid;
	margin-bottom:20px;
}
ul.list_case li img {
	width:100%;
}
ul.list_case li .inner {
	width:100%;
	padding:28px 25px;
	font-size:0.875em;
	line-height:1.6;
}
ul.list_case li .inner .title {
	margin-bottom:.7em;
	font-size:1.143em;
	font-weight:700;
}
ul.list_case li .inner .txt {
	font-weight:700;
}
ul.list_case li .inner .subtitle {
	color:#cc0000;
	font-weight:700;
	border-bottom:1px #d9d9d9 solid;
	padding-bottom:5px;
	margin-bottom:8px;
}
ul.list_case li a {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent:-999px;
}
ul.list_case li:hover {
	opacity:.8;
}*/

@media only screen and (max-width: 640px){
	.active .subsection__results:last-child {
		height: auto;
	}
	.sp_int .subsection__results:last-child {
		height: 0;
		overflow: hidden;
	}
	#results .container {
		display:block;
	}
	#results .container .item {
		width:100%;
	}
	#results .container .item .wrap__inner {
		width:100%;
		padding:28px 25px;
		font-size:1em;
		line-height:1.6;
	}
	#results .container .item .wrap__inner .catch br {
		display:none;
	}
	/*ul.list_case {
		display:block;
		margin-bottom:40px;
	}
	ul.list_case li {
		width:100%;
	}
	ul.list_case li .inner {
		width:100%;
		padding:28px 25px;
		font-size:1em;
		line-height:1.6;
	}*/
}


/* ======================================================= */
/* wrap_contact */
/* ======================================================= */
.wrap_list_contact {
	padding:50px 0;
}
.wrap_list_contact ul.list_contact {
	max-width:880px;
	margin:0 auto;
	display:-webkit-box; display:-webkit-flex; display:-ms-flexbox; display:flex;
	-webkit-box-pack:space-between;-webkit-justify-content:space-between;-ms-flex-pack:space-between;justify-content:space-between;
	-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;
}
.wrap_list_contact ul.list_contact li {
	width:48%;
}
.wrap_list_contact ul.list_contact li .box_button {
	margin: 0;
}

@media only screen and (max-width: 640px){
	.wrap_list_contact ul.list_contact {
		width:calc(100% - 40px);
		margin:0 auto;
		display:block;
	}
	.wrap_list_contact ul.list_contact li {
		width:100%;
		margin-bottom:20px;
	}
	.wrap_list_contact ul.list_contact li:last-child {
		margin-bottom:0;
	}
}


/* ======================================================= */
/* other */
/* ======================================================= */
.attention_job {
	text-align:center;
	margin:0 auto 2.5em;
	color: #cc0000;
}
.attention_job a,.attention_job a:hover {
	color: #cc0000;
    text-decoration: underline;
}
.attention_job a span img {
	max-width: 14px;
	margin: 0 0.15em 0 0.3em;
}
.spNone {
	display:block;
}

@media only screen and (max-width: 640px){
	.attention_job {
		margin:1.5em auto 1.5em;
		width:88%;
	}
	.attention_job a span img {
		max-width: 1em;
	}

	.spNone {
		display:none;
	}
}
/*modal*/
.hide_modal {
	display: none;
}
.mfp-bg {
	background-color: #fff;
}
.mfp-content {
  max-width: 1118px;
	margin: 0 auto;

}
.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}
.modal {
  position: relative;
  background: #fff;
  border: 2px solid #000;
  border-radius: 20px;
}
.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  -webkit-transform: scale(.8);
  -ms-transform: scale(.8);
  transform: scale(.8);
}
.message_box {
	position: relative;

}
.message_box:before{
	content: '';
  display: block;
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: #fff;
  top: -2px;
  left: 6.2%;
}
.message_box:after{
	content: '';
  display: block;
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: #fff;
  bottom: -2px;
  right: 8%;
}
.message_box .message_img {
	max-width: 300px;
	margin: 50px auto 0;
}
.message_box .message_img img,
.message_box .close_btn img {
	width: 100%;
	vertical-align: baseline;
}
.message_box .close_btn {
	max-width: 120px;
	margin: 70px auto 0;
}
.inner_messgae{
	position: relative;
  padding: 60px 80px;
}
.inner_messgae:before{
	content: '';
  display: block;
  position: absolute;
  width: 2px;
  height: 6px;
  background-color: #fff;
  top: 162px;
  left: -2px;
}
.inner_messgae:after{
	content: '';
  display: block;
  position: absolute;
  width: 2px;
  height: 6px;
  background-color: #fff;
  bottom: 100px;
  right:  -2px;
}
.message_box .box_text{
	margin-top: 50px;
	margin-bottom: 0;
	word-break: break-all;
	font-size: 1.15em;
	line-height: 1.73;
	text-align: center;
	letter-spacing: 0.05em;
}
.message_box .message_title{

	font-family: 'Oswald', sans-serif;
	color: #CA0813;
	font-weight: 500;
	font-size: 2.75em;
	text-align: center;
}
.message_box .close_btn{
	color: #cc0000;
	cursor: pointer;
  font-weight: 500;
  font-size: 1.285em;
  text-align: center;
}
.mfp-close{
	opacity: 1;
}
.mfp-close-btn-in .mfp-close{
	font-size: 0;
	top:30px;
	right:32px;
	width: 54px;
	height: 54px;
	background: url(../images/icon_close.jpg) no-repeat center center;
	-webkit-background-size: 54px auto;
	-o-background-size: 54px auto;
	background-size: 54px auto;
}
.mfp-close-btn-in .mfp-close:hover,
.close_btn:hover {
	opacity: 0.7;
}

@media only screen and (max-width: 640px){
.mfp-content{
	margin: 20px 0;
	background-color:#fff;
}
.modal {
	padding:40px 15px 30px;
	border: 1px solid #000;
  border-radius: 10px;
}
.mfp-container {
	padding-left: 10px;
	padding-right: 10px;
}
.mfp-bg {
	height: 100%!important;
	background-color:#fff!important;
	opacity:0.7!important;
}
.mfp-close-btn-in .mfp-close{
	font-size: 0;
	top:20px;
	right:20px;
	width: 30px;
	height: 30px;
	background: url(../images/icon_close.jpg) no-repeat center center;
	-webkit-background-size: 30px auto;
	-o-background-size: 30px auto;
	background-size: 30px auto;
}
.message_box:before{
	content: '';
  display: block;
  position: absolute;
  width: 5px;
  height: 1px;
  top: -41px;
  left: 40px;
}
.message_box:after{
	content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 4px;
  top: 40px;
  bottom: auto;
  right: -16px;
}
.inner_messgae {
	padding: 0;
}
.inner_messgae:before{
	content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 3px;
  top: 120px;
  left: -16px;
}
.inner_messgae:after{
	content: '';
  display: block;
  position: absolute;
  width: 1px;
  height: 3px;
  top: 180px;
  bottom: auto;
  right:  -16px;
}
.message_box .message_title {
	font-size: 1.7857em;
}
.message_box .box_text {
	margin-top: 20px;
	margin-bottom: 0;
	/*height: 250px;*/
	overflow-x: hidden;
	overflow-y: auto;
	font-size: 1.15em;
    line-height: 1.7464;
}
.message_box .message_img {
	max-width: 222px;
	margin-top: 35px;
	margin-bottom: 0;
}
.message_box .close_btn {
	max-width: 89px;
	margin-top: 30px;
	margin-bottom: 0;
}
}


.chance {
	display: grid;
	grid-template-rows: auto auto;
	grid-template-columns: calc((264 / 1122) * 100%) auto calc((264 / 1122) * 100%) auto calc((264 / 1122) * 100%) auto calc((264 / 1122) * 100%);
}
.chance .chance-grid {
	display: grid;
	grid-template-rows: 20px auto auto 1fr 38px;
	position: relative;
	z-index: 2;
}
.chance .chance-grid::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 98.49%;
	height: 54px;
	border: 2px solid #000;
	border-top-left-radius: 18px;
	border-top-right-radius: 18px;
	border-bottom: none;
	border-bottom-right-radius: inherit;
	z-index: -1;
}
.chance .chance-grid::after {
	content: '';
	display: block;
	position: absolute;
	width: 98.49%;
	height: 18px;
	bottom: 0;
	border: 2px solid #000;
	border-bottom-left-radius: 20px;
	border-bottom-right-radius: 20px;
	border-top: none;
	z-index: -1;
}
.chance .chance-grid .col_title {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	grid-row: 2 / 3;
}
.chance .chance-grid .chance-img {
	position: relative;
	margin: 0;
	padding-bottom: 100%;
	grid-row: 3 / 4;
}
.chance .chance-grid .chance-img img {
	position: absolute;
	left: 50%;
	top: 50%;
	max-width: 100%;
	max-height: 100%;
	transform: translate(-50%,-50%);
}
.chance .chance-grid .chance-inner {
	display: grid;
	grid-template-rows: auto 1fr auto;
	grid-row: 4 / 5;
	padding: 25px 10px;
}
.chance .chance-grid .chance-inner--fill {
	background-color: #fffaaf;
}
.chance .chance-grid .product_title {
	margin: 0 0 20px 0;
	grid-row: 1 / 2;
}
.chance .chance-grid .chance-text {
	grid-row: 2 / 3;
}
.chance .chance-grid .product_text {
	padding: 0 15px;
	margin-bottom: 1em;
}
.chance .chance-grid .step_application {
	background-color: #fff;
	margin-bottom: 1em;
}
.chance .chance-grid .product_btn {
	margin-bottom: 0;
	grid-row: 3 / 4;
}
.chance .business_title:nth-of-type(1) {
	grid-row: 1 / 2;
	grid-column: 1 / 6;
}
.chance .business_title:nth-of-type(2) {
	grid-row: 1 / 2;
	grid-column: 7 / 8;
}
.chance .chance-grid:nth-of-type(1) {
	grid-row: 2 / 3;
	grid-column: 1 / 2;
}
.chance .chance-grid:nth-of-type(2) {
	grid-row: 2 / 3;
	grid-column: 3 / 4;
}
.chance .chance-grid:nth-of-type(3) {
	grid-row: 2 / 3;
	grid-column: 5 / 6;
}
.chance .chance-grid:nth-of-type(4) {
	grid-row: 2 / 3;
	grid-column: 7 / 8;
}
@media only screen and (max-width: 640px){
	.chance {
		display: block;
	}
	.chance .chance-grid {
		display: block;
		padding: 40px 0;
	}
	.chance .chance-grid:nth-of-type(n+2) {
		margin-top: 20px;
	}
	.chance .business_title:nth-of-type(n+2) {
		margin-top: 40px;
	}
	.chance .chance-grid .col_title {
		display: block;
	}
	.chance .chance-grid .chance-img {
		text-align: center;
		margin: 14px 0 0 0;
		padding-bottom: 0;
	}
	.chance .chance-grid .chance-img img.sp_only {
		display: inline-block !important;
		position: relative;
		left: auto;
		top: auto;
		max-width: 239px;
		transform: translate(0,0);
	}
	.chance .chance-grid .chance-inner {
		display: block;
		padding: 0 10px;
		margin-top: 25px;
	}
	.chance .chance-grid .chance-inner--fill {
		background-color: #fffaaf;
		padding: 25px 10px;
	}
	.chance .chance-grid .product_title {
		margin: 0 0 25px 0;
		letter-spacing: normal;
	}
	.chance .chance-grid .product_text {
		padding: 0;
	}
	.chance .chance-grid .step_application {
	font-size: 1.14286em;
    padding: 9px 22px;
    margin: 0 0 16px;;
	}
}
.pagetop {padding-bottom: 2em}
