/* ==========================================
   キャリアと働く環境
========================================== */
.career-main-visual .image{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.career-main-visual .detail{
	background-color: #EFF6FF;
}
.career-heading .ttl .main{
	font-weight: 700;
}
.career-heading .ttl .main strong{
	background-color: #D8D11F;
	padding: .015em 0;
}
.career-heading .ttl .sub{
	font-weight: 700;
	line-height: 1;
}
.career-heading > p{
	font-weight: 500;
	line-height: 1.6;
}
@media print, screen and (min-width:781px) {
	.career-main-visual{
		display: flex;
		height: calc(100vh - 100px);
	}
	.career-main-visual .image{
		background-image: url("../img/img_career_main.jpg");
		width: 54%;
		margin-bottom: 6.295%;
	}
	.career-main-visual .detail{
		display: flex;
		align-items: center;
		padding: 0 5.29%;
		width: 46%;
	}
	.career-heading .ttl .main{
		font-size: min(2.92vw,4.0rem);
	}
	.career-heading .ttl .sub{
		font-size: min(1.83vw,2.5rem);
	}
	.career-heading .ttl .sub > span{
		font-size: min(10.2vw,14.0rem);
	}
	.career-heading > p{
		margin-top: 25px;
		width: 73.029%;
	}
}
@media screen and (max-width: 780px) {
	.career-main-visual .image{
		background-image: url("../img/img_career_main_sp.jpg");
		padding-bottom: calc(71.225% * 90% / 100%);
		width: 90%;
	}
	.career-main-visual .detail{
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		padding-bottom: 40px;
		padding-top: 40px;
	}
	.career-heading .ttl .main{
		font-size: min(7.69vw,6.0rem);
		line-height: 1.33;
	}
	.career-heading .ttl .sub{
		font-size: min(3.84vw,3.0rem);
	}
	.career-heading .ttl .sub > span{
		font-size: min(21.79vw,17.0rem);
	}
	.career-heading > p{
		text-align: left;
		margin: 45px auto 0;
		width: 70%;
	}
}





.career-sec{
	padding-top: .01%;
	position: relative;
}
.career-sec:nth-child(2n){
	background-color: #004099;
}
.career-sec:nth-child(3n){
	background-color: #D8D11F;
}
.career-sec > .career-sec-main{
	z-index: 0;
}
.career-sec > .career-sec-main .image{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.career-sec-contents{
	background-color: #FFF;
	position: relative;
	z-index: 1;
}


#career-sec1 .career-sec-contents{
	background-color: transparent;
}
@media print, screen and (min-width:781px) {
	.career-sec{
		padding-bottom: 36.456%;
	}
	.career-sec:last-child{
		padding-bottom: 200px;
	}
	.career-sec > .career-sec-main{
		width: 73.206%;
		position: absolute;
	}
	.career-sec > .career-sec-main .image{
		padding-bottom: 50%;
	}
	.career-sec:nth-child(2n) .career-sec-main{
		left: 0;
	}
	.career-sec:nth-child(3n) .career-sec-main{
		right: 0;
	}
	.career-sec-contents{
		padding: 100px min(4.59%,50px) min(4.59%,50px);
		margin-left: auto;
		margin-right: auto;
		max-width: 1088px;
		width: 90%;
	}
	
	#career-sec1 .career-sec-contents{
		padding-top: 70px;
		padding-bottom: 0;
	}
	#career-sec2 > .career-sec-main{
		margin-top: -17.349%;
	}
	#career-sec2 > .career-sec-main .image{
		background-image: url("../img/img_career2.jpg");
	}
	#career-sec2 .career-sec-contents{
		margin-top: 8.78%;
	}
	#career-sec3 > .career-sec-main{
		margin-top: -26.207%;
	}
	#career-sec3 > .career-sec-main .image{
		background-image: url("../img/img_career3.jpg");
	}
	#career-sec3 .career-sec-contents{
		margin-top: -6.58%;
	}
	#career-sec4 > .career-sec-main{
		margin-top: -27.964%;
	}
	#career-sec4 > .career-sec-main .image{
		background-image: url("../img/img_career4.jpg");
	}
	#career-sec4 .career-sec-contents{
		margin-top: 0;
	}
}
@media screen and (max-width: 780px) {
	.career-sec{
		padding-bottom: 46.1538%;
	}
	.career-sec:last-child{
		padding-bottom: 200px;
	}
	.career-sec > .career-sec-main{
		margin-top: -39.743%;
		width: 95%;
		position: absolute;
	}
	.career-sec > .career-sec-main .image{
		padding-bottom: 94.466%;
	}
	.career-sec:nth-child(2n) .career-sec-main{
		left: 0;
	}
	.career-sec:nth-child(3n) .career-sec-main{
		right: 0;
	}
	.career-sec-contents{
		padding: 40px 5% 5%;
		margin-left: auto;
		margin-right: auto;
		width: 90%;
	}
	
	#career-sec1 .career-sec-contents{
		padding-top: 50px;
		padding-bottom: 0;
	}
	#career-sec2 > .career-sec-main .image{
		background-image: url("../img/img_career2_sp.jpg");
	}
	#career-sec3 > .career-sec-main .image{
		background-image: url("../img/img_career3_sp.jpg");
	}
	#career-sec4 > .career-sec-main .image{
		background-image: url("../img/img_career4_sp.jpg");
	}
}





