  @charset "utf-8";

.title_area{
	position:relative;
	height:430px;
	padding:0 20px;
	margin-bottom:50px;
	background:no-repeat center/cover
}
.education .title_area{background-image:url(/recruit/newgrads/img/common/h1_education.jpg);}
.requirement .title_area{background-image:url(/recruit/newgrads/img/common/h1_requirement.jpg);}
.title_box{
	display:flex;
	align-items:center;
	position:relative;
	max-width:1180px;
	height:100%;
	margin:auto;
	border-right:1px solid rgba(204,204,204,0.3);
	border-left:1px solid rgba(204,204,204,0.3);
}
.title_area::before, .title_box::before{
	content:'';
	position:absolute;
	z-index:0;
	top:0;
	right:0;
	bottom:0;
	left:0;
	margin:auto;
	opacity:0.3;
}
.title_area::before{
	width:100%;
	height:1px;
	background:#ccc;
}
.title_box::before{
	width:33.333%;
	height:100%;
	border-right:1px solid #ccc;
	border-left:1px solid #ccc;
}
.page_title{
	position:relative;
	z-index:1;
	display:flex;
	flex-wrap:wrap;
	margin-bottom:4px;
	color:#fff;
	font-size:2.2rem;
	font-weight:500;
	letter-spacing:0.22px;
	line-height:3.2rem;
}
.page_title::before{
	content:attr(data-slug);
	width:100%;
	margin-bottom:5px;
	font-family:var(--font-Syncopate);
	font-size:7.1rem;
	font-weight:bold;
	letter-spacing:0;
	line-height:6.9rem;
	text-transform:uppercase;
}

.title_area.common{
	height:295px;
	margin:0;
}
.title_area.common::before{
	z-index:-1;
	bottom:auto;
	height:430px;
	background:linear-gradient(0deg, #fff 0%, rgba(226,243,234,0.9) 100%);
	opacity:1;
}
.title_area.common::after{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	right:0;
	width:308px;
	height:430px;
	background:url(/recruit/newgrads/img/common/bg_logo.png) no-repeat center/cover;
}
.common .title_box{border:none;}
.common .title_box::before{display:none;}
.common .page_title{color:#333;}
.common .page_title::before{color:#000;}

.content_area{
	max-width:1220px;
	padding:0 20px;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

a, a:visited{
	color:#333;
	text-decoration:underline;
}
a:hover{text-decoration:none;}
a[target="_blank"]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/popup.svg) no-repeat center left;
}
a.non[target="_blank"]{
	padding-left:0;
	background:none;
}
a[href$=".doc"], a[href$=".docx"]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/icon_word.svg) no-repeat center left;
}
a[href$=".xls"], a[href$=".xlsx"]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/icon_excel.svg) no-repeat center left;
}
a[href$=".pdf"]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/icon_pdf.svg) no-repeat center left;
}
a.none[href$=".pdf"]{
	padding-left:0;
	background:none;
}
a[href$=".zip"]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/icon_zip.svg) no-repeat center left;
}
a[download]{
	padding-left:20px;
	background:url(/recruit/newgrads/img/common/icon_download.svg) no-repeat center left;
}
[href^="tel:"]{
	color:#333 !important;
	text-decoration:none;
	pointer-events:none;
}

h2{
	position:relative;
	padding-bottom:17px;
	margin:55px 0 17px;
	color:#000;
	font-size:2.8rem;
	font-weight:500;
	letter-spacing:0.28px;
	line-height:4rem;
}
h2::before{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:50px;
	height:2px;
	background:var(--color-green);
}
h3{
	padding-bottom:16px;
	margin:35px 0 20px;
	border-bottom:2px solid #ccc;
	color:#000;
	font-size:2.4rem;
	font-weight:500;
	letter-spacing:0.24px;
	line-height:3.5rem;
}
h4{
	position:relative;
	padding-left:12px;
	margin:30px 0 10px;
	color:#000;
	font-size:2rem;
	font-weight:500;
	letter-spacing:0.2px;
	line-height:2.9rem;
}
h4::before{
	content:'';
	position:absolute;
	top:6px;
	left:0;
	width:2px;
	height:calc(100% - 9px);
	background:#014099;
}
h5{
	margin:25px 0 10px;
	color:#000;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:0.18px;
	line-height:2.6rem;
}

