:root{
  /* ロゴ実測値: ネイビー #0b2351 / オレンジ #fe7b01 / クリーム #fdf5e8 */
  --navy:#123566; --navy-deep:#0b2351; --cta:#fe7b01; --cta-light:#ff9633;
  --text:#101c33; --muted:#475569; --dim:#8a93a5;
  --bg:#ffffff; --bg-alt:#fdf5e8; --cream:#fdf5e8; --border:rgba(11,35,81,0.12); --dark:#081a3c;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:"Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}
.wrap{width:100%;max-width:760px;margin:0 auto;padding:0 24px}
a{color:var(--navy)}
sup{font-size:.6em;letter-spacing:0}

.site-nav{position:sticky;top:0;z-index:50;background:var(--cream);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{display:block;height:40px;width:auto}
.logo-mark{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;background:var(--cta)}
.logo-text{font-family:"Noto Serif JP",serif;font-size:20px;font-weight:600;letter-spacing:.08em;color:var(--text)}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.12em;color:var(--muted);text-decoration:none}
.nav-links a:hover{color:var(--navy)}
.nav-cta{background:var(--cta);color:#fff!important;padding:10px 20px;border-radius:9999px;letter-spacing:.04em!important}
.nav-cta:hover{background:var(--cta-light)}
@media(max-width:767px){.nav-links a:not(.nav-cta){display:none}}

.breadcrumb{background:#fff;border-bottom:1px solid var(--border);font-size:12px;color:var(--dim)}
.breadcrumb .wrap{padding-top:12px;padding-bottom:12px}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--navy)}
.breadcrumb .sep{margin:0 8px;color:var(--dim)}

.article-head{padding:64px 24px 8px}
.kicker{margin:0;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--navy)}
.case-no{margin:16px 0 0;font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--navy-deep)}
.case-no .tag{display:inline-block;margin-left:12px;padding:4px 12px;border-radius:9999px;background:rgba(11,35,81,.08);font-size:11px;font-weight:600;letter-spacing:.06em}
.article-head h1{margin:20px 0 0;font-family:"Noto Serif JP",serif;font-size:clamp(26px,4vw,38px);font-weight:700;line-height:1.55;letter-spacing:.01em}

.eyecatch{margin:32px auto 0;max-width:1000px;padding:0 24px}
.eyecatch img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;box-shadow:0 18px 44px rgba(11,35,81,.14)}
.eyecatch figcaption{margin-top:8px;text-align:right;font-size:11px;color:var(--dim)}

.article-body{padding:32px 24px 24px}
.article-body>p:first-child{color:var(--muted)}
.article-body h2{margin:64px 0 20px;padding-left:16px;border-left:4px solid var(--navy);font-family:"Noto Serif JP",serif;font-size:clamp(21px,3vw,27px);font-weight:700;line-height:1.6}
.article-body h3{margin:48px 0 16px;font-family:"Noto Serif JP",serif;font-size:19px;font-weight:700;color:var(--navy-deep)}
.article-body p{margin:0 0 24px}
.article-body ul{margin:0 0 28px;padding:24px 28px;list-style:none;background:var(--cream);border:1px solid var(--border);border-radius:12px}
.article-body li{position:relative;padding-left:22px;margin:10px 0;color:var(--muted)}
.article-body li::before{content:"";position:absolute;left:0;top:.75em;width:8px;height:8px;border-radius:2px;background:var(--cta)}
.article-body a{font-weight:600;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(11,35,81,.35)}
.article-body a:hover{color:var(--cta)}
.article-body strong{font-weight:700;color:var(--text)}

.cta{margin:56px 0;padding:32px;border-radius:16px;background:linear-gradient(180deg,#fefaf3,var(--cream));border:1px solid rgba(11,35,81,.14)}
.cta-title{margin:0;font-family:"Noto Serif JP",serif;font-size:20px;font-weight:700;line-height:1.6;color:var(--navy-deep)}
.cta-body{margin:12px 0 0;font-size:14px;color:var(--muted)}
.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px}
.btn-primary{display:inline-block;padding:14px 28px;border-radius:9999px;background:var(--cta);color:#fff;font-size:14px;font-weight:700;text-decoration:none}
.btn-primary:hover{background:var(--cta-light)}
.btn-secondary{font-size:13px;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:3px}

.related{padding:24px 24px 88px}
.related h2{margin:0 0 24px;font-family:"Noto Serif JP",serif;font-size:22px;font-weight:700}
.related-list{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.related-list a{display:block;padding:20px 24px;border:1px solid var(--border);border-radius:12px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.related-list a:hover{border-color:rgba(11,35,81,.35);box-shadow:0 6px 20px rgba(15,23,42,.06)}
.related-tag{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--navy)}
.related-quote{display:block;margin-top:8px;font-family:"Noto Serif JP",serif;font-size:17px;font-weight:700;line-height:1.6;color:var(--text)}
.related-summary{display:block;margin-top:8px;font-size:13px;line-height:1.8;color:var(--muted)}
.related-hub a{background:var(--cream);font-size:14px;font-weight:700;color:var(--navy)}

.site-footer{background:var(--dark);color:#f7f2e8;padding:56px 0}
.footer-brand{display:flex;align-items:center;gap:16px}
.footer-brand img{display:block;width:44px;height:44px;border-radius:12px}
.footer-logo{margin:0;font-family:"Noto Serif JP",serif;font-size:18px;font-weight:600;letter-spacing:.08em}
.footer-text{margin:4px 0 0;font-size:12px;font-weight:600;letter-spacing:.06em;color:#a9b7cf}
.footer-links{margin:24px 0 0;display:flex;flex-wrap:wrap;gap:20px}
.footer-links a{font-size:13px;color:#cbd5e1;text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-copy{margin:24px 0 0;font-size:11px;color:#64748b}
.print-url{display:none}

/* 商談資料としてPDF出力する用（ブラウザの「PDFで保存」） */
@media print{
  @page{margin:14mm}
  body{font-size:10.5pt;line-height:1.75}
  .site-nav,.breadcrumb,.related,.site-footer,.cta-actions,.eyecatch figcaption{display:none!important}
  .eyecatch{margin:0;padding:0}
  .eyecatch img{max-height:52mm;border-radius:4pt;box-shadow:none}
  .wrap{max-width:none;padding:0}
  .article-head{padding:0 0 8px}
  .article-head h1{font-size:18pt}
  .article-body h2{margin:20pt 0 8pt;font-size:13pt;break-after:avoid}
  .article-body h3{margin:14pt 0 6pt;font-size:12pt;break-after:avoid}
  .article-body p,.article-body li{color:#1f2937}
  .article-body ul{background:none;border:1px solid #d1d5db;padding:10pt 14pt}
  .cta{margin:14pt 0;padding:10pt 14pt;background:none;border:1px solid #d1d5db;break-inside:avoid}
  .print-url{display:block;margin-top:16pt;font-size:8pt;color:#6b7280}
  a{color:#111827;text-decoration:none}
}