.career-sec-heading{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.career-sec-heading .icon{
	
}
.career-sec-heading .sub{
	border-bottom: 1px solid #707070;
	font-weight: 700;
	line-height: 1;
}
.career-sec-heading .main{
	font-weight: 700;
}
.career-sec-heading .main strong,
.career-sec-heading > p strong{
	background-color: #D8D11F;
	padding: .015em .15em;
}
.career-sec-heading > p{
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
@media print, screen and (min-width:781px) {
	.career-sec-heading .icon{
		margin-bottom: 20px;
	}
	.career-sec-heading .sub{
		font-size: min(7.32vw,10.0rem);
		padding: 0 10px 20px;
	}
	.career-sec-heading .main{
		font-size: min(2.92vw,4.0rem);
		margin-top: 10px;
	}
	.career-sec-heading > p{
		font-size: min(1.85vw,2.0rem);
		margin-top: 30px;
	}
}
@media screen and (max-width: 780px) {
	.career-sec-heading .icon{
		margin-bottom: 10px;
	}
	.career-sec-heading .sub{
		font-size: min(11.53vw,9.0rem);
		padding: 0 10px 15px;
		text-align: center;
	}
	.career-sec-heading .main{
		font-size: min(6.41vw,5.0rem);
		margin-top: 15px;
	}
	.career-sec-heading > p{
		font-size: min(3.84vw,3.0rem);
		margin-top: 50px;
	}
}





.career-sec .exp dt{
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.career-sec .exp dt strong{
	background-color: #D8D11F;
	padding: .015em .15em;
}
.career-sec .exp dd{
	line-height: 1.87;
}
@media print, screen and (min-width:781px) {
	.career-sec .exp{
		margin-top: 50px;
	}
	.career-sec .exp dt{
		font-size: min(2.04vw,2.8rem);
	}
	.career-sec .exp dd{
		font-size: min(1.48vw,1.6rem);
		margin: 25px auto 0;
		width: 55.3%;
	}
}
@media screen and (max-width: 780px) {
	.career-sec .exp{
		margin-top: 50px;
	}
	.career-sec .exp dt{
		font-size: min(3.84vw,3.0rem);
	}
	.career-sec .exp dd{
		font-size: min(3.84vw,3.0rem);
		margin: 20px auto 0;
		width: 90%;
	}
}






.step-item{
	background-color: #FFF;
	position: relative;
}
.step-item:not(:last-child):after{
	background-image: url("../img/icon_flow.svg");
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%,100%);
}
.step-item .ttl > .icon{
	margin-left: auto;
	margin-right: auto;
}
.step-item .ttl > div{
	background-color: #2C3440;
	color: #FFF;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
.step-item .detail > p{
	font-weight: 700;
}
.step-item .detail .desc{
	border-bottom: 1px solid #C9D8EA;
}
@media print, screen and (min-width:781px) {
	#career-sec1{
		padding-bottom: 30%;
	}
	#career-sec1 .career-sec-contents{
		padding-left: 0;
		padding-right: 0;
	}
	#career-sec1 .career-sec-contents > .image{
		margin-top: 50px;
	}
	.step-flow{
		margin-top: 80px;
	}
	.step-item{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 5.42%;
	}
	.step-item:not(:first-child){
		margin-top: 30px;
	}
	.step-item:not(:last-child):after{
		height: 30px;
		width: 57px;
	}
	.step-item .ttl{
		width: 25.773%;
	}
	.step-item .ttl > .icon{
		width: 30.8%;
	}
	.step-item .ttl > div{
		border-radius: 50px;
		font-size: min(1.85vw,2.0rem);
		padding: 15px;
		margin-top: 15px;
	}
	.step-item .detail{
		font-size: min(1.48vw,1.6rem);
		width: 68.659%;
	}
	.step-item .detail .desc{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	
	.end-text{
		margin: 80px auto 0;
		width: 66.176%;
	}
}
@media screen and (max-width: 780px) {
	#career-sec1{
		padding-bottom: 70%;
	}
	#career-sec1 .career-sec-contents{
		padding-left: 0;
		padding-right: 0;
	}
	#career-sec1 .career-sec-contents > .image{
		margin-top: 30px;
		margin-left: -5%;
		margin-right: -5%;
	}
	
	.step-flow{
		margin-top: 50px;
	}
	.step-item{
		padding: 15% 10% 10%;
		position: relative;
	}
	.step-item:not(:first-child){
		margin-top: 73px;
	}
	.step-item:not(:last-child):after{
		height: 30px;
		width: 57px;
	}
	.step-item .ttl > .icon{
		width: 22.34%;
		position: absolute;
		left: 50%;
		top: 0;
		transform: translate(-50%,-50%);
	}
	.step-item .ttl > div{
		border-radius: 50px;
		font-size: min(4.10vw,3.2rem);
		padding: 7px;
		margin-left: auto;
		margin-right: auto;
		width: 57.247%;
	}
	.step-item .detail{
		font-size: min(3.84vw,3.0rem);
		margin-top: 20px;
	}
	.step-item .detail .desc{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}
	
	.end-text{
		margin: 40px auto 0;
		width: 90%;
	}
}







