@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@500;600;700&display=swap");
:root{--paper:#f6f2ea;--surface:#fffdfa;--ink:#263a36;--deep:#1f4b45;--accent:#a46b4a;--line:#d9d0c4;--muted:#65736c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 "Noto Sans JP",sans-serif;letter-spacing:.025em}img{display:block;max-width:100%;height:auto}a{color:var(--deep);text-decoration:none}a:hover{text-decoration:underline}.site-header{background:rgba(255,253,250,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.header-inner{width:min(1180px,100%);margin:auto;min-height:74px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:600 1.18rem/1.3 "Noto Serif JP",serif;color:var(--ink);letter-spacing:.08em}.brand small{display:block;color:var(--accent);font:700 .55rem/1.5 sans-serif;letter-spacing:.2em}.global-nav{display:flex;gap:18px;align-items:center}.global-nav a{font-size:.8rem;white-space:nowrap}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);font-size:1.1rem;padding:4px 9px;color:var(--ink)}.home-hero{min-height:530px;position:relative;display:grid;align-items:center;overflow:hidden;background:#23433f}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,43,38,.84),rgba(17,43,38,.44),rgba(17,43,38,.12))}.home-hero>img{position:absolute;width:100%;height:100%;object-fit:cover}.home-hero>div{position:relative;z-index:1;width:min(1180px,100%);padding:80px 48px;color:#fff}.eyebrow{font:700 .7rem/1.4 sans-serif;letter-spacing:.22em;color:var(--accent);margin:0 0 14px}.home-hero .eyebrow{color:#efd0b7}.home-hero h1{max-width:720px;margin:0;font:600 clamp(2rem,5vw,4rem)/1.45 "Noto Serif JP",serif;letter-spacing:.09em}.home-hero p:not(.eyebrow){max-width:650px;margin:20px 0 0;line-height:2}.home-intro,.report-section{max-width:1180px;margin:auto;padding:72px 32px}.home-intro{max-width:880px;text-align:center}.home-intro h2,.report-section>h2{font:600 clamp(1.5rem,3vw,2.1rem)/1.6 "Noto Serif JP",serif;margin:0 0 22px}.report-section{border-top:1px solid var(--line);text-align:center}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:left}.report-card{display:block;padding:27px;background:var(--surface);border:1px solid var(--line);min-height:210px}.report-card span,.blog-card p{font-size:.7rem;color:var(--accent);font-weight:700;letter-spacing:.13em}.report-card h2{font:600 1.12rem/1.6 "Noto Serif JP",serif;margin:12px 0}.report-card p{font-size:.87rem;margin:0}.link-band{background:#e5ede8;padding:54px max(24px,calc((100% - 1116px)/2));display:grid;grid-template-columns:1fr 1fr;gap:32px}.link-band>div{padding:25px;background:rgba(255,255,255,.5)}.link-band h2{font:600 1.2rem/1.6 "Noto Serif JP",serif;margin:0}.button{display:inline-block;margin-top:12px;padding:7px 17px;border:1px solid var(--accent);color:var(--deep);font-size:.84rem}.article-layout{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 292px;gap:28px;padding:48px 24px 72px}.article-layout article,.side-card{background:var(--surface);border:1px solid var(--line)}.article-layout article{padding:clamp(22px,4vw,50px);min-width:0}.article-hero{width:100%;aspect-ratio:16/9;object-fit:cover;margin:0 0 30px}.article-layout h1{font:600 clamp(1.7rem,3.5vw,2.55rem)/1.5 "Noto Serif JP",serif;letter-spacing:.06em;margin:0 0 20px}.lead{font-size:1.04rem;line-height:2;margin:0 0 34px;padding-bottom:28px;border-bottom:1px solid var(--line)}.article-layout article section{margin:35px 0}.article-layout h2{font:600 1.3rem/1.65 "Noto Serif JP",serif;color:var(--deep);margin:0 0 13px}.article-layout p{margin:0}.sidebar{min-width:0;display:grid;gap:16px;align-content:start}.side-card{padding:20px}.side-card h2{font:600 1rem/1.5 "Noto Serif JP",serif;margin:0 0 10px;color:var(--deep)}.side-card ul{padding:0;margin:0;list-style:none}.side-card li{border-top:1px solid var(--line);padding:8px 0;font-size:.82rem;line-height:1.6}.ad-slot{background:#edf2ec;display:grid;gap:5px}.ad-slot p{font-size:.65rem;color:var(--accent);margin:0}.ad-slot strong{font-family:"Noto Serif JP",serif}.ad-slot span{font-size:.75rem;line-height:1.6}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.blog-card{border:1px solid var(--line);background:#fff}.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.blog-card div{padding:17px}.blog-card h2{font:600 1rem/1.65 "Noto Serif JP",serif;margin:8px 0}.blog-card span{font-size:.8rem;color:var(--accent)}.site-footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:30px;background:#223a35;color:#f8f3eb;padding:48px max(24px,calc((100% - 1116px)/2)) 24px}.site-footer h2,.site-footer h3{font-family:"Noto Serif JP",serif;margin:0 0 10px}.site-footer h2{font-size:1.15rem}.site-footer h3{font-size:.92rem;color:#edc9aa}.site-footer p{font-size:.8rem;margin:0}.site-footer a{display:block;color:#fff;font-size:.78rem;margin:5px 0}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.25);padding-top:16px;margin-top:5px!important;color:#cfd7d0}@media(max-width:820px){.global-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fffdfa;border-bottom:1px solid var(--line);padding:10px 24px}.global-nav.is-open{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.menu-toggle{display:block}.header-inner{padding-inline:17px}.home-hero>div{padding:65px 24px}.article-layout{grid-template-columns:1fr;padding:28px 16px 48px}.sidebar{grid-template-columns:repeat(2,1fr)}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:first-child{grid-column:1/-1}}@media(max-width:560px){body{font-size:15px}.home-hero{min-height:455px}.home-hero h1{font-size:2rem}.home-intro,.report-section{padding:54px 18px}.report-grid,.blog-grid,.sidebar,.link-band,.site-footer{grid-template-columns:1fr}.article-layout article{padding:22px 18px}.site-footer{padding:38px 20px 20px}.site-footer>div:first-child{grid-column:auto}.article-hero{margin-bottom:22px}}

/* LATEST-COMMENTARY:START */
.latest-commentary {
  padding: 3rem 0;
}
/* .container を持たないサイトでも端に張り付かないための保険。
   :where() は詳細度0なので、サイト側の .container 定義が常に優先される。 */
:where(.latest-commentary .container) {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 1rem;
}
.latest-commentary h2 {
  margin-bottom: 1.25rem;
}
.latest-commentary-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.latest-commentary-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--line, #e5e5e5);
}
.latest-commentary-list time {
  flex: 0 0 auto;
  color: var(--muted, #666);
  font-size: 0.9rem;
  font-variant-numeric: tabular-nums;
}
.latest-commentary-list a {
  flex: 1 1 16rem;
  min-width: 0;
  color: var(--ink, #222);
  text-decoration: none;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.latest-commentary-list a:hover {
  color: var(--accent, #0b5);
  text-decoration: underline;
}
.latest-commentary-more {
  margin-top: 1.25rem;
}
.latest-commentary-more a {
  color: var(--accent, #0b5);
  text-decoration: none;
  font-weight: 600;
}
.latest-commentary-more a:hover {
  text-decoration: underline;
}
@media (max-width: 600px) {
  .latest-commentary-list li {
    flex-direction: column;
    gap: 0.2rem;
  }
  /* 縦積み時に flex-basis(16rem) が高さに効かないよう auto に戻す */
  .latest-commentary-list a,
  .latest-commentary-list time {
    flex: 0 0 auto;
  }
}
/* LATEST-COMMENTARY:END */

/* 2026-09 品質見直し: トップ解説ブロックとフッター必須リンク */
.home-intro p+p{margin-top:14px}
.home-intro.home-guide{text-align:left;padding-top:0}
.home-intro.home-guide a{color:var(--deep);text-decoration:underline}
.site-footer .footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;border-top:1px solid rgba(255,255,255,.18);padding-top:16px}
.site-footer .footer-links a{display:inline;margin:0}
