/*!
 * AI Mate 法人向けAI導入診断 — スタイル（すべて .aimd 配下に限定。他ページへ影響しません）
 * 色は仮トークンです。公式のブランドカラー値が確定したら --aimd-* を差し替えてください。
 */
.aimd{
  --aimd-navy:#0B1E45;      /* ベース：ロゴ由来のネイビー（仮値） */
  --aimd-ink:#16213D;
  --aimd-muted:#4A5670;
  --aimd-line:#DCE3EE;
  --aimd-bg:#F4F7FB;
  --aimd-surface:#FFFFFF;
  --aimd-blue:#1F5BD8;      /* アクセント：青（仮値） */
  --aimd-aqua:#0FA5C4;      /* アクセント：アクア（仮値） */
  --aimd-emerald:#10A37F;   /* アクセント：エメラルド（仮値） */
  --aimd-grad:linear-gradient(90deg,var(--aimd-blue) 0%,var(--aimd-aqua) 55%,var(--aimd-emerald) 100%);
  font-family:'IBM Plex Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;
  color:var(--aimd-ink);background:var(--aimd-bg);line-height:1.75;font-size:16px;
  -webkit-font-smoothing:antialiased;box-sizing:border-box;text-align:left;position:relative
}
.aimd *,.aimd *::before,.aimd *::after{box-sizing:border-box}

/* ---- SWELL 等テーマの見出し・リスト装飾をアプリ内だけ打ち消す ---- */
/* 詳細度(0,2,0)：テーマの .post_content h2 等(0,1,1)より強く、後に書いたアプリの各クラス(0,2,0)よりは弱い */
.aimd.aimd :where(h1,h2,h3,h4,p,ul,ol,li,fieldset,legend,figure){margin:0;padding:0;border:0;background:none;box-shadow:none;font-size:inherit;line-height:inherit;color:inherit;font-weight:inherit;letter-spacing:normal;text-align:inherit}
.aimd.aimd :where(h1,h2,h3,h4,li)::before,.aimd.aimd :where(h1,h2,h3,h4,li)::after{content:none;display:none}
.aimd.aimd :where(ul,ol){list-style:none}
.aimd.aimd :where(button){font-family:inherit;margin:0;text-transform:none}
.aimd.aimd :where(a){text-decoration:none}
.aimd.aimd :where(svg){max-width:none}