.career-candidate > div{
	background-color: #FFF;
}
.career-candidate > div:nth-child(1){
	border-color: #D8D11F;
}
.career-candidate > div:nth-child(2){
	border-color: #6B95D8;
}
.career-candidate > div:nth-child(3){
	border-color: #4A8CA3;
}
.career-candidate > div > dt,
.career-candidate > div > dd{
	font-weight: 700;
}
.career-sub-sec{
	background-color: #DFE5ED;
}
.career-sub-sec .sub-ttl{
	font-weight: 700;
	line-height: 1;
}
.career-sub-sec-heading{
	background-color: #0047A8;
	text-align: center;
}
.career-sub-sec-heading h3{
	color: #FFF;
	font-weight: 700;
	line-height: 1.42;
}
@media print, screen and (min-width:781px) {
	.career-candidate{
		margin-top: 40px;
	}
	.career-candidate > div{
		border-left-width: 10px;
		border-left-style: solid;
		padding: 30px;
		text-align: center;
	}
	.career-candidate > div:not(:first-child){
		margin-top: 20px;
	}
	.career-candidate > div > dt{
		font-size: min(2.19vw,3.0rem);
	}
	.career-candidate > div > dd{
		font-size: min(1.48vw,1.6rem);
	}
	.career-sub-sec-wrap{
		margin-top: 70px;
	}
	.career-sub-sec{
		padding: min(4.25%,40px);
		position: relative;
	}
	.career-sub-sec:nth-child(n + 2){
		margin-top: 40px;
	}
	.career-sub-sec .sub-ttl{
		font-size: min(4.25vw,4.6rem);
		writing-mode: vertical-rl;
		position: absolute;
		top: 0;
	}
	.career-sub-sec:nth-child(odd) .sub-ttl{
		right: 0;
		transform: translateX(50%);
	}
	.career-sub-sec:nth-child(even) .sub-ttl{
		left: 0;
		transform: translateX(-50%);
	}
	.career-sub-sec-heading{
		padding: 30px 0;
		margin-left: auto;
		margin-right: auto;
		width: 44.247%;
	}
	.career-sub-sec-heading h3{
		font-size: min(1.85vw,2.0rem);
	}
	.career-sub-head-text{
		text-align: center;
		margin-top: 30px;
	}
	
	
	#career-sec2 .career-desc{
		margin-top: 50px;
	}
}
@media screen and (max-width: 780px) {
	.career-candidate{
		margin-top: 40px;
	}
	.career-candidate > div{
		border-top-width: 5px;
		border-top-style: solid;
		padding: 5%;
		text-align: center;
	}
	.career-candidate > div:not(:first-child){
		margin-top: 20px;
	}
	.career-candidate > div > dt{
		font-size: min(5.12vw,4.0rem);
	}
	.career-candidate > div > dd{
		color: #666666;
		font-size: min(3.84vw,3.0rem);
		text-align: left;
	}
	
	
	.career-sub-sec-wrap{
		margin-top: 45px;
	}
	.career-sub-sec{
		padding: 6% 5%;
		position: relative;
	}
	.career-sub-sec:nth-child(n + 2){
		margin-top: 40px;
	}
	.career-sub-sec .sub-ttl{
		font-size: min(7.69vw,6.0rem);
		white-space: nowrap;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.career-sub-sec-heading{
		padding: 15px;
	}
	.career-sub-sec-heading h3{
		font-size: min(4.1vw,3.2rem);
	}
	.career-sub-head-text{
		font-size: min(3.84vw,3.0rem);
		margin: 20px auto 0;
		width: 90%;
	}
	
	
	#career-sec2 .career-desc{
		margin-top: 20px;
	}
}