p{
	margin-bottom:20px;
	color:#000;
	letter-spacing:1.28px;
	line-height:2.9rem;
}
ul, ol{
	padding-left:20px;
	margin-bottom:20px;
}
ul li{list-style:disc;}
ol li{list-style:decimal;}
li{
	margin-bottom:5px;
	color:#000;
	letter-spacing:1.28px;
	line-height:2.9rem;
}

table{
	table-layout:fixed;
	width:100%;
	margin-bottom:20px;
	border-top:1px solid #ddd;
	border-left:1px solid #ddd;
}
th, td{
	padding:19px 14px;
	border-right:1px solid #ddd;
	border-bottom:1px solid #ddd;
	font-size:1.5rem;
	letter-spacing:0.15px;
	line-height:2.2rem;
	vertical-align:top;
}
th{
	width:240px;
	background:#F5F5F5;
	font-weight:500;
	text-align:left;
}
td *:last-child{margin-bottom:0;}

.alignleft{margin-right:auto;}
.aligncenter{margin:auto;}
.alignright{margin-left:auto;}

.column_2, .column_3{
	display:grid;
	grid-gap:20px;
	margin-bottom:20px;
}
.column_2{grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));}
.column_3{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));}
.column_2 p:last-child, .column_3 p:last-child{margin-bottom:0;}

.gallery{
	display:grid;
	grid-gap:20px;
	margin-bottom:20px !important;
}
.gallery-columns-2{grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));}
.gallery-columns-3{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));}
.gallery img{
	width:100%;
	border:none !important;
}
.gallery-caption{
	margin:6px 0 20px;
	font-size:1.6rem;
	letter-spacing:1.28px;
	line-height:2.4rem;
	text-align:center;
}
div.gallery > br{display:none;}

.page_link{
	display:grid;
	grid-template-columns:repeat(auto-fit,calc(100% / 5));
	grid-gap:30px 0;
	padding:0;
	margin:70px 0;
}
.page_link li{
	margin:0 !important;
	list-style:none;
	border-right:1px solid #ccc;
}
.page_link li:nth-child(5n+1){border-left:1px solid #ccc;}
.page_link a{
	position:relative;
	display:flex;
	justify-content:center;
	height:100%;
	font-size:1.6rem;
	letter-spacing:.16px;
	line-height:2.4rem;
	font-weight:500;
	text-align:center;
	color:#333 !important;
	text-decoration:none;
	padding:10px 20px 25px;
	transition:color .3s;
}
.page_link a:hover{color:var(--color-green) !important;}
.page_link a::before{
	position:absolute;
	content:'';
	width:13px;
	height:13px;
	border-right:2px solid var(--color-green);
	border-bottom:2px solid var(--color-green);
	transform:rotate(45deg);
	bottom:5px;
	left:0;
	right:0;
	margin:auto;
}

.copy_txt{
	font-family:var(--font-NotoSerif);
	font-size:2.8rem;
	letter-spacing:0;
	line-height:5.4rem;
	font-weight:500;
	text-align:center;
}

.coming_soon{text-align:center;}
.coming_soon > p:first-child{
	font-family:var(--font-NotoSerif);
	font-size:2.6rem;
	letter-spacing:0;
	line-height:3.2rem;
	font-weight:500;
	margin-bottom:24px;
}

.map, .movie_wrap{
	position:relative;
	width:auto;
	height:0;
	padding-bottom:56.25%;
	margin:0 auto;
	overflow:hidden;
}
.map iframe, .movie_wrap iframe{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}

.recommend_wrap{
	padding:60px 0 0;
	margin:120px 0 0;
	border-top:1px solid #ccc;
}
.recommend_h2{
	font-size:2.2rem;
	letter-spacing:.22px;
	line-height:3.24rem;
	font-weight:500;
	text-align:center;
	padding:0;
	margin:0 0 60px;
}
.recommend_h2::before{
	position:relative;
	display:block;
	width:100%;
	height:auto;
	content:attr(data-en);
	font-family:var(--font-Syncopate);
	font-size:4.4rem;
	letter-spacing:0;
	line-height:4rem;
	font-weight:bold;
	margin:0 0 8px;
	background:none;
}
.recommend_list{
	display:grid;
	grid-template-columns:repeat(auto-fit,calc((100% - 40px)/2));
	grid-gap:20px 40px;
	padding:0;
	margin:0;
}
.recommend_item{
	margin:0 !important;
	list-style:none;
}
.recommend_link{
	color:#333 !important;
	text-decoration:none;
}
.recommend_img{
	border-radius:0 0 30px 0;
	overflow:hidden;
}
.recommend_img img{
	transition:transform .3s;
}
a:hover .recommend_img img{transform:scale(1.03);}
.recommend_title{
	position:relative;
	font-size:1.8rem;
	letter-spacing:.18px;
	line-height:3.24rem;
	font-weight:500;
	padding-left:36px;
	margin:13px 0 0;
}
.recommend_title::before,
.recommend_title::after{
	position:absolute;
	content:'';
	width:28px;
	height:28px;
	background:url(/recruit/newgrads/img/common/arrow_maru_r_white.svg) no-repeat center;
	top:3px;
	left:0;
	z-index:10;
	transition:opacity .3s;
}
.recommend_title::after{
	background-image:url(/recruit/newgrads/img/common/arrow_maru_r_green.svg);
	opacity:0;
}
a:hover .recommend_title::before{opacity:0;}
a:hover .recommend_title::after{opacity:1;}

#pankuzu{margin-top:120px;}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	padding:0 100px 5px 0;
	margin:0;
}
#pankuzu li{
	position:relative;
	list-style:none;
	padding-right:30px;
	margin-bottom:10px;
	background:url(/recruit/newgrads/img/common/arrow_r_green.svg) no-repeat top 4px right 12px;
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.7rem;
}
#pankuzu li:last-child{
	padding-right:0;
	background:none !important;
}
#pankuzu a{
	display:block;
	color:#000 !important;
	text-decoration:none !important;
}
#pankuzu li:last-child a{
	text-decoration:none;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:underline !important;}

