@import url('https://fonts.googleapis.com/css2?family=LINE+Seed+JP:wght@100;400;700;800&display=swap');
    :root{--ink:#14213d;--muted:#5b6475;--line:#e3e7ee;--paper:#fff;--bg:#f5f7fa;--panel:#f8fafc;--accent:#c6000f;--accent2:#a3000c;--teal:#1c3260;--navy:#0b1e3f;--navy2:#1c3260;--red-soft:#fdf1f2;--red-line:#f3c9cd;--navy-soft:#eef2f8;--navy-line:#d5deeb;--good:#16a34a;--warn:#f59e0b;--bad:#ef4444;--soft:#f3f4f6}
    *{box-sizing:border-box} html{scroll-behavior:smooth;overflow-x:clip}
    body{margin:0;  font-family:"LINE Seed JP","Hiragino Sans","Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg)}
    a{text-decoration:none;color:inherit}
    .topbar{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(10px)}
    .brand{font-weight:800;display:flex;gap:16px;align-items:center;cursor:pointer;min-width:0}
    .brand-logo{display:block;height:28px;width:auto}
    .brand-divider{width:1px;height:24px;background:var(--line)}
    .brand-product{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--paper);letter-spacing:.02em;white-space:nowrap}
    .brand-product em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--accent);border:1px solid var(--red-line);background:var(--red-soft);border-radius:4px;padding:3px 6px}
    .header-cta{flex:0 0 auto;background:var(--accent);color:#fff;font-size:13px;font-weight:800;border-radius:8px;padding:10px 18px;transition:background .2s}
    .header-cta:hover{background:var(--accent2)}
    .hero-tag{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;font-size:13px;font-weight:700;color:var(--navy);background:#fff;border:1px solid var(--navy-line);border-radius:999px;padding:6px 16px 6px 6px;line-height:1.5}
    .hero-tag span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#fff;background:var(--accent);border-radius:999px;padding:4px 10px}
    .brand-mark{position:relative;width:18px;height:18px}
    .brand-mark:before,.brand-mark:after{content:"";position:absolute;border-radius:50%}
    .brand-mark:before{inset:0;background:var(--accent)}
    .brand-mark:after{inset:4px;background:#fff}
    .brand small{display:block;color:var(--muted);font-weight:600;font-size:11px;letter-spacing:.12em}
    .badge{font-size:12px;letter-spacing:.12em;border:1px solid var(--navy-line);background:var(--navy-soft);color:var(--navy);border-radius:99px;padding:8px 12px;font-weight:700;line-height:1.35;text-align:center;white-space:normal;line-break:strict;text-wrap:pretty}
    main{max-width:1180px;margin:auto;padding:0 20px}
    .hidden{display:none!important}
    .eyebrow,.kicker{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--accent)}
    .hero{position:relative;isolation:isolate;padding:86px 0 64px}
    .hero-bg{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);z-index:-1;overflow:hidden;background:var(--navy-soft)}
    .hero-bg video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.80) 0%,rgba(255,255,255,.88) 50%,var(--bg) 100%)}
    @media(prefers-reduced-motion:reduce){.hero-bg video{display:none}}
    .hero-inner{text-align:center;max-width:1100px;margin:0 auto}
    .hero h1{font-size:clamp(36px,5.4vw,68px);letter-spacing:-.045em;line-height:1.1;margin:18px 0 22px}.hero h1 .line1,.hero h1 .line2{display:block;white-space:nowrap}.hero h1 .line2{margin-top:8px}
    .hero h1 span{color:var(--navy)}.hero h1 em{font-style:normal;color:var(--accent)}
    .lead{font-size:18px;line-height:1.8;color:var(--muted);max-width:760px;margin:0 auto 34px}
    .hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:18px 28px;font-family:inherit;font-weight:800;font-size:16px;line-height:1.35;cursor:pointer;transition:background .2s,border-color .2s,transform .2s;min-width:260px;text-align:center}
    .btn:hover{transform:translateY(-1px)}
    .btn-primary{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 12px 30px rgba(198,0,15,.22)}.btn-primary:hover{background:var(--accent2);border-color:var(--accent2)}
    .btn-secondary{border:1px solid var(--navy);background:#fff;color:var(--navy)}.btn-secondary:hover{background:var(--navy-soft)}
    .btn-secondary.on-dark{border:2px solid rgba(255,255,255,.9);background:rgba(255,255,255,.08);color:#fff}.btn-secondary.on-dark:hover{background:#fff;border-color:#fff;color:var(--navy)}
    .cta-panel .btn,.closing-cta .btn{min-width:0}
    .cta-panel .btn,.closing-cta .btn,.modal-foot .btn{white-space:nowrap;flex:0 0 auto}
    .content-cta{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:16px 20px;font-weight:800;font-size:15px;cursor:pointer;white-space:normal;line-height:1.35;text-align:center;line-break:strict}
    .microcopy{display:flex;justify-content:center;gap:12px 10px;margin-top:16px;flex-wrap:wrap}.microcopy span{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.35;color:var(--navy);background:#fff;border:1px solid var(--navy-line);border-radius:999px;padding:10px 16px;font-weight:800;box-shadow:0 6px 16px rgba(11,30,63,.06);white-space:normal;line-break:strict;text-align:center;text-wrap:balance;max-width:220px;min-height:42px}
    .hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;width:min(980px,100%);margin:44px auto 0}.hero-grid>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px 22px;text-align:left;box-shadow:0 10px 24px rgba(17,24,39,.04);min-height:142px;display:flex;flex-direction:column;justify-content:flex-start}.hero-grid strong{font-size:21px;display:block;line-height:1.35;font-weight:800;line-break:strict;text-wrap:pretty}.hero-grid span{display:block;font-size:13px;color:var(--muted);margin-top:10px;line-height:1.7;word-break:normal;line-break:strict;text-wrap:pretty}
    .content-stack{display:grid;gap:18px;padding:6px 0 60px}
    .content-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 10px 30px rgba(17,24,39,.03)}
    .section-head{display:block;margin-bottom:18px}.section-head h2{font-size:28px;line-height:1.25;margin:6px 0 0;font-weight:800;line-break:strict;text-wrap:pretty}.section-head p{max-width:760px;color:var(--muted);line-height:1.75;margin:10px 0 0;font-size:14px}
    .benefit-grid,.reason-grid,.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
    .benefit-card,.reason-card,.support-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--panel)}
    .benefit-card h3,.reason-card h3,.support-card h3,.callout h3,.support-quote h3{margin:12px 0 8px;font-size:22px;line-height:1.3;font-weight:800}.benefit-card p,.reason-card p,.support-card p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}
    .icon-tile{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);font-weight:900;font-size:22px}
    .mini-flow{display:grid;grid-template-columns:1.1fr 80px 1.1fr 80px 1.1fr;gap:10px;align-items:center;margin-top:20px}
    .mini-flow .node{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}
    .mini-flow .node strong{display:block;font-size:15px;margin-bottom:5px;font-weight:800}.mini-flow .node span{font-size:12px;color:var(--muted);line-height:1.55;display:block}.mini-flow .arrow{text-align:center;color:var(--accent);font-weight:900}
    .reason-visual{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:stretch;margin-top:10px}
    .reason-left{display:grid;gap:14px;align-content:start}
    .trend-panel,.mini-visual{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:22px;min-height:100%}
    .trend-panel h3,.mini-visual h3,.callout h3{margin:6px 0 8px;font-size:22px;line-height:1.3;font-weight:800}
    .trend-panel p,.mini-visual p,.callout p{color:var(--muted);line-height:1.7;margin:0;font-size:14px}
    .trend-bars{display:grid;gap:14px;margin-top:16px}.trend-bars .row{display:grid;grid-template-columns:110px 1fr 48px;gap:12px;align-items:center;font-size:13px}.trend-bars b{color:var(--ink)}.trend-bars .bar{height:10px;background:var(--navy-soft);border-radius:999px;overflow:hidden}.trend-bars .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--navy2),#4a6aa3)}
    .trend-caption{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.trend-caption span{display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1.35;border:1px solid var(--navy-line);background:var(--navy-soft);color:var(--navy);border-radius:999px;padding:7px 10px;font-weight:700;text-align:center;white-space:normal;line-break:strict;text-wrap:balance}
    .mini-visual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.mini-stat{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--panel)}.mini-stat strong{display:block;font-size:22px;line-height:1.1}.mini-stat span{display:block;font-size:12px;color:var(--muted);margin-top:6px}
    .callout{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.risk-cards{display:grid;gap:12px;margin-top:16px}.risk-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:flex-start;padding:16px;border-radius:16px;background:#fff;border:1px solid var(--line)}.risk-icon{width:46px;height:46px;border-radius:14px;background:var(--navy-soft);display:grid;place-items:center;color:var(--navy);font-weight:900;font-size:18px}.risk-card strong{display:block;font-size:16px;line-height:1.35;font-weight:800;margin-bottom:4px}.risk-card p{font-size:13px;line-height:1.65;margin:0}
    .support-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:16px;align-items:stretch}
    .journey{display:grid;gap:12px}.journey .step{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.journey .num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy-soft);color:var(--navy);font-weight:900}.journey h4{margin:2px 0 5px;font-size:18px;line-height:1.3;font-weight:800}.journey p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
    .support-quote{background:#fff;border:1px solid var(--navy-line);border-radius:22px;padding:24px}.support-quote h3{font-size:22px;line-height:1.3;font-weight:800;margin:4px 0 10px}.support-quote p{margin:0;color:var(--muted);line-height:1.7;font-size:14px}.support-quote ul{margin:14px 0 0;padding-left:18px;color:var(--muted);line-height:1.7;font-size:14px}

    .compare-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}
    .compare-table{width:100%;border-collapse:collapse;min-width:760px}.compare-table th,.compare-table td{padding:15px 18px;border-bottom:1px solid var(--line);text-align:left;font-size:13px;vertical-align:top}.compare-table th{background:var(--panel);font-size:12px;letter-spacing:.04em;color:var(--muted)}.compare-table td:first-child{font-weight:800;color:var(--ink);width:22%}.compare-table td:nth-child(2){color:var(--muted);width:34%}.compare-table td:nth-child(3){background:var(--red-soft);color:var(--ink);font-weight:700}.compare-table tr:last-child td{border-bottom:0}.pill-good{display:inline-block;margin-right:7px;width:20px;height:20px;border-radius:50%;background:var(--navy-soft);color:var(--navy);text-align:center;line-height:20px;font-weight:900;font-size:11px}
    .value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.value-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--panel);min-height:170px}.value-icon{width:48px;height:48px;border-radius:14px;background:var(--navy-soft);display:grid;place-items:center;color:var(--navy);font-weight:900;font-size:16px}.value-card h3{font-size:18px;line-height:1.35;margin:12px 0 7px;font-weight:800}.value-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
    .steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.step-card{position:relative;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff}.step-no{font-size:11px;letter-spacing:.15em;color:var(--accent);font-weight:900}.step-card h3{font-size:18px;margin:9px 0 7px}.step-card p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.step-card:not(:last-child):after{content:'→';position:absolute;right:-10px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--navy-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:900;z-index:2}
    .analyze-items{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.analyze-item{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--panel)}.analyze-item span{font-size:11px;color:var(--accent);font-weight:900;letter-spacing:.1em}.analyze-item h3{font-size:16px;margin:8px 0 6px}.analyze-item p{font-size:12px;line-height:1.6;color:var(--muted);margin:0}
    .faq-list{display:grid;gap:10px}.faq-item{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.faq-q{width:100%;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:17px 18px;background:#fff;border:0;text-align:left;font-weight:800;font-size:15px;cursor:pointer;color:var(--ink)}.faq-q span:last-child{color:var(--accent);font-size:20px}.faq-a{display:none;padding:0 18px 17px;color:var(--muted);font-size:13px;line-height:1.75}.faq-item.open .faq-a{display:block}.faq-item.open .faq-q span:last-child{transform:rotate(45deg)}
    .closing-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;background:linear-gradient(135deg,var(--navy),var(--navy2));border-radius:24px;padding:30px;color:#fff}.closing-cta h2{font-size:30px;margin:7px 0 10px}.closing-cta p{margin:0;color:#c9cad6;line-height:1.7;font-size:14px}.closing-cta .cta-side{display:grid;grid-template-columns:max-content;justify-content:end;gap:16px}.closing-cta button{border:0;background:var(--accent);color:#fff;border-radius:12px;padding:16px 22px;font-weight:800;font-size:15px;cursor:pointer}

    .results{padding:0}.result-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.result-head h2{font-size:30px;margin:6px 0}.result-head a{color:var(--muted);font-size:13px}.ghost{background:#fff;border:1px solid var(--line);padding:11px 14px;border-radius:10px;font-weight:700;cursor:pointer}.ghost.small{font-size:12px;padding:8px 10px}
    .score-row{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.score-card{display:flex;align-items:center;gap:26px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:0 10px 30px rgba(17,24,39,.04)}.primary-card{border-color:var(--navy-line)}.muted-card{background:#fbfbfc}.score-ring{--score:0;width:138px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--score)*1%),#eceff4 0);display:grid;place-items:center;position:relative;flex:0 0 auto}.score-ring:before{content:"";position:absolute;inset:12px;background:white;border-radius:50%}.score-ring div{position:relative;z-index:1}.score-ring strong{font-size:42px}.score-ring small{font-size:13px;color:var(--muted)}.mini-icon{flex:0 0 88px;width:88px;height:88px;border-radius:24px;background:var(--navy-soft);border:1px solid var(--navy-line);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:28px;letter-spacing:.02em;line-height:1;box-shadow:inset 0 0 0 8px #fff}.status{font-size:11px;font-weight:900;letter-spacing:.13em;color:var(--accent)}.status.muted{color:#667085}.score-card h3{font-size:27px;margin:6px 0 8px}.score-card p{color:var(--muted);line-height:1.7;margin:0}
    .summary-panel{margin-top:20px;background:#fff;border:1px solid var(--navy-line);border-radius:22px;padding:26px}.summary-grid{display:grid;grid-template-columns:180px 1fr;gap:26px;align-items:center}.summary-score{border-right:1px solid var(--line);text-align:center;padding-right:24px}.summary-score strong{display:block;font-size:52px;line-height:1;color:var(--accent)}.summary-score span{display:block;font-size:12px;color:var(--muted);margin-top:7px}.summary-copy h3{font-size:24px;margin:5px 0 10px}.summary-copy p{margin:0;color:var(--muted);line-height:1.8;font-size:14px}.summary-badges,.strong-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.summary-badges span{display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1.35;border:1px solid #fee2e2;background:#fef2f2;color:#991b1b;border-radius:99px;padding:7px 10px;font-weight:700;text-align:center;white-space:normal;line-break:strict;text-wrap:balance}.strong-badges span{display:inline-flex;align-items:center;justify-content:center;font-size:12px;line-height:1.35;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46;border-radius:99px;padding:7px 10px;font-weight:700;text-align:center;white-space:normal;line-break:strict;text-wrap:balance}
    .panel{margin-top:20px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.panel-title h3{margin:6px 0 18px;font-size:22px}.panel-title>div:last-child:not(:first-child){font-size:12px;color:var(--muted)}
    .snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.snapshot{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--panel)}.snapshot strong{display:block;font-size:32px;margin-top:4px}.snapshot span{display:block;color:var(--muted);font-size:12px}.snapshot .tiny{font-size:11px;color:#8a94a6;margin-top:8px}
    .focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.focus-card{border:1px solid var(--line);border-radius:18px;padding:18px;background:var(--panel)}.focus-card h4{margin:0 0 12px}.bar-stack{display:grid;gap:12px}.bar-item{display:grid;grid-template-columns:1fr 56px;gap:12px;align-items:center}.bar-item .label{font-size:13px;font-weight:700}.bar-item .progressline{height:8px;background:#ebeef3;border-radius:999px;overflow:hidden;margin-top:6px}.bar-item .progressline i{display:block;height:100%;background:linear-gradient(90deg,var(--navy2),#4a6aa3)}.bar-item small{font-size:14px;text-align:right;font-weight:800}
    .category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category{border:1px solid var(--line);border-radius:15px;padding:16px}.category .top{display:flex;justify-content:space-between;gap:10px;font-size:13px}.category strong{font-size:22px}.bar{height:6px;background:#eef0f4;border-radius:99px;overflow:hidden;margin-top:13px}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--navy2),#4a6aa3)}
    .roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.road-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px}.road-card .num{display:inline-grid;place-items:center;width:fit-content;
      height:30px;border-radius:16px;padding: 16px;display: flex;justify-content: center;
      background:var(--navy-soft);color:var(--navy);font-weight:900;font-size:12px}.road-card h4{margin:12px 0 8px}.road-card p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}.road-card small{display:block;margin-top:14px;color:var(--accent);font-weight:700}
    .actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.action{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:18px}.action .num{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--navy-soft);color:var(--navy);font-weight:900;font-size:12px}.action h4{margin:12px 0 8px}.evidence-line{font-size:11px;line-height:1.55;color:var(--navy);background:var(--navy-soft);border:1px solid var(--navy-line);border-radius:10px;padding:8px 10px;margin:0 0 10px}.action p{font-size:13px;color:var(--muted);line-height:1.65;margin:0}.action small{display:block;margin-top:14px;color:var(--accent);font-weight:700}
    .check-groups{display:grid;gap:16px}.check-groups.compact .group:nth-child(n+4){display:none}.group{border-top:1px solid var(--line);padding-top:14px}.group h4{margin:0 0 10px}.check{display:flex;justify-content:space-between;gap:14px;padding:9px 0;font-size:13px}.check .label{display:flex;gap:9px}.dot{width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;color:#fff;font-size:11px;flex:0 0 auto}.dot.ok{background:var(--good)}.dot.ng{background:var(--bad)}.detail{color:var(--muted);font-size:12px;text-align:right}
    .cta-panel{margin-top:20px;border-radius:22px;padding:30px;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.kicker.inverse{color:#ff9aa2}.cta-panel h3{font-size:26px;margin:7px 0}.cta-panel p{color:#c9cad6;max-width:700px;line-height:1.7}.method{font-size:12px;color:var(--muted);line-height:1.6;padding:10px 3px}footer{text-align:center;color:#98a2b3;font-size:12px;padding:30px 20px;border-top:1px solid var(--line);background:#fff}
    .footer-nav{margin-bottom:14px}
    .footer-links{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px 0}
    .footer-links li{display:flex;align-items:center}
    .footer-links li:not(:last-child):after{content:"";width:1px;height:12px;background:#d0d5dd;margin:0 16px}
    .footer-links a{color:var(--muted);font-size:13px;font-weight:700;transition:color .2s}
    .footer-links a:hover,.footer-links a:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
    .copyright{display:block}
   
   .content-panel, 
.panel, 
.summary-panel,
.compare-wrap {
    min-width: 0; /* これを追加！（Grid内での強制拡大を防ぎ、overflow: autoを効かせる） */
}
 @media(max-width:980px){.benefit-grid,.reason-grid,.support-grid,.snapshot-grid,.roadmap,.category-grid,.value-grid,.analyze-items{grid-template-columns:repeat(2,1fr)}.steps-grid{grid-template-columns:repeat(2,1fr)}.step-card:after{display:none!important}.closing-cta{grid-template-columns:1fr}.closing-cta .cta-side{justify-content:start}.support-layout,.reason-visual,.score-row,.summary-grid,.focus-grid{grid-template-columns:1fr}.summary-score{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px;text-align:left}.mini-flow{grid-template-columns:1fr;}.mini-flow .arrow{transform:rotate(90deg)}.actions{grid-template-columns:1fr}.cta-panel{display:block}.cta-panel button{margin-top:10px}.hero{padding-top:68px}.hero h1 .line1,.hero h1 .line2{white-space:normal}}
    @media(max-width:640px){.brand{gap:10px}.brand-logo{height:22px}.brand-divider{display:none}.brand-product{font-size:0;gap:0}.brand-product em{font-size:10px}.header-cta{padding:8px 12px;font-size:12px}.hero-tag{font-size:12px;border-radius:16px;padding:8px 12px}main{padding:0 14px}.value-grid,.analyze-items,.steps-grid{grid-template-columns:1fr}.topbar{padding:0 16px}.badge{display:none}.hero h1{font-size:30px}.hero h1 .line1,.hero h1 .line2{white-space:normal}.lead{font-size:15px}.hero-grid,.benefit-grid,.reason-grid,.support-grid,.snapshot-grid,.roadmap,.category-grid{grid-template-columns:1fr}.score-card{align-items:flex-start;flex-direction:column}.score-ring{width:118px}.result-head{align-items:start;flex-direction:column}.btn{width:100%;min-width:0;padding:16px 20px;font-size:15px}.hero-actions{flex-direction:column}.closing-cta .cta-side{grid-template-columns:1fr}.content-panel,.panel,.summary-panel{padding:18px}.microcopy{gap:8px}.microcopy span{font-size:12px;padding:8px 12px;max-width:none;width:auto}}

    /* ===== 運営会社・診断体制 ===== */
    #company .ib{display:inline-block}
    .company-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}
    .company-main{border:1px solid var(--line);border-radius:24px;padding:32px;background:var(--panel);display:flex;flex-direction:column;gap:24px}
    .company-logo{display:flex;align-items:center;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--line)}
    .company-logo img{display:block;height:32px;width:auto}
    .company-logo span{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;line-height:1.6;padding-left:16px;border-left:1px solid var(--line)}
    .company-body{display:grid;gap:16px}
    .company-body p{margin:0;font-size:14px;line-height:1.9;color:var(--muted);line-break:strict}
    .company-body strong{color:var(--ink)}
    .company-points{display:grid;gap:16px}
    .company-point{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;border:1px solid var(--line);border-radius:24px;padding:24px;background:#fff}
    .company-point .point-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--navy-soft);border:1px solid var(--navy-line);color:var(--navy);font-size:22px}
    .company-point:nth-child(2) .point-icon{background:var(--red-soft);border-color:var(--red-line);color:var(--accent)}
    .company-point .point-label{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--accent);margin-bottom:8px}
    .company-point h3{margin:0 0 8px;font-size:18px;line-height:1.4;font-weight:800}
    .company-point p{margin:0;font-size:13px;line-height:1.8;color:var(--muted)}
    @media(max-width:980px){.company-grid{grid-template-columns:1fr}}
    @media(max-width:640px){.company-main{padding:24px}.company-logo{flex-direction:column;align-items:flex-start;gap:8px}.company-logo span{padding-left:0;border-left:0}.company-point{grid-template-columns:48px 1fr;padding:16px}.company-point .point-icon{width:48px;height:48px;font-size:18px}}

    /* ===== 診断サンプル モーダル ===== */
    html.modal-open{overflow:hidden}
    .result-modal{width:min(1120px,calc(100vw - 32px));max-width:none;height:min(92vh,1200px);max-height:none;padding:0;border:0;border-radius:24px;background:var(--bg);color:var(--ink);box-shadow:0 30px 80px rgba(11,30,63,.35);overflow:hidden}
    .result-modal[open]{display:flex;flex-direction:column;animation:modalIn .28s ease-out}
    .result-modal::backdrop{background:rgba(11,30,63,.6);backdrop-filter:blur(3px)}
    @keyframes modalIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
    .modal-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 24px;background:#fff;border-bottom:1px solid var(--line)}
    .modal-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px;font-weight:800;color:var(--navy)}
    .modal-title span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#fff;background:var(--accent);border-radius:999px;padding:4px 10px}
    .modal-title small{font-size:12px;font-weight:700;color:var(--muted)}
    .modal-close{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
    .modal-close:hover{background:var(--navy-soft)}
    .modal-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:28px 28px 32px}
    .modal-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 24px;background:#fff;border-top:1px solid var(--line)}
    .modal-foot p{margin:0;font-size:13px;font-weight:700;color:var(--navy);line-height:1.5}
    .modal-foot .btn{min-width:0;padding:14px 22px;font-size:14px}
    @media(max-width:640px){
      .result-modal{width:100vw;height:100dvh;border-radius:0}
      .modal-head{padding:12px 16px}.modal-title small{display:none}
      .modal-body{padding:18px 14px 24px}
      .modal-foot{flex-direction:column;align-items:stretch;padding:12px 14px;gap:8px}.modal-foot p{font-size:12px;text-align:center}
      .result-head h2{font-size:22px}
    }
    @media(prefers-reduced-motion:reduce){.result-modal[open]{animation:none}.btn:hover{transform:none}}
    .demo-note{margin:18px auto 0;max-width:760px;padding:10px 14px;border:1px dashed var(--navy-line);border-radius:12px;background:var(--panel);color:var(--navy);font-size:12px;line-height:1.6;text-align:center;font-weight:700}