/* =========================================================
   aoki-recruit — p-entry.css（エントリー：子CC-D）
   共通部品（.c-form / .c-steps / .c-confirm / .c-contact）は site.css。
   ここはエントリーページ固有の配置・補助だけを書く。
   禁則：vw・100vh単独・filter・blend・3D transform は使わない
   ========================================================= */

/* PCだけ改行する <br>（site.css の .br-sp の対） */
.br-pc { display: block; }

/* ---------- 見出しブロック（黄ラベル＋リード＋ステップ） ---------- */
.p-entry__head { text-align: center; }
.p-entry__lead .c-req { margin: 0 2px; vertical-align: 2px; }

/* ---------- フォーム本体 ---------- */
.p-entry__form { position: relative; margin-top: 72px; }
.p-entry__form .c-form__step > .c-form__row:first-child { margin-top: 0; }

/* 入力欄の高さと文字（site.css の枠線1px・r5 を引き継ぐ） */
.p-entry__form input[type="text"],
.p-entry__form input[type="email"],
.p-entry__form input[type="tel"],
.p-entry__form select { line-height: 1.6; }
.p-entry__form ::placeholder { color: var(--grey2); opacity: 1; }

/* ラジオ（応募区分） */
.c-form__radio { display: inline-flex; align-items: center; gap: 8px; padding: 4px 0; cursor: pointer; }
.c-form__radio input { width: 18px; height: 18px; margin: 0; accent-color: var(--blue); flex: none; }
.p-entry__form .c-form__radios { padding: 6px 0; }

/* 同意ブロック */
.p-entry__consent-text { line-height: 2; }
.p-entry__consent-text a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.p-entry__consent .c-form__check { width: max-content; max-width: 100%; margin-top: 12px; padding: 4px 0; font-weight: 600; }
.p-entry__consent .c-form__check input { flex: none; }

/* ボタン列（確認画面は2つ並ぶ。SPでは自然に縦積み） */
.p-entry .c-form__submit { margin-top: 56px; }
.p-entry .c-form__submit .c-btn { margin: 6px 8px; }

/* ---------- 確認画面 ---------- */
.p-entry__confirm-lead { text-align: center; line-height: 2; }
.c-confirm { margin-top: 40px; border-top: 1px dashed var(--grey); }
.c-confirm__row { display: flex; padding: 24px 0; border-bottom: 1px dashed var(--grey); }
.c-confirm dt { flex: none; width: 240px; padding-right: 24px; }
.c-confirm dd { width: calc(100% - 240px); white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; }

/* ---------- 完了画面 ---------- */
.p-entry__done { padding: 24px 0 8px; text-align: center; }
.p-entry__done-icon { width: 72px; height: 72px; margin: 0 auto; }
.p-entry__done-title { margin-top: 24px; font-size: 28px; font-weight: 600; letter-spacing: .08em; line-height: 1.6; }
.p-entry__done-text { margin-top: 20px; line-height: 2.13; }
.p-entry__done-note { margin-top: 16px; font-size: 13px; line-height: 2; color: #777; }
.p-entry__done .c-btn { margin-top: 40px; }

/* ---------- 問い合わせカードの前後 ---------- */
.p-entry + .c-wrap .c-contact { margin-top: 120px; }

/* ---------- タブレット ---------- */
@media (max-width: 1024px) {
  .c-confirm dt { width: 200px; }
  .c-confirm dd { width: calc(100% - 200px); }
}

/* ---------- SP ---------- */
@media (max-width: 767px) {
  .br-pc { display: none; }
  .p-entry__form { margin-top: 48px; }
  .p-entry__form .c-form__radios { flex-direction: column; gap: 4px; }
  .p-entry .c-form__submit { margin-top: 40px; }
  .p-entry .c-form__submit .c-btn { display: block; margin: 0 auto; }
  .p-entry .c-form__submit .c-btn + .c-btn { margin-top: 12px; }
  .c-confirm { margin-top: 32px; }
  .c-confirm__row { flex-direction: column; gap: 6px; padding: 18px 0; }
  .c-confirm dt, .c-confirm dd { width: 100%; padding-right: 0; }
  .p-entry__done { padding-top: 8px; }
  .p-entry__done-icon { width: 56px; height: 56px; }
  .p-entry__done-title { font-size: 22px; }
  .p-entry__done-text { line-height: 1.9; }
  .p-entry__done-note { font-size: 12px; }
  .p-entry + .c-wrap .c-contact { margin-top: 64px; }
}