.career-pickup{
	background-color: #F9F8DD;
}
.career-pickup > .en2{
	font-weight: 700;
	line-height: 1;
	letter-spacing: .02em;
	text-align: center;
}
.career-desc > div{
	background-color: #FFFFFF;
}
.career-desc > div > dt{
	font-weight: 700;
	line-height: 1.3;
}
.career-child-desc > div > dt{
	font-weight: 700;
}
.career-child-desc > div:not(:first-child){
	border-top: 1px solid #C9D8EA;
}
@media print, screen and (min-width:781px) {
	#career-sec3 > .career-sec-contents .image{
		margin-left: auto;
		margin-right: auto;
		margin-top: 60px;
		width: 88.495%;
	}
	.career-pickup{
		padding: 0 4.25% 4.25%;
		margin-top: 115px;
	}
	.career-pickup > .en2{
		font-size: min(3.36vw,4.6rem);
		transform: translateY(-50%);
	}
	
	
	.career-desc > div{
		display: flex;
		align-items: center;
		padding: 5.75%;
	}
	.career-desc > div:not(:first-child){
		margin-top: 20px;
	}
	.career-desc > div > dt{
		font-size: min(2.40vw,2.6rem);
		width: 29.228%;
		text-align: center;
	}
	.career-desc > div > dd{
		font-size: min(1.48vw,1.6rem);
		margin-left: 25px;
		width: calc(100% - 25px - 29.228%);
	}
	
	
	.career-child-desc > div:not(:first-child){
		padding-top: 25px;
		margin-top: 25px;
	}
	.career-child-desc > div > dt{
		font-size: min(1.48vw,1.6rem);
	}
	.career-child-desc > div > dd{
		font-size: min(1.48vw,1.6rem);
	}
}
@media screen and (max-width: 780px) {
	#career-sec3 > .career-sec-contents .image{
		margin-left: auto;
		margin-right: auto;
		margin-top: 50px;
		width: 90%;
	}
	.career-pickup{
		padding: 0 5% 5%;
		margin-top: 65px;
	}
	.career-pickup > .en2{
		font-size: min(7.69vw,6.0rem);
		transform: translateY(-50%);
	}
	
	
	.career-desc > div{
		padding: 10% 5% 5%;
	}
	.career-desc > div:not(:first-child){
		margin-top: 20px;
	}
	.career-desc > div > dt{
		font-size: min(4.61vw,3.6rem);
		text-align: center;
	}
	.career-desc > div > dd{
		font-size: min(3.84vw,3.0rem);
	}
	
	
	.career-child-desc{
		margin-top: 20px;
	}
	.career-child-desc > div:not(:first-child){
		padding-top: 25px;
		margin-top: 25px;
	}
	.career-child-desc > div > dt{
		font-size: min(3.84vw,3.0rem);
		text-align: center;
	}
	.career-child-desc > div > dd{
		font-size: min(3.84vw,3.0rem);
		margin-top: 10px;
	}
}






