/* /recruit/entry 応募フォーム（templates/recruit/entry.mjs）
   色・書体・余白は tokens.css の変数のみ。白カードは components.css の .card（採用は radius 16）、リンクカードは .link-card を使う。
   並び: 〜1079 は 見出し→説明→カード の 1 列（fold344 / open841 の実測どおり。見出しは 〜767 が 1 行・768〜 は titleBreak で 2 行）、
   1080〜 は 左 240px 見出し＋右カード の 2 列（pc1280。本文は容器の内側 40px＝x 80〜1200、見出し列 240 ＋ 48 でカードは x=368 から）。
   折りたたみ規約（ARCHITECTURE §2）: ビューポート高さ固定なし・中央揃えとスクロール箱の併用なし・溢れ隠しなし・和文 ch 単位なし。
   タップ標的: 目次ピル 56px・入力欄 56px・チェック行 44px・送信ボタン 96〜120px・リンクカード 88px 以上。 */

/* ---------- 容器: 参照（STUDIO）は 1280 を左右 80 の内側に置く（1920 で 320〜1600、1440 で 80〜1360）。tokens の 1200 を main の中だけ上書き ---------- */
@media (min-width: 1080px) { .page-recruit-entry .main { --container: 1280px; } .page-recruit-entry .page-head { padding-top: 111px; } }   /* ヘッダー下端→ラベル 93（参照 1920/1440） */
@media (min-width: 1280px) { .page-recruit-entry .main { --gutter: 80px; } }

/* ---------- ページ見出し（目次ピルは 2 つ: 〜599 縦 1 列 / 600〜 横 2 つ） ---------- */
.entry-head .anchor-nav ul { grid-template-columns: minmax(0, 1fr); }
.entry-head .anchor-pill { font-size: 15px; }                                        /* fold344-ref: 15px */
@media (max-width: 599px) { .entry-head .anchor-nav { padding-inline: 20px; } }       /* fold344-ref: ピルは左右 40px（本文の 20px より内側） */
@media (min-width: 600px) and (max-width: 1079px) { .entry-head .anchor-nav ul { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 616px; margin-inline: auto; } }   /* open841-ref: 300 × 2 ＋ 16 */
@media (min-width: 768px) { .entry-head .anchor-pill { font-size: 16px; } }
@media (min-width: 1080px) { .entry-head .anchor-nav-2 li { flex-basis: 300px; } }

/* ---------- 本文の面 ---------- */
.entry-body { padding: clamp(40px, 10vw, 128px) 0 clamp(64px, 8vw, 120px); }        /* pc1280-ref: ピル末〜見出し 約 214（page-head 下 96 ＋ 128） */
@media (min-width: 1080px) { .entry-body { padding-top: 116px; } }                       /* 参照 1920: ピル下端→見出し 213 */

/* 送信完了メッセージ: #sent で戻ったときだけ表示（:target。JS 不要） */
.entry-sent { display: none; margin-bottom: clamp(32px, 5vw, 64px); padding: 20px 24px; background: var(--c-white); border: 1px solid var(--c-orange); border-radius: var(--r-s); color: var(--c-ink-deep); font-size: var(--fs-body); line-height: 1.8; }
.entry-sent:target { display: block; }
.entry-sent-title { font-family: var(--f-round); font-size: var(--fs-h3); color: var(--c-orange); margin: 0 0 4px; }
.entry-sent p { margin: 0; }
/* 送れなかったとき（自前の送信先 /api/entry のときだけ出る。#send-error の :target。JS からも同じ # に送る）: 完了の札と同じ白地・細い線（2026-10-18 に完了の札の左端の色帯もやめてそろえた）。見出しは濃い色で完了と見分ける */
.entry-send-error { display: none; margin-bottom: clamp(32px, 5vw, 64px); padding: 20px 24px; background: var(--c-white); border: 1px solid var(--c-orange); border-radius: var(--r-s); color: var(--c-ink-deep); font-size: var(--fs-body); line-height: 1.8; }
.entry-send-error:target { display: block; }
.entry-send-error p { margin: 0; }
.entry-send-error .entry-sent-title { color: var(--c-ink-deep); }
.entry-sent:focus, .entry-send-error:focus { outline: none; }
.entry-sent:focus-visible, .entry-send-error:focus-visible { outline: 2px solid var(--c-orange); outline-offset: 2px; }
.field [aria-invalid="true"] { box-shadow: 0 0 0 2px var(--c-orange); }
/* 入力欄の指定は :not(.sr-only) を付けてボット避けの隠し欄（_honey）を広げない（2026-10-19 公開後の点検: 344〜412 で横に 52px はみ出していた） */
.entry-send-error-tel { margin-top: 8px !important; }
.entry-send-error-detail { margin-top: 8px !important; font-size: var(--fs-small); color: var(--c-ink-soft); }
.entry-submit[aria-busy="true"] { opacity: .6; cursor: progress; }

