@charset "UTF-8";:root{--ink:#172a42;--muted:#526174;--paper:#f4f6f7;--line:#d7dfe5;--accent:#c86d37;--blue:#234e70}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.8 system-ui,-apple-system,"Noto Sans JP",sans-serif}a{color:#15537a;text-underline-offset:.18em}a:hover{color:#a54d24}img{max-width:100%;height:auto}figure{margin:0}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:5}.site-head{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:.8rem max(4vw,calc((100vw - 1200px)/2));gap:1rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;color:var(--ink);line-height:1.3}.brand small{display:block;color:var(--muted);font-size:.73rem;font-weight:500}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--ink);color:white;border-radius:50%;font-weight:900}.primary-nav{display:flex;gap:1.15rem;align-items:center}.primary-nav a{font-size:.9rem;text-decoration:none;font-weight:650}.menu-button{display:none;border:1px solid var(--line);padding:.45rem .7rem;background:white;color:var(--ink);border-radius:4px}.hero-top,.cluster,.latest,.notice,.page-head,.prose,.article{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem}.hero-top{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem;align-items:center;padding-top:3rem}.hero-top h1{font-size:clamp(1.9rem,3.9vw,3.4rem);line-height:1.25;letter-spacing:.02em}.hero-top figure img,.hero img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.hero-top figcaption,.hero figcaption{font-size:.78rem;color:var(--muted);padding:.35rem 0}.eyebrow{color:#9b4f25;text-transform:uppercase;font-size:.8rem;font-weight:800;letter-spacing:.08em}.button{display:inline-block;padding:.75rem 1.1rem;background:var(--ink);color:white;text-decoration:none;border-radius:4px}.notice,.action-box{background:#e8eef1;border-left:4px solid var(--accent);padding:1.2rem 1.4rem;margin:1rem auto;border-radius:4px}.cluster>h2,.latest>h2{font-size:1.8rem}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.card,.blog-card{background:white;border:1px solid var(--line);border-radius:7px;overflow:hidden}.card a,.blog-card a{display:block;padding:1rem;color:var(--ink);text-decoration:none}.card img,.blog-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:4px}.card span{color:#a54d24;font-size:.8rem;font-weight:700}.card h3,.blog-card h2{font-size:1.13rem;line-height:1.5}.card p{color:var(--muted);font-size:.92rem}.article{padding-top:2rem}.crumb,.updated{color:var(--muted);font-size:.84rem}.article h1,.page-head h1{font-size:clamp(1.8rem,3.3vw,2.8rem);line-height:1.4;max-width:920px}.deck,.lead{font-size:1.15rem;color:#354b60}.hero{max-width:1000px;margin:1.6rem 0}.article-layout{display:grid;grid-template-columns:230px minmax(0,760px);gap:2.5rem;align-items:start}.article-layout aside{position:sticky;top:1rem;background:#fff;border:1px solid var(--line);padding:1rem;border-radius:5px;font-size:.9rem}.article-layout aside ol{padding-left:1.3rem}.article-body{min-width:0}.article-layout>*,.article-body section{min-width:0}.article-body section{margin:2.3rem 0}.article-body h2,.prose h2{border-bottom:1px solid var(--line);padding-bottom:.45rem;margin-top:2.5rem;font-size:1.45rem}.article-body h3{font-size:1.12rem}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;min-width:580px;background:white}th,td{padding:.65rem;border:1px solid var(--line);text-align:left;vertical-align:top}th{background:#eaf0f3}footer{background:#172a42;color:#edf2f5;padding:2rem max(4vw,calc((100vw - 1200px)/2));margin-top:3rem}footer a{color:#d8eafd;margin-right:1rem}footer p{max-width:850px}.blog-grid{max-width:1200px;margin:0 auto;padding:1rem 1.5rem 3rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.blog-card p{color:var(--muted)}.latest{padding-top:0}@media(max-width:800px){.site-head{flex-wrap:wrap}.menu-button{display:block}.primary-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.primary-nav.open{display:flex}.primary-nav a{padding:.55rem;border-top:1px solid var(--line)}.hero-top{grid-template-columns:1fr;gap:1rem}.hero-top h1{font-size:2.3rem}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:1rem}.article-layout aside{position:static}.article-layout aside ol{columns:2}.article,.cluster,.latest,.notice,.page-head,.prose{padding-left:1rem;padding-right:1rem}}@media(max-width:520px){body{font-size:16px}.card-grid,.blog-grid{grid-template-columns:1fr}.hero-top{padding-top:1.6rem}.hero-top h1{font-size:2rem}.article h1{font-size:1.8rem}.article-layout aside ol{columns:1}.card{display:block}}@media(max-width:800px){.article{padding-left:16px;padding-right:16px}}

/* 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 */
/* POLICY-SITES-A8:START */
.a8-disclosure{padding:.7rem 1rem;border:1px solid #c4b38c;background:#fff9eb;font-size:.9rem;color:#423a28}
.a8-ad{margin:1.5rem 0;padding:1.2rem;border:1px solid #c4b38c;border-radius:6px;background:#fff9eb;color:#423a28;min-width:0}
.a8-ad p{margin:.5rem 0}.a8-ad .a8-banner{display:block;width:fit-content;max-width:100%}
.a8-ad img{display:inline-block;max-width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:0}
.a8-ad img[width="300"]{width:300px;height:auto}.a8-ad img[width="1"]{width:1px;height:1px;min-width:0;max-width:1px}
/* POLICY-SITES-A8:END */
h1,h2,h3,h4,.card h3,.blog-card h2,.blog-card h3,figcaption{text-wrap:balance;word-break:auto-phrase;line-break:strict;overflow-wrap:break-word}p,li{text-wrap:pretty}.card-grid>.latest-commentary{grid-column:1/-1}

/* HEADING-WRAP:START 見出し最終行孤立文字対策 (AGENTS.md NoGo) */
h1,h2,h3,h4,.hero-title,.page-title,.card-title{text-wrap:balance;word-break:auto-phrase;line-break:strict;overflow-wrap:break-word}
/* HEADING-WRAP:END */