.scroll-hint-icon{width:150px;height:90px;}

/*----- education -----*/
.education .font_large{
	font-size:1.8rem;
	letter-spacing:1.44px;
}


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

h5{
	font-size:1.6rem;
	letter-spacing:0.16px;
	line-height:2.4rem;
}

}


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

.title_area{
	height:310px;
	margin-bottom:40px;
}
.page_title{
	margin-bottom:0;
	font-size:1.9rem;
	letter-spacing:0.19px;
}
.page_title::before{
	margin-bottom:-2px;
	font-size:5.2rem;
	line-height:5.5rem;
}

.title_area.common{
	height:240px;
	margin-bottom:-10px;
}
.title_area.common::before{height:310px;}
.title_area.common::after{
	width:231px;
	height:322px;
}

h2{
	font-size:2.5rem;
	letter-spacing:0.25px;
	line-height:3.6rem;
}
h3{
	font-size:2.2rem;
	letter-spacing:0.22px;
	line-height:3.3rem;
}
p, li{
	font-size:1.5rem;
	letter-spacing:1.2px;
	line-height:2.7rem;
}
th{width:180px;}
th, td{
	padding:9px 10px;
	font-size:1.4rem;
	letter-spacing:0.14px;
}
td p{
	font-size:1.4rem;
	letter-spacing:0.14px;
}

.gallery-caption{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2rem;
}

.page_link{
	grid-template-columns:repeat(auto-fit,calc(100% / 3));
	grid-gap:15px 0;
}
.page_link li:nth-child(5n+1){border-left:none;}
.page_link li:nth-child(3n+1){border-left:1px solid #ccc;}
.page_link a{
	font-size:1.5rem;
	letter-spacing:.15px;
	line-height:2.25rem;
}

.recommend_h2{
	font-size:2rem;
	letter-spacing:.2px;
	line-height:3.12rem;
	margin:0 0 48px;
}
.recommend_h2::before{
	font-size:3.8rem;
	line-height:3.9rem;
	margin:0 0 4px;
}
.recommend_list{
	grid-template-columns:repeat(auto-fit,calc((100% - 30px)/2));
	grid-gap:20px 30px;
}

.copy_txt{
	font-size:2.3rem !important;
	line-height:4.3rem !important;
}

/*----- education -----*/
.education th{width:240px;}
.education .font_large{
	font-size:1.7rem;
	letter-spacing:1.36px;
}

}


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

