*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#F3F1E9;color:#203340;font:16px/1.9 "Noto Sans JP","Yu Gothic",sans-serif;overflow-wrap:anywhere}img{display:block;max-width:100%;height:auto}a{color:#173E66;text-underline-offset:.22em}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid #AD741E;outline-offset:4px}[hidden]{display:none!important}.en{font:700 .72rem/1.5 Consolas,monospace;letter-spacing:.16em;color:#AD741E}.skip-link{position:fixed;top:-100px;left:12px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:#F3F1E9;border-bottom:1px solid #bfc7c8}.header-inner{max-width:1280px;margin:auto;min-height:90px;padding:12px 30px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{color:#203340;text-decoration:none;flex-shrink:0}.brand span{display:block;font:700 .65rem Consolas,monospace;letter-spacing:.12em;color:#AD741E}.brand b{display:block;font-size:1rem}.desktop-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;justify-content:flex-end;max-width:680px}.desktop-nav a{color:#203340;text-decoration:none;white-space:nowrap;font-size:.82rem;padding:10px 0;border-bottom:2px solid transparent}.desktop-nav a:hover{border-color:#AD741E}.menu-toggle{display:none;width:48px;height:48px;border:1px solid #9aa6ab;background:transparent;padding:10px}.menu-toggle i{display:block;height:2px;background:#173E66;margin:5px 0}.mobile-nav{padding:10px 22px 18px;border-top:1px solid #bfc7c8;background:#F3F1E9}.mobile-nav a{display:block;padding:12px 0;border-bottom:1px solid #bfc7c8;color:#203340;text-decoration:none}.site-footer{background:#173E66;color:#fff;padding:54px 26px 24px}.footer-inner{max-width:1220px;margin:auto;display:grid;grid-template-columns:2fr 1fr;gap:26px 50px}.site-footer .en{color:#e6bf78}.site-footer p,.site-footer a{font-size:.83rem;color:#fff}.site-footer nav{display:flex;flex-direction:column;gap:10px}.footer-legal{grid-column:1/-1;border-top:1px solid #ffffff55;padding-top:22px;display:flex;flex-wrap:wrap;gap:12px 22px}.site-footer small{grid-column:1/-1;color:#ffffffbc}.home-hero{position:relative;min-height:630px;isolation:isolate;overflow:hidden;background:#173E66;color:#fff}.home-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102e4df2 0%,#102e4dcc 42%,#102e4d1a 82%);z-index:-1}.hero-copy{max-width:1280px;margin:auto;padding:95px 42px 90px;color:white}.hero-copy .en{color:#f1cb7f}.hero-copy h1{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.45;text-shadow:0 3px 10px #000,0 1px 2px #000;margin:24px 0}.hero-copy>p:not(.en){font-size:1.04rem;max-width:620px;text-shadow:0 2px 6px #000}.hero-actions{display:flex;gap:0;margin-top:30px;flex-wrap:wrap}.hero-actions a{min-width:148px;padding:12px 18px;color:#fff;text-decoration:none;border:1px solid #fff;border-right:0}.hero-actions a:last-child{border-right:1px solid #fff}.image-note{position:absolute;right:14px;bottom:10px;background:#000b;color:#fff;padding:2px 8px;font-size:.65rem}.intro-band,.latest,.responsibility,.reports-index,.editorial-home,.partner-prompt{max-width:1240px;margin:auto;padding:70px 34px}.intro-band{display:grid;grid-template-columns:1fr 2.3fr;gap:55px}.intro-band h2,.responsibility h2,.section-head h2,.editorial-home h2{font:600 clamp(1.5rem,2.6vw,2.2rem)/1.55 "Noto Serif JP","Yu Mincho",serif;margin:0 0 18px}.latest{border-block:1px solid #c5c9c6;display:grid;grid-template-columns:1fr 2fr auto;gap:22px;align-items:center;background:#fffdf6;max-width:none;padding-inline:max(34px,calc((100% - 1172px)/2))}.latest h2{font-size:1.25rem;margin:0}.latest a{white-space:nowrap}.empty-note{border-left:3px solid #AD741E;padding:14px 18px;background:#fffdf6}.responsibility{background:#173E66;color:white;max-width:none;padding-inline:max(34px,calc((100% - 1172px)/2))}.responsibility .en{color:#e6bf78}.process-chart{margin:22px 0}.process-chart figcaption{font-weight:700;margin-bottom:14px}.process-chart ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0;list-style:none}.process-chart li{border:1px solid currentColor;min-height:82px;padding:14px;display:flex;gap:12px;align-items:flex-start}.process-chart li b{font:700 .78rem Consolas;color:#AD741E}.diagram-note{font-size:.92rem;line-height:1.7;color:#374954;opacity:1}.lane-diagram{margin:28px 0}.lane-diagram figcaption,.chart-figure figcaption{font-weight:700;margin-bottom:14px}.lane-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.diagram-lane{border:1px solid #91a0a5;background:#fffdf6;padding:18px}.diagram-lane h3{margin:0 0 12px;color:#173E66;font-size:1rem}.diagram-lane ol{padding-left:24px;margin:0}.diagram-lane li{padding:5px 0}.sensitivity-chart{display:block;width:100%;max-width:620px;height:auto;background:#fffdf6;border:1px solid #c4ccca}.chart-figure{margin:20px 0}.latest article{padding:10px 0;border-bottom:1px solid #c4ccca}.reports-index{padding-block:55px}.tinted{max-width:none;background:#e8e7df;padding-inline:max(34px,calc((100% - 1172px)/2))}.section-head{max-width:1240px;margin:0 auto 32px}.section-head h2{margin:3px 0}.section-head>p:last-child{max-width:680px}.index-row{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:65px minmax(220px,31%) minmax(0,1fr);gap:25px;padding:27px 0;border-top:1px solid #aeb8bb;align-items:center}.row-no{font:400 2rem/1 Georgia,serif;color:#AD741E}.index-row img{width:100%;aspect-ratio:16/9;object-fit:cover}.index-row h3{font:600 1.28rem/1.55 "Noto Serif JP","Yu Mincho",serif;margin:6px 0 12px}.index-row h3 a{color:#173E66;text-decoration:none}.index-row p:not(.en){font-size:.9rem;color:#495960}.text-link{font-size:.82rem;font-weight:700}.editorial-home{border-top:1px solid #bfc7c8}.partner-prompt{background:#ad741e;color:#fff;max-width:none;padding:30px max(34px,calc((100% - 1172px)/2))}.partner-prompt .en{color:#fff}.partner-prompt p{display:inline-block;margin-inline:20px}.partner-prompt a{color:#fff;font-weight:700}.breadcrumbs{max-width:1240px;margin:auto;padding:15px 28px;display:flex;gap:12px;font-size:.78rem;color:#59666b}.breadcrumbs a{color:inherit}.article-hero,.simple-hero{position:relative;isolation:isolate;min-height:320px;background:#173E66;color:white;display:flex;align-items:center;overflow:hidden}.article-hero>img,.simple-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.article-hero:after,.simple-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102e4deF,#102e4dbb 52%,#102e4d15);z-index:-1}.article-hero>div,.simple-hero>div{max-width:1240px;width:100%;margin:auto;padding:45px 32px}.article-hero .en,.simple-hero .en{color:#f1cb7f}.article-hero h1,.simple-hero h1{font:600 clamp(1.8rem,4vw,3.2rem)/1.5 "Noto Serif JP","Yu Mincho",serif;text-shadow:0 2px 9px #000;margin:10px 0}.article-hero>div>p:last-child,.simple-hero>div>p:last-child{max-width:760px;text-shadow:0 2px 6px #000}.article-hero small{position:absolute;bottom:9px;right:15px;background:#000b;padding:2px 7px;font-size:.65rem}.article-layout{max-width:1240px;margin:auto;padding:52px 28px 90px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start}.article-body{min-width:0;font-size:1rem}.article-body>section{margin:0 0 53px}.article-body h2,.simple-content h2{font:600 1.45rem/1.6 "Noto Serif JP","Yu Mincho",serif;border-top:2px solid #173E66;padding-top:17px;margin:0 0 18px}.article-body p{line-height:2.05;margin:0 0 18px}.byline{font-size:.75rem!important;color:#647076;border-bottom:1px solid #bbc3c4;padding:0 0 16px}.article-intro{background:#fffdf6;border-left:4px solid #AD741E;padding:20px 24px;margin:30px 0 45px}.article-intro p:last-child{margin:0}.source-line{font-size:.75rem;color:#5d6a70;border-top:1px solid #c8cecb;padding-top:12px}.source-line a{margin-inline:3px}.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #bfc7c8}table{border-collapse:collapse;width:100%;min-width:650px;background:#fffdf6;font-size:.82rem}caption{text-align:left;padding:10px;color:#546269;font-size:.75rem}th,td{border:1px solid #c4ccca;padding:13px 14px;text-align:left;vertical-align:top}thead th{background:#173E66;color:white}.case-study{padding:25px;background:#e9e8df;border:1px solid #c4ccca}.case-study h2{border:0;padding:0}.case-study .en{margin-top:0}.case-study p:last-child{margin-bottom:0}.article-body details{border-bottom:1px solid #c4ccca;padding:15px 0}.article-body summary{font-weight:700;cursor:pointer}.article-body details p{font-size:.9rem;margin:12px 0 0}.source-list{padding-left:22px}.source-list li{margin:0 0 17px;font-size:.86rem}.source-list span{display:block;color:#58666b;font-size:.75rem}.sidebar{position:sticky;top:118px;min-width:0}.toc-panel,.related-panel{padding:23px;background:#fffdf6;border:1px solid #c4ccca;margin-bottom:20px}.sidebar h2{font-size:1rem;line-height:1.5;margin:0 0 15px}.sidebar ol,.sidebar ul{padding-left:20px;margin:0}.sidebar li{font-size:.79rem;margin:0 0 12px}.sidebar-note{font-size:.75rem;color:#56646a}.related-inline{border-top:1px solid #bec7c8;padding-top:22px}.related-inline h2{font-size:1.1rem;border:0;padding:0}.simple-content{max-width:1000px;padding:45px 30px 85px;margin:auto}.simple-content h2{margin-top:34px}.simple-content a{font-weight:700}.blog-empty{padding:22px;border-left:3px solid #ad741e;background:white}
@media(max-width:1023px){.desktop-nav{display:none}.menu-toggle{display:block;flex:none}.header-inner{min-height:78px;padding-inline:22px}.article-layout{grid-template-columns:minmax(0,1fr);gap:28px}.sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;order:-1}.sidebar>*{min-width:0}.sidebar-note{grid-column:1/-1}.intro-band{grid-template-columns:1fr;gap:12px}.latest{grid-template-columns:1fr;gap:10px}.process-chart ol{grid-template-columns:repeat(2,minmax(0,1fr))}.index-row{grid-template-columns:45px minmax(180px,34%) minmax(0,1fr);gap:17px}}
@media(max-width:600px){body{font-size:16px}.header-inner{padding-inline:18px}.brand span{font-size:.55rem}.brand b{font-size:.85rem}.home-hero{min-height:570px}.home-hero>img{object-position:62% center}.hero-shade{background:linear-gradient(90deg,#102e4def,#102e4dbc 72%,#102e4d80)}.hero-copy{padding:54px 20px 66px}.hero-copy h1{font-size:2.1rem}.hero-copy>p:not(.en){font-size:.9rem}.hero-actions a{min-width:0;flex:1;padding:10px 9px;text-align:center;font-size:.78rem}.intro-band,.latest,.responsibility,.reports-index,.editorial-home{padding:42px 19px}.responsibility,.tinted{padding-inline:19px}.process-chart ol{grid-template-columns:1fr;gap:8px}.lane-grid{grid-template-columns:1fr}.process-chart li{padding:12px 9px;font-size:.76rem;min-height:76px}.index-row{grid-template-columns:38px 1fr;gap:10px 13px;padding:22px 0}.index-row img{grid-column:2;grid-row:1;width:100%}.index-row>div{grid-column:2}.index-row h3{font-size:1.08rem}.partner-prompt{padding:25px 19px}.partner-prompt p{display:block;margin:10px 0}.breadcrumbs{padding-inline:18px;font-size:.7rem}.article-hero,.simple-hero{min-height:300px}.article-hero>div,.simple-hero>div{padding:35px 20px}.article-hero h1,.simple-hero h1{font-size:1.65rem}.article-layout{padding:32px 18px 55px}.article-body{font-size:1rem}.article-body h2,.simple-content h2{font-size:1.2rem}.article-intro,.case-study{padding:18px}.sidebar{display:block}.simple-content{padding:32px 20px 60px}.footer-inner{grid-template-columns:1fr}.footer-legal,.site-footer small{grid-column:1}.site-footer{padding:40px 20px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* COMMENTARY-CARDS:START */
/* ニュースコメンタリー一覧カード・記事本文・TOP最新欄（news-commentary-creator 用） */
.commentary-index{max-width:1180px}
.commentary-index-title{margin-top:0!important}
.commentary-index-note{font-size:.88rem;color:#4d5d64;margin-top:34px}
.blog-card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:8px 0 10px}
.blog-card-list:empty{display:none}
.blog-card{min-width:0;background:#fffdf6;border:1px solid #c4ccca;border-top:3px solid #173E66;transition:box-shadow .2s,transform .2s}
.blog-card:hover{box-shadow:0 10px 26px #173e6624;transform:translateY(-2px)}
.blog-card>a{display:flex;flex-direction:column;height:100%;color:#203340;text-decoration:none;font-weight:400}
.blog-card .card-thumb{aspect-ratio:16/9;overflow:hidden;background:#e8e7df}
.blog-card .card-thumb img{width:100%;height:100%;object-fit:cover}
.blog-card .card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}
.blog-card time{font:700 .72rem/1.5 Consolas,monospace;letter-spacing:.1em;color:#AD741E}
.blog-card h3{font:600 1.06rem/1.6 "Noto Serif JP","Yu Mincho",serif;color:#173E66;margin:0}
.blog-card p{font-size:.84rem;line-height:1.8;color:#4d5d64;margin:0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.blog-card>a:hover h3{text-decoration:underline;text-underline-offset:.2em}
.commentary-body .article-intro{display:block}
.commentary-body .article-intro h2{border-top:0;padding-top:0;margin-bottom:12px;font-size:1.2rem}
.commentary-body h3{font:600 1.12rem/1.6 "Noto Serif JP","Yu Mincho",serif;color:#173E66;border-left:3px solid #AD741E;padding-left:12px;margin:30px 0 12px}
.news-source-ref{font-size:.8rem!important;line-height:1.8!important;color:#4d5d64;border-top:1px solid #c8cecb;padding-top:12px;margin-top:16px!important}
.news-source-ref a{overflow-wrap:anywhere}
.article-related ul{padding-left:22px}
.article-related li{margin:0 0 10px}
.commentary-disclaimer{font-size:.8rem!important;line-height:1.8!important;color:#58666b;background:#e9e8df;padding:14px 18px}
.sidebar .toc-panel ul{padding-left:20px;margin:0}
.article-hero-image{object-position:center}
html .latest-commentary{background:#fffdf6;border-block:1px solid #c5c9c6;padding:56px 0}
html .latest-commentary .container{max-width:1240px;margin:auto;padding-inline:34px}
html .latest-commentary h2{font:600 clamp(1.25rem,2.2vw,1.6rem)/1.5 "Noto Serif JP","Yu Mincho",serif;color:#203340;margin:0 0 18px}
html .latest-commentary h2:before{content:"LATEST COMMENTARY";display:block;font:700 .72rem/1.5 Consolas,monospace;letter-spacing:.16em;color:#AD741E;margin-bottom:4px}
html .latest-commentary-list li{border-bottom:1px solid #c4ccca;padding:14px 0}
html .latest-commentary-list time{font:700 .78rem/1.5 Consolas,monospace;color:#AD741E;letter-spacing:.06em}
html .latest-commentary-list a{color:#173E66;font-weight:600}
html .latest-commentary-list a:hover{color:#AD741E}
html .latest-commentary-more a{color:#173E66;font-weight:700}
@media(max-width:1023px){.blog-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.blog-card-list{grid-template-columns:1fr}.blog-card .card-body{padding:16px}html .latest-commentary{padding:40px 0}html .latest-commentary .container{padding-inline:19px}}
/* COMMENTARY-CARDS:END */

/* 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 #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: #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 */
