@charset "utf-8";

/*---------------------------------------------------
 recruit
----------------------------------------------------*/
#recruit .half-wrap {
    align-items: center;
}

.message {
	max-width: 1610px;
	width: 90%;
	margin: 160px auto;
	font-size: var(--fsize-22);
	letter-spacing: .02em;
}
.message .catch {
	font-family: var(--font-strong);
	font-weight: 500;
	/* font-size: var(--fsize-60); */
	font-size: 3.125vw;
	line-height: 1.3;
	text-align: center;
	color: var(--color-blue);
	margin-block-end: 1em;
}
.message .half-wrap figure {
	width: 45.7%;
}
.message .txt-wrap {
	width: 49%;
}
.message strong {
	font-family: var(--font-strong);
	font-weight: 500;
	font-size: var(--fsize-30);
}
/*------------------------------ responsive */
@media screen and (max-width: 1200px) {
	.message {
		margin-block: 120px;
	}
	.message .catch {
		font-size: var(--fsize-36);
		letter-spacing: .01em;
	}
	.message .half-wrap figure {
		width: 100%;
		text-align: center;
		margin-block-end: 30px;
	}
	.message .half-wrap figure img {
		width: 60%;
	}
	.message .txt-wrap {
		width: 100%;
	}
}
@media screen and (max-width: 800px) {
	.message {
		margin-block: 80px;
		font-size: var(--fsize-20);
	}
	.message .catch {
		font-size: var(--fsize-32);
		letter-spacing: .01em;
	}
	.message .half-wrap figure img {
		width: 100%;
	}
	.message strong {
		font-size: var(--fsize-24);
	}
}
@media screen and (max-width: 700px) {
	.message {
		font-size: var(--fsize-18);
	}
	.message .catch {
		font-size: var(--fsize-28);
		letter-spacing: normal;
	}
	.message strong {
		font-size: var(--fsize-22);
	}
}
@media screen and (max-width: 480px) {
	
}
.appeal {
	max-width: 1610px;
	width: 90%;
	margin: 0 auto 160px;
}
.appeal .list {
	display: grid;
	grid-template-columns: repeat(4,1fr);
	gap: 30px;
}
.appeal .list li {
	padding-inline: 8%;
	padding-block: 40px;
	border: 1px solid var(--color-blue);
	border-radius: 20px;
}
.appeal .list figure {
	display: grid;
	place-content: center;
	place-items: center;
	width: 83%;
	aspect-ratio: 50 / 33;
	margin: auto;
	text-align: center;
}
.appeal .list li:first-child figure img {
	width: 100%;
}
.appeal .list li:nth-child(2) figure img {
	width: 54.4%;
}
.appeal .list li:nth-child(3) figure img {
	width: 67.2%;
}
.appeal .list li:last-child figure img {
	width: 44%;
}
.appeal dt {
	font-family: var(--font-strong);
	font-weight: 500;
	font-size: var(--fsize-28);
	line-height: 1.5;
	letter-spacing: .02em;
	color: var(--color-blue);
	text-align: center;
	margin-bottom: .5em;
}
.appeal dd {
	letter-spacing: .02em;
}
/*------------------------------ responsive */
@media screen and (max-width: 1200px) {
	.appeal {
		margin-block-end: 120px;
	}
	.appeal .list {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media screen and (max-width: 800px) {
	.appeal {
		margin-block-end: 80px;
	}
}
@media screen and (max-width: 480px) {
	.appeal .list {
		grid-template-columns: 1fr;
	}
}

.jobs {
	max-width: 1416px;
	width: 90%;
	margin: 0 auto 160px;
}
.jobs .list {
	counter-reset: job1;
}
.jobs .list li {
	display: grid;
	width: 100%;
	border: 1px solid var(--color-blue);
	border-radius: 20px;
	margin-block-end: 90px;
	padding: 70px 5.6%;
	counter-increment: job1;
}
.jobs .list li:last-child {
	margin-block-end: 0;
}
.jobs .list dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	letter-spacing: .02em;
}
.jobs .list dt {
	width: 31%;
	font-family: var(--font-strong);
	font-weight: 500;
	font-size: var(--fsize-36);
	line-height: 1.5;
	color: var(--color-blue);
}
/* .jobs .list dt::before {
	content: counter(job1) '.';
} */
.jobs .list dd {
	width: 68%;
}
.jobs .list dd em {
	display: block;
	font-weight: 500;
	font-size: var(--fsize-26);
	line-height: 1.5;
	margin-bottom: .5em;
}
/*------------------------------ responsive */
@media screen and (max-width: 1200px) {
	.jobs {
		margin-block-end: 120px;
	}
	.jobs .list li { 
		padding: 50px 4%;
		margin-block-end: 50px;
	}
	.jobs .list dl {
		flex-wrap: wrap;
	}
	.jobs .list dt,
	.jobs .list dd {
		width: 100%;
	}
	.jobs .list dt {
		text-align: center;
		margin-block-end: 1em;
	}
}
@media screen and (max-width: 800px) {
	.jobs {
		margin-block-end: 80px;
	}
}
@media screen and (max-width: 480px) {
	
}

.requirements {
	max-width: 1574px;
	width: 90%;
	margin: 0 auto 160px;
}
.requirements figure {
	width: 42%;
}
.requirements figure img {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 4px 4px 4px rgba(0,0,0,.5);
}
.requirements .txt-wrap {
	width: 52%;
	letter-spacing: .02em;
}
.requirements .catch {
	font-family: var(--font-strong);
	font-weight: 500;
	font-size: var(--fsize-34);
	line-height: 1.5;
	margin-block-end: .5em;
	color: var(--color-or);
}
.requirements .btn {
	margin-block-start: 60px;
}
/*------------------------------ responsive */
@media screen and (max-width: 1200px) {
	.requirements {
		flex-direction: column-reverse;
		margin-block-end: 120px;
	}
	.requirements .txt-wrap {
		width: 100%;
		margin-bottom: 50px;
	}
	.requirements .catch {
		text-align: center;
	}
	.requirements .btn {
		margin: 40px auto 0;
	}
	.requirements figure {
		width: 100%;
		text-align: center;
	}
}
@media screen and (max-width: 800px) {
	.requirements {
		flex-direction: column-reverse;
		margin-block-end: 80px;
	}
}
@media screen and (max-width: 480px) {
	/* .requirements .catch {
		font-size: var(--fsize-28);
	} */
}