@charset "utf-8";
/* =====================================================================
   採用：エントリー／見学する（/recruit/entry/）v2 2026-10-06 B4
   正本: Figma 393:725（フォーム 440:137608）・design/設計図_ページ別.md B4。px ÷ 10 ＝ rem（1920 で Figma と同寸）。
   共通部品（ヒーロー・見出し・ボタン・CTA・フッター）は rc-common.css。ここはフォームの中身だけ。
   すべて .rc-page-entry 配下。SP は末尾の @media (max-width:1023px)。
   ===================================================================== */

/* ---------- セクション（白・ヒーロー下端 99rem から。見出し 123.7rem・案内の下 25.2rem） ---------- */
.rc-page-entry .ef{background:#fff;padding:24.7rem 0 25.2rem}
.rc-page-entry .ef-body,.rc-page-entry .ef-done{width:max(112rem, min(100%, 760px));max-width:100%}   /* 1920 は 112rem 左寄せ。縮小幅で文字の下限が効いても入力列が痩せないよう 760px までは広げる */
.rc-page-entry .ef-form{margin-top:4.1rem}

/* 機械送信よけ（人には見えない） */
.rc-page-entry .ef-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* 視覚的に隠す入力（ラベル全体が押せる。フォーカスは見た目の箱に出す） */
.rc-page-entry .ef-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;opacity:0}

/* ---------- 行（ラベル 23rem ＋ 入力。下線・最初の行は上線も） ---------- */
.rc-page-entry .ef-row{display:grid;grid-template-columns:max(23rem, 190px) minmax(0,1fr);column-gap:3.2rem;padding:3rem 0;border-bottom:max(.1rem,1px) solid var(--line)}
.rc-page-entry .ef-row--hope{border-top:max(.1rem,1px) solid var(--line)}
.rc-page-entry .ef-label{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding-top:1.3rem}
.rc-page-entry .ef-row--group .ef-label{padding-top:.9rem}
.rc-page-entry .ef-label__t{font:700 var(--t-body)/1.8 var(--serif);letter-spacing:.056rem;color:var(--brown)}
.rc-page-entry .ef-label__t--2{line-height:1.3;padding-top:.04rem}
.rc-page-entry .ef-label__t small{display:block;font-size:var(--t-small);font-weight:700;line-height:1.52;letter-spacing:.048rem}

/* 必須／任意バッジ（3.9×2.2rem） */
.rc-page-entry .ef-badge{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:3.9rem;min-height:2.2rem;margin-top:.3rem;padding:.6rem .9rem .6rem 1rem;
  font:700 var(--t-xxs)/1 var(--serif);letter-spacing:.1rem;white-space:nowrap}
