:root{--paper:#f5f1e7;--white:#fffdf8;--ink:#1e3438;--teal:#24575b;--deep:#153f43;--clay:#b9684e;--line:#c9d0c7;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.95;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}.site-header{background:var(--white);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:block;padding:18px 24px 13px;text-align:center;color:var(--deep);font-size:1.35rem;font-weight:600;letter-spacing:.13em}.brand small{display:block;font:500 .61rem/1.5 var(--sans);letter-spacing:.25em}.global-nav{border-top:1px solid #e0e3dc}.global-nav ul{list-style:none;margin:0 auto;padding:0 12px;display:flex;justify-content:center;flex-wrap:wrap;max-width:1180px}.global-nav a{display:block;padding:12px 10px;color:var(--ink);font:500 .78rem/1.4 var(--sans)}.menu-toggle{display:none}.page-hero{position:relative;min-height:420px;background:#173c40;color:white;display:grid;align-items:end;overflow:hidden}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,34,.82),rgba(10,31,34,.25) 65%,rgba(10,31,34,.12))}.page-hero .hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.page-hero>div{position:relative;z-index:1;width:min(1120px,calc(100% - 48px));margin:0 auto;padding:62px 0}.page-hero span{font:700 .75rem/1 var(--sans);letter-spacing:.22em;color:#d8e9df}.page-hero h1{font-size:clamp(2rem,4vw,3.7rem);line-height:1.35;letter-spacing:.08em;margin:.35em 0}.page-hero p{font-size:1.03rem;max-width:680px;margin:0}.article-layout{width:min(1120px,calc(100% - 48px));margin:64px auto;display:grid;grid-template-columns:minmax(0,2.15fr) minmax(250px,.85fr);gap:60px;align-items:start}.main-content{min-width:0}.breadcrumb{font:500 .78rem/1.6 var(--sans);margin:0 0 40px;color:#587073}.main-content>section{padding:8px 0 38px;border-bottom:1px solid var(--line);margin-bottom:38px}.main-content h2{font-size:1.65rem;line-height:1.5;color:var(--deep);margin:0 0 22px;padding-left:18px;border-left:4px solid var(--clay)}.main-content h3{font-size:1.18rem;line-height:1.65;margin:30px 0 10px;color:var(--deep)}.main-content p{margin:0 0 1.25em}.main-content li{margin:.45em 0}.article-date{font:500 .85rem/1.5 var(--sans);color:#63797b}.amazon-banner{background:#edf1e9;border:1px solid var(--line);padding:18px 20px;margin:20px 0}.sidebar{position:sticky;top:20px}.sidebar section{background:var(--white);border-top:3px solid var(--teal);padding:22px;margin-bottom:22px}.sidebar h2{font:700 1rem/1.4 var(--sans);margin:0 0 14px;color:var(--deep)}.sidebar ul{list-style:none;margin:0;padding:0}.sidebar li{border-top:1px solid #e2e4dd}.sidebar li:first-child{border:0}.sidebar li a{display:block;padding:8px 0;font-size:.88rem}.ad-slot{background:var(--deep)!important;color:white}.ad-slot span{font:500 .65rem/1 var(--sans);border:1px solid #b6cbc4;padding:2px 6px}.ad-slot strong{display:block;margin:15px 0 2px;font-size:1.05rem}.ad-slot p{font-size:.8rem;margin:0 0 10px}.ad-slot a{color:#fff;border-bottom:1px solid #fff}.blog-cards{display:grid;gap:14px}.blog-card{display:grid;grid-template-columns:100px 1fr auto;gap:14px;align-items:center;background:var(--white);border:1px solid var(--line);padding:18px}.blog-card span{font:500 .72rem/1.4 var(--sans);color:#607476}.blog-card strong{line-height:1.55}.blog-card em{font:500 .75rem/1 var(--sans);font-style:normal}.news-list{list-style:none;padding:0}.news-list li{border-bottom:1px solid var(--line)}.news-list a{display:flex;gap:22px;padding:16px 0}.news-list time{font:500 .75rem/1.8 var(--sans);white-space:nowrap}.site-footer{position:relative;background:var(--deep);color:#eaf1eb;display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:48px max(24px,calc((100% - 1072px)/2)) 74px}.site-footer strong{display:block;margin-bottom:10px}.site-footer p{margin:0;font-size:.83rem}.site-footer a{display:block;color:#eaf1eb;font-size:.83rem;margin:5px 0}.copyright{position:absolute;bottom:20px;left:max(24px,calc((100% - 1072px)/2));font:400 .7rem/1.4 var(--sans)}
@media(max-width:760px){body{font-size:15px}.brand{text-align:left;padding-right:65px;font-size:1.05rem}.brand small{font-size:.5rem}.menu-toggle{display:block;position:absolute;right:16px;top:18px;width:42px;height:38px;border:1px solid var(--line);background:transparent;color:var(--deep);font-size:0}.menu-toggle:after{content:'☰';font-size:22px}.menu-toggle.is-active:after{content:'×'}.global-nav{display:none}.global-nav.is-open{display:block;position:absolute;top:76px;left:0;right:0;background:var(--white);max-height:calc(100vh - 76px);overflow:auto;box-shadow:0 8px 20px #0002}.global-nav ul{display:block;padding:10px 22px}.global-nav a{padding:12px;border-bottom:1px solid #e3e5df}.page-hero{min-height:360px}.page-hero>div{width:calc(100% - 36px);padding:40px 0}.page-hero h1{font-size:2rem}.page-hero p{font-size:.92rem}.article-layout{width:calc(100% - 36px);margin:42px auto;display:block}.main-content h2{font-size:1.35rem}.main-content>section{padding-bottom:25px;margin-bottom:28px}.sidebar{position:static;margin-top:40px}.blog-card{grid-template-columns:1fr;gap:7px}.news-list a{display:block}.news-list time{display:block}.site-footer{grid-template-columns:1fr;padding:38px 22px 70px;gap:26px}.copyright{left: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: #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 */

/* フッター必須リンク */
.site-footer .footer-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(234,241,235,.25)}
.site-footer .footer-links a{display:inline-block;margin:0;font-size:.78rem}
