@charset "UTF-8";

/*見出し*/
.recruit-header h1,
.requirements-header h3{
	font-family: "Noto Serif JP","MainichiNewspapersM Light",serif;
}
/*欧文*/
#company-info dt{
	font-family: "OptimaNovaLTPro-Regular","Shuei KakuGo Gin M";
}
.requirements-detail__item-txt span,
.recruit-info__lead span{
	font-family: "OptimaNovaLTPro-Regular";	
}
.recruit-info__lead p a{
	font-family: "OptimaNovaLTPro-Regular";
}
.recruit-info__job p{
	opacity: 0;
	transition: opacity 1000ms ease;
	will-change: opacity;
}
.recruit-info__job a.is_show p{
	opacity: 1;
}
.recruit-info__job-txt{
	height: 0;
	overflow: hidden;
	transition: height 1000ms ease;
}

@keyframes arrow{
	0%{transform: translateY(0);}
	50%{transform: translateY(10px);}
	100%{transform: translateY(0);}
}


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

	#recruit #corp-main{
		margin: 95px 0 0;
	}
	.recruit-header{
		margin: 0 0 35px;
	}
	.recruit-header h1{
		font-size: 50px;
		line-height: 1.6;
		letter-spacing: 0.14em;
		text-align: center;
	}
	.recruit-sec-inner{
		margin: auto;
		padding: 0 40px;
		max-width: 1100px;
	}

/* recruit-info
===========================================================================*/

	.recruit-info__lead{
		text-align: center;
	}
	.recruit-info__lead p{
		font-size: 20px;
		line-height: 2;
		letter-spacing: 0.1em;
	}
	.recruit-info__lead p + p{
		margin-top: 40px;
	}
	.recruit-info__lead p a{
		padding: 0 0 2px;
		border-bottom: 1px solid #000;
		transition: color 1000ms ease,border 1000ms ease;
	}
	.recruit-info__lead p a:hover{
		color: #bcb3ac;
		border-bottom: 1px solid transparent;
	}
	.recruit-info__member{
		margin: 50px auto 0;
	}
	.recruit-info__member-inner{
		margin: 0 -10px;
		display: flex;
		justify-content: center;
	}
	.recruit-info__member figure{
		margin: 10px;
		width: 140px;
	}
	.recruit-info__member figure img{
		border-radius: 70px;
	}

	.recruit-info__new_graduate{
		margin: 100px 0 0;
		display: flex;
		padding: 0 80px 0 60px;
	}
	.recruit-info__new_graduate h2{
		font-size: 20px;
		width: 30%;
		display: flex;
	}
	.recruit-info__new_graduate p{
		line-height: 1.8;
		letter-spacing: 0.02em;
		width: calc(100% - 30% - 25px);
	}

	.recruit-info__job{
		margin: 100px 0 0;
	}
	.recruit-info__job .recruit-info__job-header{
		padding: 0 80px 0 60px;	
	}
	.recruit-info__job .recruit-info__job-header h2{
		font-size: 20px;
		width: 30%;
		height: 100px;
		display: flex;
		align-items: center;
	}
	.recruit-info__job li:nth-child(1){
		border-top: 1px solid #000;
	}
	.recruit-info__job li{
		border-bottom: 1px solid #000;
	}
	.recruit-info__job a{
		display: flex;
		padding: 0 80px 0 60px;
	}
	.recruit-info__job h3{
		font-size: 20px;
		width: 30%;
		height: 100px;
		display: flex;
		align-items: center;
	}
	.recruit-info__job-txt{
		width: calc(100% - 30% - 25px);
	}
	.recruit-info__job p{
		padding: 35px 80px 35px 0;
		line-height: 1.8;
		letter-spacing: 0.02em;
	}
	.recruit-info__job span{
		position: relative;
		display: block;
		width: 25px;
		height: 100px;
		display: flex;
		align-items: center;
	}
	.recruit-info__job span:after{
		content: "";
		display: block;
		width: 25px;
		height: 11px;
		background: url(../../common/img/arrow_d.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 1000ms ease;
	}
	.recruit-info__job a.is_click span:after{
		transform: rotate(180deg);
	}

	.recruit-info__job a:hover span{
		animation: arrow 1000ms ease 1;
	}

/* requirements
===========================================================================*/
	
	.requirements-header h3{
		font-size: 40px;
		letter-spacing: 0.1em;
		text-align: center;
	}
	.requirements-detail{
		margin: 80px 0 0;
	}
	.requirements-detail__item{
		display: flex;
		padding: 0 80px 0 60px;
	}
	.requirements-detail__item + .requirements-detail__item{
		margin-top: 40px;
	}
	.requirements-detail__item h4{
		width: 30%;
		line-height: 1.8;
	}
	.requirements-detail__item-txt{
		width: calc(100% - 30% - 25px);
	}
	.requirements-detail__item-txt p{
		margin: 0 -105px 0 0;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
	.requirements-detail__item-txt p + p{
		margin-top: 30px;
	}

}



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


	#recruit #corp-main{
		margin: 50px 0 0;
	}
	.recruit-header{
		margin: 0 0 35px;
	}
	.recruit-header h1{
		font-size: 26px;
		line-height: 1.8;
		letter-spacing: 0.1em;
		text-align: center;
	}
	.recruit-sec-inner{
		margin: auto;
		padding: 0 23px;
	}