.career-child-sec-wrap{
	background-color: #DFE5ED;
}
.career-child-sec{
	background-color: #FFFFFF;
	position: relative;
}
.career-child-sec:before{
	background-color: #8599B9;
	content: "";
	display: block;
	height: 20px;
	width: 1px;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.career-child-sec > h4{
	font-weight: 700;
	line-height: 1.55;
	text-align: center;
}
.career-child-sec > .num{
	display: flex;
	align-items: flex-end;
	font-weight: 500;
	letter-spacing: .02em;
	line-height: 1;
	text-align: center;
}
.career-child-sec > .num .jp{
	font-weight: 700;
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	width: 1.2em;
	white-space: nowrap;
}
.career-child-sec > .icon img{
	height: auto;
	width: 100%;
}
@media print, screen and (min-width:781px) {
	.career-child-sec-wrap{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 13px;
		padding: 29px 29px;
		margin-top: 40px;
	}
	.career-child-sec{
		display: grid;
		grid-row: span 3;
		grid-template-rows: subgrid;
		gap: 0;
		padding: 50px 20px 40px;
		margin-top: 13px;
	}
	.career-child-sec > h4{
		font-size: min(1.66vw,1.8rem);
		flex-grow: 1;
	}
	.career-child-sec > .detail{
		flex: 1;
		display: flex;
		align-items: flex-start;
		margin-top: 30px;
		flex-grow: 1;
	}
	.career-child-sec > .num{
		margin: 10px auto 0;
		font-size: min(7.32vw,10.0rem);
		flex-grow: 1;
	}
	.career-child-sec > .num .percent{
		font-size: min(3.66vw,5.0rem);
		margin-left: 5px;
		margin-bottom: .1em;
	}
	.career-child-sec > .num .jp{
		font-size: min(1.31vw,1.8rem);
		margin-left: 10px;
		margin-bottom: .4em;
	}
	.career-child-sec > .icon{
		margin: 20px auto 0;
		width: 36.4%;
		flex-grow: 1;
	}
}
@media screen and (max-width: 780px) {
	.career-child-sec-wrap{
		padding: 5% 5%;
		margin-top: 30px;
	}
	.career-child-sec{
		padding: 15% 0 .01%;
	}
	.career-child-sec:not(:first-child){
		margin-top: 20px;
	}
	.career-child-sec > h4{
		font-size: min(4.61vw,3.6rem);
		margin-left: 5%;
		margin-right: 5%;
	}
	.career-child-sec > .detail{
		font-size: min(3.84vw,3.0rem);
		margin: 15px 5% 20px;
	}
	.career-child-sec > .num{
		display: block;
		margin: 10px auto 0;
		font-size: min(23.5vw,18.4rem);
		flex-grow: 1;
	}
	.career-child-sec > .num .percent{
		font-size: min(11.7vw,9.2rem);
		margin-left: 5px;
	}
	.career-child-sec > .num .jp{
		font-size: min(4.61vw,3.6rem);
		margin-left: 10px;
	}
	.career-child-sec > .icon{
		margin: 15px auto 20px;
		width: 34.18%;
	}
}