@charset "utf-8";

.page_top{position:relative;}
.page_title{
	position:absolute;
	top:31%;
	left:59.5%;
	margin:auto;
	max-width:480px;
	min-width:290px;
	width:35%;
}
.page_top_pic{display:block;}
.page_top_img{
	width:100%;
	min-height:280px;
	object-fit:cover;
}

.message_area{
	display:flex;
	align-items:center;
	max-width:1500px;
	padding:60px 55px 55px;
	margin:auto;
	background:url(/recruit/newgrads/img/second-graduate/bg.png) no-repeat top right/auto 100%;
}
.message_box{
	width:54%;
	padding:0 40px 0 calc((100% - 1180px) / 2);
}
.message_head{
	padding:0;
	margin:0 0 35px;
	font-family:var(--font-NotoSerif);
	font-size:3.4rem;
	letter-spacing:0;
	line-height:4.9rem;
}
.message_head::before{display:none;}
.message_txt{
	margin-bottom:35px;
	font-size:1.9rem;
	font-weight:500;
	letter-spacing:0.19px;
	line-height:3.6rem;
}
.message_pic{width:46%;}

.bg_area{
	padding:80px 20px;
	margin-bottom:80px;
	background:#068D42;
}
.bg_head{
	padding:0;
	margin:0 0 25px;
	color:#fff;
	font-size:3rem;
	letter-spacing:0.3px;
	line-height:4.4rem;
	text-align:center;
}
.bg_head::before{display:none;}
.bg_txt{
	margin-bottom:40px;
	color:#fff;
	letter-spacing:0.16px;
	text-align:center;
}

.target_box{
	max-width:1180px;
	padding:45px 50px 50px;
	margin:auto;
	background:#fff;
	border-radius:8px;
}
.target_list{
	padding:0;
	margin-bottom:-15px;
}
.target_item{
	list-style:none;
	padding-left:40px;
	margin-bottom:25px;
	background:url(/recruit/newgrads/img/second-graduate/icon_checkmark.png) no-repeat top 5px left/28px;
	font-size:2.2rem;
	font-weight:bold;
	letter-spacing:0.22px;
	line-height:3.2rem;
}
.target_txt{
	padding-bottom:35px;
	border-bottom:2px dotted #ccc;
	font-size:2.2rem;
	font-weight:bold;
	letter-spacing:0.22px;
	line-height:3.2rem;
	text-align:right;
}
.target_subhead{
	padding:0;
	margin:30px 0 15px;
	border:none;
}
.target_column{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:40px;
	padding-right:40px;
}
.target_column_txt{margin:0;}
.target_column .link_btn{
	flex-shrink:0;
	background-position:center left 35px;
}

.job_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:20px;
	padding:0;
	margin:25px 0;
}
.job_item{
	display:flex;
	align-items:center;
	justify-content:center;
	list-style:none;
	padding:12px 20px;
	margin:0;
	border:1px solid #ccc;
	border-radius:8px;
	font-size:2.2rem;
	font-weight:bold;
	letter-spacing:0.22px;
	line-height:3.2rem;
}
.job_item_txt{
	padding:0 0 5px 40px;
	background:url(/recruit/newgrads/img/second-graduate/icon_checkmark.png) no-repeat center left/28px;
}
.bg_green{
	padding:40px 20px 50px;
	background:#E2F3E9;
	border-radius:8px;
}
.bg_green p{
	font-size:2rem;
	letter-spacing:0;
	text-align:center;
}
.bg_green .link_btn{
	margin:auto;
	background:#fff;
}