/* recruit-info
===========================================================================*/

	.recruit-info__lead{
		text-align: center;
	}
	.recruit-info__lead p{
		line-height: 2;
		letter-spacing: 0.04em;
	}
	.recruit-info__lead p + p{
		margin-top: 40px;
	}
	.recruit-info__lead p a{
		padding: 0 0 2px;
		border-bottom: 1px solid #000;
	}
	.recruit-info__member{
		margin: 50px auto 0;
		max-width: 220px;
	}
	.recruit-info__member-inner{
		margin: 0 -10px;
		display: flex;
		flex-wrap: wrap;
	}
	.recruit-info__member figure{
		margin: 10px;
		width: 100px;
	}
	.recruit-info__member figure img{
		border-radius: 50px;
	}

	.recruit-info__new_graduate{
		margin: 90px 0 0;
		display: flex;
	}
	.recruit-info__new_graduate h2{
		padding: 0 10px 0 10px;
		width: 110px;
		line-height: 1.8;
		letter-spacing: 0.04em;
	}
	.recruit-info__new_graduate p{
		line-height: 1.8;
		letter-spacing: 0.02em;
		width: calc(100% - 110px);
	}
	.recruit-info__new_graduate p br{
		display: none;
	}

	.recruit-info__job{
		margin: 60px 0 0;
	}
	.recruit-info__job .recruit-info__job-header{
		padding: 0 25px 0 10px;
	}
	.recruit-info__job .recruit-info__job-header h2{
		width: 114px;
		height: 78px;
		display: flex;
		align-items: center;
		letter-spacing: 0.04em;
	}
	.recruit-info__job li:nth-child(1){
		border-top: 1px solid #000;
	}
	.recruit-info__job li{
		border-bottom: 1px solid #000;
	}
	.recruit-info__job a{
		display: flex;
	}
	.recruit-info__job h3{
		padding: 0 10px 0 10px;
		width: 110px;
		height: 78px;
		display: flex;
		align-items: center;
		letter-spacing: 0.04em;
		line-height: 140%;
	}

	.recruit-info__job-txt{
		width: calc(100% - 114px - 30px);
	}
	.recruit-info__job p{
		padding: 26px 0 26px 0;
		line-height: 2;
		letter-spacing: 0.02em;
	}
	.recruit-info__job p br{
		display: none;
	}
	.recruit-info__job span{
		position: relative;
		width: 30px;
		height: 78px;
		display: flex;
		align-items: center;
	}
	.recruit-info__job span:after{
		content: "";
		margin: auto;
		display: block;
		width: 13px;
		height: 7px;
		background: url(../../common/img/arrow_d.svg) 0 0 no-repeat;
		background-size: 100% 100%;
		transition: transform 1000ms ease;
	}
	.recruit-info__job a.is_click span:after{
		transform: rotate(180deg);
	}



/* requirements
===========================================================================*/
	
	.requirements-header h3{
		font-size: 20px;
		letter-spacing: 0.1em;
		text-align: center;
	}
	.requirements-detail{
		margin: 50px 0 0;
	}
	.requirements-detail__item{
		display: flex;
		padding: 0 0 0 10px;
	}
	.requirements-detail__item + .requirements-detail__item{
		margin-top: 40px;
	}
	.requirements-detail__item h4{
		width: 85px;
		line-height: 2;
	}
	.requirements-detail__item-txt{
		width: calc(100% - 85px);
	}
	.requirements-detail__item-txt p{
		line-height: 2;
		letter-spacing: 0.04em;
	}
	.requirements-detail__item-txt p + p{
		margin-top: 30px;
	}

}


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

	.recruit-sec-inner{
		margin: auto;
		padding: 0 10px;
	}
	.recruit-info__lead p {
		font-size: 12px;
	}

}



