  @charset "utf-8";

.process .title_area{background-image:url(/recruit/newgrads/img/common/h1_process.jpg);}
.flow_before, .flow_after{padding:0;}
.before_step{
	list-style:none;
	padding-bottom:45px;
	margin:0;
	background:url(/recruit/newgrads/img/common/arrow_d_red.svg) no-repeat center bottom 20px;
	counter-increment:count;
}
.before_step:last-child{
	padding:0;
	background:none;
}
.before_head{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	padding:15px 20px 16px;
	margin-bottom:12px;
	background:#F5F5F5;
	font-size:2rem;
	font-weight:500;
	letter-spacing:0.2px;
	text-align:center;
}
.before_head::before{
	content:'STEP 'counter(count);
	margin:4px 15px 0 0;
	font-family:var(--font-Syncopate);
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:2.3rem;
}
.before_step_txt{text-align:center;}
.bnr_col2{
	display:flex;
	align-items:center;
	justify-content:center;
}
.before_step_txt a.non{
	position:relative;
	display:block;
	max-width:195px;
	margin:0;
}
.bnr_col2 > a:first-child{margin-right:20px;}
.before_step_txt a.non::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	border:2px solid var(--color-green);
	opacity:0;
	transition:opacity 0.3s;
}
.before_step_txt a.non:hover::after{opacity:1;}
.flow_after{position:relative;}
.flow_after::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:3px;
	height:99%;
	margin:auto;
	background:#E70F44;
}
.after_step{
	list-style:none;
	margin-bottom:30px;
}
.after_head{
	display:block;
	padding:20px 20px 21px;
	background:#014099;
	color:#fff;
	font-size:2rem;
	font-weight:500;
	letter-spacing:0.2px;
	text-align:center;
}
.after_step_txt{
	padding:26px 20px 28px;
	background:#F5F5F5;
	text-align:center;
}


@media screen and (min-width:768px) and (max-width:1024px){
.before_head{
	padding:14px 15px 15px;
	margin-bottom:15px;
	font-size:1.8rem;
	letter-spacing:0.18px;
}
.before_head::before{
	margin-top:6px;
	font-size:2.2rem;
}
.after_head{
	padding:16px 15px 17px;
	font-size:1.8rem;
	letter-spacing:0.18px;
}
.after_step_txt{
	font-size:1.5rem;
	line-height:2.7rem;
}
}


@media screen and (max-width:767px){
.before_head{
	padding:13px 10px 14px;
	margin-bottom:18px;
	font-size:1.6rem;
	letter-spacing:0.16px;
}
.before_head::before{
	margin-right:12px;
	font-size:2rem;
}
.after_head{
	padding:13px 10px 14px;
	font-size:1.6rem;
	letter-spacing:0.16px;
}
.after_step_txt{
	padding:25px 20px 27px;
	font-size:1.4rem;
	letter-spacing:0;
	line-height:2.5rem;
}
}