.title_area{
	height:190px;
	margin-bottom:30px;
}
.title_box{border:none;}
.title_box::before{width:50%;}
.page_title{
	margin:3px 0 0;
	font-size:1.6rem;
	letter-spacing:0.16px;
}
.page_title::before{
	margin-bottom:-10px;
	font-size:3.3rem;
	line-height:4.1rem;
}

.title_area.common{
	height:190px;
	margin-bottom:-15px;
}
.title_area.common::before{height:190px;}
.title_area.common::after{
	width:134px;
	height:187px;
}

[href^="tel:"]{
	text-decoration:underline;
	pointer-events:auto;
}

h2{
	margin-bottom:15px;
	font-size:2.3rem;
	letter-spacing:0.23px;
	line-height:3.6rem;
}
h3{
	margin-bottom:10px;
	font-size:2rem;
	letter-spacing:0.2px;
	line-height:3rem;
}
h4{
	padding-left:10px;
	margin-top:40px;
	font-size:1.8rem;
	letter-spacing:0.18px;
	line-height:2.7rem;
}
h5{margin:40px 0 5px;}

p{
	margin-bottom:15px;
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.5rem;
}
ul, ol{margin-bottom:15px;}
li{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.5rem;
}
th{width:110px;}
th, td{
	padding:9px 10px;
	font-size:1.2rem;
	letter-spacing:0.12px;
	line-height:2.2rem;
}
td p{
	font-size:1.2rem;
	letter-spacing:0.12px;
	line-height:2.2rem;
}

.column_2, .column_3, .gallery{
	grid-gap:15px;
	margin-bottom:15px !important;
}
.column_2, .gallery-columns-2{grid-template-columns:repeat(auto-fit, calc((100% - 15px) / 2));}
.column_3, .gallery-columns-3{grid-template-columns:repeat(auto-fit, calc((100% - 30px) / 3));}
.gallery-caption{
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.7rem;
}

.page_link{
	grid-template-columns:repeat(auto-fit,calc(100% / 3));
	grid-gap:15px 0;
}
.page_link li:nth-child(5n+1){border-left:none;}
.page_link li:nth-child(3n+1){border-left:1px solid #ccc;}
.page_link a{
	font-size:1.4rem;
	letter-spacing:.14px;
	line-height:2.1rem;
	padding:10px 20px 20px;
}

.coming_soon > p:first-child{
	font-size:1.8rem;
	line-height:2.44rem;
	margin-bottom:16px;
}

.recommend_wrap{
	padding:38px 0 0;
	margin:100px 0 0;
}
.recommend_h2::before{
	font-size:3.3rem;
	line-height:3.4rem;
	margin:0;
}
.recommend_h2{
	font-size:1.8rem;
	letter-spacing:.18px;
	line-height:3rem;
	margin:0 0 38px;
}
.recommend_list{
	grid-template-columns:repeat(auto-fit,calc((100% - 20px)/2));
	grid-gap:20px;
}
.recommend_title{
	font-size:1.6rem;
	letter-spacing:.16px;
	padding-left:25px;
	margin:6px 0 0;
}
.recommend_title::before,
.recommend_title::after{
	width:18px;
	height:18px;
	background-size:100%;
	top:8px;
}

#pankuzu{margin-top:70px;}
#pankuzu ol{padding-right:70px;}

.copy_txt{
	font-size:1.8rem !important;
	line-height:3.2rem !important;
}

/*----- education -----*/
.education th{width:180px;}
.education .font_large{
	font-size:1.6rem;
	letter-spacing:1.28px;
}

}


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

.column_2, .column_3, .gallery-columns-2, .gallery-columns-3{grid-template-columns:repeat(auto-fit, 100%);}

.page_link{grid-template-columns:repeat(auto-fit, calc(100% / 2));}
.page_link li:nth-child(3n+1){border-left:none;}
.page_link li:nth-child(2n+1){border-left:1px solid #ccc;}

.recommend_list{grid-template-columns:repeat(auto-fit,100%);}

}