/* 全ガイド共通の版面・グラフ・表。本文最大960px、モバイル左右20px。 */
main:has(article.gd) .page-hero > .container.narrow{width:min(calc(100% - 64px),1040px)}
main article.container.narrow.gd{width:min(calc(100% - 64px),960px);font-size:17px}
main:has(article.gd) .page-hero h1{font-size:clamp(1.75rem,3.6vw,3.25rem);line-height:1.4;letter-spacing:-.025em;word-break:auto-phrase;overflow-wrap:anywhere;text-wrap:balance}
main:has(article.gd) .page-hero h1 .bun,main article.gd :is(h2,h3) .bun{display:inline}
main article.gd :is(p,li,dd,.gd-ans){line-height:1.95;line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
main article.gd > p{margin-block:0 1.35em}
main article.gd > p.reading-continuation{margin-top:-.35em}
main article.gd h2{margin:2.6em 0 .9em;padding-top:0;border-top:0;line-height:1.55;word-break:auto-phrase;text-wrap:pretty;scroll-margin-top:110px}
main article.gd h3{margin:1.8em 0 .75em;line-height:1.6;word-break:auto-phrase;text-wrap:pretty;scroll-margin-top:110px}
main article.gd .gd-ans{padding:clamp(20px,3vw,32px);margin-bottom:32px}
main article.gd .gd-toc{padding:22px 26px;margin-bottom:40px}
main article.gd .gd-chart{margin:28px 0 36px;padding:clamp(20px,3vw,32px);scroll-margin-top:105px;min-width:0}
main article.gd .gd-chart figcaption{margin:0 0 22px;font-size:1rem;line-height:1.7;word-break:auto-phrase;text-wrap:pretty}
main article.gd .gd-bars{gap:16px}
main article.gd .gd-bar{grid-template-columns:minmax(0,18em) minmax(0,1fr) max-content;gap:16px;line-height:1.6}
main article.gd .gd-bl{line-height:1.6;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
main article.gd :is(.gd-bv,.gd-cv){white-space:nowrap;font-variant-numeric:tabular-nums}
main article.gd .gd-bv{min-width:4.5em}
/* Shared grid rows keep all columns on the same scale even with multiline labels. */
main article.gd .gd-cols{height:auto;min-height:220px;grid-template-rows:auto 180px auto;grid-template-columns:repeat(var(--n),minmax(0,180px));justify-content:center;gap:10px 16px;padding:4px 0 0}
main article.gd .gd-col{height:auto;grid-row:1 / 4;grid-template-rows:subgrid;min-width:0;font-size:.85rem;align-items:stretch}
main article.gd .gd-cl{line-height:1.6;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
main article.gd .gd-cv{font-size:.85rem;line-height:1.6}
main article.gd .gd-ct{border-bottom:1px solid #c8d6f0}
main article.gd .gd-cf{left:20%;right:20%;border-radius:4px 4px 0 0}
main article.gd :is(.gd-cn,.gd-cs){font-size:.82rem;line-height:1.8;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
main article.gd .gd-cn{margin-top:20px}
main article.gd .gd-cs{margin-top:6px}
main article.gd .reading-table-wrap{max-width:100%;margin:22px 0 32px;scroll-margin-top:110px}
main article.gd .reading-table-scroll{overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border:1px solid #dce3ef;border-radius:10px;max-width:100%}
main article.gd .reading-table-scroll:focus-visible{outline:3px solid #4b78cc;outline-offset:3px}
main article.gd .reading-table-scroll table{display:table!important;width:100%;max-width:none;margin:0!important;border-collapse:collapse;table-layout:auto;font-size:.9rem;line-height:1.8}
main article.gd .reading-table-scroll :is(th,td){min-width:0;max-width:none;width:auto;padding:14px 18px;line-height:1.8;letter-spacing:normal;word-break:normal;overflow-wrap:normal;white-space:normal;vertical-align:top;text-wrap:pretty}
main article.gd .reading-table-scroll th{font-weight:700}
main article.gd .reading-table-scroll thead th{white-space:normal}
main article.gd .reading-table-scroll tr > :first-child{width:22%}
main article.gd .reading-table-scroll tr > .reading-number{white-space:nowrap;text-align:right;min-width:7em;width:9em;font-variant-numeric:tabular-nums}
main article.gd .reading-table-scroll tr > .reading-number-heading{min-width:9em;width:9em;text-align:right;white-space:nowrap}
main article.gd .reading-table-scroll .reading-numeric-table tr > :first-child:not(.reading-number){width:auto}
main article.gd .reading-table-scroll tbody tr:nth-child(even){background:#f8faff}
main article.gd .reading-table-scroll tbody tr:last-child > *{border-bottom:0}
main article.gd .reading-scroll-hint{display:none;margin:0 0 8px;font-size:.78rem;line-height:1.6;color:#53627c}
main article.gd .reading-table-wrap[data-overflow] .reading-scroll-hint{display:block}
main article.gd .reading-unit{white-space:nowrap}
main article.gd :is(.gd-src,.gd-rel){margin-top:36px}
main article.gd .gd-cta h2{margin-top:0}
/* Long explanations use the full reading width instead of narrow table columns. */
main article.gd .reading-table-scroll:has(.reading-prose-table){border:0;border-radius:0;overflow:visible}
main article.gd .reading-table-scroll .reading-prose-table{display:block!important;min-width:0!important}
main article.gd .reading-prose-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
main article.gd .reading-prose-table tbody{display:block}
main article.gd .reading-prose-table tbody tr{display:block;margin-bottom:22px;border:1px solid #dce3ef;border-radius:10px;overflow:hidden;background:#fff!important}
main article.gd .reading-prose-table tbody tr > :first-child{display:block;width:auto!important;min-width:0!important;padding:15px 20px;background:#15305f;color:#fff;font-size:1rem;font-weight:700;border:0;text-align:left;white-space:normal}
main article.gd .reading-prose-table tbody tr > :not(:first-child){display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:20px;width:auto!important;min-width:0!important;padding:18px 20px;white-space:normal;text-align:left;border-top:0}
main article.gd .reading-prose-table tbody tr > :not(:first-child)::before{content:attr(data-label);color:#53627c;font-size:.85rem;font-weight:700;line-height:1.8}
main article.gd .reading-cell-content{min-width:0;line-height:1.9;overflow-wrap:anywhere}
@media(max-width:760px){
 main article.gd .gd-bar{grid-template-columns:minmax(0,1fr) max-content;grid-template-areas:'l v' 't t';gap:8px 12px}
 main article.gd .gd-bl{grid-area:l}main article.gd .gd-bv{grid-area:v}main article.gd .gd-bt{grid-area:t}
 main article.gd .reading-table-scroll table[data-dense]{min-width:680px}
}
@media(max-width:640px){
 main:has(article.gd) .page-hero > .container.narrow,main article.container.narrow.gd{width:calc(100% - 40px)}
 main article.container.narrow.gd{font-size:16px}
 main article.gd .gd-toc{padding:18px 20px}
 main article.gd .gd-chart{padding:20px 16px;margin:24px 0 28px}
 main article.gd .gd-bars{gap:20px}
 main article.gd .gd-cols{grid-template-rows:auto 150px auto;min-height:0;gap:8px}
 main article.gd :is(.gd-col,.gd-cv){font-size:.75rem}
 main article.gd .gd-cf{left:15%;right:15%}
 main article.gd .reading-table-scroll :is(th,td){padding:12px;font-size:.86rem;line-height:1.8}
 main article.gd .reading-table-scroll table:not([data-dense]) tr > :first-child{width:32%}
 main article.gd .reading-prose-table tbody tr > :first-child{padding:14px 16px}
 main article.gd .reading-prose-table tbody tr > :not(:first-child){display:block;padding:16px}
 main article.gd .reading-prose-table tbody tr > :not(:first-child)::before{display:block;margin-bottom:6px}
}