.flow_box{
	padding:55px 12% 35px;
	border:3px solid #ddd;
	border-radius:8px;
}
.flow_list{
	position:relative;
	counter-reset:flow;
	padding:0;
	margin-bottom:-5px;
}
.flow_list::before{
	content:'';
	position:absolute;
	bottom:0;
	left:135px;
	width:1px;
	height:calc(100% - 30px);
	background:#333;
}
.flow_list li{
	position:relative;
	counter-increment:flow;
	list-style:none;
	margin:0 0 45px 165px;
}
.flow_list li::before{
	content:'STEP 'counter(flow);
	position:absolute;
	top:14px;
	left:-170px;
	width:115px;
	font-family:var(--font-Syncopate);
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:3rem;
	text-align:right;
}
.flow_list li::after{
	content:'';
	position:absolute;
	top:22px;
	left:-36px;
	width:13px;
	height:13px;
	background:#E60039;
	border-radius:50%;
}
.flow_list h3{
	padding:9px 20px 11px;
	margin:0 0 15px;
	background:#E2F3E9;
	border:none;
	font-weight:bold;
}
.flow_list h4{
	padding:0;
	margin:0 0 5px 20px;
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:1.28px;
	line-height:2.9rem;
}
.flow_list h4::before{display:none;}
.flow_list p{
	margin-left:20px;
	letter-spacing:0.16px;
	line-height:2.4rem;
}
.flow_box > p{
	letter-spacing:0.16px;
	line-height:2.4rem;
}

.column_3 div{
	display:flex;
	flex-direction:column;
}
.column_3 h3{
	padding:0;
	margin:10px 0;
	border:none;
}
.column_3 img{
	order:-1;
	width:100%;
}

.bg_area.voice_area{
	padding-bottom:55px;
	margin-top:100px;
}
.voice_list{
	max-width:1180px;
	padding:0;
	margin:auto;
}
.voice_item{
	display:flex;
	align-items:flex-start;
	gap:60px;
	margin-bottom:50px;
}
.voice_item:nth-child(odd){flex-direction:row-reverse;}
.voice_item_in{
	position:relative;
	padding:30px 40px 15px;
	background:#fff;
	border-radius:8px;
}
.voice_item_in::before{
	content:'';
	position:absolute;
	top:85px;
	border-top:25px solid transparent;
	border-bottom:25px solid transparent;
}
.voice_item:nth-child(odd) .voice_item_in::before{
	left:-40px;
	border-right:42px solid #fff;
}
.voice_item:nth-child(even) .voice_item_in::before{
	right:-40px;
	border-left:42px solid #fff;
}
.voice_title{
	padding:0;
	margin:0 0 10px;
	border:none;
	color:#068D42;
}
.voice_icon{
	flex-shrink:0;
	width:200px;
	margin-top:10px;
}

.faq_question{
	padding:0;
	margin:25px 0 0;
	border-color:#333;
}
.faq_btn{
	display:block;
	position:relative;
	width:100%;
	border:none;
	border-radius:0;
	background:none;
	font-family:var(--font-NotoSans);
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
	font-weight:500;
	padding:15px 35px 15px 44px;
	text-align:left;
	color:#333 !important;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	transition:color .3s;
}
.faq_btn:hover{color:var(--color-green) !important;}
.faq_btn::before,
.faq_btn::after{
	position:absolute;
	content:'';
	width:16px;
	height:2px;
	background:var(--color-green);
	top:0;
	bottom:0;
	right:10px;
	margin:auto;
	transition:opacity .3s;
}
.faq_btn::after{transform:rotate(90deg);}
.faq_btn.open::after{opacity:0;}
.faq_btn_txt{position:relative;}
.faq_btn_txt::before{
	position:absolute;
	content:'Q.';
	width:40px;
	height:28px;
	font-family:var(--font-Syncopate);
	font-size:2.6rem;
	letter-spacing:0;
	line-height:3.2rem;
	font-weight:bold;
	top:0;
	bottom:0;
	left:-44px;
	margin:auto;
	transition:color .3s;
}
.faq_btn:hover .faq_btn_txt::before{color:var(--color-green);}
.faq_answer{
	display:none;
	padding:32px 40px 13px;
	background:#F5F5F5;
	border-bottom:2px solid #333;
}
.faq_answer_txt{
	position:relative;
	padding-left:18px;
}
.faq_answer_txt::before{
	content:'A.';
	position:absolute;
	top:3px;
	left:0;
	font-size:1.6rem;
	letter-spacing:1.28px;
	line-height:2.4rem;
}
.faq_answer_txt > *:first-child{margin-top:0 !important;}
.faq_answer_txt > *:last-child{margin-bottom:0 !important;}

