  @charset "utf-8";

.page_top{
	display:flex;
	margin-bottom:50px;
}
.page_top_box{
	display:flex;
	flex-direction:column;
	justify-content:center;
	flex-shrink:0;
	width:600px;
	padding:20px 75px;
	background:#008940 url(/recruit/newgrads/img/internship/bg.png) no-repeat center left/auto 100%;
}
.page_top_title{
	color:#fff;
	font-size:4rem;
	font-weight:500;
	letter-spacing:0.4px;
	line-height:6rem;
	margin-bottom:20px;
}
.page_top_title::before{
	content:attr(data-slug);
	display:block;
	width:100%;
	margin-bottom:12px;
	font-family:var(--font-Syncopate);
	font-size:1.4rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:1.8rem;
	text-transform:uppercase;
}
.page_top_txt{
	color:#fff;
	font-size:1.6rem;
	line-height:2.4rem;
	margin:0;
}
.page_top_pic{margin:0;}
.page_top_img{width:100%;}

.internship .content_area h2{
	padding:0;
	margin:160px 0 35px;
	font-size:2.2rem;
	letter-spacing:0.22px;
	line-height:3.2rem;
	text-align:center;
}
.internship .content_area h2::before{
	content:attr(data-en);
	display:block;
	position:static;
	width:auto;
	height:auto;
	margin-bottom:5px;
	background:none;
	color:#333;
	font-family:var(--font-Syncopate);
	font-size:4.4rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:4.2rem;
	text-transform:uppercase;
}

.entry_box{
	padding:25px 20px 10px;
	margin:15px 0 20px;
	background:#E2F3E9;
}
#apply.entry_box{
	padding:50px 20px 40px;
	margin-top:100px;
}
.entry_head{
	padding:0;
	margin:0 0 10px;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0.18px;
	text-align:center;
}
#apply h2{
	margin:0 0 15px;
	font-size:2rem;
	font-weight:bold;
	letter-spacing:0.2px;
}
.entry_head::before, #apply h2::before{display:none;}
.entry_box p{
	font-size:1.8rem;
	letter-spacing:0.18px;
}
.entry_box p:nth-of-type(2){
	display:flex;
	justify-content:center;
	align-items:center;
}
.entry_box a.non{
	position:relative;
	display:block;
	max-width:357px;
	margin:0;
}
.entry_box a.non:not(:last-child){margin-right:20px;}
.entry_box 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;
}
.entry_box a.non:hover::after{opacity:1;}

