.recruit-page .header { background:#fff; color:var(--ink); border-bottom:1px solid var(--line); }
.recruit-page .header .brand img { filter:none; }
.recruit-intro { padding:122px 0 48px; background:var(--light); }
.recruit-breadcrumb { display:flex; gap:14px; color:#5c737c; font-size:12px; }
.recruit-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.recruit-intro .eyebrow { margin:45px 0 10px; }
.recruit-intro h1 { font-size:42px; line-height:1.5; letter-spacing:.06em; }
.recruit-content { padding-top:72px; padding-bottom:104px; }
.recruit-lead { margin:0 0 54px; font-size:17px; line-height:1.9; }
.recruit-jobs { border-top:1px solid var(--line); }
.recruit-job { display:grid; grid-template-columns:minmax(220px, .42fr) minmax(0, 1fr); gap:clamp(32px,5vw,84px); padding:48px 0 62px; border-bottom:1px solid var(--line); }
.recruit-employment { display:inline-block; color:#238b9f; font-size:13px; font-weight:700; letter-spacing:.08em; }
.recruit-job h2 { margin:22px 0 0; color:var(--dark); font-size:clamp(24px,2.4vw,31px); line-height:1.5; letter-spacing:.04em; }
.recruit-job-body > p { margin:0 0 28px; font-size:16px; line-height:1.95; }
.recruit-job dl { margin:0; }
.recruit-job dl > div { display:grid; grid-template-columns:108px minmax(0,1fr); gap:18px; padding:17px 0; border-bottom:1px solid var(--line); font-size:15px; line-height:1.75; }
.recruit-job dl > div:last-child { border-bottom:0; }
.recruit-job dt { color:#55707a; }
.recruit-job dd { margin:0; }
.recruit-contact { margin:52px 0 0; padding:28px 34px; background:var(--light); font-size:16px; line-height:1.9; text-align:center; }
.recruit-contact a { color:var(--dark); font-size:21px; font-weight:700; white-space:nowrap; text-decoration:underline; text-underline-offset:5px; }
@media(max-width:800px) {
  .recruit-intro { padding:94px 0 32px; }
  .recruit-intro .eyebrow { margin-top:28px; }
  .recruit-intro h1 { font-size:32px; }
  .recruit-content { padding-top:48px; padding-bottom:70px; }
  .recruit-lead { margin-bottom:36px; font-size:16px; }
  .recruit-job { grid-template-columns:minmax(0,1fr); gap:24px; padding:38px 0 44px; }
  .recruit-job h2 { margin-top:12px; }
  .recruit-job dl > div { grid-template-columns:88px minmax(0,1fr); gap:12px; font-size:14px; }
  .recruit-contact { margin-top:38px; padding:24px 20px; }
}

.recruit-salary-note { margin:10px 0 0; font-size:14px; line-height:1.9; color:#33485c; }
