/* people-rows-recruit — 1 人 1 行、写真 5/12 と文 7/12 を左右交互に。罫を引かず、行の間 96 で分ける
   出典: WF .mv-item（56 / 240 / 1fr、padding 48、1px の罫）→ 番号 64 / 写真 5 / 文 7、罫なし。写真の上に文字を載せない */
.rcp { display: grid; gap: 96px; }
.rcp__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; align-items: center; }   /* 写真と文は半々、列の間 64。番号は出さない（依頼側 2026-10-18「番号はとって、レイアウトのバランスを整える」） */
.rcp__item--no { grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr); gap: 24px 48px; }
.rcp__no { padding-top: 6px; align-self: start; }
.rcp__img { min-width: 0; }
.rcp__img .va__in { background: var(--cds-bg-soft); }
/* 互い違い: 偶数行は写真を右へ（番号は左のまま） */
.rcp__item--rev .rcp__img { grid-column: 2; grid-row: 1; }
.rcp__item--rev .rcp__body { grid-column: 1; grid-row: 1; }
.rcp__item--no.rcp__item--rev .rcp__img { grid-column: 3; }
.rcp__item--no.rcp__item--rev .rcp__body { grid-column: 2; }
.rcp__body { display: grid; gap: 16px; min-width: 0; }
/* 年次・職種・事業: 文字だけ。年次は 700 で立たせ、語の間は余白（区切り記号を置かない） */
.rcp__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; font-size: 13px; line-height: 1.6; letter-spacing: 0.06em; color: var(--cds-text-secondary); }
.rcp__year { font-weight: 700; color: var(--cds-text); }
/* 題は 20px: 7/12 の列（約 600px）に 1 行 29 字が入る上限（22px では「90%」のあとで折れた: 2026-10-18 実測） */
.rcp__ttl { font-size: clamp(18px, 1.3889vw, 20px); font-weight: var(--cds-weight-head); line-height: 1.75; letter-spacing: 0.02em; color: var(--cds-text); font-feature-settings: "palt"; }
.rcp__ttl br { display: none; }   /* 列が半々（約 520px）になったので原本の <br> は使わず、文節で折る */
.rcp__txt { font-size: 15px; line-height: 2; letter-spacing: 0.02em; color: var(--cds-text-body); }
.rcp__txt .ph { word-break: normal; }
.rcp__txt b { font-weight: 700; color: var(--cds-text); }
/* 段階的開示: grid-rows 0fr → 1fr（0.6s）。閉じているときは中を見えなくする */
.rcp__more { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.6s var(--cds-ease); }
.rcp__more.is-open { grid-template-rows: 1fr; }
.rcp__more-in { overflow: hidden; min-height: 0; }
.rcp__more:not(.is-open) .rcp__more-in { visibility: hidden; transition: visibility 0s 0.6s; }
.rcp--rest { padding-top: 96px; }
.rcp__ctrl { display: flex; justify-content: center; margin-top: 64px; }
/* 開くボタン: 他のリンクと同じ .link の形（文字 ＋ 20px の丸）。丸の中は ＋（開くと ×）。枠のピルと ＋ は「AI っぽい」（依頼側 2026-10-18） */
.rcp__btn { border: 0; background: none; cursor: pointer; font-family: inherit; }
.rcp__ico::before, .rcp__ico::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 1px; background: currentColor; transform: translate(-50%, -50%); transition: transform 0.45s var(--cds-ease-out); }
.rcp__ico::after { transform: translate(-50%, -50%) rotate(90deg); }
.rcp__btn[aria-expanded="true"] .rcp__ico::before { transform: translate(-50%, -50%) rotate(45deg); }
.rcp__btn[aria-expanded="true"] .rcp__ico::after { transform: translate(-50%, -50%) rotate(-45deg); }
@media (max-width: 960px) {
  .rcp__item, .rcp__item--rev { grid-template-columns: minmax(0, 1fr); gap: 20px 24px; }
  .rcp__item--no { grid-template-columns: 48px minmax(0, 1fr); }
  .rcp__img, .rcp__item--rev .rcp__img { grid-column: 1; grid-row: 1; }
  .rcp__body, .rcp__item--rev .rcp__body { grid-column: 1; grid-row: 2; }
  .rcp__item--no .rcp__img, .rcp__item--no .rcp__body { grid-column: 2; }
  .rcp__no { grid-row: 1; }
}
@media (max-width: 767px) {
  .rcp { gap: 64px; }
  .rcp--rest { padding-top: 64px; }
  .rcp__item, .rcp__item--rev { grid-template-columns: 1fr; gap: 16px; }
  .rcp__no { grid-row: auto; padding-top: 0; }
  .rcp__img, .rcp__item--rev .rcp__img, .rcp__body, .rcp__item--rev .rcp__body { grid-column: 1; grid-row: auto; }
  .rcp__ttl { font-size: 18px; line-height: 1.7; }
  .rcp__ttl br { display: none; }
  .rcp__txt { font-size: 15px; }
  .rcp__ctrl { margin-top: 48px; }
  .rcp__ctrl { justify-content: flex-start; }
}