.contact_box{
	padding:50px 50px 40px;
	margin-top:70px;
	background:#E2F3E9;
	border-radius:8px;
}
.contact_head{
	padding:0;
	margin:0 0 10px;
	font-size:2.4rem;
	letter-spacing:0.24px;
	line-height:3.5rem;
	text-align:center;
}
.contact_head::before{display:none;}
.contact_txt{
	padding-bottom:20px;
	border-bottom:2px dotted #ccc;
	text-align:center;
}
.contact_info_txt{
	margin-bottom:15px;
	font-size:1.7rem;
	font-weight:500;
	letter-spacing:0;
	line-height:3rem;
	text-align:center;
}
.contact_info{
	margin-bottom:8px;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:3.5rem;
	text-align:center;
}
.contact_info a{font-size:2.4rem;}


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

.message_area{
	display:block;
	background:none;
}
.message_box{
	width:auto;
	padding:0;
}
.message_pic{
	width:auto;
	padding:40px 35px 45px;
	margin:-20px -35px 0;
	background:url(/recruit/newgrads/img/second-graduate/bg.png) no-repeat top right/auto 100%;
}
.contact_head{
	font-size:2.2rem;
	letter-spacing:0.22px;
}
.contact_info a{font-size:2.2rem;}

}


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

.message_area{padding:50px 35px 0;}
.message_head{
	font-size:3rem;
	line-height:4.3rem;
}
.message_txt{
	margin-bottom:30px;
	font-size:1.8rem;
	letter-spacing:1.44px;
	line-height:3.2rem;
}
.message_img{
	max-width:645px;
	width:80%;
	margin:auto;
}

.bg_area{
	padding-top:65px;
	padding-bottom:65px;
	margin-bottom:65px;
}
.bg_head{
	font-size:2.8rem;
	letter-spacing:0.28px;
	line-height:4rem;
}
.bg_txt{letter-spacing:1.2px;}