.rc-page-entry .ef-badge--req{background:var(--req);color:#f7f4ed}
.rc-page-entry .ef-badge--opt{border:max(.1rem,1px) solid var(--line);color:var(--text-3);padding:.5rem .8rem .5rem .9rem}

/* ---------- 入力欄 ---------- */
.rc-page-entry .ef-input{display:block;width:100%;height:5.8rem;margin:0;padding:0 1.6rem;border:max(.1rem,1px) solid var(--line-2);border-radius:0;background:#fff;
  font:500 var(--t-input)/1.5 var(--serif);color:var(--ink);letter-spacing:.04em;-webkit-appearance:none;appearance:none;box-shadow:none;transition:border-color .2s ease}
.rc-page-entry .ef-input::placeholder{color:#9a8c73;opacity:1}
.rc-page-entry .ef-input:focus{outline:none;border-color:var(--brown-2);box-shadow:0 0 0 .1rem var(--brown-2)}
.rc-page-entry .ef-input:focus-visible{outline:none}
.rc-page-entry .ef-input--m{width:56rem;max-width:100%}
.rc-page-entry .ef-input--s{width:12rem;max-width:100%}
.rc-page-entry .ef-input--zip{width:32rem;max-width:100%}
/* 住所（郵便番号＋都道府県・市町村・番地。v3b 2026-10-27）。小見出しは旧採用サイトの文言 */
.rc-page-entry .ef-addr{display:flex;flex-direction:column;gap:2rem}
.rc-page-entry .ef-addr__t{display:block;margin-bottom:.8rem;font:500 var(--t-small)/1.6 var(--serif);letter-spacing:.048rem;color:var(--brown-2)}
/* 学年「□ 年」（v3 2026-10-27） */
.rc-page-entry .ef-suffix{display:flex;align-items:center;gap:1.2rem}
.rc-page-entry .ef-suffix__t{flex:none;font:500 var(--t-body)/1.5 var(--serif);letter-spacing:.056rem;color:var(--brown-2)}
.rc-page-entry .ef-textarea{height:19rem;min-height:12rem;padding:1.4rem 1.6rem;line-height:1.8;resize:vertical}
.rc-page-entry .ef-pair{display:flex;align-items:flex-start;gap:1.7rem}
.rc-page-entry .ef-pair .ef-sub{width:27.4rem;min-width:0}
.rc-page-entry .ef-pair--kana{gap:1.8rem}
.rc-page-entry .ef-pair--kana .ef-sub{width:27.5rem}

/* ---------- 選択の印（丸・四角） ---------- */
.rc-page-entry .ef-mark{flex:none;position:relative;width:2rem;height:2rem;border:max(.1rem,1px) solid var(--brown-2);border-radius:50%;background:#fff;transition:background-color .2s ease,box-shadow .2s ease}
.rc-page-entry .ef-mark--s{width:1.6rem;height:1.6rem}
.rc-page-entry .ef-mark--sq{border-radius:0}
.rc-page-entry input:checked+* .ef-mark{background:var(--brown-2);box-shadow:inset 0 0 0 .35rem #fffefa}
.rc-page-entry input:checked+* .ef-mark--sq{box-shadow:none}
.rc-page-entry input:checked+* .ef-mark--sq::after{content:"";position:absolute;left:.45rem;top:.12rem;width:.45rem;height:.85rem;border:solid #fff;border-width:0 .2rem .2rem 0;transform:rotate(45deg)}

/* ---------- ご希望のカード（v3 2026-10-27 で 3 枚→2 枚。高さ 10.6rem・gap 1.2rem） ---------- */
.rc-page-entry .ef-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.rc-page-entry .ef-card{position:relative;display:block;cursor:pointer}
.rc-page-entry .ef-card__box{display:flex;align-items:center;gap:1.6rem;min-height:10.6rem;height:100%;padding:1.8rem 2rem;background:var(--paper);border:max(.1rem,1px) solid var(--line);
  transition:border-color .2s ease,background-color .2s ease}
.rc-page-entry .ef-card__txt{display:flex;flex-direction:column;min-width:0;word-break:auto-phrase;text-wrap:pretty}
.rc-page-entry .ef-card__ja{font:700 var(--t-body-xl)/1.6 var(--serif);letter-spacing:.064rem;color:var(--brown-2)}
.rc-page-entry .ef-card__note{font:500 var(--t-small)/1.6 var(--serif);letter-spacing:.024rem;color:var(--brown-2);margin-top:.01rem}
.rc-page-entry .ef-card__en{margin-top:.41rem;font:400 var(--t-xs)/1.6 var(--georgia);letter-spacing:.176rem;color:var(--brown)}
.rc-page-entry .ef-card__note+.ef-card__en{margin-top:.39rem}
.rc-page-entry .ef-card input:checked+.ef-card__box{border-color:var(--brown-2);background:#fffefa}
.rc-page-entry .ef-card input:focus-visible+.ef-card__box,
.rc-page-entry .ef-pill input:focus-visible+.ef-pill__box,
.rc-page-entry .ef-agree input:focus-visible~.ef-agree__mark{outline:3px solid #835d20;outline-offset:3px}

/* ---------- ピル（区分・気になっている仕事。高さ 5rem・gap 1rem・wrap） ---------- */
.rc-page-entry .ef-pills{display:flex;flex-wrap:wrap;gap:1rem}
.rc-page-entry .ef-pill{position:relative;display:block;cursor:pointer}
.rc-page-entry .ef-pill__box{display:flex;align-items:center;gap:1rem;min-height:5rem;padding:1.3rem 2rem 1.4rem;background:var(--paper);border:max(.1rem,1px) solid var(--line);
  font:500 var(--t-body)/1.5 var(--serif);letter-spacing:.056rem;color:var(--brown-2);white-space:nowrap;transition:border-color .2s ease,background-color .2s ease}
.rc-page-entry .ef-pill input:checked+.ef-pill__box{border-color:var(--brown-2);background:#fffefa}

/* ---------- 同意・送信・電話の案内（中央） ---------- */
.rc-page-entry .ef-foot{display:flex;flex-direction:column;align-items:center;margin-top:4.8rem;text-align:center}
.rc-page-entry .ef-agree-block{display:flex;flex-direction:column;align-items:center}
.rc-page-entry .ef-agree{position:relative;display:inline-flex;align-items:center;gap:1.4rem;cursor:pointer}
.rc-page-entry .ef-agree__mark{flex:none;position:relative;width:2.4rem;height:2.4rem;border:max(.1rem,1px) solid var(--brown-2);background:#fff;transition:background-color .2s ease}
.rc-page-entry .ef-agree input:checked~.ef-agree__mark{background:var(--brown-2)}
.rc-page-entry .ef-agree input:checked~.ef-agree__mark::after{content:"";position:absolute;left:.75rem;top:.25rem;width:.65rem;height:1.25rem;border:solid #fff;border-width:0 .22rem .22rem 0;transform:rotate(45deg)}
.rc-page-entry .ef-agree__t{font:700 var(--t-body-l)/1.8 var(--serif);letter-spacing:.06rem;color:var(--brown-2)}
.rc-page-entry .ef-agree__t a{color:var(--brown);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:max(.1rem,1px)}
.rc-page-entry .ef-agree .ef-badge{margin-top:0}
.rc-page-entry .ef-alert{max-width:72rem;margin-top:2.4rem;padding:1.4rem 2rem;border:max(.1rem,1px) solid var(--req);background:#fff6f4;font:700 var(--t-body)/1.8 var(--serif);color:var(--req);text-align:left}
.rc-page-entry .ef-submit-wrap{margin-top:2.8rem;padding-top:.4rem}
.rc-page-entry .ef-submit{width:38.7rem;max-width:100%}   /* 面の高さ・角は rc-common.css の .rc-btn--submit.rc-btn--l（A1 反映済み） */
.rc-page-entry .ef-submit[aria-busy="true"]{opacity:.6;cursor:progress}
.rc-page-entry .ef-tel{margin-top:6rem;font:500 max(1.3rem, 12px)/2 var(--serif);letter-spacing:.039rem;color:var(--text-4)}
.rc-page-entry .ef-tel a{font:400 max(1.5rem, 13px)/1 var(--georgia);letter-spacing:.09rem;color:var(--brown-2);text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:max(.1rem,1px)}

/* ---------- 案内文・STEP・注意書き（v3c 2026-10-27・旧採用サイトの文言と 3 段） ---------- */
.rc-page-entry .ef-intro{margin-top:4.1rem}
.rc-page-entry .ef-intro__desc{font:500 var(--t-body)/2 var(--serif);letter-spacing:.056rem;color:var(--brown-2)}
.rc-page-entry .ef-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;max-width:72rem;margin:3.2rem 0 0;padding:0;list-style:none}
.rc-page-entry .ef-steps__i{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:6.4rem;padding:1rem;background:var(--paper);border:max(.1rem,1px) solid var(--line);color:var(--brown-2)}
.rc-page-entry .ef-steps__i[aria-current="step"]{background:var(--brown-2);border-color:var(--brown-2);color:#fff}
.rc-page-entry .ef-steps__en{font:400 var(--t-xs)/1.4 var(--georgia);letter-spacing:.176rem}
.rc-page-entry .ef-steps__ja{font:700 var(--t-body)/1.5 var(--serif);letter-spacing:.1rem}
.rc-page-entry .ef-caution{margin:2.4rem 0 0;padding:0;list-style:none;font:500 var(--t-small)/1.9 var(--serif);letter-spacing:.048rem;color:var(--text-3)}
.rc-page-entry .ef-caution li+li{margin-top:.4rem}
.rc-page-entry .ef-caution .ef-badge{margin:0 .6rem 0 0;vertical-align:.1em}
.rc-page-entry .ef-intro+.ef-form{margin-top:3.2rem}
.rc-page-entry .ef-done .ef-steps{margin:0 0 4.8rem}

/* ---------- プライバシーポリシーの行（v3c） ---------- */
.rc-page-entry .ef-privacy{margin-top:1.2rem;font:500 var(--t-small)/1.6 var(--serif)}
.rc-page-entry .ef-privacy a{color:var(--brown);text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:max(.1rem,1px)}

/* ---------- 確認画面（v3c。行は入力画面と同じ枠・値は改行をそのまま） ---------- */
.rc-page-entry .ef-confirm{margin-top:3.2rem;outline:none}
.rc-page-entry .ef-cf-rows>.ef-row:first-child{border-top:max(.1rem,1px) solid var(--line)}
.rc-page-entry .ef-row--cf .ef-label{padding-top:.2rem}
.rc-page-entry .ef-cf-val{font:500 var(--t-body)/1.9 var(--serif);letter-spacing:.056rem;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.rc-page-entry .ef-cf-btns{display:flex;justify-content:center;gap:2.4rem;margin-top:4.8rem}
.rc-page-entry .ef-cf-btns .rc-btn{width:32rem;max-width:100%}
.rc-page-entry .ef-back.rc-btn--l{--bh:9.5rem}   /* 「送信」（.rc-btn--submit.rc-btn--l）と同じ高さ */
.rc-page-entry .ef-send[aria-busy="true"]{opacity:.6;cursor:progress}
.rc-page-entry .ef-confirm .ef-alert{margin:2.4rem auto 0}
/* 2026-10-28 ロボット判定の枠（reCAPTCHA v2・幅 304px 固定）。中央に置く。幅 360px 未満の画面では枠を少し縮めてはみ出さないように */
.rc-page-entry .ef-captcha{display:flex;justify-content:center;margin-top:4rem;min-height:78px}
@media (max-width:359px){.rc-page-entry .ef-captcha>div{transform:scale(.88);transform-origin:center top}}

/* ---------- エラー ---------- */
.rc-page-entry .ef-err{margin-top:.8rem;font:500 var(--t-small)/1.6 var(--serif);color:var(--req)}
.rc-page-entry .ef-err:empty{display:none}
.rc-page-entry .is-invalid .ef-input,.rc-page-entry .ef-input[aria-invalid="true"]{border-color:var(--req)}
.rc-page-entry .is-invalid .ef-card__box,.rc-page-entry .is-invalid .ef-pill__box,.rc-page-entry .ef-agree-block.is-invalid .ef-agree__mark{border-color:var(--req)}
.rc-page-entry .ef-agree-block .ef-err{text-align:center}

/* ---------- 完了ブロック（送信後にフォームと入れ替え） ---------- */
.rc-page-entry .ef-done{outline:none}
.rc-page-entry .ef:has(.ef-done:not([hidden])){padding-bottom:14rem}   /* 完了時はフォームが無いので下の白地を詰める */
.rc-page-entry .ef-done__text{margin-top:3.2rem;font:500 var(--t-body-l)/2.2 var(--serif);letter-spacing:.06rem;color:var(--brown-2)}
.rc-page-entry .ef-done__btn{width:32rem;margin-top:4.8rem}
html.motion .rc-page-entry .ef-done.is-in{animation:ef-done-in .6s var(--ease) both}
@keyframes ef-done-in{from{opacity:0;transform:translateY(1.6rem)}to{opacity:1;transform:none}}

/* 区分より下の質問の切替（v3）。新しく出た行だけ、動きありのときにフェード（rc-entry.js が is-new を付ける） */
html.motion .rc-page-entry .ef-row.is-new{animation:ef-q-in .45s var(--ease) both}
@keyframes ef-q-in{from{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:none}}

/* 見出しの切替（見学 ↔ 通常）。動きありのときだけフェード */
html.motion .rc-page-entry .h1-swap{display:inline-block;transition:opacity .3s ease}
html.motion .rc-page-entry .h1-swap.is-out{opacity:0}

/* ---------- ホバー（動きあり・ポインタ端末だけ） ---------- */
@media (hover:hover){
  html.motion .rc-page-entry .ef-card:hover .ef-card__box,
  html.motion .rc-page-entry .ef-pill:hover .ef-pill__box{border-color:#b7985e}
  html.motion .rc-page-entry .ef-card:hover input:checked+.ef-card__box,
  html.motion .rc-page-entry .ef-pill:hover input:checked+.ef-pill__box{border-color:var(--brown-2)}
  html.motion .rc-page-entry .ef-input:hover:not(:focus){border-color:#b7985e}
  html.motion .rc-page-entry .ef-agree__t a:hover{color:var(--brown-2)}
  html.motion .rc-page-entry .ef-tel a:hover{text-decoration-thickness:.2rem}
}
@media (prefers-reduced-motion:reduce){
  .rc-page-entry .ef-done.is-in,.rc-page-entry .ef-row.is-new{animation:none!important}
}

/* 1024〜1539 の縦並び（3 枚が窮屈だった時の対処）は v3（2026-10-27）で外した。2 枚なら 1024 でも日本語・英語とも 1 行に収まる（実測 カード幅 235px） */

/* =====================================================================
   SP（≤1023。390 で 1rem=10px・13px で止まる）
   ===================================================================== */
@media (max-width:1023px), (max-width:1366px) and (orientation:portrait){
  .rc-page-entry .ef{padding:6rem 0 8rem}
  .rc-page-entry .ef-body,.rc-page-entry .ef-done{width:auto}
  .rc-page-entry .ef-form{margin-top:2.4rem}
  .rc-page-entry .ef-row{grid-template-columns:minmax(0,1fr);row-gap:1.2rem;padding:2.4rem 0}
  .rc-page-entry .ef-label,.rc-page-entry .ef-row--group .ef-label{justify-content:flex-start;align-items:center;gap:1.2rem;padding-top:0}
  .rc-page-entry .ef-label__t--2 small{display:inline;margin-left:.8rem}
  .rc-page-entry .ef-badge{margin-top:0}
  .rc-page-entry .ef-input{height:5.2rem;padding:0 1.4rem}
  .rc-page-entry .ef-input--m{width:100%}
  .rc-page-entry .ef-textarea{height:16rem}
  .rc-page-entry .ef-pair,.rc-page-entry .ef-pair--kana{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
  .rc-page-entry .ef-pair .ef-sub,.rc-page-entry .ef-pair--kana .ef-sub{width:auto}
  .rc-page-entry .ef-cards{grid-template-columns:minmax(0,1fr);gap:1rem}
  .rc-page-entry .ef-card__box{min-height:0;height:auto;padding:1.8rem 2rem}
  .rc-page-entry .ef-pills{gap:.8rem}
  .rc-page-entry .ef-pill__box{min-height:max(4.6rem, 44px);padding:1.1rem 1.6rem;gap:.8rem}   /* タップ目標 44px 以上 */
  .rc-page-entry .ef-foot{margin-top:3.2rem;align-items:stretch}
  .rc-page-entry .ef-agree-block{align-items:flex-start}
  .rc-page-entry .ef-agree{align-items:center;min-height:max(4.4rem, 44px);padding:.6rem 0;gap:1.2rem;text-align:left}   /* タップ目標 44px 以上 */
  .rc-page-entry .ef-agree__mark{margin-top:0}
  .rc-page-entry .ef-agree__t{line-height:1.8;word-break:auto-phrase}
  .rc-page-entry .ef-agree .ef-badge{margin-top:0}
  .rc-page-entry .ef-agree-block .ef-err{text-align:left}
  .rc-page-entry .ef-alert{max-width:none}
  .rc-page-entry .ef-submit-wrap{margin-top:2.4rem}
  .rc-page-entry .ef-submit{width:100%}
  .rc-page-entry .ef-tel{margin-top:2.8rem;line-height:2;text-align:center}
  /* FB-14（2026-10-09・実装FBシート No.14「フォーム内リンクのタップ範囲を 44px 以上」）見た目は変えず、押せる範囲だけ上下に広げる。
     a は inline なので、上下の padding は行の高さを変えない（負の margin は要らない）。下の行の文字に負けないよう前に出す */
  .rc-page-entry .ef-agree__t a{position:relative;z-index:1;padding-top:12px;padding-bottom:12px}   /* 375 で 21→45px */
  .rc-page-entry .ef-tel a{position:relative;z-index:1;padding-top:15px;padding-bottom:15px}       /* 375 で 16→46px */
  .rc-page-entry .ef-done__text{margin-top:2rem}
  /* v3c: STEP・確認画面 */
  .rc-page-entry .ef-intro{margin-top:2.4rem}
  .rc-page-entry .ef-steps{margin-top:2.4rem;gap:.6rem}
  .rc-page-entry .ef-steps__i{min-height:5.6rem;padding:.8rem .4rem}
  .rc-page-entry .ef-done .ef-steps{margin-bottom:3.2rem}
  .rc-page-entry .ef-privacy a{position:relative;z-index:1;padding-top:12px;padding-bottom:12px}   /* FB-14 と同じく押せる範囲を 44px 以上に */
  .rc-page-entry .ef-row--cf{row-gap:.8rem}
  .rc-page-entry .ef-cf-btns{flex-direction:column-reverse;gap:1.6rem;margin-top:3.2rem}
  .rc-page-entry .ef-cf-btns .rc-btn{width:100%}
  .rc-page-entry .ef-back.rc-btn--l{--bh:7.2rem}
  .rc-page-entry .ef-done__btn{width:100%;margin-top:3.2rem}
  .rc-page-entry .ef:has(.ef-done:not([hidden])){padding-bottom:6rem}
}
