@charset "utf-8";

/* 職種紹介 */
.content_area .job_list{
	margin:31px 0 0 0;
	padding:0;
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:30px 0;
}
.content_area .job_item{
	list-style:none;
	position:relative;
	border-bottom:1px solid #DAD3B3;
	padding:0 26px 22px 26px;
	margin:0 0 -8px;
}
.content_area .job_item:nth-child(4),.content_area .job_item:nth-child(5),.content_area .job_item:nth-child(6){
	border-bottom:none;
}
.content_area .job_item::before{
	content:'';
	display:block;
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:calc(100% - 30px);
	background:#DAD3B3;
}
.content_area .job_item:nth-child(3n+1):after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:1px;
	height:calc(100% - 30px);
	background:#DAD3B3;
}
.content_area h4.job_title{
	margin:0;
	padding-left:37px;
	background:url(/recruit/img/jobs/icon_check.svg) 0 center no-repeat;
	font-size:2.3rem;
	letter-spacing:1.15px;
}
.content_area .job_item p{
	margin:2px 0 0;
	font-size:1.5rem;
	letter-spacing:0.75px;
}
.job_point{
	background:#F9F2D3 url(/recruit/img/jobs/icon_pin.svg) 30px 26px no-repeat;
	padding:17px 26px 18px 65px;
	border-radius:14px;
	font-weight:500;
}
.job_point *:first-child{margin-top:0 !important;}
.job_point *:last-child{margin-bottom:0 !important;}
.job_flow_wrap{
	background:#F9F2D3;
	border-radius:14px;
	display:flex;
	justify-content:space-between;
	padding:23px 65px 27px;
}
.job_flow_box{width:48.6%;position:relative;}