/* ---------- フォーム区画（見出し＋説明 ／ 白カード） ---------- */
.entry-sec { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; scroll-margin-top: calc(var(--hd-h) + 16px); }
.entry-sec + .entry-sec { margin-top: clamp(112px, 15.6vw, 200px); }                 /* カード末〜次の見出し: pc1280-ref 200 / open841-ref 132 / fold344-ref 140 */
.entry-intro { display: grid; gap: 24px; align-content: start; }
.entry-h2 { font-size: var(--fs-h2); color: var(--c-orange); line-height: 1.7; letter-spacing: var(--ls-heading); text-wrap: balance; }
.entry-h2-l { display: inline; }                       /* 〜767: 「エントリーフォーム」は 1 行（fold344-ref の実測） */
.entry-lead { font-size: var(--fs-body); line-height: var(--lh-loose); color: var(--c-ink-deep); margin: 0; }

.entry-card { padding: 24px 20px; }
.entry-form { display: grid; gap: 20px; }

@media (min-width: 600px) {
  .entry-sec { gap: 32px; }
  .entry-card { padding: 32px; }
  .entry-form { gap: 24px; }
}
@media (min-width: 768px) {
  .entry-card { padding: 40px; }
  .entry-form { gap: 24px; }
  .entry-intro { gap: 40px; }                          /* open841-ref / pc1280-ref: 見出し→説明 約 40〜48 */
  .entry-h2-l { display: block; }                      /* open841-ref: 「エントリー／フォーム」「見学申し込み／フォーム」の 2 行 */
  .entry-lead { font-size: 16px; }
}
/* 1080〜: 左の見出し列＋右カード。参照 1920（容器 1280）: 見出しは容器左端（x=320）、白カードは容器左 +325 から右端まで（645〜1600 の 955）、説明文は 240 幅で折り返す。
   1280 の参照（容器 1120）では +288 なので列幅は容器の 25.4%（最小 240）。見出しは titleBreak の位置で 2 行 */
@media (min-width: 1080px) {
  .entry-sec { grid-template-columns: max(240px, 25.4%) minmax(0, 1fr); column-gap: 0; align-items: start; padding-inline: 0; }
  .entry-intro { position: sticky; top: calc(var(--hd-h) + 24px); padding-right: 40px; }
  .entry-lead { max-width: 240px; }
}

/* ---------- 入力項目 ---------- */
.field { display: grid; gap: 8px; }
.field-label { font-family: var(--f-round); font-size: 16px; line-height: 1.7; color: var(--c-ink-deep); letter-spacing: var(--ls-heading); }
.field-label .req { color: var(--c-orange); margin-left: 8px; font-size: 14px; }
.entry-form input:not([type="checkbox"]):not([type="hidden"]):not(.sr-only),
.entry-form select,
.entry-form textarea {
  display: block; width: 100%; box-sizing: border-box; margin: 0;
  min-height: 56px; padding: 12px 16px;
  background: var(--c-peach-soft); border: 0; border-radius: var(--r-s);
  font: inherit; font-family: var(--f-body); font-size: 16px; line-height: 1.7; letter-spacing: 0.02em; color: var(--c-ink-deep);
  appearance: none; -webkit-appearance: none;
}
.entry-form ::placeholder { color: var(--c-placeholder); opacity: 1; }
.entry-form textarea { min-height: 200px; resize: vertical; }
/* select: 右に「⌄」（keyboard_arrow_down 相当のインライン SVG） */
.field-select { position: relative; display: block; }
.field-select select { padding-right: 48px; cursor: pointer; }
.field-select .icon { position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; transform: translateY(-50%); color: var(--c-ink-deep); pointer-events: none; }

