.lab-site .recruit-page { width: 100%; }
.lab-site .recruit-hero { max-width: var(--container-width); min-height: 380px; margin: 0 auto; display: grid; grid-template-columns: 47.5% 52.5%; }
.lab-site .recruit-intro { display: flex; flex-direction: column; justify-content: center; padding: 48px 60px; }
.lab-site .recruit-intro h1 { font-size: 34px; font-weight: 400; line-height: 1.3; letter-spacing: .17em; }
.lab-site .recruit-page .title-line, .lab-site .recruit-page .section-line { display: block; width: 28px; height: 1px; background: var(--color-text); }
.lab-site .recruit-page .title-line { margin: 22px 0 39px; }
.lab-site .intro-copy { font-size: 13px; font-weight: 500; line-height: 2.25; letter-spacing: .03em; }
.lab-site .catch-copy { margin-bottom: 2px; }
.lab-site .intro-description { display: flex; flex-direction: column; }
.lab-site .recruit-photo { min-height: 380px; background: linear-gradient(120deg,transparent 0 43%,rgba(26,25,22,.14) 43% 44%,transparent 44%),linear-gradient(135deg,#827a6d 0%,#b8ad9b 38%,#5f5d59 100%); background-position: center; background-size: cover; }
.lab-site .recruit-photo.has-image { background-position: center; background-size: cover; }
.lab-site .recruit-details { border-top: 1px solid var(--color-border); padding: 56px max(var(--gutter),calc((100% - 1080px) / 2)) 44px; }
.lab-site .detail-columns { max-width: 1040px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 100px; }
.lab-site .detail-section h2 { font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: .16em; }
.lab-site .recruit-page .section-line { width: 20px; margin: 14px 0 15px; }
.lab-site .message-section p, .lab-site .requirements-section ul { font-size: 11px; font-weight: 500; line-height: 1.95; letter-spacing: .01em; }
.lab-site .message-section p { display: flex; flex-direction: column; }
.lab-site .requirements-section li { position: relative; padding-left: 13px; }
.lab-site .requirements-section li::before { content: '・'; position: absolute; left: 0; }
.lab-site .entry-button { position: relative; display: flex; align-items: center; justify-content: center; width: 210px; min-height: 41px; margin: 47px auto 0; background: #111; color: #fff; font-size: 11px; font-weight: 500; letter-spacing: .05em; }
.lab-site .entry-button .arrow { position: absolute; right: 28px; font-size: 15px; font-weight: 300; }
@media (max-width:768px) {
	.lab-site .recruit-page { padding: 0 20px 22px; }
	.lab-site .recruit-hero { min-height: 0; display: flex; flex-direction: column; }
	.lab-site .recruit-intro { padding: 27px 10px 16px; }
	.lab-site .recruit-intro h1 { font-size: 21px; letter-spacing: .16em; }
	.lab-site .recruit-page .title-line { width: 23px; margin: 14px 0 13px; }
	.lab-site .intro-copy { font-size: 10px; line-height: 2.1; }
	.lab-site .catch-copy { margin-bottom: 0; }
	.lab-site .recruit-photo { width: 100%; min-height: 0; aspect-ratio: 285 / 175; margin-top: 0; }
	.lab-site .recruit-details { border-top: none; padding: 37px 10px 0; }
	.lab-site .detail-columns { display: flex; flex-direction: column; gap: 26px; }
	.lab-site .detail-section h2 { font-size: 12px; }
	.lab-site .recruit-page .section-line { width: 19px; margin: 12px 0 14px; }
	.lab-site .message-section p, .lab-site .requirements-section ul { font-size: 10px; line-height: 1.95; }
	.lab-site .entry-button { width: 200px; min-height: 33px; margin-top: 20px; font-size: 10px; }
	.lab-site .entry-button .arrow { right: 24px; font-size: 13px; }
}
