.hero-illust{margin:8px 0 30px}
.hero-illust img{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 14px 36px rgba(10,37,64,.14)}

.hero-illust svg{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 14px 36px rgba(10,37,64,.14)}
.faq-list{margin:24px 0 8px;display:flex;flex-direction:column;gap:14px}
.faq-list .qa{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.faq-list .q{background:var(--blue-pale,#eaf3fb);color:var(--navy);font-weight:700;font-size:16px;padding:15px 20px 15px 50px;position:relative;line-height:1.6}
.faq-list .q::before{content:"Q";position:absolute;left:18px;top:13px;width:22px;height:22px;background:var(--blue);color:#fff;border-radius:50%;font-family:var(--latin);font-size:14px;display:flex;align-items:center;justify-content:center}
.faq-list .a{padding:16px 20px 18px 50px;font-size:15px;color:var(--ink);line-height:1.85;position:relative}
.faq-list .a::before{content:"A";position:absolute;left:18px;top:15px;width:22px;height:22px;background:#e8654f;color:#fff;border-radius:50%;font-family:var(--latin);font-size:14px;display:flex;align-items:center;justify-content:center}
.cta-band{margin:40px 0 8px;background:linear-gradient(135deg,#0a2540,#1a6dc4);border-radius:18px;padding:34px 32px;text-align:center;color:#fff}
.cta-band h3{font-family:var(--serif);font-size:clamp(18px,2.4vw,23px);font-weight:800;line-height:1.55;margin:0 0 12px}
.cta-band p{font-size:15px;line-height:1.85;color:rgba(255,255,255,.9);margin:0 auto 22px;max-width:620px}
.cta-band a{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--blue);font-weight:700;font-size:16px;padding:14px 34px;border-radius:99px;text-decoration:none;transition:.3s}
.cta-band a:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}
@media(max-width:680px){.case-grid{grid-template-columns:1fr}}
.case-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.case-card:hover{box-shadow:0 16px 36px rgba(10,37,64,.12);transform:translateY(-3px)}
.cc-cap{aspect-ratio:16/9;overflow:hidden;background:#eef4fa;border-bottom:3px solid var(--acc)}
.cc-cap img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.cc-noimg{display:flex;align-items:center;justify-content:center}
.cc-noimg span{color:#fff;font-weight:700;font-family:var(--serif);font-size:18px}
.cc-body{padding:16px 18px}
.cc-cat{font-size:12px;font-weight:700;color:var(--acc);margin-bottom:5px}
.cc-body h3{font-family:var(--serif);font-size:16px;font-weight:700;color:var(--navy);margin:0 0 8px;line-height:1.45}
.cc-body p{font-size:14px;color:var(--gray);line-height:1.75;margin:0}
.cmp-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(10,37,64,.06)}
.cmp-table th,.cmp-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}
.cmp-table thead th{background:var(--navy);color:#fff;font-weight:700}
.cmp-table tbody th{background:var(--blue-pale,#eaf3fb);color:var(--navy);font-weight:700;white-space:nowrap}
.cmp-table tr:last-child td,.cmp-table tr:last-child th{border-bottom:none}
.price-card{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
@media(max-width:680px){.price-card{grid-template-columns:1fr}}
.pc{border:1px solid var(--line);border-radius:14px;padding:24px 20px;text-align:center;background:#fff}
.pc .scale{font-size:14px;font-weight:700;color:var(--blue);margin-bottom:8px}
.pc .amt{font-family:var(--latin);font-size:26px;font-weight:700;color:var(--navy);margin-bottom:4px}
.pc .amt small{font-size:14px}
.pc p{font-size:13.5px;color:var(--gray);line-height:1.7;margin:10px 0 0}

/* ヒーローはcommon.cssの標準ahero（濃紺・コンパクト）を使用 */
