/* レポート共通UI。ヘッダーのタブ、ヒーロー、本文の組み方、節見出し、サイドナビ、
   About、Contact、フッター、印刷、レスポンシブまでを持つ。

   出所：projects/japan-growth-strategy/output/assets/analysis.css。
   あの記事が唯一のデザイン基準なので、共通化にあたっても書き直していない。
   scripts/ の抽出で、共通シェルに当たるセレクタだけを元の並び順のまま取り出してある。
   並び順を保っているので、元ファイルで後段のレイヤーが前段を上書きしている関係も
   そのまま再現される。

   日本成長戦略の記事は今までどおり自前の analysis.css を読む。このファイルへの
   変更でレイアウトが動かないようにするためで、意図的な重複である。
   記事固有の図解は projects/<name>/output/assets/ 側に置き、ここへ混ぜない。

   ここに足してよいのは、記事をまたいで同じ意味を持つものだけ。
   特定の記事のデータや図に紐づくセレクタを入れると、他の記事を壊す。 */

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(data:font/woff2;base64,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)
    format("woff2");
}
.sec-head{
  flex-wrap: wrap;
}
.sec-head .srcbadges{
  flex-basis: 100%;
  order: 10;
  margin-top: 10px;
}
.srcbadges{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.sb{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.08em;
  border: 1px solid;
  border-radius: 999px;
  padding: 4px 11px;
  white-space: nowrap;
  text-decoration: none;
  cursor: help;
  line-height: 1.55;
}
.sb::before{
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}
.sb em{
  font-style: normal;
  font-weight: 500;
  opacity: 0.8;
  letter-spacing: 0.03em;
}
.sb--gov{
  color: #3c5a48;
  border-color: #bcc9c1;
  background: #eef2ef;
}
.sb--doc{
  color: #3f5568;
  border-color: #c0c9d1;
  background: #eef1f4;
}
.sb--ext{
  color: #544a67;
  border-color: #c6c0d0;
  background: #f1eff5;
}
.sb--org{
  color: #6a5238;
  border-color: #d2c5b3;
  background: #f6f1ea;
}
.sb--own{
  color: #6b3b4c;
  border-color: #cfb8c0;
  background: #f6eef1;
}
.sb:hover{
  filter: brightness(0.965);
}
.srcnote{
  border-top: 1px solid var(--rule);
  margin: 32px 0 0;
  padding-top: 15px;
}
details.srcnote{
  border-top: 1px solid var(--rule);
  margin: 32px 0 0;
  padding-top: 0;
}
details.srcnote > summary{
  cursor: pointer;
  list-style: none;
  padding: 13px 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.2em;
  color: var(--muted);
}
details.srcnote > summary::-webkit-details-marker{
  display: none;
}
details.srcnote > summary::before{
  content: "＋";
  font: 500 12px var(--grotesk);
  color: var(--rule-2);
  width: 12px;
}
details.srcnote[open] > summary::before{
  content: "−";
}
details.srcnote > summary:hover{
  color: var(--green-deep);
}
details.srcnote[open] > summary{
  color: var(--muted-2);
}
details.srcnote > ul{
  padding-bottom: 16px;
}
.srcnote ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}
.srcnote li{
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted-2);
  padding-left: 15px;
  position: relative;
}
.srcnote li::before{
  content: "・";
  position: absolute;
  left: 0;
  color: var(--rule-2);
}
.srcnote li b{
  color: var(--ink);
  font-weight: 700;
}
.srcnote a{
  color: var(--green-deep);
  text-decoration: none;
  font: 700 12px var(--grotesk);
  border: 1px solid var(--green-pale-2);
  border-radius: 3px;
  padding: 1px 5px;
  margin-left: 2px;
  white-space: nowrap;
}
.srcnote a:hover{
  background: var(--green-wash-2);
}
.srcnote li.own{
  color: var(--muted);
  border-top: 1px dashed var(--rule);
  padding-top: 9px;
  margin-top: 4px;
}
.srcnote li.own::before{
  content: "注";
  font: 700 12px var(--grotesk);
  top: 9px;
}
@media (max-width: 760px){
.sb{
    font-size: 12px;
    padding: 3px 9px;
  }
.srcnote li{
    font-size: 12px;
  }
}
@media print{
.sb{
    background: #fff !important;
  }
.srcnote{
    page-break-inside: avoid;
  }
}
.viz__note small{
  display: inline-block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted);
  font-weight: 400;
}
.tab-panel{
  display: none;
}
.tab-panel.active{
  display: block;
}
body.alt-tab .side-nav,
body.alt-tab .nav-toggle{
  display: none !important;
}
body.alt-tab .wrap{
  margin-left: 0;
}
#about h3{
  margin-top: 30px;
}
#about p{
  color: var(--muted-2);
}
@media print{
.tab-panel{
    display: block !important;
  }
}
.byline{
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 18px 0 0;
  padding: 16px 0 18px;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
}
.byline__ava{
  flex: none;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--grid);
}
.byline__t{
  min-width: 0;
}
.byline__t > b{
  display: block;
  font-size: 14px;
  color: var(--ink);
}
.byline__t > span{
  display: block;
  margin-top: 4px;
  font-size: 12.5px;
  line-height: 1.95;
  color: var(--muted-2);
}
@media (max-width: 560px){
.byline__ava{
    width: 64px;
    height: 64px;
  }
}
.accs{
  margin: 18px 0 0;
  border-top: 1px solid var(--rule);
}
details.acc{
  border-bottom: 1px solid var(--rule);
}
details.acc > summary{
  margin: 0;
  padding: 15px 30px 15px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.7;
  cursor: pointer;
  list-style: none;
  position: relative;
}
details.acc > summary::-webkit-details-marker{
  display: none;
}
details.acc > summary::after{
  content: "＋";
  position: absolute;
  right: 2px;
  top: 14px;
  font: 500 15px var(--grotesk);
  color: var(--rule-2);
}
details.acc[open] > summary::after{
  content: "−";
  color: var(--green);
}
details.acc > summary:hover{
  color: var(--green-deep);
}
.acc-b{
  padding: 0 0 18px;
}
.acc-b > p{
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 2.05;
  color: var(--ink-body);
}
.acc-b > p:last-child{
  margin-bottom: 0;
}
.footer__meta{
  font-size: 12px;
  line-height: 2;
  opacity: 0.75;
  margin: 14px 0 10px;
}
:root{
  color-scheme: light;
  
  --topbar-h: 61px;
  --paper: #f9f8f5;
  --panel: #fdfcfa;
  --ink: #1a1916;
  --ink-body: #33312c;
  --ink-body-2: #4c4a44;
  --muted: #8f8b82;
  --muted-2: #6b6860;
  --rule: #dcd9d1;
  --rule-2: #c8c4ba;
  --grid: #eceae4;
  
  --green: #35322c;
  --green-deep: #201e1a;
  --green-pale: #c8c4ba;
  --green-pale-2: #b3aea3;
  --marker: #dedbd4;
  
  --quit: #a8522f;
  --quit-pale: #e6cdba;
  --zen: "Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", "Yu Gothic", sans-serif;
  --grotesk: "Space Grotesk", ui-monospace, monospace;
  --step-3: #201e1a;
  --step-2: #4a463d;
  --step-1: #9d988e;
  
  --chrome: #201e1a;
  --chrome-2: #35322c;
}
@media (max-width: 760px){
:root{
    --topbar-h: 0px;
  }
}
*{
  box-sizing: border-box;
}
html{
  scroll-behavior: smooth;
}
body{
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--zen);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-size: 15px;
  line-height: 2.1;
}
a{
  color: var(--green);
}
a:hover{
  color: var(--green-deep);
}
::selection{
  background: var(--marker);
}
.rule-strong{
  margin: 0 56px;
  height: 1px;
  background: var(--ink);
}
.wrap{
  max-width: none;
}
section{
  padding: 64px 56px;
  border-bottom: 1px solid var(--rule);
  scroll-margin-top: 64px;
}
section > *{
  max-width: 960px;
}
.side-nav{
  position: fixed;
  left: 0;
  top: var(--topbar-h);
  bottom: 0;
  width: 272px;
  padding: 24px 18px 40px 24px;
  overflow-y: auto;
  border-right: 1px solid var(--rule);
  background: rgba(246, 245, 242, 0.97);
  z-index: 8;
}
.side-nav a{
  display: block;
  text-decoration: none;
  color: var(--muted-2);
  border-left: 2px solid transparent;
  padding: 5px 8px;
  font-size: 12px;
  line-height: 1.55;
}
.side-nav a.active,
.side-nav a:hover{
  color: var(--green-deep);
  background: rgba(213, 227, 210, 0.34);
  border-left-color: var(--green);
}
.side-nav a.sub{
  font-size: 12px;
  padding-left: 20px;
  color: var(--muted);
}
.side-nav a.sub.active{
  color: var(--green-deep);
}
.hero,
.rule-strong,
.wrap{
  margin-left: 272px;
}
.nav-toggle{
  display: none;
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 30;
  border: 1px solid var(--green-deep);
  background: var(--chrome);
  color: var(--paper);
  padding: 10px 13px;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.12em;
}
@media (max-width: 1050px){
.side-nav{
    transform: translateX(-100%);
    transition: transform 0.2s;
  }
.side-nav.open{
    transform: none;
    box-shadow: 8px 0 24px rgba(0, 0, 0, 0.12);
  }
.hero,
.rule-strong,
.wrap{
    margin-left: 0;
  }
.nav-toggle{
    display: block;
  }
}
.sec-head{
  display: flex;
  align-items: baseline;
  gap: 20px;
  margin-bottom: 8px;
}
.pageno{
  font: 700 34px var(--grotesk);
  color: var(--rule-2);
  line-height: 1;
  flex: none;
}
h2{
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
h3{
  font-size: 15.5px;
  font-weight: 700;
  margin: 48px 0 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rule);
}
h4{
  font-size: 13.5px;
  font-weight: 700;
  margin: 28px 0 6px;
  color: var(--ink);
}
p{
  margin: 14px 0;
  color: var(--ink-body);
  text-wrap: pretty;
}
p:has(.sb){
  text-wrap: auto;
}
.skip-link{
  position: fixed;
  top: -56px;
  left: 8px;
  z-index: 300;
  padding: 10px 16px;
  background: var(--ink, #1d1d1b);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: top 0.15s;
}
.skip-link:focus{
  top: 8px;
}
.lead{
  margin: 14px 0 0;
  font-size: 14.5px;
  line-height: 2.2;
  color: var(--ink-body-2);
  max-width: 680px;
}
small{
  color: var(--muted);
  font-size: 12px;
  line-height: 2;
}
.key{
  margin: 32px 0 8px;
  padding: 0 0 0 24px;
  border-left: 2px solid var(--green);
  max-width: 960px;
}
.key > b:first-child{
  display: block;
  font: 500 12px var(--grotesk);
  letter-spacing: 0.24em;
  color: var(--green);
  margin-bottom: 12px;
}
.key b{
  font-weight: 700;
  color: var(--ink);
}
.key{
  font-size: 16px;
  line-height: 2.05;
  font-weight: 500;
  color: var(--ink);
}
blockquote{
  margin: 22px 0;
  padding: 22px 26px;
  background: var(--panel);
  border: 1px solid var(--rule);
  font-size: 13.5px;
  line-height: 2.15;
  color: var(--ink-body);
  max-width: 960px;
}
.sb--i{
  font-size: 12px;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  gap: 4px;
  vertical-align: 0.16em;
  margin: 0 3px 0 0;
}
.sb--i::before{
  width: 5px;
  height: 5px;
}
h3 .sb--i,
h4 .sb--i,
th .sb--i{
  vertical-align: 0.18em;
}
.sb--i + .sb--i{
  margin-left: -1px;
}
@media (max-width: 760px){
.sb--i{
    font-size: 12px;
    padding: 2px 7px;
  }
}
table{
  border-collapse: collapse;
  width: 100%;
  font-size: 12.5px;
  line-height: 1.95;
  min-width: 560px;
}
td,
th{
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
}
th{
  background: var(--paper);
  font: 700 12px var(--grotesk);
  letter-spacing: 0.1em;
  color: var(--muted-2);
  white-space: nowrap;
}
thead th{
  border-bottom: 1px solid var(--rule-2);
}
tbody th{
  font: 700 12px var(--zen);
  letter-spacing: 0;
  color: var(--ink);
  white-space: normal;
}
tbody tr:last-child td{
  border-bottom: none;
}
tbody tr:hover{
  background: rgba(213, 227, 210, 0.22);
}
td{
  color: var(--ink-body);
}
td b,
th b{
  color: var(--ink);
}
figure{
  margin: 34px 0;
  max-width: 960px;
}
figcaption{
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
ul.plain{
  padding-left: 1.15em;
  margin: 14px 0;
}
ul.plain li{
  margin: 8px 0;
  line-height: 2.1;
  color: var(--ink-body);
}
ul.plain li b{
  color: var(--ink);
}
ul.plain--label{
  padding-left: 0;
  list-style: none;
  --lb-w: 78px;
  --lb-gap: 12px;
}
ul.plain--label li{
  line-height: 1.95;
  padding-left: calc(var(--lb-w) + var(--lb-gap));
  text-indent: calc(-1 * (var(--lb-w) + var(--lb-gap)));
}
ul.plain--label li > b:first-child{
  display: inline-block;
  min-width: var(--lb-w);
  margin-right: var(--lb-gap);
  text-indent: 0;
  font: 700 12px var(--grotesk);
  color: var(--green);
}
@media (max-width: 640px){
ul.plain--label li{
    padding-left: 0;
    text-indent: 0;
  }
ul.plain--label li > b:first-child{
    display: block;
    margin: 0 0 2px;
  }
}
.tip{
  position: fixed;
  pointer-events: none;
  background: var(--ink);
  color: var(--paper);
  font-size: 12px;
  padding: 7px 11px;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.12s;
  z-index: 50;
  max-width: 280px;
  line-height: 1.8;
}
footer{
  background: var(--chrome);
  color: var(--paper);
  padding: 54px 56px;
}
footer p{
  color: var(--paper);
  font-size: 13.5px;
  line-height: 2.2;
  margin: 0 0 8px;
  max-width: 760px;
}
footer .footer__copy{
  font: 500 12px var(--grotesk);
  letter-spacing: 0.2em;
  color: var(--green-pale-2);
  margin-top: 28px;
}
.viz{
  margin: 34px 0;
  max-width: 960px;
}
.viz__cap{
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
.viz__note{
  font-size: 12px;
  line-height: 2;
  color: var(--muted);
  margin: 0 0 20px;
  max-width: 760px;
}
.viz__foot{
  font-size: 12px;
  line-height: 2;
  color: var(--muted-2);
  margin: 16px 0 0;
  max-width: 760px;
}
.viz__scroll{
  overflow-x: auto;
}
details.fold{
  border: 1px solid var(--rule);
  background: var(--panel);
  margin: 0 0 -1px;
}
details.fold > summary{
  cursor: pointer;
  list-style: none;
  padding: 13px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}
details.fold > summary::-webkit-details-marker{
  display: none;
}
details.fold > summary::after{
  content: "＋";
  margin-left: auto;
  font: 500 13px var(--grotesk);
  color: var(--muted);
}
details.fold[open] > summary::after{
  content: "−";
}
details.fold > summary:hover{
  background: rgba(213, 227, 210, 0.25);
}
@media (max-width: 900px){
footer,
section{
    padding-left: 28px;
    padding-right: 28px;
  }
.rule-strong{
    margin: 0 28px;
  }
}
:root{
  --ink-body: #252d29;
  --ink-body-2: #34413a;
  --muted: #56645d;
  --muted-2: #46554d;
  --rule: #cfd7d1;
  --rule-2: #aebbb2;
  --grid: #e3e9e4;
  --green: #35322c;
  --green-deep: #201e1a;
  --green-bright: #55504a;
  --green-wash: #eeece7;
  --green-wash-2: #e2dfd8;
}
body{
  background: #f7f8f5;
}
section:nth-of-type(2n){
  background: rgba(232, 240, 234, 0.18);
}
.viz__cap,
figcaption,
h2,
h3,
h4{
  color: var(--ink);
}
h2{
  font-size: 26px;
  letter-spacing: 0.01em;
}
h3{
  font-size: 17px;
  border-bottom: 2px solid var(--rule-2);
}
h4{
  font-size: 14.5px;
}
.side-nav a.sub,
.viz__foot,
.viz__note,
small{
  color: var(--muted);
}
.pageno{
  color: var(--green-bright);
  opacity: 0.72;
}
.sec-head{
  align-items: center;
  gap: 14px;
}
.sec-icon{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  color: var(--paper);
  background: var(--chrome);
  box-shadow: 0 8px 18px rgba(26, 25, 22, 0.16);
}
.sec-icon svg{
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.key{
  padding: 22px 26px;
  border: 1px solid var(--green-pale-2);
  border-left: 5px solid var(--green);
  background: linear-gradient(135deg, var(--green-wash), rgba(255, 255, 255, 0.76));
  border-radius: 0 10px 10px 0;
}
.key > b:first-child{
  color: var(--green-deep);
}
th{
  color: var(--ink);
  background: var(--grid);
}
.viz{
  padding: 26px;
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.66);
  box-shadow: 0 12px 30px rgba(26, 25, 22, 0.055);
}
@media (max-width: 760px){
.viz{
    padding: 18px 14px;
  }
.sec-icon{
    width: 38px;
    height: 38px;
  }
.sec-icon svg{
    width: 19px;
    height: 19px;
  }
}
:root{
  
  --g1: #3f5a75;
  --g1-mid: #8697a8;
  --g1-wash: #eef0f3;
  --g2: #8a5238;
  --g2-mid: #b59282;
  --g2-wash: #f4efed;
  --g3: #3f6147;
  --g3-mid: #869b8b;
  --g3-wash: #eef1ee;
  --g4: #79a09c;
  --g4-mid: #abc3c1;
  --g4-wash: #f3f6f6;
  --g5: #6d5f8b;
  --g5-mid: #a39ab6;
  --g5-wash: #f2f1f5;
  --amber: #a8522f;
  --amber-deep: #8a4126;
  --amber-wash: #f8f0e8;
}
#progress{
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0;
  background: linear-gradient(90deg, var(--green-bright), var(--green-deep));
  z-index: 95;
}
#totop{
  position: fixed;
  right: 16px;
  bottom: 66px;
  z-index: 30;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid var(--green-deep);
  background: rgba(23, 63, 43, 0.93);
  color: #f2f4ef;
  font: 700 15px var(--grotesk);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition:
    opacity 0.25s,
    transform 0.25s;
  box-shadow: 0 8px 20px rgba(23, 63, 43, 0.3);
}
#totop.show{
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
#totop:hover{
  background: var(--chrome-2);
}
@media (min-width: 1051px){
#totop{
    bottom: 20px;
  }
}
section,
.wrap h3[id]{
  scroll-margin-top: calc(var(--topbar-h) + 18px);
}
.side-nav{
  top: var(--topbar-h);
  padding-top: 20px;
}
.side-nav__brand{
  font: 700 12px var(--grotesk);
  letter-spacing: 0.24em;
  color: var(--green-deep);
  margin: 0 0 5px;
}
.side-nav__doc{
  font-size: 12px;
  color: var(--muted);
  line-height: 1.75;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--rule);
}
.side-nav .nav-grp{
  display: block;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.16em;
  color: var(--muted);
  margin: 18px 0 4px;
  line-height: 1.6;
}
.side-nav .nav-grp:first-of-type{
  margin-top: 0;
}
.side-nav a{
  display: flex;
  align-items: flex-start;
  gap: 7px;
}
.side-nav a .nv-ico{
  flex: none;
  width: 13px;
  height: 13px;
  margin-top: 2px;
  opacity: 0.75;
}
.side-nav a .nv-ico svg{
  width: 13px;
  height: 13px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
  display: block;
}
.sec-head{
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.sec-ttl{
  flex: 1;
  min-width: 0;
}
.sec-kicker{
  display: block;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.22em;
  color: var(--muted);
  margin-bottom: 5px;
}
.sec-head .pageno{
  margin-left: auto;
  order: 9;
  font-size: 42px;
  background: linear-gradient(180deg, var(--green-bright), var(--green-deep));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  opacity: 0.5;
}
.sec-icon{
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(140deg, var(--green), var(--green-deep));
  box-shadow: 0 10px 22px rgba(23, 63, 43, 0.22);
}
.sec-icon svg{
  width: 23px;
  height: 23px;
}
section h3::before{
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--chrome-2);
  transform: rotate(45deg);
  margin-right: 10px;
  vertical-align: 1px;
}
#contact h3::before{
  background: linear-gradient(135deg, #8fc3a3, #4d8c68);
}
details.fold > summary{
  border-left: 3px solid transparent;
}
@keyframes corePulse {
  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
  }
  50% {
    transform: translate(-50%, -50%) scale(1.035);
  }
}
.viz{
  transition: box-shadow 0.25s ease;
}
.viz:hover{
  box-shadow: 0 16px 40px rgba(23, 63, 43, 0.1);
}
.rv{
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.6s cubic-bezier(0.2, 0.6, 0.2, 1),
    transform 0.6s cubic-bezier(0.2, 0.6, 0.2, 1);
}
.rv--fade{
  transform: none;
}
.rv.rv-in{
  opacity: 1;
  transform: none;
}
@media (prefers-reduced-motion: reduce){
.rv{
    opacity: 1;
    transform: none;
    transition: none;
  }
}
.numcards{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin: 24px 0;
  max-width: 960px;
}
.numcard{
  border: 1px solid var(--rule);
  border-radius: 12px;
  background: var(--panel);
  padding: 16px 18px;
  position: relative;
  box-shadow: 0 7px 22px rgba(23, 63, 43, 0.05);
}
.numcard .n-v{
  font: 700 25px var(--grotesk);
  color: var(--green-deep);
  line-height: 1.1;
}
.numcard .n-k{
  display: block;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
  margin-top: 8px;
  line-height: 1.7;
}
.numcard .n-s{
  display: block;
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted-2);
  margin-top: 5px;
}
.numcard .n-tag{
  position: absolute;
  top: 14px;
  right: 14px;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.12em;
  border-radius: 999px;
  padding: 4px 10px;
}
.numcard .n-tag--target{
  background: var(--green-wash-2);
  color: var(--green-deep);
}
.numcard .n-tag--est{
  background: var(--g1-wash);
  color: var(--g1);
}
.hero{
  padding: 0;
}
.hero2{
  position: relative;
  overflow: hidden;
  color: var(--ink);
  background: var(--paper);
  border-bottom: 1px solid var(--rule);
}
.hero2__ink{
  position: absolute;
  right: -3%;
  bottom: -13%;
  width: 58%;
  height: auto;
  fill: var(--ink);
  pointer-events: none;
}
@media (max-width: 900px){
.hero2__ink{
    width: 104%;
    right: -20%;
    bottom: -6%;
    opacity: 0.16;
  }
}
@keyframes heroDrift {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(260px, 130px, 0);
  }
}
.hero2__inner{
  position: relative;
  z-index: 2;
  padding: 110px 56px 96px;
}
.hero2__title{
  margin: 0;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
  max-width: 920px;
  text-wrap: balance;
  letter-spacing: 0.02em;
}
.hero2__lead{
  margin: 24px 0 0;
  max-width: 620px;
  font-size: 14.5px;
  line-height: 2.15;
  color: var(--muted-2);
  text-wrap: pretty;
}
@keyframes cueFloat {
  0%,
  100% {
    transform: translateY(0);
    opacity: 0.7;
  }
  50% {
    transform: translateY(6px);
    opacity: 1;
  }
}
#contact{
  background:
    radial-gradient(900px 500px at 90% -10%, rgba(120, 114, 102, 0.28), transparent 60%),
    linear-gradient(158deg, #16150f 0%, #201e1a 60%, #2b2822 100%);
  border-bottom: none;
  color: #eef3ee;
  position: relative;
  overflow: hidden;
}
#contact::before{
  content: "";
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1.4px);
  background-size: 26px 26px;
  opacity: 0.5;
  pointer-events: none;
}
#contact > *{
  position: relative;
  z-index: 1;
}
#contact h2{
  color: #fff;
}
#contact .sec-kicker{
  color: #9cb1a2;
}
#contact .sec-icon{
  background: linear-gradient(140deg, #4a463d, #201e1a);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.35);
}
#contact .lead{
  color: #ccdad0;
  max-width: 740px;
}
#contact h3{
  color: #e3ece5;
  border-bottom-color: rgba(255, 255, 255, 0.18);
}
#contact p{
  color: #c4d3c8;
}
#contact small{
  color: #9cb1a2;
}
.ct-mail-link {
  color: #fff;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.ct-mail-link:hover {
  text-decoration-thickness: 2px;
}
@media print{
#progress,
#totop,
.nav-toggle,
.side-nav,
.tip{
    display: none !important;
  }
.hero,
.rule-strong,
.wrap,
footer{
    margin-left: 0 !important;
  }
body{
    background: #fff;
  }
.rv{
    opacity: 1 !important;
    transform: none !important;
  }
.hero2,
#contact,
footer{
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
section{
    padding: 34px 30px;
    border-bottom: 1px solid var(--rule);
  }
.viz,
figure,
blockquote,
.numcards{
    page-break-inside: avoid;
  }
h2,
h3{
    page-break-after: avoid;
  }
details.fold{
    page-break-inside: avoid;
  }
details.fold > summary::after{
    display: none;
  }
.viz__scroll{
    overflow: visible;
  }
}
@media (max-width: 900px){
.hero2__inner{
    padding: 52px 28px 38px;
  }
.hero2__title{
    font-size: 42px;
  }
}
@media (max-width: 640px){
.hero2__title{
    font-size: 32px;
  }
.sec-head .pageno{
    display: none;
  }
.sec-icon{
    width: 40px;
    height: 40px;
    border-radius: 11px;
  }
.sec-icon svg{
    width: 19px;
    height: 19px;
  }
}
.mininote{
  font-size: 12px;
  line-height: 1.9;
  color: var(--muted-2);
  margin: 10px 0 0;
}
.srcgrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 1px;
  background: var(--rule);
  border: 1px solid var(--rule);
  margin: 16px 0 26px;
}
.srcgrid--3{
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.srccard{
  background: var(--panel);
  padding: 15px 19px;
}
.src-h{
  display: flex;
  gap: 10px;
  align-items: baseline;
}
.src-id{
  flex: none;
  font: 700 12px var(--grotesk);
  letter-spacing: 0.06em;
  color: #fff;
  background: var(--chrome);
  border-radius: 4px;
  padding: 3px 8px;
}
.src-t{
  font-size: 12px;
  line-height: 1.9;
  font-weight: 700;
  color: var(--ink);
}
.src-t a{
  color: var(--green-deep);
  text-underline-offset: 3px;
}
.src-use{
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin: 9px 0 0;
}
.src-use i{
  font: 700 12px var(--grotesk);
  font-style: normal;
  border: 1px solid var(--rule-2);
  border-radius: 999px;
  padding: 2px 8px;
  color: var(--muted-2);
  background: #fff;
}
.src-what{
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.95;
  color: var(--muted-2);
}
details.viz > summary.viz__cap{
  cursor: pointer;
  list-style: none;
}
details.viz > summary.viz__cap::-webkit-details-marker{
  display: none;
}
details.viz > summary.viz__cap::after{
  content: "＋ 開く";
  font: 700 12px var(--grotesk);
  letter-spacing: 0.16em;
  color: var(--muted-2);
  margin-left: 12px;
  vertical-align: 2px;
}
details.viz[open] > summary.viz__cap::after{
  content: "− 閉じる";
}
details.viz > summary.viz__cap:hover::after{
  color: var(--green-deep);
}
details.viz > summary.viz__cap:focus-visible{
  outline: 2px solid var(--green-pale-2);
  outline-offset: 3px;
}
details.viz > .viz__scroll{
  margin-top: 14px;
}
.side-nav{
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.side-nav__head{
  flex: none;
}
.side-nav__head .side-nav__doc{
  margin-bottom: 12px;
}
.side-nav__list{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-right: -8px;
  padding-right: 8px;
}
.gate{
  padding: 54px 56px 20px;
}
.gate > *{
  max-width: 960px;
}
.gate__no{
  font: 700 12px var(--grotesk);
  letter-spacing: 0.16em;
  color: var(--chrome-2);
}
.gate > h2{
  margin: 6px 0 18px;
  font-size: 30px;
  line-height: 1.45;
  color: var(--green-deep);
  text-wrap: balance;
  border: 0;
  padding: 0;
}
.gate__lead{
  margin: 20px 0 0;
  max-width: 760px;
  font-size: 14px;
  line-height: 2.05;
  color: var(--ink-body);
}
@media (max-width: 860px){
.gate > h2{
    font-size: 23px;
  }
}
a.nav-grp--link{
  text-decoration: none;
  cursor: pointer;
}
a.nav-grp--link:hover{
  color: var(--green-deep);
  text-decoration: underline;
}
a.nav-grp--link:focus-visible{
  outline: 2px solid var(--green-pale-2);
  outline-offset: 2px;
}
.footer__ct{
  border: 0;
  background: none;
  padding: 0;
  font: inherit;
  color: var(--green-pale);
  text-decoration: underline;
  cursor: pointer;
}
.footer__ct:hover{
  color: #fff;
}
.side-nav a.sub{
  position: relative;
  padding-left: 40px; 
}
.side-nav a.sub::before{
  content: "";
  position: absolute;
  left: 28px; 
  top: 0;
  bottom: 0;
  width: 1px;
  background: var(--rule);
}
.side-nav a.sub.active{
  border-left-color: transparent;
}
.side-nav a.sub.active::before{
  width: 2px;
  background: var(--green);
}
.wrap > section{
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}
.wrap > section.gate{
  contain-intrinsic-size: auto 520px;
}
@media print{
.wrap > section,
.wrap > section.gate{
    content-visibility: visible;
  }
}
.footer__ct--light{
  color: var(--green);
}
.footer__ct--light:hover{
  color: var(--green-deep);
}
.gate{
  position: relative;
  overflow: hidden;
}
.gate__ink{
  position: absolute;
  top: 26px;
  right: 40px;
  width: 168px;
  height: 92px;
  fill: var(--ink);
  opacity: 0.09;
  pointer-events: none;
}
@media (max-width: 760px){
.gate__ink{
    width: 110px;
    height: 62px;
    right: 14px;
    top: 18px;
  }
}
.ink-defs{
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
@media (max-width: 720px){
body{
    font-size: 16px;
  }
}
.gate .gate__no{
  color: var(--part-c, var(--chrome-2));
}
body{
  font-size: 16px;
}
.viz__note,
.viz__foot,
.mininote,
.srcnote li{
  font-size: 13px;
}