.target_box{padding:35px 35px 40px;}
.target_list{margin-bottom:-10px;}
.target_item{
	padding-left:30px;
	margin-bottom:20px;
	background-position:top 4px left;
	background-size:24px;
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
.target_txt{
	padding-bottom:30px;
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
.target_column{
	gap:30px;
	padding:0;
}

.job_list{margin-top:20px;}
.job_item{
	padding:11px 20px;
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
.job_item_txt{
	padding:0 0 2px 35px;
	background-size:24px;
}
.bg_green{
	padding-top:35px;
	padding-bottom:40px;
}

.flow_box{padding:40px 8% 25px;}
.flow_list{margin-bottom:-10px;}
.flow_list::before{
	left:110px;
	height:calc(100% - 25px);
}
.flow_list li{margin-left:135px;}
.flow_list li::before{
	top:12px;
	left:-140px;
	width:95px;
	font-size:2rem;
	line-height:2.4rem;
}
.flow_list li::after{
	top:17px;
	left:-30px;
	width:11px;
	height:11px;
}
.flow_list h3{
	padding:7px 15px 9px;
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
.flow_list h4{
	margin-left:15px;
	font-size:1.5rem;
	letter-spacing:1.2px;
}
.flow_list p{margin-left:15px;}
.flow_box > p{letter-spacing:0.15px;}

.bg_area.voice_area{
	padding-bottom:25px;
	margin-top:65px;
}
.voice_item{gap:40px;}
.voice_item_in{padding:20px 30px 5px;}
.voice_item_in::before{
	top:65px;
	border-width:20px;
}
.voice_item:nth-child(odd) .voice_item_in::before{
	left:-30px;
	border-right-width:30px;
}
.voice_item:nth-child(even) .voice_item_in::before{
	right:-30px;
	border-left-width:30px;
}
.voice_title{
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
.voice_icon{width:150px;}

.faq_btn{
	padding-top:14px;
	padding-bottom:14px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.6rem;
}
.faq_answer{padding:28px 30px 11px;}
.faq_answer_txt::before{
	top:2px;
	font-size:1.5rem;
	letter-spacing:1.2px;
}

.contact_box{
	padding:40px 35px 30px;
	margin-top:60px;
}
.contact_info_txt{
	font-size:1.6rem;
	line-height:2.7rem;
}
.contact_info{
	font-size:1.7rem;
	line-height:3.3rem;
}

}


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

.page_title{min-width:250px;}

.message_area{padding:40px 20px 0;}
.message_head{
	margin-bottom:30px;
	font-size:2.6rem;
	line-height:3.7rem;
}
.message_txt{
	margin-bottom:25px;
	font-size:1.6rem;
	letter-spacing:1.28px;
	line-height:2.5rem;
}
.message_pic{
	padding:30px 25px 35px;
	margin:-20px -20px 0;
}
.message_img{
	max-width:546px;
	width:100%;
	margin:auto;
}

.bg_area{
	padding-top:50px;
	padding-bottom:50px;
	margin-bottom:50px;
}
.bg_head{
	font-size:2.6rem;
	letter-spacing:0.26px;
	line-height:3.7rem;
}
.bg_txt{
	margin-bottom:35px;
	letter-spacing:1.12px;
}

.target_box{padding:25px 20px 30px;}
.target_list{margin-bottom:-5px;}
.target_item{
	padding-left:25px;
	margin-bottom:15px;
	background-size:20px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.7rem;
}
.target_txt{
	padding-bottom:25px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.7rem;
}
.target_column{
	display:block;
	padding:0;
}
.target_column .link_btn{margin:30px auto 0;}

.job_list{
	gap:15px;
	margin-top:0;
}
.job_item{
	padding:5px 10px;
	border-radius:4px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.6rem;
}
.job_item_txt{
	padding:0 0 2px 25px;
	background-size:20px;
}
.bg_green{
	padding-top:30px;
	padding-bottom:30px;
}
.bg_green p{
	margin-bottom:20px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.7rem;
}

.flow_box{padding:25px 15px 10px;}
.flow_list{margin-bottom:-15px;}
.flow_list::before{
	left:75px;
	height:calc(100% - 20px);
}
.flow_list li{margin:0 0 40px 90px;}
.flow_list li::before{
	top:12px;
	left:-95px;
	width:65px;
	font-size:1.4rem;
	line-height:1.8rem;
}
.flow_list li::after{
	top:16px;
	left:-19px;
	width:9px;
	height:9px;
}
.flow_list h3{
	padding:7px 10px 9px;
	margin-bottom:10px;
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.4rem;
}
.flow_list h4{
	margin:0;
	font-size:1.4rem;
	letter-spacing:0.14px;
	line-height:2.8rem;
}
.flow_list p{margin-left:0;}
.flow_box > p{
	letter-spacing:1.12px;
	line-height:2.5rem;
}

.column_3 div{margin-bottom:20px;}

.bg_area.voice_area{
	padding-bottom:1px;
	margin-top:30px;
}
.voice_item{gap:20px;}
.voice_item_in{
	padding:15px 20px 1px;
	border-radius:4px;
}
.voice_item_in::before{
	top:20px;
	border-width:10px;
}
.voice_item:nth-child(odd) .voice_item_in::before{
	left:-12px;
	border-right-width:16px;
}
.voice_item:nth-child(even) .voice_item_in::before{
	right:-12px;
	border-left-width:16px;
}
.voice_title{
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.7rem;
}
.voice_column_txt{
	font-size:1.3rem;
	letter-spacing:0.13px;
	line-height:2.4rem;
}
.voice_icon{
	width:60px;
	margin:0;
}

.faq_btn{
	padding-top:19px;
	padding-bottom:19px;
	font-size:1.7rem;
	letter-spacing:0.17px;
	line-height:2.1rem;
}
.faq_btn_txt::before{top:4px;}
.faq_answer{padding:23px 15px 9px;}
.faq_answer_txt{padding-left:15px;}
.faq_answer_txt::before{
	top:1px;
	font-size:1.4rem;
	letter-spacing:1.12px;
}

.contact_box{
	padding:30px 20px 20px;
	margin-top:50px;
}
.contact_txt{
	padding-bottom:15px;
	margin-bottom:20px;
}
.contact_info_txt{
	font-size:1.5rem;
	font-weight:normal;
	letter-spacing:1.2px;
	line-height:2.5rem;
}
.contact_info_txt span{
	display:block;
	margin-left:-15px;
}
.contact_info{
	margin-right:-5px;
	margin-left:-5px;
	font-size:1.6rem;
	line-height:3.2rem;
}

}


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

.page_title{
	top:20px;
	left:20px;
	max-width:320px;
	width:100%;
	margin:auto;
}
.page_top_img{max-height:500px;}

}