@charset "UTF-8";
/* =====================================================================
   sitev2/css/contact.css ── /contact/（お問い合わせ）。contact-mock の CSS を移植
   ===================================================================== */
body{background:var(--paper)}
.page-contact main .inner{max-width:720px}

.hero{background:var(--navy);color:#fff;padding-block:40px;text-align:center}
.hero .bc{font-size:11.5px;color:#9FB0CC}
.hero .bc a:hover{text-decoration:underline}
.hero h1{font-size:clamp(22px,4vw,30px);font-weight:900;margin-top:8px}
.hero p{font-size:13px;color:#C9D2E4;margin-top:8px}

/* FAQ誘導 */
.pre{padding-block:28px 0}
.pre .box{background:#FFF6D6;border:1.5px solid #E5C988;border-radius:10px;padding:16px 20px;font-size:13.5px}
.pre .box b{color:var(--navy)}
.pre .box a{color:var(--navy);text-decoration:underline;font-weight:700}

/* フォーム */
.formsec{padding-block:28px 60px}
.card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:28px 26px;box-shadow:0 2px 10px rgba(18,38,79,.05)}
@media(max-width:480px){.card{padding:24px 18px}}
.fld{margin-top:20px}
.fld:first-of-type{margin-top:0}
.alert + .fld{margin-top:0}
label.lb{display:block;font-weight:900;color:var(--navy);font-size:14px;margin-bottom:7px}
.req{display:inline-block;background:var(--red);color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 8px;margin-left:8px;vertical-align:1px;line-height:1.6}
.opt{display:inline-block;background:#9AA3B5;color:#fff;font-size:10px;font-weight:700;border-radius:4px;padding:1px 8px;margin-left:8px;vertical-align:1px;line-height:1.6}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:12px 14px;border:2px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit;background:var(--white);color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy)}
.hint{font-size:12px;color:var(--sub);margin-top:6px}
.agree{display:flex;gap:10px;align-items:flex-start;margin-top:24px;font-size:13.5px}
.agree input{width:19px;height:19px;margin-top:3px;flex:0 0 auto}
.agree a{color:var(--navy);text-decoration:underline;font-weight:700}
.send{display:block;width:100%;margin-top:26px;background:var(--navy);color:#fff;border:0;border-radius:999px;padding:16px;font-size:16px;font-weight:900;font-family:inherit;cursor:pointer}
.send:hover{opacity:.92}

/* 確認画面（入力画面と同じトーン。項目名=ラベルの色・値=本文色）*/
.cf-lead{font-size:13.5px;color:var(--sub);margin-bottom:16px}
.cf{border-top:1px solid var(--line)}
.cf > div{display:grid;grid-template-columns:170px 1fr;gap:6px 16px;padding:14px 2px;border-bottom:1px solid var(--line)}
.cf dt{font-weight:900;color:var(--navy);font-size:14px}
.cf dd{font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.cf-body{line-height:1.7}
@media(max-width:480px){.cf > div{grid-template-columns:1fr;gap:4px}}
.send--back{margin-top:12px;background:var(--white);color:var(--navy);border:2px solid var(--navy)}
.send:disabled{opacity:.6;cursor:default}

/* エラー表示 */
.alert{background:#FDECEA;border:1.5px solid var(--red);color:var(--red);border-radius:8px;padding:12px 16px;font-size:13.5px;font-weight:700;margin-bottom:20px}
.fe{color:var(--red);font-size:12.5px;font-weight:700;margin-top:6px}
.is-err input[type=text],.is-err input[type=email],.is-err input[type=tel],.is-err select,.is-err textarea{border-color:var(--red)}

/* 不可視フィールド（ハニーポット）*/
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* 完了表示 */
.done{background:var(--white);border:2px solid #1E7E4D;border-radius:12px;padding:26px;text-align:center}
.done .ok{width:50px;height:50px;border-radius:50%;background:#E4F3EA;color:#1E7E4D;font-size:24px;font-weight:900;display:flex;align-items:center;justify-content:center;margin:0 auto}
.done b{display:block;color:var(--navy);font-size:17px;margin-top:12px}
.done p{font-size:13.5px;color:var(--sub);margin-top:8px}

.alt{margin-top:22px;text-align:center;font-size:13px;color:var(--sub)}
.alt a{color:var(--navy);text-decoration:underline;font-weight:700}