.job_flow_list{
	position:relative;
	display:flex;
	flex-wrap:wrap;
	padding:5px 0;
}
.job_flow_list::before{
	position:absolute;
	content:'';
	width:1px;
	height:100%;
	background:#DAD3B3;
	top:0;
	left:78px;
}
.job_flow_time{
	position:relative;
	width:99px;
	text-align:right;
	font-size:2rem;
	letter-spacing:1px;
	font-weight:bold;
	color:#258820;
	line-height:3.1rem;
	font-family:"Poppins", serif;
	padding-right:38px;
}
.job_flow_time::after{
	position:absolute;
	content:'';
	width:7px;
	height:7px;
	background:#41A43C;
	border-radius:50%;
	top:11px;
	right:17px;
}
.job_flow_txt{
	width:calc(100% - 100px);
	line-height:1.8;
	margin-bottom:16px;
	font-weight:500;
}
.job_flow_txt:last-child{margin-bottom:0;}
.content_area .job_for_list{
	margin:0;
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:10px 30px;
	background:#F9F2D3;
	border-radius:14px;
	padding:20px 40px 26px 40px;
}
.content_area .job_for_item{
	list-style:none;
	margin:0;
	padding:0 0 12px 18px;
	position:relative;
	font-weight:500;
	border-bottom:1px solid #DAD3B3;
}
.content_area .job_for_item::before{
	content:'';
	display:block;
	width:8px;
	height:8px;
	background:#41A43C;
	border-radius:50%;
	position:absolute;
	left:0;
	top:10px;
}
.content_area .job_member_list{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:20px;
	margin:0;
	padding:0;
}
.content_area .job_member_item{
	list-style:none;
	margin:0;
}
.job_member_item a{
	display:flex;
	width:100%;
	height:100%;
	justify-content:space-between;
	position:relative;
	padding:14px 50px 12px 14px;
	border-radius:14px;
	background:#fff;
	color:#333 !important;
	text-decoration:none !important;
	border:2px solid #ddd;
	transition:border 0.3s;
	align-items:flex-start;
}
.job_member_item a:hover{border-color:#814E09;}
.job_member_item a::before{
	content:'';
	display:block;
	background:url(/recruit/img/common/arrow_brown_r.svg) center no-repeat;
	background-size:19px 10px;
	width:19px;
	height:10px;
	position:absolute;
	right:20px;
	top:calc(50% - 5px);
}
.job_member_item a:hover::before{animation:arrow_move 0.3s forwards cubic-bezier(0.75,0,0.2,1);}
@keyframes arrow_move{
	0%{
		right:20px;
		opacity:1;
	}
	60%{
		right:10px;
		opacity:0;
	}
	61%{
		right:30px;
		opacity:0;
	}
	100%{
		right:20px;
		opacity:1;
	}
}
.job_member_img{
	border-radius:6px;
	overflow:hidden;
	width:154px;
}
.job_member_img img{
	border-radius:0;
	transition:transform 0.3s;
}
a:hover .job_member_img img{transform:scale(1.03);}
.job_member_txt{
	width:calc(100% - 170px);
}
.member_copy{font-size:1.5rem;letter-spacing:0.75px;margin:0 0 10px !important;line-height:1.6;}
.member_info{
	display:flex;
	align-items:center;
	margin:0 !important;
}
.member_cate{
	display:block;
	border-radius:18px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	color:#fff !important;
	padding:2px 15px 3px;
	background:#814E09;
	margin-right:9px;
}
.member_year{
	font-size:1.3rem;
	letter-spacing:1.3px;
}
.job_content_box{
	border-top:1px solid #DAD3B3;
	margin-top:30px;
}
.jobs .content_area .page_link{border-bottom:none;padding-bottom:0;}
.job_content_box > *:last-child{margin-bottom:50px !important;}


@media screen and (max-width:1023px){

/* 職種紹介 */
.content_area .job_list{
	margin:25px 0 0 0;
	grid-template-columns:1fr 1fr;
	gap:26px 0;
}
.content_area .job_item{
	padding:0 20px 20px 20px;
	margin:0 0 -8px;
}
.content_area .job_item:nth-child(4){border-bottom:1px solid #DAD3B3;}
.content_area .job_item::before{
	height:calc(100% - 20px);
}
.content_area .job_item:nth-child(3n+1):after{display:none;}
.content_area .job_item:nth-child(2n+1):after{
	content:'';
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:1px;
	height:calc(100% - 20px);
	background:#DAD3B3;
}
.content_area h4.job_title{
	padding-left:30px;
	background-size:24px 24px;
	font-size:2rem;
	letter-spacing:1px;
	line-height:1.5;
	margin-bottom:5px;
}
.content_area .job_item p{
	margin:2px 0 0;
	font-size:1.4rem;
	letter-spacing:0.7px;
}
.job_point{
	background:#F9F2D3 url(/recruit/img/jobs/icon_pin.svg) 30px 24px no-repeat;
	padding:17px 26px 18px 65px;
}
.job_flow_wrap{
	padding:22px 21px 25px;
}
.job_flow_box{width:46.6%;position:relative;}

.job_flow_list{padding:8px 0;}
.job_flow_list::before{left:73px;}
.job_flow_time{
	width:87px;
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.7rem;
	padding-right:26px;
}
.job_flow_time::after{
	top:11px;
	right:10px;
}
.job_flow_txt{
	width:calc(100% - 93px);
	margin-bottom:19px;
}
.content_area .job_for_list{
	margin:0;
	display:block;
	gap:0;
	padding:20px 24px 16px;
}
.content_area .job_for_item{padding:0 0 12px 18px;margin-bottom:8px;}
.content_area .job_for_item::before{top:10px;}
.content_area .job_member_list{gap:14px;}
.job_member_item a{padding:10px 40px 8px 10px;border-radius:10px;}

.job_member_item a::before{right:10px;}
@keyframes arrow_move{
	0%{right:10px;opacity:1;}
	60%{right:2px;opacity:0;}
	61%{right:20px;opacity:0;}
	100%{right:10px;opacity:1;}
}
.job_member_img{
	border-radius:4px;
	width:90px;
}
.job_member_txt{width:calc(100% - 100px);}
.member_copy{font-size:1.3rem;letter-spacing:0.65px;margin:0 0 5px !important;}
.member_cate{
	font-size:1rem;
	letter-spacing:1px;
	padding:2px 10px 3px;
	margin-right:5px;
}
.member_year{
	font-size:1.2rem;
	letter-spacing:1.2px;
}

}

@media screen and (max-width:767px){
.content_area .job_list{
	margin:0;
	display:block;
	border-top:1px solid #DAD3B3;
}
.content_area .job_item{
	padding:10px 6px 10px 10px;
	margin:0;
}
.content_area .job_item:nth-child(4),.content_area .job_item:nth-child(5),.content_area .job_item:nth-child(6){
	border-bottom:1px solid #DAD3B3;
}
.content_area .job_item::before,
.content_area .job_item:nth-child(2n+1)::after,
.content_area .job_item:nth-child(3n+1):after{display:none;}
.content_area h4.job_title{
	padding-left:26px;
	background-size:20px 20px;
	font-size:1.8rem;
	letter-spacing:0.9px;
}
.content_area .job_item p{
	margin:2px 0 0;
	font-size:1.3rem;
	letter-spacing:0.65px;
}
.job_point{
	background:#F9F2D3 url(/recruit/img/jobs/icon_pin.svg) 19px 19px no-repeat;
	padding:17px 20px 18px 45px;
	border-radius:10px;
}
.job_flow_wrap{
	border-radius:10px;
	display:block;
	padding:23px 20px 16px;
}
.job_flow_box{width:auto;position:relative;}
.job_flow_list{padding:0;margin:0;}
.job_flow_list::before{left:58px;top:-4px;}
.job_flow_time{font-size:1.6rem;letter-spacing:0.8px;width:74px;}
.job_flow_time::after{
	width:5px;
	height:5px;
	right:13px;
}
.content_area .job_member_list{display:block;}
.content_area .job_member_item{margin:10px 0 0;}
.job_flow_txt{margin-bottom:12px !important;}
.content_area .job_for_list{padding:21px 20px 9px;}
.content_area .job_for_item{padding:0 0 10px 12px;margin-bottom:10px;line-height:1.5;}
.content_area .job_for_item::before{top:8px;width:6px;height:6px;}
.jobs .content_area .page_link{margin:0;}

.page_link + .job_content_box{border-top:none;}
}