.aimd .aimd-num{font-family:'Manrope','IBM Plex Sans JP',sans-serif;font-feature-settings:'tnum' 1}
.aimd .aimd-wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.aimd .aimd-center{text-align:center}
.aimd .aimd-mt{margin-top:20px}
.aimd .aimd-enter{animation:aimdIn .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes aimdIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes aimdIn2{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

.aimd .aimd-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;border-radius:10px;font-size:16px;font-weight:700;letter-spacing:.03em;cursor:pointer;border:1px solid transparent;text-decoration:none;line-height:1.4;transition:background .2s,box-shadow .2s,transform .2s,color .2s,border-color .2s}
.aimd .aimd-btn:focus-visible,.aimd .aimd-opt input:focus-visible+.aimd-opt-mark,.aimd .aimd-dot:focus-visible{outline:3px solid #7FB2FF;outline-offset:3px}
.aimd .aimd-opt:has(input:focus-visible){box-shadow:0 0 0 3px #7FB2FF}
.aimd .aimd-btn-primary{background:var(--aimd-navy);color:#fff;box-shadow:0 8px 20px -10px rgba(11,30,69,.55)}
.aimd .aimd-btn-primary:hover{background:#162D63;transform:translateY(-1px);color:#fff}
.aimd .aimd-btn-primary:disabled{background:#AEB7C7;box-shadow:none;cursor:not-allowed;transform:none}
.aimd .aimd-btn-ghost{background:var(--aimd-surface);color:var(--aimd-navy);border-color:var(--aimd-line)}
.aimd .aimd-btn-ghost:hover{border-color:var(--aimd-navy);color:var(--aimd-navy)}
.aimd .aimd-btn-lg{min-height:60px;padding:0 36px;font-size:17px}
.aimd .aimd-ico{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.aimd .aimd-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--aimd-blue);letter-spacing:.08em}
.aimd .aimd-eyebrow::before{content:'';width:24px;height:3px;border-radius:2px;background:var(--aimd-grad)}
.aimd .aimd-eyebrow-inv{color:#8FE3D3}

/* ---------- トップ ---------- */
.aimd .aimd-hero{padding-top:72px;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.aimd .aimd-h1{font-size:44px;line-height:1.35;margin:18px 0;color:var(--aimd-navy);font-weight:700;letter-spacing:.01em;text-wrap:balance}
.aimd .aimd-lead{font-size:18px;font-weight:500;margin:0 0 12px}
.aimd .aimd-desc{font-size:15px;color:var(--aimd-muted);margin:0 0 32px;max-width:36em}
.aimd .aimd-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--aimd-line);border-radius:12px;background:var(--aimd-surface);margin:0 0 32px;max-width:520px}
.aimd .aimd-meta-i{padding:14px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px;min-width:0}
.aimd .aimd-meta-i+.aimd-meta-i{border-left:1px solid var(--aimd-line)}
.aimd .aimd-meta-k{font-size:12px;color:var(--aimd-muted);display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.aimd .aimd-meta-k .aimd-ico{width:15px;height:15px;color:var(--aimd-blue)}
.aimd .aimd-meta-v{font-size:22px;font-weight:700;color:var(--aimd-navy);line-height:1.3;white-space:nowrap}
.aimd .aimd-meta-v small{font-size:13px;font-weight:500;margin-left:2px}
.aimd .aimd-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px}
.aimd .aimd-cta-note{font-size:13px;color:var(--aimd-muted);display:flex;align-items:center;gap:6px}
.aimd .aimd-cta-note .aimd-ico{width:16px;height:16px;color:var(--aimd-emerald)}
.aimd .aimd-preview{background:var(--aimd-surface);border:1px solid var(--aimd-line);border-radius:20px;padding:24px 24px 16px;box-shadow:0 30px 60px -36px rgba(11,30,69,.35)}
.aimd .aimd-preview-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--aimd-muted)}
.aimd .aimd-preview-pill{border:1px solid var(--aimd-line);border-radius:999px;padding:2px 10px;font-size:11px}
.aimd .aimd-sec{padding-top:56px;padding-bottom:56px}
.aimd .aimd-sec-band{background:var(--aimd-surface);border-top:1px solid var(--aimd-line);border-bottom:1px solid var(--aimd-line)}
.aimd .aimd-sec-h{font-size:26px;color:var(--aimd-navy);margin:10px 0 28px;line-height:1.5;font-weight:700}
.aimd .aimd-learn{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.aimd .aimd-card{background:var(--aimd-surface);border:1px solid var(--aimd-line);border-radius:16px;padding:28px}
.aimd .aimd-learn-n{font-size:14px;font-weight:800;color:transparent;background:var(--aimd-grad);-webkit-background-clip:text;background-clip:text;letter-spacing:.06em;display:inline-block}
.aimd .aimd-learn-t{font-size:18px;font-weight:700;color:var(--aimd-navy);margin:8px 0 6px}
.aimd .aimd-learn-d{font-size:14px;color:var(--aimd-muted)}
.aimd .aimd-axes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px}
.aimd .aimd-axis{border-top:2px solid var(--aimd-navy);padding:14px 4px 0}
.aimd .aimd-axis-t{font-weight:700;color:var(--aimd-navy);font-size:15px}
.aimd .aimd-axis-d{font-size:13px;color:var(--aimd-muted);margin-top:4px;line-height:1.65}

/* ---------- 質問 ---------- */
.aimd .aimd-quiz{max-width:760px;margin:0 auto;padding:48px 24px 72px}
.aimd .aimd-prog-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.aimd .aimd-prog-pos{font-size:14px;color:var(--aimd-muted)}
.aimd .aimd-prog-pos strong{font-size:22px;color:var(--aimd-navy);margin-right:2px}
.aimd .aimd-tag{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--aimd-blue);background:#EAF1FF;border-radius:999px;padding:4px 12px}
.aimd .aimd-track{height:6px;background:#E3E9F2;border-radius:99px;overflow:hidden}
.aimd .aimd-fill{height:100%;background:var(--aimd-grad);border-radius:99px;transition:width .45s cubic-bezier(.2,.7,.2,1)}
.aimd .aimd-dots{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.aimd .aimd-dot{width:32px;height:32px;border-radius:8px;border:1px solid var(--aimd-line);background:var(--aimd-surface);font-size:12px;color:var(--aimd-muted);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.aimd .aimd-dot.is-done{background:#EAF1FF;border-color:#C9D9F7;color:var(--aimd-blue)}
.aimd .aimd-dot.is-current{background:var(--aimd-navy);border-color:var(--aimd-navy);color:#fff}
.aimd .aimd-dot:disabled{cursor:default;opacity:.55}
.aimd .aimd-qcard{margin-top:28px;background:var(--aimd-surface);border:1px solid var(--aimd-line);border-radius:20px;padding:40px 40px 32px;box-shadow:0 24px 48px -36px rgba(11,30,69,.3);min-height:632px;display:flex;flex-direction:column}
.aimd .aimd-qcard .aimd-qnav{margin-top:auto;padding-top:28px}
.aimd .aimd-qno{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--aimd-blue)}
.aimd .aimd-q{font-size:24px;line-height:1.55;color:var(--aimd-navy);margin:8px 0 28px;font-weight:700;outline:none;text-wrap:pretty}
.aimd .aimd-fs{min-width:0}
.aimd .aimd-opts{display:grid;gap:12px}
.aimd .aimd-opt{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;padding:14px 20px;border:1px solid var(--aimd-line);border-radius:12px;background:var(--aimd-surface);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;font-size:16px;margin:0}
.aimd .aimd-opt:hover{border-color:#9DB6E3;background:#F8FAFE}
.aimd .aimd-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.aimd .aimd-opt-mark{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid #A9B5C9;display:inline-flex;align-items:center;justify-content:center;transition:border-color .15s}
.aimd .aimd-opt-mark::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--aimd-blue);transform:scale(0);transition:transform .18s}
.aimd .aimd-opt.is-selected{border-color:var(--aimd-blue);background:#F1F6FF;box-shadow:0 0 0 1px var(--aimd-blue) inset}
.aimd .aimd-opt.is-selected .aimd-opt-mark{border-color:var(--aimd-blue)}
.aimd .aimd-opt.is-selected .aimd-opt-mark::after{transform:scale(1)}
.aimd .aimd-opt-t{flex:1;line-height:1.6}
.aimd .aimd-qnav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.aimd .aimd-hint{font-size:13px;color:var(--aimd-muted);text-align:center;margin-top:18px}

/* ---------- 結果画面 ---------- */
.aimd .aimd-qnote{font-size:13px;color:var(--aimd-muted);background:var(--aimd-bg);border-radius:10px;padding:10px 14px;margin:-12px 0 22px}
.aimd .aimd-rhead{padding:40px 0 20px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.aimd .aimd-rhead>div:first-child{min-width:0;flex:1 1 420px}
.aimd .aimd-rtitle{font-size:30px;color:var(--aimd-navy);margin-top:8px;line-height:1.4;font-weight:700;outline:none;text-wrap:balance}
.aimd .aimd-rlead{font-size:15px;color:var(--aimd-muted);margin-top:6px}
.aimd .aimd-rhead-act{display:flex;gap:10px;flex-wrap:wrap}
.aimd .aimd-print-help{font-size:13px;color:#14306B;background:#EAF1FF;border:1px solid #CFE0FB;border-radius:10px;padding:12px 16px;margin-bottom:16px}
.aimd .aimd-sheets{max-width:794px;margin:0 auto;padding:0 16px;display:flex;flex-direction:column;align-items:center;gap:24px;box-sizing:content-box}
.aimd .aimd-sheet-frame{width:794px;height:1123px;position:relative;max-width:100%;overflow:hidden}
.aimd .aimd-sheet{position:absolute;top:0;left:0;width:794px;height:1123px;transform-origin:0 0;background:#fff;color:var(--aimd-ink);box-shadow:0 1px 2px rgba(11,30,69,.08),0 20px 50px -24px rgba(11,30,69,.35);border-radius:4px;padding:36px 52px 28px;display:flex;flex-direction:column;gap:12px;overflow:hidden;font-size:12.5px;line-height:1.7}
.aimd .aimd-sheet>*{flex-shrink:0}
.aimd .aimd-s-head{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:12px;border-bottom:2px solid var(--aimd-navy);position:relative}
.aimd .aimd-s-head::after{content:'';position:absolute;left:0;bottom:-2px;width:120px;height:2px;background:var(--aimd-grad)}
.aimd .aimd-s-brand{display:flex;flex-direction:column;line-height:1.35}
.aimd .aimd-s-co{font-size:15px;font-weight:700;color:var(--aimd-navy);letter-spacing:.04em}
.aimd .aimd-s-sub{font-size:11px;color:var(--aimd-muted);letter-spacing:.08em}
.aimd .aimd-s-meta{display:flex;gap:16px;font-size:11px;color:var(--aimd-muted);align-items:baseline}
.aimd .aimd-s-page{font-weight:700;color:var(--aimd-navy)}
.aimd .aimd-s-title{font-size:24px;font-weight:700;color:var(--aimd-navy);line-height:1.35;letter-spacing:.02em}
.aimd .aimd-s-title-lg{font-size:28px;margin-top:-8px}
.aimd .aimd-s-eyebrow{font-size:12px;font-weight:700;color:var(--aimd-blue);letter-spacing:.08em}
.aimd .aimd-s-k{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--aimd-blue)}
.aimd .aimd-s-summary{display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--aimd-line);border-radius:12px;overflow:hidden}
.aimd .aimd-s-score{background:var(--aimd-navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px}
.aimd .aimd-s-score-k{font-size:12px;font-weight:700;letter-spacing:.1em}
.aimd .aimd-ring{position:relative;width:184px;height:184px}
.aimd .aimd-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.aimd .aimd-ring-bg{fill:none;stroke:rgba(255,255,255,.16);stroke-width:12}
.aimd .aimd-ring-fg{fill:none;stroke:#3CC6DB;stroke-width:12;stroke-linecap:round}
.aimd .aimd-ring-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.aimd .aimd-ring-v{font-size:56px;font-weight:800;line-height:1}
.aimd .aimd-ring-u{font-size:12px;opacity:.85;margin-top:4px}
.aimd .aimd-s-ring{width:132px;height:132px}
.aimd .aimd-s-ring .aimd-ring-v{font-size:40px}
.aimd .aimd-s-type{padding:16px 22px;display:flex;flex-direction:column;gap:6px}
.aimd .aimd-s-type-n{font-size:24px;font-weight:700;color:var(--aimd-navy);line-height:1.3}
.aimd .aimd-s-type-f{color:var(--aimd-muted)}
.aimd .aimd-s-type-m{font-weight:700;color:var(--aimd-navy);background:var(--aimd-bg);border-radius:8px;padding:8px 12px;font-size:13px}
.aimd .aimd-s-cols{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:14px}
.aimd .aimd-s-box{border:1px solid var(--aimd-line);border-radius:12px;padding:14px 16px;min-width:0}
.aimd .aimd-s-h{font-size:14px;font-weight:700;color:var(--aimd-navy);display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.aimd .aimd-s-h small{font-size:10.5px;font-weight:500;color:var(--aimd-muted)}
.aimd .aimd-radar{width:100%;max-width:420px;height:auto;display:block;margin:0 auto}
.aimd .aimd-s-radar{max-width:290px}
.aimd .aimd-rg{fill:none;stroke:#E1E7F0;stroke-width:1}
.aimd .aimd-rg-o{fill:#F7F9FC;stroke:#CDD6E4}
.aimd .aimd-rax{stroke:#E1E7F0;stroke-width:1}
.aimd .aimd-rpoly{fill:rgba(31,91,216,.16);stroke:var(--aimd-blue);stroke-width:2.5;stroke-linejoin:round}
.aimd .aimd-rdot{fill:#fff;stroke:var(--aimd-blue);stroke-width:2.5}
.aimd .aimd-rlbl{font-size:14px;fill:var(--aimd-ink);font-weight:700}
.aimd .aimd-rval{font-size:14px;fill:var(--aimd-blue);font-weight:800;font-family:'Manrope',sans-serif}
.aimd .aimd-s-bars{display:grid;gap:5px;margin-top:4px}
.aimd .aimd-s-bars li{display:grid;grid-template-columns:76px minmax(0,1fr) 22px;align-items:center;gap:8px;font-size:11.5px}
.aimd .aimd-s-bars b{text-align:right;color:var(--aimd-navy)}
.aimd .aimd-bar-t{height:7px;border-radius:99px;background:#E8EDF4;overflow:hidden;display:block}
.aimd .aimd-bar-f{display:block;height:100%;border-radius:99px;background:var(--aimd-grad)}
.aimd .aimd-s-imps{display:grid;gap:9px}
.aimd .aimd-s-imps>li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding-bottom:9px;border-bottom:1px solid var(--aimd-line)}
.aimd .aimd-s-imps>li:last-child{border-bottom:0;padding-bottom:0}
.aimd .aimd-s-imp-n{width:24px;height:24px;border-radius:7px;background:var(--aimd-navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px}
.aimd .aimd-s-imp-top{display:flex;gap:8px;align-items:center}
.aimd .aimd-s-imp-t{font-size:13px;font-weight:700;color:var(--aimd-navy);line-height:1.5;margin-top:2px}
.aimd .aimd-s-imp-d{font-size:11.5px;color:var(--aimd-muted);line-height:1.65}
.aimd .aimd-pri{font-size:10.5px;font-weight:700;padding:1px 8px;border-radius:999px;letter-spacing:.04em;white-space:nowrap}
.aimd .aimd-pri-critical{background:#B45309;color:#fff}
.aimd .aimd-pri-high{background:#FCE9D2;color:#7A3E00}
.aimd .aimd-pri-mid{background:#E5EEFF;color:#173E8F}
.aimd .aimd-pri-keep{background:#DDF4EC;color:#065F46}
.aimd .aimd-imp-cat{font-size:11px;color:var(--aimd-muted)}
.aimd .aimd-s-note{background:var(--aimd-bg);border-radius:12px;padding:12px 16px;display:grid;gap:8px}
.aimd .aimd-s-note p{font-size:12px}
.aimd .aimd-s-alert{display:flex;gap:10px;align-items:flex-start;background:#FFF5E8;border:1px solid #F5D3A6;color:#5C3300;border-radius:10px;padding:8px 12px;font-size:11.5px;line-height:1.6}
.aimd .aimd-s-alert b{display:block;font-size:12px}
.aimd .aimd-s-alert .aimd-ico{width:18px;height:18px;color:#B45309;margin-top:1px}
.aimd .aimd-s-alert-soft{background:#F1F6FF;border-color:#CFE0FB;color:#14306B}
.aimd .aimd-s-alert-soft .aimd-ico{color:var(--aimd-blue)}
.aimd .aimd-s-foot{margin-top:auto;display:flex;justify-content:space-between;gap:16px;font-size:9.5px;color:var(--aimd-muted);border-top:1px solid var(--aimd-line);padding-top:8px;line-height:1.5}
.aimd .aimd-s-foot span:last-child{text-align:right;max-width:60%}
/* 2ページ目 */
.aimd .aimd-s-lead{font-size:12.5px;color:var(--aimd-ink);max-width:40em}
.aimd .aimd-s-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;position:relative;padding-top:22px}
.aimd .aimd-s-steps::before{content:'';position:absolute;left:8%;right:8%;top:9px;height:3px;border-radius:2px;background:var(--aimd-grad)}
.aimd .aimd-s-step{position:relative;border:1px solid var(--aimd-line);border-radius:12px;padding:14px 14px 12px;background:#fff;display:flex;flex-direction:column;gap:3px}
.aimd .aimd-s-step::before{content:'';position:absolute;top:-19px;left:50%;width:13px;height:13px;margin-left:-7px;border-radius:50%;background:#fff;border:3px solid var(--aimd-blue)}
.aimd .aimd-s-step.is-start{border:2px solid var(--aimd-navy);background:#F5F8FD;padding:13px 13px 11px}
.aimd .aimd-s-step.is-start::before{background:var(--aimd-navy);border-color:var(--aimd-navy)}
.aimd .aimd-s-start{position:absolute;top:-12px;right:10px;background:var(--aimd-navy);color:#fff;font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.03em}
.aimd .aimd-s-step-k{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--aimd-blue)}
.aimd .aimd-s-step-n{font-size:17px;font-weight:700;color:var(--aimd-navy);line-height:1.4}
.aimd .aimd-s-step-d{font-size:11.5px;line-height:1.65}
.aimd .aimd-s-fit-k{font-size:10.5px;font-weight:700;color:var(--aimd-muted);letter-spacing:.06em;margin-top:6px}
.aimd .aimd-s-fit{display:grid;gap:2px}
.aimd .aimd-s-fit li{font-size:11px;padding-left:14px;position:relative;line-height:1.6}
.aimd.aimd .aimd-s-fit li::before{content:'';display:block;position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--aimd-aqua)}
.aimd .aimd-s-step3{font-size:11.5px;color:var(--aimd-muted);background:var(--aimd-bg);border-radius:8px;padding:8px 12px}
.aimd .aimd-s-prop{border:1px solid var(--aimd-line);border-radius:12px;padding:12px 18px;display:grid;gap:7px}
.aimd .aimd-s-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border:1px solid var(--aimd-line);border-radius:8px;overflow:hidden}
.aimd .aimd-s-dl>div{display:grid;grid-template-columns:112px minmax(0,1fr);border-bottom:1px solid var(--aimd-line)}
.aimd .aimd-s-dl>div:nth-child(odd){border-right:1px solid var(--aimd-line)}
.aimd .aimd-s-dl>div:nth-last-child(-n+2){border-bottom:0}
.aimd .aimd-s-dl dt{background:var(--aimd-bg);font-size:11px;font-weight:700;color:var(--aimd-muted);padding:7px 10px}
.aimd .aimd-s-dl dd{margin:0;padding:7px 10px;font-size:12px;color:var(--aimd-navy);line-height:1.5}
.aimd .aimd-s-prop-t{font-size:12.5px}
.aimd .aimd-s-acts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;counter-reset:a}
.aimd .aimd-s-acts li{counter-increment:a;font-size:11.5px;font-weight:700;color:var(--aimd-navy);background:var(--aimd-bg);border-radius:8px;padding:8px 10px 8px 32px;position:relative;line-height:1.5}
.aimd.aimd .aimd-s-acts li::before{content:counter(a);display:flex;position:absolute;left:9px;top:8px;width:17px;height:17px;border-radius:50%;background:var(--aimd-navy);color:#fff;font-size:10px;align-items:center;justify-content:center;font-family:'Manrope',sans-serif}
.aimd .aimd-s-cta{background:linear-gradient(120deg,#F3F8FF 0%,#E8F1FF 50%,#E4F6F8 100%);border:1px solid #B9D0F5;color:var(--aimd-navy);border-radius:12px;padding:12px 20px;display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:20px;align-items:center;position:relative;overflow:hidden}
.aimd .aimd-s-cta::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:var(--aimd-grad)}
.aimd .aimd-s-cta h3{font-size:16px;font-weight:700;margin-bottom:4px;color:var(--aimd-navy)}
.aimd .aimd-s-cta p{font-size:11.5px;color:#33456B}
.aimd .aimd-s-cta dl{margin:8px 0 0;display:grid;gap:3px}
.aimd .aimd-s-cta dl div{display:flex;gap:10px;font-size:11.5px}
.aimd .aimd-s-cta dt{color:#1747A6;font-weight:700;min-width:70px}
.aimd .aimd-s-cta dd{margin:0;color:var(--aimd-navy);font-family:'Manrope',sans-serif;word-break:break-all}
.aimd .aimd-s-qr{margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}
.aimd .aimd-s-qr-img{width:100px;height:100px;display:block;border-radius:6px}
.aimd .aimd-qr-none{display:flex;align-items:center;justify-content:center;text-align:center;background:#fff;color:var(--aimd-muted);font-size:10px}
.aimd .aimd-s-qr-box{display:block;background:#fff;border:1px solid #C9D9F7;border-radius:8px;padding:5px}
.aimd .aimd-s-qr figcaption{font-size:10px;color:#33456B;font-weight:700}
/* 3つのアクション */
.aimd .aimd-actions{padding-top:56px;padding-bottom:24px}
.aimd .aimd-act-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.aimd .aimd-act{background:var(--aimd-surface);border:1px solid var(--aimd-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px;min-width:0}
.aimd .aimd-act-ico{width:44px;height:44px;border-radius:12px;background:#EAF1FF;color:var(--aimd-blue);display:flex;align-items:center;justify-content:center}
.aimd .aimd-act-ico .aimd-ico{width:24px;height:24px}
.aimd .aimd-act-tag{font-size:12px;font-weight:700;color:var(--aimd-emerald);margin-top:6px}
.aimd .aimd-act-t{font-size:19px;font-weight:700;color:var(--aimd-navy);line-height:1.45}
.aimd .aimd-act-d{font-size:14px;color:var(--aimd-muted);flex:1}
.aimd .aimd-act-btn{margin-top:10px;width:100%}
.aimd .aimd-act-main{background:linear-gradient(160deg,#F2F7FF 0%,#E6F0FF 55%,#E3F5F7 100%);border:2px solid #7FA9F0;color:var(--aimd-navy);position:relative;overflow:hidden;box-shadow:0 18px 40px -22px rgba(31,91,216,.45)}
.aimd .aimd-act-main::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--aimd-grad)}
.aimd .aimd-act-main .aimd-act-ico{background:#fff;color:var(--aimd-blue);box-shadow:0 2px 8px -2px rgba(31,91,216,.25)}
.aimd .aimd-act-main .aimd-act-tag{color:#1747A6}
.aimd .aimd-act-main .aimd-act-t{color:var(--aimd-navy)}
.aimd .aimd-act-main .aimd-act-d{color:#33456B}
.aimd .aimd-act-main .aimd-btn-cta{background:var(--aimd-blue);color:#fff;border-color:var(--aimd-blue);box-shadow:0 10px 22px -10px rgba(31,91,216,.65)}
.aimd .aimd-act-main .aimd-btn-cta:hover{background:#174BB8;border-color:#174BB8;color:#fff}
.aimd .aimd-act-badge{position:absolute;top:16px;right:16px;font-size:11.5px;font-weight:700;color:#fff;background:var(--aimd-blue);border-radius:999px;padding:3px 10px;letter-spacing:.04em}
.aimd .aimd-btn-cta{background:#fff;color:var(--aimd-navy);box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
.aimd .aimd-btn-cta:hover{background:#EAF7F3;color:var(--aimd-navy)}
.aimd .aimd-act-note{font-size:12px;color:var(--aimd-muted);margin-top:16px}
.aimd .aimd-tools{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:24px 0 8px}
.aimd .aimd-foot{padding:32px 0 48px;font-size:12px;color:var(--aimd-muted);text-align:center;line-height:1.8}
.aimd .aimd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.aimd .aimd-link{background:none;border:0;padding:0;color:var(--aimd-blue);font-weight:700;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.aimd .aimd-link .aimd-ico{width:16px;height:16px}
/* プロトタイプのフォーム画面 */
.aimd .aimd-formpage{max-width:760px;padding-top:32px;padding-bottom:40px}
.aimd .aimd-proto{font-size:12px;color:#5C3300;background:#FFF5E8;border:1px solid #F5D3A6;border-radius:10px;padding:10px 14px;margin:14px 0 18px}

/* ---------- 申込フォーム（CF7・プロトタイプ共通。.aimdf 配下のみ） ---------- */
.aimdf{--f-navy:#0B1E45;--f-ink:#16213D;--f-mut:#4A5670;--f-line:#DCE3EE;--f-bg:#F4F7FB;--f-blue:#1F5BD8;--f-em:#10A37F;
  font-family:'IBM Plex Sans JP','Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--f-ink);background:#fff;border:1px solid var(--f-line);border-radius:20px;padding:36px;display:grid;gap:22px;line-height:1.7;font-size:15px;position:relative}
.aimdf *{box-sizing:border-box}
.aimdf.aimdf :where(h2,p,fieldset,legend){margin:0;padding:0;border:0;background:none}
.aimdf.aimdf :where(h2)::before,.aimdf.aimdf :where(h2)::after{content:none;display:none}
.aimdf .aimdf-eyebrow{font-size:13px;font-weight:700;color:var(--f-blue);letter-spacing:.06em}
.aimdf .aimdf-title{font-size:26px;font-weight:700;color:var(--f-navy);line-height:1.45;margin-top:4px;outline:none}
.aimdf .aimdf-lead{font-size:14px;color:var(--f-mut);margin-top:6px}
.aimdf .aimdf-label{display:flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--f-navy);margin-bottom:6px}
.aimdf .aimdf-req,.aimdf .aimdf-opt{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}
.aimdf .aimdf-req{background:#FCE9D2;color:#7A3E00}
.aimdf .aimdf-opt{background:#EEF1F6;color:var(--f-mut)}
.aimdf [hidden]{display:none !important}
.aimdf .aimdf-kind .wpcf7-radio{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.aimdf .aimdf-kind .wpcf7-list-item{margin:0;display:block}
.aimdf .aimdf-kind label{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr);column-gap:12px;row-gap:2px;padding:16px 18px;border:1px solid var(--f-line);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;height:100%}
.aimdf .aimdf-kind input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--f-navy);grid-row:span 2}
.aimdf .aimdf-kind .wpcf7-list-item-label{font-weight:700;font-size:16px;color:var(--f-navy)}
.aimdf .aimdf-kind-desc{font-size:12.5px;color:var(--f-mut);line-height:1.6;grid-column:2}
.aimdf .aimdf-kind .is-checked label{border-color:var(--f-navy);background:#F5F8FD;box-shadow:0 0 0 1px var(--f-navy) inset}
.aimdf .aimdf-kind label:has(input:focus-visible){outline:3px solid #7FB2FF;outline-offset:2px}
.aimdf .aimdf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.aimdf .aimdf-field{min-width:0}
.aimdf .aimdf-field p{margin:0}
.aimdf input[type=text],.aimdf input[type=email],.aimdf input[type=tel],.aimdf textarea{width:100%;font:inherit;font-size:16px;color:var(--f-ink);background:#fff;border:1px solid #B9C4D6;border-radius:10px;padding:12px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s}
.aimdf textarea{min-height:130px;resize:vertical}
.aimdf input:focus,.aimdf textarea:focus{outline:none;border-color:var(--f-blue);box-shadow:0 0 0 3px rgba(31,91,216,.2)}
.aimdf ::placeholder{color:#8A94A8}
.aimdf .wpcf7-not-valid{border-color:#B42318 !important}
.aimdf [aria-invalid="true"]{border-color:#B42318}
.aimdf .wpcf7-not-valid-tip{display:block;color:#B42318;font-size:13px;margin-top:6px;font-weight:500}
.aimdf .aimdf-consent{display:grid;gap:10px;background:var(--f-bg);border-radius:14px;padding:16px 18px}
.aimdf .aimdf-check .wpcf7-list-item{margin:0}
.aimdf .aimdf-check label{display:flex;gap:10px;align-items:flex-start;cursor:pointer;font-size:14px}
.aimdf .aimdf-check input{width:20px;height:20px;margin:2px 0 0;flex:none;accent-color:var(--f-navy)}
.aimdf .aimdf-check a{color:var(--f-blue);text-decoration:underline}
/* v2.2 サイト全体の CSS（お問い合わせフォーム用）がチェック欄・ラジオボタンを透明にしているため、このフォームでは表示する */
.aimdf .aimdf-kind input,.aimdf .aimdf-check input{position:static !important;opacity:1 !important;-webkit-appearance:auto !important;appearance:auto !important;pointer-events:auto !important;clip:auto !important}
.aimdf .aimdf-kind .wpcf7-list-item-label::before,.aimdf .aimdf-kind .wpcf7-list-item-label::after,.aimdf .aimdf-check .wpcf7-list-item-label::before,.aimdf .aimdf-check .wpcf7-list-item-label::after{content:none !important;display:none !important}
.aimdf .aimdf-note{font-size:12px;color:var(--f-mut)}
/* v2.2 メール配信の同意：補足文をチェック欄の文字の位置にそろえ、読みやすい大きさで表示 */
.aimdf .aimdf-news-note{margin:4px 0 0 30px;font-size:13px;line-height:1.6;color:var(--f-ink)}
.aimdf .aimdf-actions{display:flex;justify-content:center}
.aimdf .aimdf-submit{appearance:none;border:0;background:var(--f-navy);color:#fff;font:inherit;font-weight:700;font-size:17px;letter-spacing:.03em;min-height:60px;padding:0 40px;border-radius:12px;cursor:pointer;width:100%;max-width:420px;box-shadow:0 10px 24px -12px rgba(11,30,69,.6)}
.aimdf .aimdf-submit:hover{background:#162D63}
.aimdf .aimdf-submit:disabled{background:#AEB7C7;cursor:not-allowed;box-shadow:none}
.aimdf .aimdf-submit:focus-visible{outline:3px solid #7FB2FF;outline-offset:3px}
.aimdf .aimdf-actions .wpcf7-spinner{display:none}
.aimdf .aimdf-diag-card,.aimdf .aimdf-diag-none{border-radius:14px;padding:16px 18px;border:1px solid var(--f-line);background:#F8FAFE}
.aimdf .aimdf-diag-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.aimdf .aimdf-diag-k{font-size:12px;font-weight:700;color:var(--f-em)}
.aimdf .aimdf-diag-type{font-size:18px;font-weight:700;color:var(--f-navy);display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.aimdf .aimdf-diag-type span{font-size:13px;color:var(--f-mut);font-weight:500}
.aimdf .aimdf-diag-type b{font-size:18px;color:var(--f-navy);font-family:'Manrope',sans-serif}
.aimdf .aimdf-diag-t{font-weight:700;color:var(--f-navy)}
.aimdf .aimdf-diag-d{font-size:13px;color:var(--f-mut);margin-top:6px}
.aimdf .aimdf-diag-d a{color:var(--f-blue);margin-left:6px}
.aimdf .aimdf-diag-note{font-size:11.5px;color:var(--f-mut);margin-top:4px}
.aimdf .aimdf-mini{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.aimdf .aimdf-mini li{display:grid;gap:3px;font-size:11.5px;color:var(--f-mut)}
.aimdf .aimdf-mini li::before{content:none}
.aimdf .aimdf-mini b{font-family:'Manrope',sans-serif;color:var(--f-navy);font-size:13px}
.aimdf .aimdf-mini-t{height:6px;border-radius:99px;background:#E3E9F2;overflow:hidden;display:block}
.aimdf .aimdf-mini-t span{display:block;height:100%;background:linear-gradient(90deg,#1F5BD8,#0FA5C4 55%,#10A37F)}
.aimdf .aimdf-link{background:none;border:0;padding:4px 0;color:var(--f-blue);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;white-space:nowrap}
.aimdf.aimdf-is-done>*:not(.aimdf-thanks):not(.aimdf-head){display:none !important}
.aimdf .aimdf-thanks{border-radius:14px;padding:22px;background:#ECF8F3;border:1px solid #BFE6D6;color:#064E3B;outline:none}
.aimdf .aimdf-thanks-t{font-size:18px;font-weight:700;margin-bottom:6px !important}
.aimdf ~ .wpcf7-response-output{font-size:14px;border-radius:10px}

@media (max-width:900px){
  .aimd .aimd-hero{grid-template-columns:minmax(0,1fr);gap:40px;padding-top:48px}
  .aimd .aimd-act-grid{grid-template-columns:minmax(0,1fr)}
  .aimd .aimd-axes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .aimd .aimd-wrap{padding:0 16px}
  .aimd .aimd-h1{font-size:30px}
  .aimd .aimd-lead{font-size:16px}
  .aimd .aimd-learn,.aimd .aimd-axes{grid-template-columns:minmax(0,1fr)}
  .aimd .aimd-meta-i{padding:12px}
  .aimd .aimd-meta-v{font-size:18px}
  .aimd .aimd-quiz{padding:28px 16px 56px}
  .aimd .aimd-qcard{padding:26px 18px 22px;border-radius:16px}
  .aimd .aimd-q{font-size:20px;margin-bottom:20px}
  .aimd .aimd-opt{min-height:60px;padding:12px 16px;font-size:15px}
  .aimd .aimd-qnav .aimd-btn{flex:1;padding:0 14px;white-space:nowrap;font-size:15px}
  .aimd .aimd-qcard{min-height:640px}
  .aimd .aimd-rtitle{font-size:24px}
  .aimd .aimd-rhead-act{width:100%}
  .aimd .aimd-rhead-act .aimd-btn{flex:1 1 100%}
  .aimd .aimd-sheets{gap:14px}
  .aimd .aimd-btn-lg{width:100%}
  .aimdf{padding:22px 18px;border-radius:16px}
  .aimdf .aimdf-title{font-size:21px}
  .aimdf .aimdf-kind .wpcf7-radio,.aimdf .aimdf-grid{grid-template-columns:minmax(0,1fr)}
  .aimdf .aimdf-mini{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){
  .aimd *{animation:none !important;transition:none !important}
}

/* ---------- 印刷・PDF保存：A4縦2ページ（レポートのみ） ---------- */
@page{size:A4 portrait;margin:0}
@media print{
  html.aimd-print-mode,html.aimd-print-mode body{background:#fff !important;margin:0 !important;padding:0 !important;width:auto !important;min-width:0 !important}
  html.aimd-print-mode body>*:not(#aimd-print-root){display:none !important}
  #aimd-print-root{display:block !important;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  #aimd-print-root .aimd-sheet{position:relative;width:210mm;height:296.5mm;transform:none !important;box-shadow:none;border-radius:0;break-after:page;page-break-after:always;break-inside:avoid;margin:0}
  #aimd-print-root .aimd-sheet:last-child{break-after:auto;page-break-after:auto}
  /* beforeprint 非対応環境の保険：アプリ内のレポート以外を隠す */
  html:not(.aimd-print-mode) .aimd .aimd-noprint,html:not(.aimd-print-mode) .aimd .aimd-rhead,html:not(.aimd-print-mode) .aimd .aimd-actions,html:not(.aimd-print-mode) .aimd .aimd-print-help,html:not(.aimd-print-mode) .aimd .aimd-hero{display:none !important}
  html:not(.aimd-print-mode) .aimd .aimd-sheet-frame{width:210mm !important;height:296.5mm !important;break-after:page}
  html:not(.aimd-print-mode) .aimd .aimd-sheet{transform:none !important;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
#aimd-print-root{display:none}

/* ===================== v2.3 ===================== */
/* 印刷：テーマ（SWELL）の印刷用 CSS が section の前で改ページするため、レポート内では改ページさせない（4ページになって欠ける不具合の修正） */
@media print{
  #aimd-print-root section,#aimd-print-root article,#aimd-print-root header,#aimd-print-root footer,
  .aimd .aimd-sheet section,.aimd .aimd-sheet header,.aimd .aimd-sheet footer{break-before:auto !important;page-break-before:auto !important;break-after:auto !important;page-break-after:auto !important}
  #aimd-print-root .aimd-sheet{break-after:page !important;page-break-after:always !important;overflow:hidden}
  #aimd-print-root .aimd-sheet:last-child{break-after:auto !important;page-break-after:auto !important}
}
/* レポート下部：1行目 会社名と URL、2行目 免責文（改行しない） */
.aimd .aimd-s-foot{flex-direction:column;justify-content:flex-start;gap:2px}
.aimd .aimd-s-foot span:last-child{text-align:left;max-width:none}
.aimd .aimd-s-foot .aimd-s-foot-note{white-space:nowrap}
/* 結果の説明文：PC は句点で改行、スマホは自然に折り返す */
.aimd .aimd-pcbr{display:inline}
@media (max-width:640px){ .aimd .aimd-pcbr{display:none} }
/* 無料個別相談カードの所要時間 */
.aimd .aimd-act-time{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--aimd-navy);background:#fff;border:1px solid #BFD3F5;border-radius:999px;padding:4px 12px;align-self:flex-start}
.aimd .aimd-act-time .aimd-ico{width:16px;height:16px;color:var(--aimd-blue)}
.aimd .aimd-act-time b{font-size:16px}
.aimd #aimd-perks{scroll-margin-top:90px}
/* v2.3.8：「特典を選ぶ」（診断結果画面の明るいブルーのボタン） */
.aimd .aimd-btn-perks{background:#1769E8;color:#fff;border-radius:999px;box-shadow:0 10px 22px -10px rgba(23,105,232,.75)}
.aimd .aimd-btn-perks:hover{background:#0F58CC;color:#fff;transform:translateY(-1px);box-shadow:0 12px 24px -10px rgba(15,88,204,.8)}
.aimd .aimd-btn-perks:focus-visible{outline:3px solid #7FB2FF;outline-offset:2px}
/* 申込フォーム：戻るリンク、完了画面のボタン */
.aimdf .aimdf-back{display:inline-block;margin-bottom:14px;color:var(--f-blue);font-weight:700;font-size:14px;text-decoration:none}
.aimdf .aimdf-back:hover{text-decoration:underline}
/* v2.3.8：フォーム下の「診断結果に戻る」 */
.aimdf .aimdf-back-bottom{display:block;width:fit-content;max-width:100%;margin:14px auto 0;padding:10px 16px;color:var(--f-blue);font-weight:700;font-size:15px;text-align:center;text-decoration:none;border-radius:10px}
.aimdf .aimdf-back-bottom::before{content:'←';margin-right:6px}
.aimdf .aimdf-back-bottom:hover{text-decoration:underline}
.aimdf .aimdf-back-bottom:focus-visible{outline:3px solid #7FB2FF;outline-offset:2px}
/* v2.3.8：送信中の案内（2 行分の高さを確保し、文言が変わっても下が動かないようにする） */
.aimdf .aimdf-submit-note{margin:10px auto 0;width:100%;max-width:420px;box-sizing:border-box;min-height:44px;font-size:13px;line-height:1.6;color:var(--f-mut);text-align:center;text-wrap:balance}
.aimdf .aimdf-submit-note[data-state="busy"],.aimdf .aimdf-submit-note[data-state="slow"]{color:var(--f-navy);font-weight:700}
.aimdf .aimdf-submit-note[data-state="busy"]::before,.aimdf .aimdf-submit-note[data-state="slow"]::before{content:'';display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;border:2px solid #B9CEF2;border-top-color:var(--f-blue);border-radius:50%;animation:aimdf-spin .9s linear infinite}
.aimdf .aimdf-submit-note[data-state="error"]{color:#B42318;font-weight:700}
@keyframes aimdf-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aimdf .aimdf-submit-note::before{animation:none !important}}
.aimdf .aimdf-submit[aria-busy="true"]:disabled{background:#33476F;color:#fff;cursor:progress;box-shadow:none}
.aimdf .aimdf-kind[hidden],.aimdf .aimdf-diag[hidden]{display:none !important}
.aimdf .aimdf-thanks-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.aimdf .aimdf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;font-weight:700;font-size:15px;text-decoration:none;border:1px solid var(--f-navy)}
.aimdf .aimdf-btn-cta{background:var(--f-navy);color:#fff}
.aimdf .aimdf-btn-cta:hover{background:#1F3A75;color:#fff}
.aimdf .aimdf-btn-ghost{background:#fff;color:var(--f-navy)}
.aimdf .aimdf-thanks-note{font-size:12.5px;margin-top:10px !important}
@media (max-width:640px){ .aimdf .aimdf-btn{width:100%} }
/* 印刷：Safari（iPhone の Chrome も同じ）は @page の余白 0 を使わず独自の余白を付けるため、原寸の A4 では収まらず 1 枚が 2 ページに分かれる。
   印刷時はレポートを 84% に縮小し、余白があっても A4（Letter でも）1 ページに収まるようにする。余白は 10mm に統一 */
@page{size:A4 portrait;margin:10mm}
@media print{
  #aimd-print-root .aimd-sheet{width:794px !important;height:1123px !important;zoom:.84;margin:0 auto !important;overflow:hidden !important}
  /* 印刷の準備が動かなかった場合（共有メニューから印刷した場合など）の保険 */
  html:not(.aimd-print-mode) .aimd .aimd-sheets{display:block !important;padding:0 !important;gap:0 !important;max-width:none !important}
  html:not(.aimd-print-mode) .aimd .aimd-sheet-frame{width:794px !important;height:1123px !important;zoom:.84;margin:0 auto !important;overflow:hidden !important;break-inside:avoid;break-after:page}
  html:not(.aimd-print-mode) .aimd .aimd-sheet-frame:last-child{break-after:auto}
  html:not(.aimd-print-mode) .aimd .aimd-sheet{position:relative !important}
  html:not(.aimd-print-mode) .aimd .aimd-foot,html:not(.aimd-print-mode) .aimd .aimd-tools{display:none !important}
}

/* ===================== v2.3.1 診断後の特典エリア ===================== */
.aimd .aimd-perks{position:relative;margin-top:48px;padding:56px 0 28px;background:radial-gradient(60% 50% at 8% 10%,rgba(127,169,240,.16),transparent 70%),radial-gradient(50% 45% at 95% 20%,rgba(16,165,196,.12),transparent 70%),linear-gradient(180deg,#F5F9FF 0%,#EEF4FC 100%)}
.aimd .aimd-perks-head{position:relative;text-align:center;max-width:820px;margin:0 auto 32px;padding:0 8px}
/* 紙吹雪（静止画。動きはつけない） */
.aimd .aimd-perks-head::before,.aimd .aimd-perks-head::after{content:'';position:absolute;top:18px;width:120px;height:90px;background-repeat:no-repeat;background-size:contain;pointer-events:none;opacity:.9}
.aimd .aimd-perks-head::before{left:-24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Crect x='70' y='8' width='16' height='9' rx='2' fill='%23F3C75B' transform='rotate(-24 78 12)'/%3E%3Crect x='14' y='44' width='15' height='8' rx='2' fill='%238FB4F2' transform='rotate(18 21 48)'/%3E%3Ccircle cx='52' cy='60' r='3.5' fill='%23F2B8C4'/%3E%3Crect x='94' y='52' width='10' height='6' rx='1.5' fill='%23A9D9F0' transform='rotate(40 99 55)'/%3E%3C/svg%3E")}
.aimd .aimd-perks-head::after{right:-24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 90'%3E%3Crect x='28' y='10' width='14' height='8' rx='2' fill='%23F3C75B' transform='rotate(30 35 14)'/%3E%3Crect x='80' y='40' width='18' height='9' rx='2' fill='%238FB4F2' transform='rotate(-20 89 44)'/%3E%3Ccircle cx='60' cy='70' r='3' fill='%23F2B8C4'/%3E%3Crect x='14' y='58' width='10' height='6' rx='1.5' fill='%23A9D9F0' transform='rotate(-35 19 61)'/%3E%3C/svg%3E")}
.aimd .aimd-perks-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--aimd-blue);letter-spacing:.04em}
.aimd .aimd-perks-eyebrow .aimd-ico{width:24px;height:24px}
.aimd .aimd-perks-line{display:inline-block;width:44px;height:1px;background:linear-gradient(90deg,transparent,var(--aimd-blue))}
.aimd .aimd-perks-line:last-child{background:linear-gradient(90deg,var(--aimd-blue),transparent)}
.aimd .aimd-perks-sep{display:inline-block;width:1px;height:14px;background:#9DB6E3}
.aimd .aimd-perks-h{font-size:34px;font-weight:700;color:var(--aimd-navy);line-height:1.4;margin-top:12px;text-wrap:balance}
.aimd .aimd-perks-h em{font-style:normal;color:var(--aimd-blue);font-size:1.12em}
.aimd .aimd-perks-lead{font-size:15px;color:var(--aimd-muted);margin-top:10px}
.aimd .aimd-perks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.aimd .aimd-perk{position:relative;display:flex;flex-direction:column;gap:14px;background:#fff;border:1px solid #E1E9F5;border-radius:18px;padding:24px 22px 22px;box-shadow:0 1px 2px rgba(11,30,69,.04),0 16px 34px -24px rgba(11,30,69,.28);min-width:0}
.aimd .aimd-perk-label{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;background:#EDF3FC;border-radius:999px;padding:5px 14px;font-size:13px;color:#4A5A7E}
.aimd .aimd-perk-label b{color:var(--aimd-blue);font-weight:700;font-size:14px}
.aimd .aimd-perk-label b .aimd-num{font-size:16px}
.aimd .aimd-perk-label>span{position:relative;padding-left:11px}
.aimd .aimd-perk-label>span::before{content:'';position:absolute;left:0;top:50%;width:1px;height:12px;margin-top:-6px;background:#A9BCDD}
.aimd .aimd-perk-top{display:flex;align-items:center;gap:16px;min-height:88px}
.aimd .aimd-perk-ico{position:relative;flex:none;width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px -12px rgba(11,30,69,.35),inset 0 0 0 1px rgba(255,255,255,.7)}
.aimd .aimd-perk-ico .aimd-gift{display:block;width:70px;height:70px}
.aimd .aimd-perk-ico-gold{background:linear-gradient(145deg,#FFF9E8 0%,#FFEFC9 100%)}
.aimd .aimd-perk-ico-mint{background:linear-gradient(145deg,#EFFCF7 0%,#D5F4E8 100%)}
.aimd .aimd-perk-ico-blue{background:linear-gradient(145deg,#FFFFFF 0%,#E8F0FE 100%)}
/* 特典の印（小さな金色の星） */
.aimd .aimd-perk-ico::after{content:'';position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l2.6 5.6 6.1.7-4.5 4.2 1.2 6L12 16.6 6.6 19.5l1.2-6L3.3 9.3l6.1-.7z' fill='%23E2A93B'/%3E%3C/svg%3E") center/13px no-repeat;box-shadow:0 2px 6px rgba(11,30,69,.15)}
.aimd .aimd-perk-t{font-size:19px;font-weight:700;color:var(--aimd-navy);line-height:1.5}
.aimd .aimd-perk-d{font-size:14px;color:var(--aimd-muted);line-height:1.8;flex:1}
.aimd .aimd-perk-btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:8px 12px;text-align:center;line-height:1.4;border-radius:12px;border:1px solid #B9CEF2;background:#fff;color:#1747A6;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s}
.aimd .aimd-perk-btn .aimd-ico{width:18px;height:18px;flex:none}
.aimd .aimd-perk-btn:hover{background:#F2F7FF;border-color:var(--aimd-blue);color:#1747A6}
.aimd .aimd-perk-btn:focus-visible{outline:3px solid #7FB2FF;outline-offset:2px}
.aimd .aimd-perk-rec{border:2px solid #8EB4F3;background:linear-gradient(170deg,#F8FBFF 0%,#EDF4FF 100%);box-shadow:0 0 0 4px rgba(127,169,240,.14),0 22px 44px -26px rgba(31,91,216,.55)}
.aimd .aimd-perk-ribbon{position:absolute;top:-12px;right:-8px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 10px;line-height:1.2;border-radius:12px;background:linear-gradient(135deg,#C98A1E 0%,#A66D0F 100%);color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;box-shadow:0 6px 14px -6px rgba(181,124,24,.6)}
.aimd .aimd-perk-ribbon .aimd-ico{width:15px;height:15px;fill:#fff;stroke:none}
.aimd .aimd-perk-btn-main{background:var(--aimd-blue);border-color:var(--aimd-blue);color:#fff;box-shadow:0 12px 24px -12px rgba(31,91,216,.7)}
.aimd .aimd-perk-btn-main:hover{background:#174BB8;border-color:#174BB8;color:#fff}
@media (max-width:1023px){
  .aimd .aimd-perks-grid{grid-template-columns:minmax(0,1fr);max-width:560px;margin:0 auto}
}
@media (max-width:640px){
  .aimd .aimd-perks{padding:40px 0 20px;margin-top:32px}
  .aimd .aimd-perks-h{font-size:25px}
  .aimd .aimd-perks-lead{font-size:14px;text-align:left}
  .aimd .aimd-perks-head::before,.aimd .aimd-perks-head::after{width:80px;height:60px;top:4px}
  .aimd .aimd-perks-head::before{left:-10px}
  .aimd .aimd-perks-head::after{right:-10px}
  .aimd .aimd-perk-t{font-size:17px}
}

/* ===================== v2.3.1 iPhone・iPad 用：レポートだけの画面 ===================== */
.aimd .aimd-report{padding-top:16px}
.aimd .aimd-report-back{margin-bottom:14px}
.aimd .aimd-report-guide{background:#fff;border:1px solid #D7E3F7;border-radius:16px;padding:20px 20px 18px;margin-bottom:20px;box-shadow:0 12px 30px -24px rgba(11,30,69,.35)}
.aimd .aimd-report-h{font-size:20px;font-weight:700;color:var(--aimd-navy);outline:none}
.aimd .aimd-report-steps{margin:12px 0 14px;padding-left:1.4em;font-size:15px;line-height:1.75;color:var(--aimd-ink)}
.aimd .aimd-report-steps li{margin:4px 0}
.aimd .aimd-report-print{width:100%}
.aimd .aimd-report-note{font-size:12.5px;color:var(--aimd-muted);margin-top:8px}
/* タイトルは決めた位置だけで改行し、カードの幅に合わせて文字を小さくする */
.aimd .aimd-perk{container-type:inline-size}
.aimd .aimd-perk-t span{display:block;white-space:nowrap}
@supports (font-size:1cqi){ .aimd .aimd-perk-t{font-size:clamp(14px,5.6cqi,19px)} }
@supports not (font-size:1cqi){ .aimd .aimd-perk-t span{white-space:normal} }

/* ===================== v2.3.2 iPhone・iPad：端末内で作った PDF を受け取る ===================== */
.aimd .aimd-pdf-box{display:grid;gap:10px;margin:14px 0 10px}
.aimd .aimd-pdf-status{font-size:15px;color:var(--aimd-navy);display:flex;align-items:center;gap:8px}
.aimd .aimd-pdf-status.is-done{font-weight:700;color:#067647}
.aimd .aimd-pdf-status.is-done .aimd-ico{width:20px;height:20px}
.aimd .aimd-pdf-status.is-error{color:#B42318;font-weight:700}
.aimd .aimd-pdf-btn{width:100%;min-height:54px;font-size:16px;touch-action:manipulation}
.aimd .aimd-report-alt{margin-top:6px;font-size:14px;color:var(--aimd-muted)}
.aimd .aimd-report-alt summary{cursor:pointer;color:var(--aimd-blue);font-weight:700;padding:6px 0}
/* PDF 作成用の複製：元の ::before / ::after は描かない（実際の要素に置き換えて描くため） */
.aimd-pdf-nopseudo::before,.aimd-pdf-nopseudo::after,.aimd-pdf-nopseudo *::before,.aimd-pdf-nopseudo *::after{content:none !important}

/* v2.3.3 診断結果を読み込めなかったときの案内（選ぶまで送信できない） */
.aimdf .aimdf-expired{border-radius:14px;padding:18px 20px;background:#FFF7E8;border:1px solid #F4D59A;color:#5C3B06;margin-bottom:18px}
.aimdf .aimdf-expired-t{font-size:17px;font-weight:700;margin-bottom:6px !important}
.aimdf[data-blocked] .aimdf-grid,.aimdf[data-blocked] .aimdf-field,.aimdf[data-blocked] .aimdf-consent,.aimdf[data-blocked] .aimdf-actions{opacity:.45;pointer-events:none}

/* v2.3.8：申込ページだけ、パンくずとフッターメニューの Column・News を隠す（aimd.css は診断・申込ページだけで読み込む。.aimdf は申込フォームにだけある。
   Download・Contact・Privacy policy・コピーライトは残す。:has() に対応していないブラウザでは、表示が残るだけで機能に影響しない） */
body:has(.wpcf7 .aimdf) #breadcrumb,
body:has(.wpcf7 .aimdf) #footer .w-footer .menu-item:has(>a[href$="/blog/"]),
body:has(.wpcf7 .aimdf) #footer .w-footer .menu-item:has(>a[href$="/news/"]){display:none !important}
/* 枠線が 2px のおすすめのカードも、CTA の下端をほかのカードとそろえる */
.aimd .aimd-perk-rec{padding:23px 21px 21px}
.aimd .aimd-perk-t{min-width:0}
/* 特典 02 の見出しは長いので、1 行に縮めず自然に折り返す */
.aimd .aimd-perk:nth-child(2) .aimd-perk-t span{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
/* 3 列で幅が狭い PC でも CTA を 1 行に収める */
@media (min-width:1024px) and (max-width:1199px){
  .aimd .aimd-perk{padding:24px 16px 20px}
  .aimd .aimd-perk-rec{padding:23px 15px 19px}
  .aimd .aimd-perk-top{gap:12px}
  .aimd .aimd-perk-btn{padding:8px 6px;gap:6px;font-size:14.5px}
}
@media (max-width:640px){
  .aimd .aimd-perk{padding:24px 18px 20px}
  .aimd .aimd-perk-rec{padding:23px 17px 19px}
  .aimd .aimd-perk-btn{padding:8px 8px}
  .aimd .aimd-meta-i{padding:12px 8px}
}
@media (max-width:340px){
  .aimd .aimd-perk-btn{font-size:14px;gap:6px}
}

/* 2026-11-06: Result CTA only; reuse SWELL shiny_btn. */
.aimd .aimd-btn-perks{background:#D93679;color:#fff;position:relative;overflow:hidden;isolation:isolate;box-shadow:0 10px 22px -10px rgba(217,54,121,.7)}
.aimd .aimd-btn-perks:hover{background:#C52A69;color:#fff;box-shadow:0 12px 24px -10px rgba(197,42,105,.75)}
.aimd .aimd-btn-perks:focus-visible{outline:3px solid #F394BB;outline-offset:3px}
.aimd .aimd-btn-perks::before{content:"";pointer-events:none;position:absolute;width:80px;height:200px;top:50%;left:-120px;transform:translateY(-50%) rotate(25deg);background-image:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.6) 80%,rgba(255,255,255,0))}
.aimd .aimd-btn-perks::after{content:"";pointer-events:none;position:absolute;width:50px;height:100%;top:0;left:-100px;background-image:linear-gradient(100deg,rgba(255,255,255,0),#fff);animation:shiny_btn 3s ease-in-out infinite}
.aimd .aimd-btn-perks:hover::before{left:110%;transition:.25s ease-in-out}
.aimd .aimd-btn-perks:hover::after{animation:none}
@media(prefers-reduced-motion:reduce){.aimd .aimd-btn-perks::before,.aimd .aimd-btn-perks::after{display:none;animation:none;transition:none}}