.merit_list{
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-gap:20px;
	padding:0;
}
.merit_item{
	position:relative;
	list-style:none;
	margin:0;
}
.merit_item::before{
	content:attr(data-num);
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	z-index:1;
	top:0;
	left:0;
	width:90px;
	height:90px;
	padding-top:3px;
	background:#008940;
	color:#fff;
	font-family:var(--font-Syncopate);
	font-size:3.6rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:4rem;
}
.merit_img{
	width:100%;
	object-fit:cover;
}
.merit_txt{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	padding:30px 25px;
	margin:0;
	background:linear-gradient(180deg, rgba(0,0,0,0) 0%, #000 150%);
	color:#fff;
	font-size:2.4rem;
	font-weight:bold;
	letter-spacing:0.24px;
	line-height:3.6rem;
}

.intern_box{
	padding:65px 55px 30px;
	margin-bottom:30px;
	border:2px solid #008940;
}
.intern_title{
	position:relative;
	padding:0 0 40px 80px;
	margin:0 0 30px;
	border-color:#333;
	font-size:3.2rem;
	letter-spacing:0.32px;
	line-height:4.6rem;
}
.intern_title::before{
	content:'';
	position:absolute;
	top:0;
	bottom:35px;
	left:0;
	width:62px;
	height:62px;
	margin:auto;
	background:no-repeat center/cover;
}
.intern_title.civil::before{background-image:url(/recruit/newgrads/img/internship/icon_1.png);}
.intern_title.design::before{background-image:url(/recruit/newgrads/img/internship/icon_2.png);}
.intern_title.office::before{background-image:url(/recruit/newgrads/img/internship/icon_3.png);}
.intern_title.online::before{background-image:url(/recruit/newgrads/img/internship/icon_4.png);}
.intern_box_in{display:flex;}
.intern_info{width:100%;}
.intern_overview{
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:3.2rem;
	margin-bottom:25px;
}
.intern_info_head{
	float:left;
	font-size:1.8rem;
	font-weight:bold;
	letter-spacing:0.18px;
	line-height:3.2rem;
}
.intern_info_data{
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:3.2rem;
	margin:0 0 20px 110px;
}
p.intern_pic{
	flex-shrink:0;
	width:49%;
	margin:0 0 0 20px;
}
div.intern_pic{display:none;}
.intern_img{width:100%;}


.voice_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	grid-gap:60px 30px;
	padding:0;
}
.voice_item{
	list-style:none;
	margin-bottom:0;
}
.voice_item_in{
	position:relative;
	height:100%;
	padding-bottom:50px;
}
.voice_thumb{margin-bottom:10px;}
.voice_img{width:100%;}
.voice_title{
	color:#008940;
	font-size:2.2rem;
	font-weight:500;
	letter-spacing:0.22px;
	line-height:3.3rem;
	margin-bottom:8px;
}
.voice_name{
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0.16px;
	margin-bottom:2px;
}
.voice_info{
	font-size:1.4rem;
	letter-spacing:0.14px;
	line-height:2.1rem;
}
.voice_btn{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	margin:auto;
}
.voice_popup{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	padding:12px 0;
	background:#008940;
	border:1px solid #008940;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.4rem;
	text-align:center;
	text-decoration:none !important;
	transition:background 0.3s, color 0.3s;
}
.voice_popup:hover{
	background:#fff;
	color:#008940;
}
.mfp-bg{
	z-index:10000;
	background:#000;
	opacity:0;
	transition:opacity 0.3s;
}
.mfp-bg.mfp-ready{opacity:0.6;}
.mfp-bg.mfp-removing{opacity:0;}
.mfp-wrap{
	z-index:10000;
	opacity:0;
	transition:opacity 0.3s;
}
.mfp-wrap.mfp-ready{opacity:1;}
.mfp-wrap.mfp-removing{opacity:0;}
.mfp-container{
	height:auto !important;
	padding:80px 20px 50px;
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}
.voice_box{
	display:flex;
	flex-direction:column;
	position:relative;
	max-width:740px;
	padding:40px;
	margin:auto;
	background:#fff;
}
.voice_catch{margin-bottom:20px;}
.voice_contents .voice_title{
	padding:0;
	margin:0 0 10px;
	border:none;
	font-weight:bold;
}
.voice_head{
	padding:0;
	margin:30px 0 15px;
	color:#008940;
	font-size:1.6rem;
	font-weight:bold;
	letter-spacing:0.16px;
	line-height:2.4rem;
}
.voice_head::before{display:none;}
.voice_txt{
	letter-spacing:0.16px;
	line-height:2.4rem;
	margin:0;
}
.voice_close_btn{
	display:block;
	width:270px;
	margin:30px auto 0;
	padding:12px 0;
	background:#008940;
	border:1px solid #008940;
	border-radius:0;
	color:#fff;
	font-family:var(--font-NotoSans);
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.4rem;
	text-align:center;
	text-decoration:none !important;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	transition:background 0.3s, color 0.3s;
}
.voice_close_btn:hover{
	background:#fff;
	color:#008940;
}
.mfp-close{
	top:-60px;
	right:-5px;
	width:45px;
	height:45px;
	font-size:0;
	opacity:1;
}
.mfp-close:active{top:-55px;}
.mfp-close::before, .mfp-close::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:40px;
	height:2px;
	margin:auto;
	background:#fff;
}
.mfp-close::before{transform:rotate(45deg);}
.mfp-close::after{transform:rotate(-45deg);}


@media screen and (min-width:1025px) and (max-width:1140px){

.page_top_box{
	width:530px;
	padding:20px 40px;
}
.page_top_title{
	font-size:3.6rem;
	letter-spacing:0.36px;
	line-height:5.4rem;
}

}


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