/* 同意行: チェック＋「プライバシーポリシーを開く」(下線・別窓アイコン)＋「に同意する」。〜599 左寄せ / 600〜 右寄せ（pc1280） */
.field-check { display: flex; align-items: center; justify-content: flex-start; gap: 8px; min-height: var(--tap); margin-top: 4px; }
.field-check input[type="checkbox"] { width: 16px; height: 16px; margin: 0; flex: none; accent-color: var(--c-orange); cursor: pointer; }   /* pc1280-ref: 16px の四角（タップ標的は隣のラベル 44px で確保） */
.field-check label { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0 4px; min-height: var(--tap); font-size: 12px; line-height: 1.7; letter-spacing: 0; color: var(--c-ink-deep); cursor: pointer; }   /* fold344-ref: 12px で 1 行（344 では 262px に収まる） */
.field-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--c-ink-soft); text-decoration: underline; text-underline-offset: 3px; }   /* pc1280-ref: リンクは橙ではなく文字色＋下線 */
.field-link .i-ext { width: 14px; height: 14px; margin-left: 4px; vertical-align: -0.1em; }
@media (min-width: 600px) { .field-check { justify-content: flex-end; } .field-check label { font-size: 14px; letter-spacing: 0.02em; } }

/* 送信ボタン: 横グラデ・radius 8・左に白文字・右に白丸 40px ＋ オレンジの send。〜599 全幅 / 600〜 右寄せ 480px 幅。高さはどの幅も 120px（fold344-ref も 120） */
.entry-actions { display: flex; justify-content: flex-end; margin-top: 4px; }
.entry-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 120px; padding: 16px 32px 16px 32px; background: var(--g-orange); border-radius: var(--r-s); color: var(--c-white); font-family: var(--f-round); font-size: 20px; letter-spacing: var(--ls-heading); line-height: 1.4; transition: transform .2s cubic-bezier(0, 0, .99, .98), opacity .2s; }
.entry-submit .btn-ring { width: 40px; height: 40px; background: var(--c-white); color: var(--c-orange); }
.entry-submit .btn-ring .icon { width: 18px; height: 18px; }
@media (hover: hover) and (pointer: fine) { .entry-submit:hover { transform: translateY(-2px); } }
.entry-submit:active { transform: none; opacity: .9; }
@media (min-width: 600px) { .entry-submit { width: min(100%, 480px); min-height: 120px; padding: 16px 40px; font-size: 20px; } }

