@charset "utf-8";

.page_top{
	position:relative;
	padding:70px 30px 65px;
}
.page_top::before, .page_top::after{
	content:'';
	position:absolute;
	z-index:-1;
	width:520px;
	height:520px;
	background:no-repeat center/cover;
}
.page_top::before{
	top:-180px;
	left:-195px;
	background-image:url(/recruit/img/common/bg_gradation_red.png);
}
.page_top::after{
	right:-55px;
	bottom:-355px;
	background-image:url(/recruit/img/common/bg_gradation_blue.png);
}
.page_title{
	max-width:1000px;
	margin:auto;
	font-family:var(--font_serif);
	font-size:4.2rem;
	font-weight:500;
	letter-spacing:4.2px;
	line-height:6rem;
}
.page_title[data-slug]::before{
	content:attr(data-slug);
	display:block;
	padding-left:25px;
	margin-bottom:8px;
	background:url(/recruit/img/common/icon_midashi.svg) no-repeat top 1px left;
	color:#E41F1F;
	font-family:var(--font_albert);
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:1.6px;
	line-height:1.9rem;
	text-transform:uppercase;
}
.catch{
	position:relative;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	margin-bottom:100px;
}
.catch::after{
	content:'';
	position:absolute;
	z-index:-1;
	right:0;
	bottom:-190px;
	left:-840px;
	width:520px;
	height:520px;
	margin:auto;
	background:url(/recruit/img/common/bg_gradation_green.png) no-repeat center/cover;
}
.catch_img{
	width:100%;
	min-height:200px;
	object-fit:cover;
}
.content_area{
	max-width:1060px;
	padding:0 30px;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

h2{
	padding-bottom:15px;
	margin:100px 0 30px;
	background:linear-gradient(90deg, #E41F1F 65px, #ccc 65px, #ccc 100%) no-repeat bottom left/100% 1px;
	font-family:var(--font_serif);
	font-size:3.2rem;
	font-weight:500;
	letter-spacing:3.2px;
	line-height:4.6rem;
}
h3{
	position:relative;
	padding-left:15px;
	margin:60px 0 25px;
	font-family:var(--font_serif);
	font-size:2.6rem;
	font-weight:500;
	letter-spacing:2.6px;
	line-height:3.7rem;
}
h3::before{
	content:'';
	position:absolute;
	top:3px;
	bottom:0;
	left:0;
	width:1px;
	height:calc(100% - 12px);
	margin:auto;
	background:#E41F1F;
}
h4{
	margin:45px 0 25px;
	font-family:var(--font_serif);
	font-size:2.2rem;
	font-weight:500;
	letter-spacing:2.2px;
	line-height:3.1rem;
}
h5{
	margin:40px 0 25px;
	font-family:var(--font_serif);
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
h6{
	margin:35px 0 25px;
	font-family:var(--font_serif);
	font-weight:500;
	line-height:2.3rem;
}
p{
	line-height:2.9rem;
	margin-bottom:30px;
}
h2 + p, h3 + p, h4 + p, h5 + p, h6 + p{margin-top:-10px;}
ul, ol{
	padding-left:20px;
	margin-bottom:30px;
}
li{margin-bottom:5px;}
ul > li{list-style:disc;}
ol > li{list-style:decimal;}
ul li li{list-style:circle;}
ul li li li{list-style:square;}
table{
	table-layout:fixed;
	width:100%;
	margin-bottom:30px;
	border-top:1px solid #ddd;
}
th, td{
	padding:18px 20px;
	border-bottom:1px solid #ddd;
	line-height:2.9rem;
	vertical-align:top;
}
th{
	width:240px;
	background:#F8F8F8;
	font-weight:500;
	text-align:left;
}
td{background:#fff;}
td ul, td ol{margin-top:5px;}
td *:first-child{margin-top:0;}
td *:last-child{margin-bottom:0;}
.scroll_table{margin-bottom:10px;}
.scroll_table table{
	table-layout:auto;
	margin-bottom:10px;
}
.scroll_table th, .scroll_table td{display:table-cell !important;}
.scroll_table thead th{
	min-width:200px;
	width:auto;
}
.scroll-hint-icon{
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:125px;
	height:90px;
	margin:auto;
}

.alignleft{margin-right:auto;}
.aligncenter{margin:auto;}
.alignright{margin-left:auto;}
.content_area img{border-radius:5px;}

.column_2, .column_3, .gallery{
	display:grid;
	grid-gap:30px;
	margin-bottom:30px;
}
.column_2, .gallery-columns-2{grid-template-columns:repeat(2, 1fr);}
.column_3, .gallery-columns-3{grid-template-columns:repeat(3, 1fr);}
.gallery-caption{
	margin-top:10px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
	text-align:center;
}
div.gallery > br{display:none;}

#pankuzu{
	padding:90px 0 5px;
	margin-bottom:90px;
	border-bottom:1px solid #888;
}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:0;
	margin:0;
}
#pankuzu li{
	position:relative;
	list-style:none;
	margin:0 25px 15px 0;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
}
#pankuzu li:last-child{margin-right:0;}
#pankuzu li::after{
	content:'';
	position:absolute;
	top:7px;
	right:-14px;
	width:6px;
	height:6px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	transform:rotate(45deg);
}
#pankuzu li:last-child::after{display:none;}
#pankuzu a{color:#333 !important;}
#pankuzu li:last-child a{
	text-decoration:none !important;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:none !important;}


