@charset "utf-8";

/* ------------------------------
    recruit
------------------------------ */

/* job_list */

#job_list .wrap {
	width: 1720px;
}
#job_list .list {
	justify-content: flex-start;
	flex-wrap: wrap;
}
#job_list .list .item {
	background: #00002c;
	color: #fff;
	width: calc( ( 100% - 120px ) / 4 );
	margin-left: 40px;
	display: flex;
	flex-flow: column;
}
#job_list .list .item:nth-child(4n+1) {
	margin-left: 0;
}
#job_list .list .item:nth-child(n+5) {
	margin-top: 40px;
}
#job_list .list .item .img {
	flex: 0 0 auto;
}
#job_list .list .item .img img {
	width: 100%;
}
#job_list .list .item .inner {
	padding: 20px;
	flex: 1 1 auto;
	display: flex;
	flex-flow: column;
}
#job_list .list .item .ttl {
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: .3em;
}
#job_list .list .item .txt {
	flex: 1 1 auto;
}
#job_list .list .more_btn {
	margin-top: 1em;
}
#job_list .list .more_btn a {
	width: 100%;
}

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

	#job_list .list .item,
	#job_list .list .item:nth-child(4n+1) {
		width: calc( ( 100% - 80px) / 3  );
		margin-left: 40px;
	}
	#job_list .list .item:nth-child(3n+1) {
		margin-left: 0;
	}
	#job_list .list .item:nth-child(n+4) {
		margin-top: 40px;
	}
	#job_list .list .item .ttl {
		font-size: 2.0rem;
	}
	#job_list .list .more_btn a {
		font-size: 1.4rem;
	}

}

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

	#job_list .list .item,
	#job_list .list .item:nth-child(4n+1),
	#job_list .list .item:nth-child(3n+1) {
		width: calc( ( 100% - 3vw) / 2  );
		margin-left: 3vw;
	}
	#job_list .list .item:nth-child(2n+1) {
		margin-left: 0;
	}
	#job_list .list .item:nth-child(n+3) {
		margin-top: 3vw;
	}
	#job_list .list .item .inner {
		padding: 3vw;
	}
	#job_list .list .item .ttl {
		font-size: 3.5vw;
	}
	#job_list .list .item .txt {
		font-size: 3vw;
	}
	#job_list .list .more_btn a {
		font-size: 3vw;
		padding-left: 0;
		padding-right: 0;
	}

}


/* job_info */

#job_info {
	margin-top: 60px;
}
#job_info .list .item + .item {
	margin-top: 60px;
}
#job_info .list .item .flex {
	justify-content: flex-start;
}
#job_info .list .item .flex .img {
	flex: 0 0 auto;
	margin-right: 30px;
}
#job_info .list .item .flex .img img {
	width: 100%;
}
#job_info .list .item .flex .detail {
	flex: 1;
}
#job_info .list .item dl dt {
	width: 25%;
}
#job_info .list .item dl dd {
	width: 75%;
}

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

	#job_info {
		margin-top: 8vw;
	}
	#job_info .list .item + .item {
		margin-top: 8vw;
	}
	#job_info .list .item .flex {
		display: block;
	}
	#job_info .list .item .flex .img {
		margin: 0 auto 3vw;
		width: 30%;
	}

}


/* tel */

#tel {
	background: url(../img/recruit/tel_bg.jpg) no-repeat center / cover;
	color: #fff;
	padding: 60px 0;
	text-align: center;
	margin-top: 60px;
}
#tel a {
	color: #fff;
}
#tel .din {
	font-size: 6.0rem;
	font-weight: 700;
	line-height: 1.2;
}

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

	#tel {
		padding: 8vw 0;
		margin-top: 8vw;
	}
	#tel .din {
		font-size: 10vw;
	}

}


/* contact */

#contact {
	padding-bottom: 60px;
}
#contact .wrap {
	width: 1080px;
}
#contact dl {
	margin-bottom: 30px;
}
#contact label {
	margin-right: 1em;
}
#contact input,
#contact textarea,
#contact select {
	background: transparent;
	font-size: 1.6rem;
	padding: 0 1em;
	border: 1px solid #ccc;
}
#contact textarea {
	line-height: 1.8em;
	padding: 1em;
}
#contact input,
#contact select {
	line-height: 2.0em;
	height: 2.0em;
}
#contact input[type=email],
#contact textarea {
	width: 500px;
	max-width: 100%;
}
#contact input[type='radio'],
#contact input[type='checkbox'] {
	display: none;
}
#contact input[type='radio'] + label,
#contact input[type='checkbox'] + label {
	position: relative;
	padding-left: 1.8em;
}
#contact input[type='radio'] + label::before,
#contact input[type='checkbox'] + label::before,
#contact input[type='radio']:checked + label::after,
#contact input[type='checkbox']:checked + label::after {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: .1em;
	width: 1.4em;
	height: 1.4em;
	border-radius: 100%;
	border: 1px solid #ccc;
	margin-right: .3em;
}
#contact input[type='radio']:checked + label::after,
#contact input[type='checkbox']:checked + label::after {
	width: 1em;
	height: 1em;
	margin: .2em 0 0 .2em;
	background: #000;
	border: none;
}
#contact input[type='checkbox'] + label::before {
	border-radius: 0;
}
#contact input[type='checkbox']:checked + label::after {
	width: 1em;
	height: .6em;
	border-bottom: 3px solid #000;
	border-left: 3px solid #000;
	transform: rotate(-45deg);
	border-radius: 0;
	background: transparent;
}
#contact input[type='submit'] {
	display: block;
	background: #00012c;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
	text-align: center;
	padding: 1.5em 0;
	width: 400px;
	height: auto;
	margin: 30px auto 0;
}
#contact .privacy a {
	text-decoration: underline;
}

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

	#contact input,
	#contact input[type='email'],
	#contact textarea,
	#contact select {
		width: 100%;
	}

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

	#contact {
		padding-bottom: 8vw;
	}
	#contact dl {
		margin-bottom: 5vw;
	}
	#contact dl dt {
		width: 100%;
		border-bottom: none;
		padding-bottom: 0;
	}
	#contact dl dd {
		width: 100%;
		border-bottom-color: #00012c;
		padding-top: 0;
	}
	#contact input,
	#contact textarea,
	#contact select {
		font-size: 16px;
	}
	#contact textarea {
		height: 8em;
	}
	#contact input[type='submit'] {
		font-size: 4vw!important;
		width: 100%;
		margin: 5vw auto 0;
	}

}