/* =============================================================================
 * LP 共通スタイル (トップページ〈仮〉 + お問い合わせフォーム)
 * =============================================================================
 * 出自: docs/insight-agent-contact.html のモックに埋め込まれていた <style>。
 * トップページ用の追加分は末尾の「トップページ（仮）」セクション。
 * ========================================================================== */

:root{
--ink:#191C2E;--ink2:#454A5C;--sub:#71768B;
--line:#E8E9EF;--line-soft:#F1F2F6;
--pp:#2D5FE3;--pp-d:#1E46C7;--pp-l:#6D96F7;--pp-t:#EAF1FE;--pp-t2:#D6E4FD;
--gr:#1AA897;--gr-d:#11877E;--gr-t:#E9F6F4;
--am:#F59E0B;--am-d:#B4700A;--am-t:#FEF4E2;
--co:#F1607A;--co-d:#D3455F;--co-t:#FEEDF0;
--err:#D3455F;--bg:#FFFFFF;--bg2:#F7F6FB;
--mono:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
--body:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",sans-serif;}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:linear-gradient(180deg,#F9FBFF 0%,#EBF2FE 46%,#FFFFFF 100%);color:var(--ink);
font-family:var(--body);font-size:17px;line-height:1.9;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
a{color:var(--pp-d)}
:focus-visible{outline:2px solid var(--pp);outline-offset:3px}
.wrap{max-width:1040px;margin:0 auto;padding:0 24px}
/* nav */
.nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);backdrop-filter:blur(14px);
border-bottom:1px solid var(--line-soft)}
.nav-in{max-width:1040px;margin:0 auto;padding:15px 24px;display:flex;align-items:center;gap:10px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo-lockup{height:34px;width:auto;display:block}
.lockup-s{height:26px}
.nav-back{margin-left:auto;font-size:14.5px;color:var(--ink2);text-decoration:none}
.nav-back::before{content:"← "}
/* layout */
.page{padding:64px 0 96px}
.grid{display:grid;grid-template-columns:.82fr 1fr;gap:52px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:12.5px;
letter-spacing:.16em;color:var(--pp-d);margin-bottom:18px}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pp),transparent)}
h1{font-size:clamp(27px,4.6vw,38px);font-weight:800;line-height:1.5;margin:0 0 16px;letter-spacing:-.005em}
.lead{color:var(--ink2);margin:0 0 34px;font-size:16.5px}
.pts{margin:0 0 36px;padding:0;list-style:none}
.pts li{position:relative;padding:9px 0 9px 32px;font-size:16px;color:var(--ink2)}
.pts li::before{content:"";position:absolute;left:0;top:17px;width:11px;height:11px;border-radius:50%}
.pts li:nth-child(1)::before{background:#3B7BFA}
.pts li:nth-child(2)::before{background:#1AA897}
.pts li:nth-child(3)::before{background:#F59E0B}
.flow{background:#fff;border-radius:18px;padding:24px 26px;
box-shadow:0 2px 6px rgba(25,28,46,.05),0 16px 40px rgba(25,28,46,.07)}
.flow-h{font-size:14px;font-weight:800;color:var(--pp-d);margin-bottom:14px}
.flow ol{margin:0;padding:0;list-style:none;counter-reset:f}
.flow li{counter-increment:f;position:relative;padding:10px 0 10px 38px;font-size:15px;color:var(--ink2)}
.flow li+li{border-top:1px dashed var(--line)}
.flow li::before{content:counter(f);position:absolute;left:0;top:12px;width:24px;height:24px;border-radius:8px;
font-family:var(--mono);font-size:12px;color:#fff;background:linear-gradient(135deg,#3B7BFA,#4F51F0);
display:grid;place-items:center}
.flow li b{color:var(--ink);font-weight:700}
/* form card */
.card{background:#fff;border-radius:22px;padding:36px 34px;
box-shadow:0 0 0 1px rgba(109,150,247,.22),0 24px 70px rgba(45,95,227,.13),0 40px 90px rgba(25,28,46,.08)}
.f-row{margin-bottom:22px}
.f-2col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:block;font-size:14.5px;font-weight:700;margin-bottom:8px}
.req{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:var(--co);
border-radius:4px;padding:1px 7px;margin-left:8px;vertical-align:2px}
.opt{display:inline-block;font-size:11px;font-weight:700;color:var(--sub);background:var(--bg2);
border-radius:4px;padding:1px 7px;margin-left:8px;vertical-align:2px}
input[type=text],input[type=email],input[type=tel],select,textarea{
width:100%;font-family:inherit;font-size:16px;color:var(--ink);
background:var(--bg2);border:1.5px solid var(--line);border-radius:11px;padding:13px 15px;
transition:border-color .15s,background .15s,box-shadow .15s;appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2371768B' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat:no-repeat;background-position:right 15px center;padding-right:40px}
textarea{min-height:130px;resize:vertical;line-height:1.8}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--pp);background:#fff;
box-shadow:0 0 0 4px rgba(45,95,227,.12)}
input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:var(--err);background:#FFF8F9}
::placeholder{color:#A6AABB}
.hint{font-size:13px;color:var(--sub);margin-top:7px}
/* radio chips */
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chip{position:relative}
.chip input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}
.chip span{display:inline-block;font-size:14.5px;color:var(--ink2);background:#fff;
border:1.5px solid var(--line);border-radius:999px;padding:9px 18px;transition:all .15s;cursor:pointer}
.chip input:checked+span{color:#fff;border-color:var(--pp);font-weight:600;
background:linear-gradient(100deg,#3B7BFA,#4F51F0)}
.chip input:focus-visible+span{outline:2px solid var(--pp);outline-offset:2px}
/* consent */
.consent{display:flex;gap:11px;align-items:flex-start;background:var(--bg2);border-radius:11px;padding:14px 16px}
.consent input{width:19px;height:19px;margin-top:5px;accent-color:var(--pp);flex:none}
.consent label{font-size:14px;font-weight:400;margin:0;color:var(--ink2)}
/* submit */
.submit{width:100%;border:none;cursor:pointer;font-family:inherit;text-align:center;color:#fff;
background:linear-gradient(100deg,#3B7BFA,#4F51F0);border-radius:12px;padding:17px;font-size:17px;font-weight:800;
box-shadow:0 10px 26px rgba(45,95,227,.35);transition:transform .12s,box-shadow .12s}
.submit:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(45,95,227,.42)}
.submit:disabled{opacity:.55;cursor:not-allowed;transform:none}
.fine{font-size:12.5px;color:var(--sub);margin-top:14px;text-align:center}
/* result views */
.view{display:none}
.view.on{display:block}
.done{text-align:center;padding:34px 10px 22px}
.done-ic{width:74px;height:74px;margin:0 auto 22px}
.done h2{font-size:24px;font-weight:800;margin:0 0 12px}
.done p{color:var(--ink2);font-size:16px;margin:0 0 28px}
.btn-ghost{display:inline-block;background:#fff;color:var(--ink);border:1.5px solid var(--line);
border-radius:999px;padding:14px 30px;font-size:15.5px;font-weight:600;text-decoration:none}
.err-box{display:none;background:var(--co-t);color:var(--co-d);border-radius:11px;
padding:13px 16px;font-size:14.5px;margin-bottom:20px}
.err-box.on{display:block}
/* honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* footer */
.foot{background:#fff;border-top:1px solid var(--line-soft);padding:30px 0}
.foot-in{max-width:1040px;margin:0 auto;padding:0 24px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.foot-t{font-size:14.5px;color:var(--sub)}
@media (max-width:900px){
 .grid{grid-template-columns:1fr;gap:40px}
 .page{padding:44px 0 72px}
 .card{padding:28px 22px}
 .f-2col{grid-template-columns:1fr}
 .wrap,.nav-in,.foot-in{padding-left:20px;padding-right:20px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ============================================================================
 * トップページ（仮） — 本番のトップページに差し替えたら不要になる
 * ========================================================================== */
.home{padding:96px 0 112px;text-align:center}
.home-badge{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;
color:var(--am-d);background:var(--am-t);border-radius:999px;padding:7px 16px;margin-bottom:28px}
.home h1{font-size:clamp(28px,5vw,42px);margin:0 0 20px}
.home-lead{color:var(--ink2);font-size:17px;margin:0 auto 44px;max-width:620px}
.cta{display:inline-block;color:#fff;text-decoration:none;font-weight:800;font-size:17px;
background:linear-gradient(100deg,#3B7BFA,#4F51F0);border-radius:12px;padding:17px 44px;
box-shadow:0 10px 26px rgba(45,95,227,.35);transition:transform .12s,box-shadow .12s}
.cta:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(45,95,227,.42)}
.home-note{font-size:13px;color:var(--sub);margin-top:22px}
@media (max-width:900px){.home{padding:64px 0 80px}}

/* 横 1 行ロゴ (logo-horizontal.svg、縦横比 約 7.8:1)。旧 2 行ロゴの高さ指定を上書きする */
.logo-lockup{height:30px}
.lockup-s{height:22px}
@media (max-width:640px){.logo-lockup{height:22px}.lockup-s{height:20px}}
a.foot-t{color:var(--sub);text-decoration:none}
a.foot-t:hover{color:var(--pp-d);text-decoration:underline}
