/* Recruit page — built on the site's shared layout tokens (Layout.css). */
.clutch-recruit .recruit-inner { width: 100%; max-width: 104rem; margin: 0 auto; }
.clutch-recruit .recruit-intro { border-top: var(--border-h-width) solid var(--color-primary); padding: 10rem 8rem 8rem; }
.clutch-recruit .recruit-positions { padding: 0 8rem 14rem; }
.clutch-recruit .recruit-tit {
  color: var(--color-primary); font-family: var(--font-family-en); letter-spacing: .56px;
  align-items: center; gap: .8rem; margin: 0 0 3.2rem; font-size: 14px; font-weight: 400; line-height: 1.2; display: flex;
}
.clutch-recruit .recruit-tit .dot { width: 10px; height: 10px; color: var(--color-primary); flex-shrink: 0; }
.clutch-recruit .recruit-heading {
  color: var(--color-text); font-family: var(--font-family-display); font-feature-settings: "palt";
  font-size: clamp(22px, 3.6rem, 36px); font-weight: 700; letter-spacing: .1rem; line-height: 1.5; margin: 0 0 2.4rem;
}
.clutch-recruit .recruit-lead, .clutch-recruit .position-summary, .clutch-recruit .position-table dd, .clutch-recruit .position-note {
  color: var(--color-text); font-size: var(--font-size-body); letter-spacing: var(--letter-spacing-body); font-weight: 500; line-height: 1.8; margin: 0;
}
.clutch-recruit .position-card {
  background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md);
  box-shadow: var(--shadow-card); padding: 5.6rem 6.4rem;
}
.clutch-recruit .position-type { color: var(--color-primary-text); font-size: var(--font-size-body); font-weight: 700; letter-spacing: var(--letter-spacing-body); margin: 0 0 .8rem; }
.clutch-recruit .position-title { color: var(--color-text); font-family: var(--font-family-display); font-feature-settings: "palt"; font-size: clamp(18px, 2.8rem, 28px); font-weight: 700; letter-spacing: .08rem; line-height: 1.4; margin: 0 0 1.6rem; }
.clutch-recruit .position-table { margin: 4rem 0 0; border-top: 1px solid var(--color-border); }
.clutch-recruit .position-row { display: grid; grid-template-columns: 16rem 1fr; gap: 2.4rem; padding: 2.4rem 0; border-bottom: 1px solid var(--color-border); }
.clutch-recruit .position-row dt { color: var(--color-text); font-size: var(--font-size-body); font-weight: 700; letter-spacing: var(--letter-spacing-body); line-height: 1.8; }
.clutch-recruit .position-table ul { margin: 0; padding-left: 1.4em; }
.clutch-recruit .position-table li + li { margin-top: .4rem; }
.clutch-recruit .position-apply { margin-top: 4rem; display: flex; flex-direction: column; align-items: flex-start; gap: 1.6rem; }
.clutch-recruit .position-apply-link {
  display: inline-flex; flex-direction: column; gap: .4rem; padding: 2rem 3.2rem; border-radius: var(--radius-full);
  background: var(--color-primary); color: var(--color-text-inverse); text-decoration: none; transition: opacity .2s;
}
.clutch-recruit .position-apply-link:hover { opacity: .85; }
.clutch-recruit .position-apply-link:focus-visible { outline: 2px solid var(--color-primary-text); outline-offset: 4px; }
.clutch-recruit .apply-en { font-family: var(--font-family-en); font-size: 12px; letter-spacing: .1em; line-height: 1.2; opacity: .85; }
.clutch-recruit .apply-ja { font-size: var(--font-size-body); font-weight: 700; letter-spacing: var(--letter-spacing-body); line-height: 1.4; }
.clutch-recruit .position-note { color: var(--color-text-muted); }
@media (width <= 768px) {
  .clutch-recruit .recruit-intro { padding: 4.8rem 2.4rem 4rem; }
  .clutch-recruit .recruit-positions { padding: 0 2.4rem 8rem; }
  .clutch-recruit .recruit-tit { margin-bottom: 2.4rem; }
  .clutch-recruit .position-card { padding: 3.2rem 2.4rem; }
  .clutch-recruit .position-row { grid-template-columns: 1fr; gap: .8rem; padding: 2rem 0; }
  .clutch-recruit .position-apply-link { width: 100%; align-items: center; text-align: center; }
}