.page_top{flex-direction:column-reverse;}
.page_top_box{
	display:block;
	width:auto;
	padding:35px 20px 40px;
}
.page_top_title br{display:none;}

.merit_item::before{
	width:60px;
	height:60px;
	padding-top:1px;
	font-size:2.6rem;
}
.merit_txt{
	padding:30px 20px 20px;
	font-size:1.7rem;
	letter-spacing:0.17px;
	line-height:3rem;
}

.voice_list{grid-template-columns:repeat(2, 1fr);}

}


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

.page_top_title{
	font-size:3.4rem;
	letter-spacing:0.34px;
	line-height:5.1rem;
}
.page_top_title::before{
	font-size:1.3rem;
	line-height:1.6rem;
}

.internship .content_area h2{
	font-size:1.9rem;
	letter-spacing:0.19px;
	line-height:2.8rem;
	margin:120px 0 30px;
}
.internship .content_area h2::before{
	font-size:3.8rem;
	line-height:3.6rem;
}

.entry_box{margin-top:10px;}
#apply.entry_box{
	padding:40px 25px 30px;
	margin-top:90px;
}

.intern_box{padding:45px 30px 20px;}
.intern_title{
	padding:0 0 30px 70px;
	margin-bottom:25px;
	font-size:2.7rem;
	letter-spacing:0.27px;
	line-height:3.6rem;
}
.intern_title::before{
	bottom:28px;
	width:56px;
	height:56px;
}
.intern_overview{
	font-size:1.7rem;
	letter-spacing:0.17px;
}
.intern_info_head{
	font-size:1.7rem;
	letter-spacing:0.17px;
	line-height:2.7rem;
}
.intern_info_data{
	font-size:1.7rem;
	letter-spacing:0.17px;
	line-height:2.7rem;
	margin-left:100px;
}
p.intern_pic{width:44%;}

.voice_box{padding:30px;}

}


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

.page_top_title{
	font-size:2.8rem;
	letter-spacing:0;
	line-height:4.2rem;
}
.page_top_title::before{
	font-size:1.2rem;
	line-height:1.4rem;
}
.page_top_txt{
	letter-spacing:0;
	line-height:2.5rem;
}

.internship .content_area h2{
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.4rem;
	margin:80px 0 25px;
}
.internship .content_area h2::before{
	font-size:3.2rem;
	line-height:3.1rem;
}

.entry_box{
	padding:35px 20px 20px;
	margin-top:5px;
}
#apply.entry_box{
	padding:30px 20px 25px;
	margin-top:80px;
}
.entry_head{
	font-size:1.6rem;
	letter-spacing:0.16px;
	margin-bottom:5px;
}
#apply h2{
	font-size:1.8rem;
	letter-spacing:0;
}
.entry_box p{
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.1rem;
}

.merit_list{display:block;}
.merit_item{margin-bottom:20px;}
.merit_img{
	max-height:400px;
	height:80vw;
}
.merit_txt{padding-bottom:15px;}
.merit_txt br{display:none;}

.intern_box{padding:20px 20px 5px;}
.intern_title{
	padding:0 0 20px 65px;
	margin-bottom:20px;
	font-size:2.2rem;
	letter-spacing:0.22px;
	line-height:2.6rem;
}
.intern_title::before{
	bottom:18px;
	width:50px;
	height:50px;
}
.intern_overview{
	font-size:1.6rem;
	letter-spacing:0.16px;
	margin-bottom:20px;
}
.intern_info_head{
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.1rem;
}
.intern_info_data{
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.1rem;
	margin-left:85px;
}
p.intern_pic{display:none;}
div.intern_pic{
	display:block;
	margin-bottom:20px;
}

.voice_item_in{padding-bottom:55px;}
.voice_box{padding:20px;}

}


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

.voice_list{display:block;}
.voice_item{margin-bottom:60px;}

}


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

.page_top_title br, .merit_txt br{display:block;}

}


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

.entry_box p:nth-of-type(2){flex-direction:column;}
.entry_box a.non:not(:last-child){margin:0 auto 20px;}

}