/* lp.pixelautolab.com の共通スタイル */
:root{--bg:#f7f7f5;--card:#fcfcfb;--ink:#1f2328;--muted:#52514e;--line:#e3e3df;--accent:#0a2fb8;--accent-ink:#fff;--soft:#eef2fc;--blue:#0a2fb8;--blue-dk:#08268f;--yellow:#ffd400;--err:#c23434;--ok:#1a8a5f}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b1226;--card:#101a2e;--ink:#eef1f8;--muted:#b6bdcc;--line:#263150;--accent:#7fa2ff;--accent-ink:#fff;--soft:#13233d;--blue:#0a2fb8;--blue-dk:#08268f;--yellow:#ffd400;--err:#e66767;--ok:#2fbf87}}
:root[data-theme="dark"]{--bg:#0b1226;--card:#101a2e;--ink:#eef1f8;--muted:#b6bdcc;--line:#263150;--accent:#7fa2ff;--accent-ink:#fff;--soft:#13233d;--blue:#0a2fb8;--blue-dk:#08268f;--yellow:#ffd400;--err:#e66767;--ok:#2fbf87}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;line-height:1.75;font-size:16px}
a{color:var(--accent)}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
header.top{background:var(--blue);color:#fff}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:56px}
.brand{font-weight:700;text-decoration:none;color:#fff}
.brand span{color:var(--yellow)}
.hero{padding:40px 0 24px}
.hero h1{font-size:clamp(24px,5vw,34px);line-height:1.35;margin:0 0 12px}
.hero p{color:var(--muted);margin:0 0 8px}
.points{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:20px 0 8px;padding:0;list-style:none}
.points li{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.points b{display:block;font-size:15px}
.points span{color:var(--muted);font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin:16px 0}
h2{font-size:20px;margin:28px 0 8px}
.q{margin:0 0 20px}
.q label.t{display:block;font-weight:600;margin-bottom:6px}
.q .hint{color:var(--muted);font-size:13px;margin:-2px 0 6px}
.req{color:var(--err);font-size:12px;margin-left:6px;font-weight:600}
.opt{color:var(--muted);font-size:12px;margin-left:6px;font-weight:400}
.q .hint.ok{color:var(--ok);margin:6px 0 0}
.q .hint.ng{color:var(--err);margin:6px 0 0}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
textarea{min-height:88px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row2{grid-template-columns:1fr}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--bg);cursor:pointer;font-size:14px}
.chips input{accent-color:var(--accent)}
.agree{display:flex;gap:8px;align-items:flex-start;font-size:14px}
/* 押すボタンは黄色に紺の文字(トップページと同じ) */
button.pri,a.pri{display:inline-block;font:inherit;font-weight:700;background:var(--yellow);color:#0a1a55;border:0;border-radius:0;padding:14px 32px;cursor:pointer;text-decoration:none}
button.pri:disabled{opacity:.6;cursor:default}
.msg{margin-top:12px;font-size:14px}
.msg.err{color:var(--err)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.muted{color:var(--muted)}
footer{background:var(--blue-dk);margin-top:48px;padding:24px 0;color:rgba(255,255,255,.8);font-size:13px}
footer a{color:rgba(255,255,255,.8);margin-right:16px;text-decoration:none}
/* 診断の結果 */
.big{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:16px 0}
.big div{background:var(--soft);border-radius:12px;padding:16px}
.big b{display:block;font-size:28px;line-height:1.2}
.big span{color:var(--muted);font-size:13px}
.cand{border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0;background:var(--card)}
.cand h3{margin:0 0 4px;font-size:17px}
.tag{display:inline-block;font-size:12px;border:1px solid var(--line);border-radius:999px;padding:1px 10px;margin-left:6px;color:var(--muted);font-weight:400}
.cand .n{font-weight:700}
.spin{width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:s 1s linear infinite;margin:24px auto}
@keyframes s{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation:none}}
/* 一番上の黄色の細い帯(飾り。トップページと同じ) */
.topbar{background:var(--yellow);height:30px}
/* 青い面のページ(フォーム)。入力欄だけ白くする */
body.bp{background:var(--blue);color:#fff}
.bp header.top{border-bottom:1px solid rgba(255,255,255,.15)}
.bp a{color:var(--yellow)}
.bp .hero p,.bp .muted,.bp .q .hint{color:rgba(255,255,255,.85)}
.bp .card{background:transparent;border:1px solid rgba(255,255,255,.25)}
.bp .points li{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2)}
.bp .points span{color:rgba(255,255,255,.8)}
.bp input[type=text],.bp input[type=email],.bp input[type=tel],.bp input[type=number],.bp select,.bp textarea{background:#fff;color:#111a2e;border-color:#fff}
.bp input::placeholder,.bp textarea::placeholder{color:#7a8296}
.bp input:focus,.bp select:focus,.bp textarea:focus{outline:3px solid var(--yellow);outline-offset:1px}
.bp .chips label{background:#fff;color:#111a2e;border-color:#fff}
.bp .agree input,.bp .chips input{accent-color:var(--yellow)}
.bp .req{color:var(--yellow)}
.bp .opt{color:rgba(255,255,255,.7)}
.bp .msg.err,.bp .q .hint.ng{color:#ffd0d0}
.bp .q .hint.ok{color:#a6f3cc}
.bp footer{margin-top:72px}
.bp .brand{color:#fff}
.bp footer a{color:rgba(255,255,255,.8)}
