/* 応募フォーム（見本）の見た目。共通の部分（ヘッダー・メニュー画面・フッター・見出し）は recruit.css
   ・入力欄の文字は 16px（iPhone で 16px より小さいと、押したときに画面が勝手に拡大されるため）
   ・押せる部分・入力欄の高さは 48px 以上 */
.form-top{padding:120px var(--gutter) 0}
.back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-bottom:32px;font-size:14px;color:var(--ink2);text-decoration:underline;text-underline-offset:3px}
.form-top .sec-title{margin-bottom:24px}
.form-top .lead{max-width:342px;margin:0 auto;text-align:center}
.sample{max-width:342px;margin:24px auto 0;padding:12px 16px;border:1px dashed var(--red);font-size:12px;line-height:1.9;color:var(--red);text-align:center}

.form{max-width:390px;margin:0 auto;padding:48px var(--gutter) 96px}
.field{margin:0 0 28px;padding:0;border:0;min-width:0}
.field>label,.field>legend{display:flex;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:500;font-size:14px;line-height:1.8;letter-spacing:.05em;color:var(--ink)}
.req-tag,.opt-tag{display:inline-block;padding:0 7px;border-radius:3px;font-size:12px;line-height:1.7;font-weight:500;letter-spacing:.05em}
.req-tag{background:var(--red);color:#fff}
.opt-tag{background:var(--card);color:var(--ink2)}
.hint{margin-top:6px;font-size:12px;line-height:1.9;color:var(--ink2)}
.input,.textarea{display:block;width:100%;min-height:52px;padding:12px 14px;border:1px solid #d8c8b8;border-radius:6px;background:#fff;color:var(--ink);font:400 16px/1.6 var(--sans);letter-spacing:.03em;-webkit-appearance:none;appearance:none}
.textarea{min-height:132px;resize:vertical}
.input::placeholder,.textarea::placeholder{color:#a99a8c}
.input:focus,.textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(195,40,49,.14)}

/* 選ぶ欄：丸いボタンを横に並べる（押した方が赤くなる） */
.choices{display:flex;flex-wrap:wrap;gap:8px}
.choice{position:relative;flex:1 1 auto}
.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.choice span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border:1px solid #d8c8b8;border-radius:24px;background:#fff;font-size:14px;line-height:1.5;letter-spacing:.05em;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}
.choice input:checked+span{background:var(--red);border-color:var(--red);color:#fff}
.choice input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}

/* 個人情報の取り扱い（文言は案。先方と決める） */
.privacy{margin:8px 0 24px;padding:16px;background:var(--card);font-size:12px;line-height:1.9}
.privacy b{display:block;margin-bottom:4px;font-size:13px;font-weight:500}
.agree{display:flex;align-items:center;gap:10px;min-height:48px;margin-bottom:32px;font-size:14px;cursor:pointer}
.agree input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--red)}

.submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;border:0;border-radius:30px;background:var(--red);color:#fff;font:500 15px/1.5 var(--sans);letter-spacing:.08em;cursor:pointer;box-shadow:0 2px 20px rgba(45,22,0,.12);transition:transform .2s ease,opacity .2s ease}
.submit:active{transform:scale(.98)}
.submit[aria-disabled="true"]{opacity:.45}
.submit:disabled{opacity:.6;cursor:default}
.err{display:none;margin-top:6px;font-size:12px;line-height:1.9;color:var(--red)}
.field.invalid .err{display:block}
.field.invalid .input{border-color:var(--red)}

/* 送ったあと（見本） */
.done{display:none;max-width:390px;margin:0 auto;padding:48px var(--gutter) 96px;text-align:center}
.done .sec-title{margin-bottom:24px}
.done p+p{margin-top:16px}
.done .pill{margin:40px auto 0}
html.sent .form,html.sent .form-top .lead,html.sent .sample,html.sent .form-top .sec-title{display:none}
html.sent .form-top .back{display:none}
html.sent .done{display:block}

/* フォームのページは下のバーなし（送るボタンに重ならないように）。フッターの下の余白も詰める */
.w-footer.no-bar{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}
