:root{--ink:#183b3a;--muted:#54706a;--mint:#dbece7;--cream:#fffdf7;--paper:#fff;--coral:#c95f4a;--line:#cbded8;--deep:#123c39;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;--serif:"Noto Serif JP",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.9 var(--sans);letter-spacing:.025em;overflow-x:hidden}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}img{display:block;max-width:100%}.site-header{background:rgba(255,253,247,.97);border-bottom:1px solid var(--line);padding:18px 28px 0;position:relative;z-index:2}.brand-title{display:block;font:700 1.35rem/1.25 var(--serif);letter-spacing:.1em;max-width:1140px;margin:0 auto 14px}.brand-title small{font:400 .68rem var(--sans);color:var(--muted);margin-left:12px}.global-nav{border-top:1px solid var(--line)}.global-nav ul{display:flex;gap:0;list-style:none;margin:0 auto;padding:0;max-width:1140px;flex-wrap:wrap}.global-nav a{display:block;padding:11px 12px;font-size:.79rem}.global-nav a:hover{background:var(--mint);text-decoration:none}.menu-toggle{display:none}.hero{position:relative;min-height:410px;display:grid;place-items:center;isolation:isolate;color:#fff;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,43,40,.84),rgba(10,43,40,.27));z-index:-1}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero>div{width:min(1110px,calc(100% - 56px));padding:56px 0}.hero h1{font:700 clamp(2rem,4vw,3.5rem)/1.35 var(--serif);max-width:760px;margin:.25em 0}.hero p{max-width:670px}.eyebrow,.side-label{font-size:.72rem;font-weight:700;letter-spacing:.16em;color:var(--coral);margin:0 0 8px}.hero .eyebrow{color:#ffe7ad}.two-column{width:min(1140px,calc(100% - 56px));margin:52px auto 76px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:52px;align-items:start}.content{background:var(--paper);padding:42px clamp(24px,5vw,58px);border:1px solid #e8eee9}.content h2{font:700 1.6rem/1.5 var(--serif);margin:1.5em 0 .5em}.content p{margin:0 0 1.4em}.sidebar{display:grid;gap:20px}.sidebar section{background:#f0f7f4;border:1px solid var(--line);padding:20px}.sidebar ul,.related ul{margin:0;padding-left:1.2em}.sidebar li{margin:.45em 0}.ad-slot{background:#fff6df!important;border-color:#ead5a1!important}.ad-slot strong{color:var(--coral)}.related{border-top:2px solid var(--mint);margin-top:38px;padding-top:18px}.article-list{display:grid;gap:18px}.article-card{border:1px solid var(--line);padding:22px}.article-card h2{margin:.1em 0 .4em;font-size:1.2rem}.article-card p{color:var(--muted);font-size:.92rem}.article-card>a{font-weight:700;color:var(--coral)}.news-list{padding-left:1.2em}.news-list li{margin:12px 0}.site-footer{background:var(--deep);color:#edf6f2;padding:48px max(28px,calc((100% - 1140px)/2));display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}.site-footer h2{font:700 1rem var(--serif);margin:0 0 10px}.site-footer p{margin:0;color:#bcd4cd;font-size:.9rem}.site-footer a{display:block;color:#d8eee7;font-size:.86rem;margin:4px 0}.site-footer small{grid-column:1/-1;padding-top:18px;border-top:1px solid rgba(255,255,255,.2);color:#acc8c0}@media(max-width:760px){.site-header{padding:14px 18px 0}.brand-title{font-size:1.12rem;margin-bottom:11px}.brand-title small{display:block;margin:4px 0 0}.menu-toggle{display:block;position:absolute;right:16px;top:12px;border:1px solid var(--line);background:#fff;padding:5px 9px;color:var(--ink)}.global-nav{display:none}.site-header.is-open .global-nav{display:block}.global-nav ul{display:block}.global-nav a{padding:9px 6px}.hero{min-height:370px}.hero>div{width:calc(100% - 40px);padding:36px 0}.two-column{width:calc(100% - 32px);grid-template-columns:1fr;gap:26px;margin:32px auto 48px}.content{padding:28px 20px}.sidebar{grid-row:2}.site-footer{grid-template-columns:1fr;gap:20px;padding:38px 20px}.site-footer small{grid-column:auto}.hero h1{font-size:2rem}}

.site-footer .footer-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:1rem;padding-top:6px}.site-footer .footer-links a{display:inline;margin:0}

/* 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: #0b5;
  text-decoration: underline;
}
.latest-commentary-more {
  margin-top: 1.25rem;
}
.latest-commentary-more a {
  color: #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 */
