/* cta-photo-recruit — 全幅の写真 ＋ 平らな暗幕 ＋ 中央の文字。高さ 72svh（min 520 / max 760） */
/* 文字は左下（写真 ＋ 暗幕 ＋ 中央揃え ＋ 枠のボタンは「型そのもの」: design-critic 2026-10-18）。暗幕は 46%、ボタンは白の塗り */
.rcc { position: relative; display: grid; align-items: end; min-height: clamp(560px, 76svh, 800px); padding: 120px 0 96px; color: #fff; background: var(--cds-text); overflow: hidden; }
.rcc__media { position: absolute; inset: 0; }
.rcc__media .va__label { display: none; }
.rcc__media .va__in { background: color-mix(in srgb, var(--cds-text) 86%, var(--cds-bg)); }
.rcc__media img { object-position: center 42%; }
.rcc__veil { position: absolute; inset: 0; background: rgba(13, 13, 14, 0.46); pointer-events: none; }
/* 写真の出現: 1.06 → 1 を 2s（画面に入った瞬間）。transition は .va__in に */
.is-js .rcc .va__in { transform: scale(1.06); transition: transform 2s var(--cds-ease); }
.is-js .rcc.is-inview .va__in { transform: none; }
.is-static .rcc .va__in { transform: none; }
.rcc__in { position: relative; z-index: 1; width: 100%; }   /* grid の子なので幅を明示（無いと中身の幅に縮んで中央に寄った） */
.rcc__box { margin-inline: max(0px, calc((100% - var(--cds-content)) / 2)) 0 !important; }
.rcc__box { display: grid; justify-items: start; gap: 24px; max-width: 760px; margin-inline: 0; text-align: left; }
.rcc__ttl { font-size: clamp(28px, 3.0556vw, 44px); font-weight: var(--cds-weight-head); line-height: 1.4; letter-spacing: 0.04em; color: #fff; font-feature-settings: "palt"; }
.rcc__txt { font-size: 15px; line-height: 2; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.86); }
.rcc__cta { margin-top: 12px; }
.rcc__cta .btn--l { min-width: 300px; }
@media (max-width: 767px) {
  .rcc { min-height: 520px; padding: 88px 0 64px; }
  .rcc__box { gap: 16px; }
  .rcc__ttl { font-size: 26px; }
  .rcc__txt { font-size: 14px; }
  .rcc__txt br { display: none; }
  .rcc__cta .btn--l { min-width: 0; width: min(320px, 100%); }
}
@media (prefers-reduced-motion: reduce) { .is-js .rcc .va__in { transform: none; transition: none; } }