/* ---------- リンクカード 4 枚（募集要項／先輩スタッフの声／求める人物像／よくある質問）: 〜599 1 列 / 600〜 2 列 / 1080〜 1000px 幅を中央（pc1280-ref: 152〜1152） ---------- */
.entry-related { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: clamp(112px, 15.6vw, 200px); }
@media (min-width: 600px) { .entry-related { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }
@media (min-width: 1080px) { .entry-related { gap: 28px; max-width: 1000px; margin-inline: auto; } }

/* ======================================================================
   SP（〜767）の細部を参照 440/393/344 の実測に合わせる（capture/sp-compare/recruit__entryform、2026-09-24）
   768〜 は上の値のまま（ここは max-width の中だけ）
   ====================================================================== */
@media (max-width: 767px) {
  /* 見出し: ラベル 16px・H1 32px。ヘッダー下端→ラベル字頭 57、ラベル→H1 字頭 50、H1 字下→目次ピル 52 */
  .page-recruit-entry .entry-head { padding: 50px 0 32px; }
  .page-recruit-entry .entry-head .sec-head { gap: 15px; }
  .page-recruit-entry .entry-head .sec-label { font-size: 16px; letter-spacing: 0.2em; text-indent: 0.2em; }
  .page-recruit-entry .entry-head h1.sec-title { font-size: 32px; text-wrap: wrap; }
  .page-recruit-entry .entry-head .anchor-nav { margin-top: 41px; }   /* 最初のピルの上端 259（参照 3 幅） */
  /* 本文の容器は左右 32（白カード 32〜407） */
  .page-recruit-entry .entry-body > .container { width: calc(100% - 64px); }
  /* 最後のピル→H2 字頭 132、H2 24px/0.04em（エントリーフォーム 幅 223）→ 説明 14px/0.04em lh2.2 → 白カード 32。カード末→次の H2 字頭 132 */
  .entry-body { padding-top: 88px; padding-bottom: 51px; }   /* 下 51: 最後のリンクカード→フッターの口の上端 82（参照 3 幅。.ft-recruit の margin-top 30 と足す） */
  .entry-sec { gap: 32px; }
  .entry-sec + .entry-sec { margin-top: 120px; }   /* 1 つ目の送信ボタン下のカード末→次の H2 字頭 130（参照 344: 2051→2181） */
  .entry-h2 { font-size: 24px; letter-spacing: 0.04em; text-wrap: wrap; }
  .entry-lead { font-size: 14px; letter-spacing: 0.04em; }
  /* 白カード: 内余白 29/20/32。項目は ラベル 14px（※ は #574D45 の 11px・間 7.5）→ 4 → 入力欄 54、項目の間 22（入力欄の間隔 101.4） */
  .entry-card { padding: 29px 20px 32px; border-radius: 8px; }   /* 参照 440: カードの上端 690・角丸 8（16 ではない） */
  .entry-form { gap: 22px; }
  .field { gap: 4px; }
  /* ラベル 14px・字間 0（参照: 「希望職種」のインク幅 56・字高 13）→ ※ は字の後ろ 7.5。入力欄の送り 101.4（参照 877→1384 の 5 段で 507） */
  .field-label { font-size: 14px; line-height: 1.53; letter-spacing: 0; }
  .field-label .req { color: var(--c-ink-soft); font-size: 11px; margin-left: 7.5px; }
  .entry-form input:not([type="checkbox"]):not([type="hidden"]):not(.sr-only), .entry-form select { min-height: 54px; }
  /* 選択欄の「選択ください」: 参照は 13px・細字（x68〜150、字高 12〜13）。16px の太字だと別物に見える */
  .entry-form select { font-size: 13px; font-weight: 400; letter-spacing: 0.06em; }
  /* 同意行を nowrap にしたぶんグリッドの列が広がり、入力欄がカードの右の余白（20）を突き抜けていた（344: 52〜310）。列は 1fr に固定し、同意行だけ左へはみ出させる */
  .entry-form { grid-template-columns: minmax(0, 1fr); }
  .field-select .icon { right: 14px; width: 16px; height: 16px; }
  /* 同意行はカードの右端に寄せて 1 行（344 は左の余白へはみ出して 1 行のまま＝参照どおり）。textarea→行の中心 35、行の中心→送信ボタン 35 */
  /* 参照 440: □ は 14（x134〜147）、□→文字 10 空き、下線は字のすぐ下（字下＋1）、別窓アイコンは 12（インク 10）で「開く」の直後、→「に同意する」4。
     □ の上端は textarea の下端＋59（参照 440: 3130→3189）、送信ボタンの上端は □ の下端＋28 */
  .field-check { justify-content: flex-end; gap: 8px; margin-top: -8px; }
  .field-check input[type="checkbox"] { width: 14px; height: 14px; }
  .field-check label { flex-wrap: nowrap; white-space: nowrap; }
  .field-link { text-underline-offset: 1px; }
  .field-link .i-ext { width: 10px; height: 10px; margin-left: 2.5px; }
  .entry-actions { margin-top: -10px; }
  .entry-form textarea { margin-bottom: -1px; }   /* textarea の下端→次のラベルまで 46（入力欄の後は 47.4。参照 1584→1630） */
  /* 送信ボタン: 角丸 16・文字 24px（応募する 幅 94）は左 32、丸 40 は右 32、高さ 120 */
  .entry-submit { border-radius: var(--r-m); font-size: 24px; padding-inline: 32px; gap: 8px; text-align: left; }
  /* 参照: 文字は左寄せ。344 の「見学を申し込む」は字の箱が（中身幅 − 8）で止まって「見学を申し込 / む」に折れ、丸はその右 8 に置かれて帯の右端から 8 はみ出す（x260〜300）。393 は 1 行で丸が字の直後 */
  .entry-submit-label { flex: 0 0 auto; max-width: calc(100% - 8px); }
  .entry-submit .btn-ring { flex: none; }
  .entry-submit .btn-ring .icon { width: 22px; height: 22px; }   /* 紙飛行機のインク 17×14（参照 440）。18px だと 13×12 */
  /* 関連リンク 4 枚: ピーチ面 118（2px のクリーム縁込み）・間 10、文字 16px は左 34、丸 24 は右 34。フォームのカード末→最初の 1 枚 121 */
  .entry-related { gap: 10px; margin-top: 120px; }
  .entry-related .link-card { min-height: 118px; padding: 16px 32px; border: 1px solid var(--c-cream); }   /* 参照: 面 116＋縁 1×2、送り 128 */
  .entry-related .btn-ring { width: 24px; height: 24px; }
  .entry-related .btn-ring .icon { width: 20px; height: 20px; }
}
/* 送信ボタンの文字の文節（entry.mjs の submitBreak。「見学を」「申し込む」）: 1 行に入る幅では見た目は変わらず、折れるときは文節の間だけで折る */
.entry-submit-l { display: inline-block; }
/* 〜361（2026-09-28 照合）: 上の参照どおりの組み方だと「見学を申し込む」（字の幅 178）＋間 8＋丸 40 がボタンの中に入らず、344 で白丸がボタンの右端から 8px、360 で 2px はみ出し、
   344 では「む」が 1 字だけ次の行に落ちていた（参照 STUDIO の崩れを写していた）。この幅だけ字の箱を縮めて「見学を / 申し込む」の 2 行にし、丸は右 32 の定位置に置く。
   362〜 は従来どおり 1 行（丸はボタンの中に収まる） */
@media (max-width: 361px) {
  .entry-submit-label { flex: 0 1 auto; min-width: 0; max-width: none; }
}
/* 〜599: 目次ピルは縦並び（幅 300 まで・左右 40 以上）、高さ 54・間 15、文字 15px/0.04em は左 27、⌄ 18px は右 29 */
@media (max-width: 599px) {
  .entry-head .anchor-nav ul { max-width: 300px; margin-inline: auto; gap: 15.5px; }   /* ピルの送り 69.5（参照 259 / 328.5） */
  .entry-head .anchor-pill { min-height: 54px; padding: 8px 29px 8px 27px; letter-spacing: 0.04em; }
  .entry-head .anchor-pill .icon { width: 18px; height: 18px; }
}

/* 行頭禁則を参照（STUDIO）に合わせる: base.css の line-break: strict だと小書きの「っ」「ゃ」や「ー」を行頭に置けず、参照より 1 字早く折れて行が増える
   （参照 clinical-training 393「…自分の軸をつく / っていけるよう」、faq 344「症例経験はしっかり積めま / すか？」）。〜767 の本文だけ normal にする */
@media (max-width: 767px) { .page-recruit-entry .main { line-break: normal; } }

/* ======================================================================
   〜767 の 3 周目（2026-09-26。現行プレビューの計算済みスタイルを 344/390/440 で文字ごとに突き合わせ）
   英字が Inter → Roboto に替わった（9/25）あとも Inter 用に詰めた字間（0.2em・0.02em・0.04em）が残っていた → 原本の値に戻す。
   本文の字間は body の 0.06em が px で継承されて字の大きさとずれる（14.7px 基準）ので、要素ごとに 0.06em を当て直す
   ====================================================================== */
@media (max-width: 767px) {
  /* 英字ラベル 16px/0.25em（ENTRY FORM 幅 138）・目次ピル 15px/0.06em（エントリーフォーム 幅 143）・H2 24px/0.06em（幅 229）・説明 14px/0.06em */
  .page-recruit-entry .entry-head .sec-label { letter-spacing: 0.25em; text-indent: 0.25em; }
  .page-recruit-entry .entry-head .anchor-pill { letter-spacing: 0.06em; }
  .page-recruit-entry .entry-head .anchor-pill .icon path { stroke-width: 1.4; }   /* ⌄ は細線（原本 Material Symbols の keyboard_arrow_down。線 1px 前後） */
  .page-recruit-entry .entry-h2 { letter-spacing: 0.06em; }
  .page-recruit-entry .entry-lead { letter-spacing: 0.06em; }
  /* 必須の「※」は細字 11px・本文と同じ濃い字（原本 Lato 400 #271200。旧は #574D45） */
  .page-recruit-entry .field-label .req { color: var(--c-ink-deep); font-family: var(--f-en); font-weight: 400; line-height: 1; }   /* 行の高さを 1 にして、英字書体の行ボックスでラベルの行が伸びないように */
  /* 入力欄: 角丸 4・textarea は内余白 16・リサイズのつまみを出さない（原本 resize:none） */
  .page-recruit-entry .entry-form :is(input:not([type="checkbox"]):not([type="hidden"]):not(.sr-only), select, textarea) { border-radius: 4px; }
  .page-recruit-entry .entry-form textarea { padding: 16px; resize: none; }
  /* 同意行の「に同意する」は #574D45（リンクと同じ色） */
  .page-recruit-entry .field-check label { color: var(--c-ink-soft); }
  /* 送信ボタンの文字 24px/1.7（原本の行の高さ 40.8） */
  .page-recruit-entry .entry-submit { line-height: 1.7; }
  /* 関連リンクの縁は 2px（原本 118 = 面 114＋縁 2×2。字頭 x66） */
  .page-recruit-entry .entry-related .link-card { border-width: 2px; }
}

/* ======================================================================
   1080〜 Figma「応募フォーム」115:5430（採用 1440 幅）に合わせる（2026-09-25）。〜1079 は上の値のまま
   Figma はフォーム 1 つ・目次ピルなし・左列は説明文だけ。content はフォーム 2 つ（エントリー／見学）と目次ピル 2 個なので、
   見出しと目次ピルは「よくある質問」115:4933 の型（ピル 300×51）、各フォームの見出しは左列の説明文の上に 32px で置く
   ====================================================================== */
@media (min-width: 1080px) {
  /* 見出し: ヘッダー下端 → ラベル 38、ラベル → 8 → H1 40px/1.7 → 80 → ピル → 145 → 最初のフォーム（よくある質問の 600 と同じ） */
  .page-recruit-entry .page-head.entry-head { padding: 38px 0 145px; }
  .page-recruit-entry .entry-head .sec-head { gap: 8px; }
  .page-recruit-entry .entry-head .anchor-nav { margin-top: 80px; }
  .page-recruit-entry .entry-head .anchor-nav ul { gap: 24px; }
  .page-recruit-entry .entry-head .anchor-nav li { flex: 0 0 300px; min-width: 0; }
  .page-recruit-entry .entry-head .anchor-pill { min-height: 51px; padding: 12px 24px; border-radius: 32px; font-size: 16px; line-height: 1.7; letter-spacing: 0.06em; }
  .page-recruit-entry .entry-head .anchor-pill .icon { width: 20px; height: 20px; margin-right: -5px; }

  /* 本文（Frame 29 115:5896）: 左列 236（説明 16px/2.2 字間 6% #271200）＋ 80 ＋ 白カード 964（角丸 16・余白 40）。x 80 / 396。カード下 → 関連リンク 200 → フッターの口 200 */
  .page-recruit-entry .entry-body { padding: 0 0 136px; }   /* .ft の margin-top 64 と足して 200 */
  .entry-sec { grid-template-columns: 236px minmax(0, 1fr); column-gap: 80px; }
  .entry-sec + .entry-sec { margin-top: 200px; }
  .entry-intro { padding-right: 0; gap: 16px; }
  .entry-h2 { font-size: 32px; line-height: 1.7; letter-spacing: 0.06em; }
  .entry-lead { max-width: none; font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; }
  .entry-card { padding: 40px; border-radius: 16px; }

  /* 項目（Frame 115 115:5901 ほか）: ラベル「お名前 ※」16px/2.2 字間 6% #271200（※ も同じ字・色、間 8）→ 8 → 入力欄 #F7E7DB・角なし・高さ 40（textarea 120）。項目の間 24。
     入力欄は Figma 40 → タップ標的 44 に（ARCHITECTURE §2）。選択欄の山形 11 は右 20 */
  .entry-form { gap: 24px; }
  .field { gap: 8px; }
  .field-label { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; color: var(--c-ink-deep); }
  .field-label .req { margin-left: 8px; font-size: 16px; color: var(--c-ink-deep); }
  .entry-form input:not([type="checkbox"]):not([type="hidden"]):not(.sr-only), .entry-form select { min-height: 44px; padding: 6px 20px; border-radius: 0; }
  .entry-form select { padding-right: 48px; }
  .entry-form textarea { height: 120px; min-height: 120px; padding: 8px 20px; border-radius: 0; }   /* rows=6 の自然な高さ（179）ではなく Figma の 120 */
  .field-select .icon { right: 14px; width: 22px; height: 22px; }

  /* 同意行＋送信（Frame 124 115:5948）: 最後の項目 → 40 → 右寄せの「□ 16（白・線 1px #C5B5A8）→ 8 → 16px/2.2」→ 8 → 送信 480×120（角丸 16・余白 40・24px 字間 6%・白丸 40） */
  .field-check { margin-top: 16px; justify-content: flex-end; gap: 8px; }
  .field-check input[type="checkbox"] { appearance: none; -webkit-appearance: none; width: 16px; height: 16px; border: 1px solid var(--c-line-2); border-radius: 0; background: var(--c-white); }
  .field-check input[type="checkbox"]:checked { background: var(--c-orange); border-color: var(--c-orange); box-shadow: inset 0 0 0 3px var(--c-white); }
  .field-check input[type="checkbox"]:focus-visible { outline: 2px solid var(--c-orange); outline-offset: 2px; }
  .field-check label { font-size: 16px; line-height: 2.2; letter-spacing: 0.06em; color: var(--c-ink-deep); }
  .field-link { color: var(--c-ink-deep); }
  .entry-actions { margin-top: -16px; }
  .entry-submit { width: min(100%, 480px); min-height: 120px; padding: 0 40px; gap: 24px; border-radius: 16px; font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; }
  .entry-submit .btn-ring { flex: none; }

  /* 関連リンク（Frame 43 115:5958）: 980 幅を中央・2 列・間 24。478×121・#F7E7DB・角丸 16・余白 40・24px/1.7 字間 6% オレンジ・丸 40 オレンジ */
  .entry-related { margin-top: 200px; max-width: 980px; gap: 24px; }
  .entry-related .link-card { min-height: 121px; padding: 40px; border-radius: 16px; }
  .entry-related .link-card-label { font-size: 24px; line-height: 1.7; letter-spacing: 0.06em; color: var(--c-orange); }
}

/* ======================================================================
   演出（docs/MOTION.md。html.mo の下だけ＝reduce・JS なし・検査用 Playwright では何もしない。静止した見た目は変えない）
   入力欄: フォームの直下（項目・同意行・送信の行）が画面に入った順に淡く stagger（up を 14px に縮める）。白カードは動かさない（背の高いカードに
   付けると、中の項目が画面外で一度に再生されてしまうため）。
   送信ボタン: 行の up に続いて白丸が pop（+240）→ 紙飛行機が丸の左下から飛び込む（+360・丸の中で clip）→ 光が 1 回だけ左から右へ横切る（+700）。
   hover.css は .entry-submit の transform・filter・box-shadow を使うので、ここは scale/translate（個別プロパティ）と ::after の背景位置だけ
   ====================================================================== */
html.mo .entry-form > [data-mo] { --mo-dist: 14px; }
@keyframes entry-plane { from { translate: -130% 130%; } }
@keyframes entry-shine { from { opacity: 1; background-position: 100% 0; } to { opacity: 1; background-position: 0 0; } }
html.mo .entry-actions.is-in .entry-submit .btn-ring { overflow: clip; animation: mo-pop calc(var(--mo-dur) * .8) var(--mo-ease-pop) calc(var(--mo-d, 0ms) + 240ms) backwards; }
html.mo .entry-actions.is-in .entry-submit .btn-ring .icon { animation: entry-plane calc(var(--mo-dur) * 1.1) var(--mo-ease) calc(var(--mo-d, 0ms) + 360ms) backwards; }
html.mo .entry-submit { position: relative; }
html.mo .entry-submit::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0;
  background: linear-gradient(105deg, transparent 40%, color-mix(in srgb, var(--c-white) 42%, transparent) 50%, transparent 60%) no-repeat 100% 0 / 250% 100%;
}
html.mo .entry-actions.is-in .entry-submit::after { animation: entry-shine 1.1s cubic-bezier(.45, .05, .35, 1) calc(var(--mo-d, 0ms) + 700ms) 1; }

/* ---------- 下部 CTA の案 r11・r12（2026-09-30〜。旗が立ったときだけ HTML に出る）----------
   r11: 送信完了の文の下の「このあとの流れ」（文字リンク link-arrow のまま）
   r12: 見学申し込みフォームの白カードの下の電話の 1 行。番号は link-arrow（受話器の印）で押せる大きさ 44。1080〜 は区画が 2 列なので右の列（カードの下）に置く */
.entry-sent-next { margin-top: 8px; }
.entry-tel { margin: 0; font-size: var(--fs-body); line-height: 1.8; color: var(--c-ink-deep); }
.entry-tel-link { vertical-align: middle; }
.entry-tel-hours { white-space: nowrap; }
@media (min-width: 1080px) { .entry-tel { grid-column: 2; } }
