:root{--ink:#302733;--purple:#4D3548;--plum:#694E60;--rose:#B58B87;--paper:#FAF7F1;--cream:#F1EBE3;--gold:#88734F;--line:#D9CEC4;--muted:#716A70;--white:#fff;--serif:"Noto Serif JP","Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;--sans:"Noto Sans JP",system-ui,-apple-system,"Hiragino Kaku Gothic ProN",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.9}a{color:#64465B;text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:#3b2736}.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:1rem;z-index:100;background:#fff;padding:.7rem}.site-head{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem max(calc((100vw - 1280px)/2),4vw);background:var(--paper);border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{text-decoration:none;color:var(--purple);display:flex;flex-direction:column;line-height:1.3;min-width:max-content}.brand span,.footer-brand{font:600 1.45rem var(--serif);letter-spacing:.08em}.brand small{font-size:.62rem;letter-spacing:.16em;color:var(--gold);margin-top:.3rem}.nav-menu{max-width:900px}.nav-menu ul{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:.1rem 1rem;list-style:none;padding:0;margin:0}.nav-menu a{display:block;font-size:.88rem;white-space:nowrap;color:var(--ink);text-decoration:none;padding:.45rem .35rem;border-bottom:1px solid transparent}.nav-menu a:hover,.nav-menu a:focus-visible{border-color:var(--rose)}.menu-toggle{display:none;border:1px solid var(--line);border-radius:2px;background:transparent;color:var(--purple);padding:.6rem;width:46px;height:44px}.menu-toggle span{display:block;height:1px;background:currentColor;margin:5px 1px}.home-wrap{max-width:1240px;margin:auto;padding:0 32px}.home-hero{height:min(62vw,560px);min-height:390px;margin:1.5rem 0 0;position:relative;overflow:hidden;background:#45323f}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,20,28,.78),rgba(31,21,31,.35) 50%,rgba(31,21,31,.04))}.home-hero img{width:100%;height:100%;object-fit:cover;display:block}.hero-copy{position:absolute;z-index:1;left:7%;top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 2px 8px #221522,0 1px 2px #221522;max-width:680px}.hero-copy>p{font-size:.72rem;letter-spacing:.2em;color:#f6e8d8}.hero-copy h1{font:500 clamp(2.3rem,5vw,4rem)/1.55 var(--serif);letter-spacing:.08em;margin:.4rem 0 1rem}.hero-copy span,.article-hero figcaption{font-size:.72rem;opacity:.92}.editorial-intro{padding:6rem clamp(1rem,8vw,7rem) 4.5rem;max-width:1000px;margin:auto}.eyebrow,.section-label,.article-kicker{font-size:.76rem;letter-spacing:.12em;color:var(--gold)}.editorial-intro h2,.method h2,.latest h2,.report-group h2,.editorial-policy h2,.partner-cta h2{font:500 clamp(1.8rem,3vw,2.5rem)/1.6 var(--serif);color:var(--purple)}.editorial-intro>p:last-child{max-width:790px}.latest{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem 0;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:2rem}.latest h2{margin:.25rem 0}.method{margin:4rem 0 5rem;padding:2rem clamp(1rem,5vw,4rem);background:#f0e9e2;border-left:3px solid var(--rose)}.method ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding-left:1.5rem}.report-group{padding:2.7rem 0 4.2rem;border-top:1px solid var(--line)}.report-group h2{margin:.3rem 0 2rem}.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4rem}.report-card{border:1px solid var(--line);background:#fff}.report-card>a{display:block;height:100%;text-decoration:none;color:inherit;padding-bottom:1rem}.report-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.card-number{display:block;margin:1rem 1.1rem 0;color:var(--gold);font-size:.75rem;letter-spacing:.08em}.report-card h3{font:500 1.18rem/1.65 var(--serif);margin:.3rem 1.1rem;color:var(--purple)}.report-card p{font-size:.9rem;line-height:1.8;margin:.2rem 1.1rem;color:var(--muted)}.report-card a:hover h3{text-decoration:underline}.editorial-policy,.partner-cta{padding:2rem 0 3rem;border-top:1px solid var(--line);max-width:850px}.partner-cta{margin:0 0 3rem}.article-main{max-width:1280px;margin:auto;padding:2.5rem 32px 6rem}.article-kicker{margin-bottom:.5rem}.article-main>h1{font:500 clamp(2rem,3.5vw,2.65rem)/1.5 var(--serif);letter-spacing:.04em;color:var(--purple);max-width:950px;margin:.4rem 0;text-wrap:balance}.dek{font-size:1.12rem;color:#60555e;max-width:900px}.article-hero{margin:2rem 0 2.8rem}.article-hero img{width:100%;max-height:550px;object-fit:cover;display:block}.article-hero figcaption{color:var(--muted);margin-top:.4rem}.article-grid{display:grid;grid-template-columns:minmax(0,780px) 280px;gap:60px;justify-content:space-between;align-items:start}.prose{min-width:0}.prose p{margin:0 0 1.25rem}.prose .intro{font:1.12rem/2 var(--serif);padding:0 0 1.5rem;border-bottom:1px solid var(--line);margin-bottom:2rem}.prose h2,.simple-main h2{font:500 1.55rem/1.6 var(--serif);color:var(--purple);margin:2.8rem 0 1rem}.prose section{margin-bottom:2rem;scroll-margin-top:1rem}.source-line{font-size:.83rem;color:var(--muted);border-left:2px solid var(--rose);padding-left:.9rem}.source-line a{margin-right:.7rem}.table-scroll{overflow-x:auto;margin:2rem 0 2.7rem;border:1px solid var(--line);background:white}.table-scroll:before{content:"表は横にスクロールできます";display:block;color:var(--muted);font-size:.75rem;padding:.4rem .7rem}.table-scroll table{border-collapse:collapse;width:100%;min-width:620px;font-size:.87rem;line-height:1.75}.table-scroll caption{text-align:left;font:500 1.1rem var(--serif);padding:1rem;color:var(--purple)}.table-scroll th,.table-scroll td{padding:.8rem;border-top:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;text-align:left}.table-scroll thead th{background:#eee6e3;color:var(--purple)}.table-scroll tbody th{font-weight:600;min-width:100px}.flow-card,.case-card{border:1px solid var(--line);background:#f5f0e9;padding:1.4rem 1.5rem;margin:2rem 0}.flow-card figcaption{font:500 1.15rem var(--serif);color:var(--purple);margin-bottom:1rem}.flow-card figcaption span{font:normal .75rem var(--sans);color:var(--muted)}.flow-card ol{list-style:none;counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;padding:0;margin:0}.flow-card li{counter-increment:step;position:relative;padding:.9rem .8rem;background:white;border-top:2px solid var(--rose);font-size:.9rem}.flow-card li:before{content:"0" counter(step);display:block;color:var(--gold);font-size:.72rem;letter-spacing:.12em}.flow-branch{font-size:.85rem;color:var(--muted);margin:1rem 0 0!important}.case-card h2{margin:.1rem 0 1rem}.formula{font-weight:600;color:var(--purple);background:#fff;padding:.8rem}.case-result{font-weight:600;border-top:1px solid var(--line);padding-top:1rem}.prose details{border-bottom:1px solid var(--line);padding:1rem 0}.prose summary{font-weight:600;color:var(--purple);cursor:pointer}.prose details p{margin:.7rem 0 0}.article-aside{position:sticky;top:1.2rem}.toc,.related{border:1px solid var(--line);background:#fff;padding:1rem 1.1rem;margin-bottom:1rem}.toc h2,.related h2{font:500 1.05rem var(--serif);color:var(--purple);margin:0 0 .6rem}.toc ol,.related ul{padding-left:1.2rem;margin:0;font-size:.82rem;line-height:1.8}.toc a,.related a{color:var(--ink)}.ad-placeholder{border:1px dashed #cfc1bc;padding:1rem;text-align:center;color:#776d72;font-size:.75rem;margin:0 0 1rem;min-height:76px;display:grid;place-items:center}.simple-main{max-width:920px;margin:4rem auto 7rem;padding:0 28px}.simple-main>h1{font:500 clamp(2rem,4vw,3rem)/1.5 var(--serif);color:var(--purple);margin:.4rem 0 2rem}.simple-main h2{margin-top:3rem}.simple-main p,.simple-main li{max-width:820px}.site-footer{background:var(--purple);color:#f8f2eb;padding:3rem 32px}.footer-inner{max-width:1180px;margin:auto}.footer-brand{color:white}.footer-links{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin:1.5rem 0}.footer-links a{color:#f7eee6;font-size:.85rem}.site-footer small{color:#ddd0d5}.blog-index{min-height:60vh}
@media(max-width:1023px){.site-head{padding:1rem 24px}.menu-toggle{display:block;cursor:pointer}.nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem 24px 1.4rem}.nav-menu.is-open{display:block}.nav-menu ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem 1rem}.nav-menu a{padding:.55rem .25rem}.article-grid{grid-template-columns:1fr;gap:2rem}.article-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;order:-1}.toc{grid-column:1/-1}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-card ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){body{font-size:16px}.site-head{min-height:76px;padding:.8rem 18px}.brand span{font-size:1.2rem}.home-wrap{padding:0 16px}.home-hero{min-height:440px;height:68vh;margin-top:0}.hero-copy{left:7%;right:6%}.hero-copy h1{font-size:2.35rem}.editorial-intro{padding:4rem .4rem 3rem}.latest{grid-template-columns:1fr;gap:.5rem;padding:1.5rem 0}.method{margin:3rem 0;padding:1.3rem}.method ol{grid-template-columns:1fr;gap:.3rem}.report-group{padding:2rem 0 2.6rem}.report-grid{grid-template-columns:1fr;gap:1rem}.report-card h3{font-size:1.1rem}.article-main{padding:1.8rem 18px 4rem}.article-main>h1{font-size:2rem}.dek{font-size:1rem}.article-hero{margin:1.5rem -18px 1.6rem}.article-hero img{aspect-ratio:16/9;max-height:none}.article-grid{gap:1.4rem}.article-aside{grid-template-columns:1fr;gap:.5rem}.toc{grid-column:auto;order:0}.ad-placeholder{min-height:54px}.prose h2{font-size:1.35rem;margin-top:2.2rem}.prose .intro{font-size:1.03rem}.flow-card{padding:1rem}.flow-card ol{grid-template-columns:1fr;gap:.6rem}.table-scroll{margin-left:-2px;margin-right:-2px}.simple-main{margin:3rem auto 5rem;padding:0 20px}.site-footer{padding:2.5rem 20px}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.footer-links a{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Round-one editorial corrections: preserve intrinsic photo proportions and give tablet grids room. */
.report-card img{height:auto;width:100%;aspect-ratio:16/9;object-fit:cover}
.article-hero img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover}
.home-hero{height:clamp(340px,48vw,560px);min-height:0;aspect-ratio:16/7}
.home-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-copy h1{text-wrap:balance;max-width:13em;font-size:clamp(2rem,4.2vw,3.8rem);line-height:1.4}
.article-dates{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;color:var(--muted);font-size:.84rem}
.breadcrumbs{max-width:1280px;margin:0 auto;padding:.8rem 32px 0;color:var(--muted);font-size:.78rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.3rem .65rem;list-style:none;margin:0;padding:0}
.breadcrumbs li+li:before{content:"/";margin-right:.65rem;color:var(--rose)}
.breadcrumbs a{color:inherit}
.analysis-note{font-size:.82rem;color:#655b62;background:#f4eee8;padding:.65rem .8rem;margin:.7rem 0 1rem!important;border-left:2px solid var(--rose)}
.source-line{font-size:.82rem}
.flow-card li strong,.flow-card li span{display:block}
.flow-card li strong{font-family:var(--serif);color:var(--purple);line-height:1.5}
.flow-card li span{margin-top:.35rem;line-height:1.65}
.ad-slot{margin:1rem 0;padding:.6rem;border:1px solid var(--line);background:#fff;font-size:.86rem}
.ad-label{display:inline-block;font-size:.67rem;letter-spacing:.08em;color:var(--muted);margin-right:.55rem}
.prose{font-size:1.06rem;line-height:1.95}
.article-grid{grid-template-columns:minmax(0,780px) minmax(230px,280px);gap:clamp(24px,4vw,60px)}
@media(max-width:1100px){.article-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.article-aside{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;order:-1}.toc{grid-column:1/-1}}
@media(max-width:600px){body{font-size:17px}.prose{font-size:1rem}.home-hero{height:auto;min-height:0;aspect-ratio:4/3}.hero-copy h1{font-size:clamp(2rem,8.5vw,2.55rem);max-width:11em;line-height:1.45}.breadcrumbs{padding:.65rem 18px 0}.article-hero{margin:1.5rem -18px 1.6rem}.article-hero img{height:auto;aspect-ratio:16/9}.report-card img{height:auto;aspect-ratio:16/9}}
/* Keep the lead visual inside the padded layout box at tablet widths. */
.home-hero{width:100%;aspect-ratio:auto}
@media(max-width:600px){.home-hero{height:min(68vh,520px);min-height:360px;aspect-ratio:auto}}
/* News commentary: article template, blog index cards and TOP latest list. */
.commentary-article .toc ul,.commentary-article .related ul{padding-left:1.2rem;margin:0;font-size:.82rem;line-height:1.8}
.commentary-article .toc li+li,.commentary-article .related li+li{margin-top:.25rem}
.commentary-body h3{font:500 1.2rem/1.6 var(--serif);color:var(--purple);margin:2rem 0 .7rem}
.commentary-body section{scroll-margin-top:1rem}
.commentary-body .article-related ul{padding-left:1.2rem}
.commentary-body a{overflow-wrap:anywhere}
.article-dates span{color:var(--muted)}
.blog-index-main{max-width:1180px}
.blog-index-lead{max-width:820px}
.blog-index-list{margin:2.2rem 0 1rem}
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.blog-grid:empty{display:none}
.blog-card{border:1px solid var(--line);background:#fff;min-width:0}
.blog-card>a{display:block;height:100%;color:inherit;text-decoration:none;padding-bottom:1.1rem}
.blog-card .card-thumb{overflow:hidden;background:var(--cream)}
.blog-card .card-thumb img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.blog-card .card-body{padding:1rem 1.2rem 0}
.blog-card time{display:block;color:var(--gold);font-size:.76rem;letter-spacing:.08em}
.blog-card h3{font:500 1.18rem/1.65 var(--serif);color:var(--purple);margin:.35rem 0 .45rem}
.blog-card p{font-size:.88rem;line-height:1.8;color:var(--muted);margin:0;max-width:none}
.blog-card a:hover h3,.blog-card a:focus-visible h3{text-decoration:underline}
.home-wrap .latest-commentary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem 0}
.home-wrap .latest-commentary .container{max-width:none;padding-inline:0;display:grid;grid-template-columns:1fr 1.2fr;gap:.5rem 2rem;align-items:start}
.home-wrap .latest-commentary h2{font:500 clamp(1.8rem,3vw,2.5rem)/1.6 var(--serif);color:var(--purple);margin:0;grid-row:span 2}
.home-wrap .latest-commentary h2:before{content:"COMMENTARY / 速報分析";display:block;font:400 .76rem/1.6 var(--sans);letter-spacing:.12em;color:var(--gold)}
.home-wrap .latest-commentary-list a{font-family:var(--serif);color:var(--purple)}
.home-wrap .latest-commentary-more{margin:.6rem 0 0}
.home-wrap .latest-commentary-list a:hover,.home-wrap .latest-commentary-list a:focus-visible{color:#3b2736}
.home-wrap .latest-commentary-more a{color:#64465B;font-weight:500}
.home-wrap .latest-commentary-list time{color:var(--gold)}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr;gap:1rem}.blog-card h3{font-size:1.1rem}.home-wrap .latest-commentary{padding:1.5rem 0}.home-wrap .latest-commentary .container{grid-template-columns:1fr}.home-wrap .latest-commentary h2{grid-row:auto}}

/* 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 */
@media(max-width:600px){.commentary-article .article-aside{grid-template-columns:1fr;gap:.5rem}}