/* error */
.error .content_area{padding-top:90px;}
.error .page_title{
	margin-bottom:45px;
	font-size:3.4rem;
	letter-spacing:3.4px;
	line-height:4.9rem;
}







.page_link{
	display:flex;
	justify-content:center;
	margin:50px 0 100px;
}
.page_link ol{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	padding:16px 15px 7px;
	margin:0;
	background:#E30613;
	border-radius:30px;
}
.page_link li{
	list-style:none;
	margin:0 25px 12px;
	letter-spacing:0.96px;
	line-height:2.4rem;
}
.page_link a{
	display:block;
	padding-left:20px;
	background:url(/recruit/img/common/arrow_b_white.svg) no-repeat center left;
	color:#fff !important;
	text-decoration:none !important;
}
.page_link a:hover{text-decoration:underline !important;}

.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;
}


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

.page_title{
	font-size:3rem;
	font-weight:normal;
	letter-spacing:3px;
	line-height:4.4rem;
}
.page_title[data-slug]::before{
	padding-left:20px;
	margin-bottom:5px;
	background-position-y:top;
	background-size:14px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.5rem;
}
.catch::after{
	right:auto;
	bottom:-110px;
}
h2{
	margin:80px 0 20px;
	font-size:2.6rem;
	font-weight:normal;
	letter-spacing:2.6px;
	line-height:3.7rem;
}
h3{
	padding-left:12px;
	margin-top:45px;
	font-size:2.2rem;
	font-weight:normal;
	letter-spacing:2.2px;
	line-height:3.1rem;
}
h4{
	margin-top:40px;
	font-size:1.8rem;
	font-weight:normal;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
h5{
	margin:35px 0 20px;
	font-size:1.6rem;
	font-weight:normal;
	letter-spacing:1.6px;
	line-height:2.7rem;
}
h6{
	margin-bottom:20px;
	font-size:1.4rem;
	font-weight:normal;
	letter-spacing:1.4px;
	line-height:2rem;
}
p{
	margin-bottom:25px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
h2 + p, h3 + p, h4 + p, h5 + p, h6 + p{margin-top:-5px;}
li{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
th, td{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
	padding:13px;
}

.column_2, .column_3, .gallery{
	grid-gap:20px;
	margin-bottom:20px;
}
.gallery-caption{
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.9rem;
}

#pankuzu{
	padding-top:75px;
	margin-bottom:75px;
}
#pankuzu li{margin-right:20px;}
#pankuzu li::after{right:-11px;}


/* error */
.error .content_area{padding-top:60px;}
.error .page_title{
	margin-bottom:40px;
	font-size:2.8rem;
	letter-spacing:2.8px;
	line-height:4rem;
}

}


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

.page_top{padding:60px 30px 40px;}
.page_top::before, .page_top::after{
	width:300px;
	height:300px;
}
.page_top::before{
	top:-170px;
	left:-75px;
}
.page_top::after{
	right:-60px;
	bottom:-195px;
}
.catch{margin-bottom:80px;}
.catch::after{
	left:-65px;
	width:300px;
	height:300px;
}

th{width:200px;}







.page_link{margin-bottom:90px;}
.page_link li{
	letter-spacing:0.9px;
	line-height:2.2rem;
	margin:0 15px 10px;
}

}


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

.page_top{padding:60px 20px 40px;}
.page_top::before, .page_top::after{
	width:260px;
	height:260px;
}
.page_top::before{
	top:-130px;
	left:-105px;
}
.page_top::after{
	right:-95px;
	bottom:-155px;
}
.catch{margin-bottom:45px;}
.catch::after{
	left:-90px;
	width:260px;
	height:260px;
}

.content_area{padding:0 20px;}
.column_2, .column_3, .gallery{
	grid-gap:20px 10px;
	margin-bottom:20px;
}
th, td{
	display:list-item;
	list-style:none;
	padding:12px 15px;
}
th{width:100%;}
td{padding-bottom:20px;}
.scroll_table th{width:auto;}
.scroll_table td{padding-bottom:13px;}








.page_link{
	display:block;
	margin-bottom:80px;
}
.page_link ol{
	display:block;
	padding:25px 30px 15px;
	border-radius:20px;
}
.page_link li{
	letter-spacing:0.84px;
	line-height:2rem;
	margin:0 0 15px;
}

}


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

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

}