@charset "utf-8";
.recruit_section {
		padding: 250px 80px 100px;
}
.page_header h2 {
		font-family: 'Poppins', sans-serif;
		font-size: 70px;
		line-height: 1;
		font-weight: 600;
		letter-spacing: 0
}
.recruit_archive_wrap {
		max-width: 800px;
		margin: 0 auto;
		min-height: 80vh;
		padding: 50px 0 0;
}
.recruit_lead {
		margin: 0 0 40px
}
.recruit_lead p {
		font-size: 15px;
		line-height: 1.8;
}
.job_line_gr {
		max-width: 800px;
		margin: 0 auto
}
.job_line_gr .job_line:first-child {
		border-top: 1px solid #9e9c9c;
}
.job_line {
		border-bottom: 1px solid #9e9c9c;
}
.job_line a {
		padding: 25px 40px 25px 15px;
		text-decoration: none;
		color: #3D3A39;
		display: block;
		position: relative;
		transition: opacity 0.4s;
}
.job_line a::after {
		content: '';
		display: block;
		width: 18px;
		height: 5px;
		border-right: 1px solid #3D3A39;
		border-bottom: 1px solid #3D3A39;
		position: absolute;
		right: 25px;
		top: calc(50% - 2px);
		transform: skew(40deg);
		transition: right 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.job_line a:hover {
				opacity: 0.7
		}
		.job_line a:hover::after {
				right: 10px;
		}
}
.job_line h3 {
		font-size: 130%;
		font-weight: 700;
		margin: 0 0 10px
}
.job_line p {
		line-height: 1.8;
}
@media(max-width: 767px) {
		.job_line h3 {
				font-size: 18px;
				margin: 0 0 10px
		}
		.job_line p {
				line-height: 1.7;
				font-size: 14px;
		}
		.job_line a {
				padding: 15px 30px 15px 0;
		}
		.job_line a::after {
				right: 5px;
		}
}
/* ============== */
.jobname {
		font-size: 24px;
		margin: 0 0 40px;
		font-weight: 700;
}
.job_cont_gr {
		margin-bottom: 40px;
}
.job_cont {
		padding-top: 15px;
		padding-bottom: 15px;
		border-bottom: 1px solid #9e9c9c;
}
.job_cont_gr .job_cont:first-child {
		border-top: 1px solid #9e9c9c;
}
.job_cont dt, .job_cont dd {
		line-height: 1.8;
		font-size: 15px;
}
.job_cont dt {
		font-weight: 600;
		margin: 0 0 6px;
		font-size: 115%;
}
.entry_btn_center {
		display: flex;
		justify-content: center;
}
.entry_btn_center .entry_btn a {
		width: 195px;
		height: 35px;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		font-weight: 600;
		will-change: background;
		transition: background 0.2s;
		position: relative;
		background: #3D3A39;
		color: #fff;
		border: 1px solid #3D3A39;
}
.entry_btn a::after {
		content: '';
		display: block;
		width: 27px;
		height: 1px;
		background: #fff;
		position: absolute;
		top: 50%;
		right: 10px;
		will-change: transform;
		transform-origin: left center;
		transition: transform 0.4s;
}
.back_btn {
		text-align: center;
		margin-top: 30px;
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		font-weight: 600;
}
.back_btn a {
		color: #3D3A39;
		text-decoration: none;
}
.back_btn span {
		position: relative;
}
.back_btn span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -4px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #3D3A39;
		transform-origin: right center;
		transform: scaleX(0);
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.entry_btn a:hover {
				background: #fff;
				color: #3D3A39;
		}
		.entry_btn a:hover::after {
				background: #3D3A39;
				transform: scaleX(2.2);
		}
		.back_btn a:hover span::after {
				transform: scaleX(1);
		}
}
@media (max-width: 767px) {
		.recruit_section {
				padding: 130px 20px 80px;
		}
		.page_header {
				padding: 0;
		}
		.page_header h2 {
				font-size: 34px;
		}
		.recruit_archive_wrap {
				padding-top: 40px;
		}
		.jobname {
				font-size: 20px;
				margin: 0 0 30px;
		}
		.job_cont {
				padding-top: 15px;
				padding-bottom: 15px;
		}
		.job_cont dt {
				margin: 0 0 5px
		}
		.entry_btn a::after {
				width: 22px;
		}
}