/* 資料ページ（/research/*, /en/japan-*）専用。style.css の上に重ねる */
.research article{max-width:920px;margin:0 auto;padding:0 clamp(20px,5vw,40px)}
.research .rs{padding:clamp(36px,5vw,56px) 0 0;max-width:none;margin:0}
.rhead{padding:clamp(40px,6vw,72px) 0 8px}
.rhead h1{font-size:clamp(30px,4.6vw,52px);line-height:1.25;margin:0 0 20px}
.kicker{display:inline-block;margin:0 0 14px;padding:2px 10px;background:var(--mist);color:var(--green-deep);font-size:14px;font-weight:700;letter-spacing:.04em}
.rhead .lead{max-width:none;margin:0 0 18px}
.meta{font-size:14px;color:var(--ink-2);margin:0}
.meta a{color:var(--green-deep);white-space:nowrap}
.research h2{font-size:clamp(22px,2.6vw,30px);margin:0 0 14px;line-height:1.35}
.intro{color:var(--ink-2);margin:0 0 18px}
.kfs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kf{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--mist);text-decoration:none;border-left:4px solid var(--green);min-width:0}
.kf b{font-family:"DotGothic16","BIZ UDPGothic",sans-serif;font-weight:400;font-size:clamp(18px,2.2vw,26px);line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}
.kf span{font-size:14px;line-height:1.5;color:var(--ink-2)}
.kf i{font-style:normal;font-size:12px;color:var(--green-deep)}
.kf:hover{background:#e2efeb}
.toc ol{columns:2;column-gap:32px;margin:0;padding-left:1.4em}
.toc li{break-inside:avoid;padding:2px 0}
.toc a,.research .ref,.research .perma,.srcs a{color:var(--green-deep)}
.disclaimer{font-size:14px;color:var(--ink-2);background:#fff8e1;border-left:4px solid #f2c94c;padding:12px 16px!important;margin-top:36px!important}
.facts{list-style:none;margin:0;padding:0;counter-reset:f}
.facts li{padding:12px 0 12px 0;border-bottom:1px solid var(--line);scroll-margin-top:16px}
.facts li:target{background:#fff8e1;box-shadow:-12px 0 0 #fff8e1,12px 0 0 #fff8e1}
.facts p{margin:0}
.ref{font-size:13px;text-decoration:none;white-space:nowrap}
.asof{display:block;font-size:13px;color:var(--ink-2);margin-top:2px}
.perma{text-decoration:none;opacity:.5}
.perma:hover{opacity:1}
.badge{display:inline-block;font-size:12px;line-height:1.6;padding:0 6px;border:1px solid #c9a227;color:#7a5d00;margin-left:4px;white-space:nowrap}
.plain{margin:0;padding-left:1.3em}
.plain li{padding:4px 0}
.cbox{display:flex;gap:10px;align-items:flex-start;background:var(--mist);padding:12px;margin:0 0 12px}
.cbox code{flex:1;min-width:0;font-size:13px;line-height:1.6;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.cbox button{flex:none;border:0;background:var(--ink);color:#fff;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px}
.srcs{font-size:14px;line-height:1.7;padding-left:2.2em;margin:0}
.srcs li{padding:6px 0;scroll-margin-top:16px;overflow-wrap:anywhere}
.srcs li:target{background:#fff8e1}
.pub{font-weight:700}
.about{padding-bottom:clamp(56px,8vw,96px)!important}
.about p{color:var(--ink-2)}
@media (max-width:860px){.kfs{grid-template-columns:repeat(2,1fr)}.toc ol{columns:1}}
@media print{.top,.foot,.about,.cbox button,.skip{display:none}.facts li{break-inside:avoid}}
