/* base.css — 変数(:root)・リセット・背景deco・紙吹雪・hover・focus・印刷(@media print)
   自動分割 2026-07-03（split_shindan2.py）｜正本＝このファイル。index.htmlはリンクするだけ。 */
/* ════ 2C診断（信頼感 × 分かりやすさ・中間トーン）════ */
:root{
  --navy:#1E50A2; --navy-d:#163E7C; --coral:#F26B5E; --coral-d:#C5503A;
  --sky:#6AA6E6; --sky-deep:#3D6FB8; --gold-d:#9A6612; --pale:#EAF2FB;
  --ink:#1E2C49; --ink-soft:#5E6B83; --line:#E2E8F3; --paper:#FBFCFE;
  --r:18px; --r-sm:12px;
  --shadow:0 4px 18px rgba(20,45,90,.07); --shadow-sm:0 2px 10px rgba(20,45,90,.06);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'M PLUS 1p','Hiragino Kaku Gothic ProN','Hiragino Sans','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ ProN W3',sans-serif;color:var(--ink);line-height:1.8;-webkit-font-smoothing:antialiased;background:linear-gradient(180deg,#EAF2FB 0%,#FBFCFE 24%);min-height:100vh;padding-bottom:calc(54px + env(safe-area-inset-bottom));overflow-x:clip;}
h1,h2,.q-title,.sh-lvname,.cta-title,.hero-title{font-family:'M PLUS 1p','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;}
.num,.gsvg-num,.gsvg-lbl,.pos-num,.shs-num,.sh-lvmark-n,.mr-lv,.r2-lv,.m-sal,.wiz-count{font-family:'Outfit','M PLUS 1p','Hiragino Kaku Gothic ProN','Hiragino Sans',sans-serif;font-feature-settings:"tnum";}

/* 背景装飾（ごく控えめ）*/
.bg-deco{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.blob{position:absolute;border-radius:50%;filter:blur(46px);opacity:.16;}
.blob.b1{width:240px;height:240px;background:var(--sky);top:-40px;right:-60px;}
.blob.b2{width:200px;height:200px;background:var(--coral);bottom:10%;left:-70px;}


/* 紙吹雪（控えめ）*/
#confetti{position:fixed;inset:0;pointer-events:none;z-index:9999;overflow:hidden;}
#confetti i{position:absolute;top:-14px;width:9px;height:13px;border-radius:2px;animation:fall 3s linear forwards;}
@keyframes fall{to{transform:translateY(106vh) rotate(560deg);opacity:.85;}}

img,svg{max-width:100%;}
p,h1,h2,h3,h4,li,span{overflow-wrap:break-word;}

/* hover はポインタ環境のみ（タッチの sticky hover 防止） */
@media(hover:hover){
  .start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(30,80,162,.34);}
  .opt:hover{border-color:var(--navy);transform:translateY(-2px);}
  .wiz-back:hover{border-color:var(--navy);color:var(--navy);}
  .q-links a:hover{background:#DCE9F8;}
  .cta-btn:hover{transform:translateY(-2px);}
  .eg-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.18);}
}

/* キーボードフォーカス */
:focus-visible{outline:3px solid var(--navy);outline-offset:2px;}
.summary-hero :focus-visible,.emailgate :focus-visible,.cta :focus-visible,.advice :focus-visible{outline-color:#fff;}

@media(max-width:480px){
  .hero-title{font-size:25px;} .q-title{font-size:22px;} .sh-lvname{font-size:21px;}
  .sh-lvmark{width:78px;height:78px;} .sh-lvmark-n{font-size:40px;}
  .hero .kv{max-width:235px;} .header{padding-top:18px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}
@media print{
  @page{margin:12mm;}
  .bg-deco,.wiz-top,.cta-btn,.sticky-cta,.foot{display:none !important;}
  body{background:#fff;}
  .stage-card{border:none;box-shadow:none;padding:0;}
  .summary-hero,.advice,.cta,.chart-block,.lvg-card,.matrix,.reach2{-webkit-print-color-adjust:exact !important;print-color-adjust:exact !important;}
}
