/* 子会社設立の実務ノート（S-23）kogaisha-note
   配色：鋼グレー #5f6266 ／ シアン #1aa6c9（線とノードの縁だけ。文字・地には使わない）／ 白 ／ 文字 #1f2328
   書体：角ゴシック（IBM Plex Sans JP）。数字は等幅 */
:root{
  --kgs-steel:#5f6266;
  --kgs-cyan:#1aa6c9;
  --kgs-white:#ffffff;
  --kgs-ink:#1f2328;
  --kgs-shade:#e2e5e8;
  --kgs-paper:#f5f6f7;
  --kgs-rule:#cfd3d7;
  --kgs-steel-dk:#45484c;
  --kgs-font:"IBM Plex Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --kgs-gap:clamp(16px,2.4vw,28px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--kgs-white);color:var(--kgs-ink);font-family:var(--kgs-font);font-size:16px;line-height:1.85;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
img{max-width:100%;height:auto;display:block}
a{color:var(--kgs-ink);text-decoration-color:var(--kgs-cyan);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--kgs-ink)}
.kgs-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
.kgs-skip{position:absolute;left:-999px;top:0}
.kgs-skip:focus{left:8px;z-index:100;background:#fff;padding:6px 10px}
:focus-visible{outline:3px solid var(--kgs-cyan);outline-offset:2px}

/* ---------- 上の帯 ---------- */
.kgs-top{border-bottom:1px solid var(--kgs-rule);background:var(--kgs-white)}
.kgs-top__in{max-width:1440px;margin:0 auto;padding:12px var(--kgs-gap);display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.kgs-brand{display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;text-decoration:none}
.kgs-brand svg{grid-row:span 2}
.kgs-brand__n{font-weight:700;font-size:1.15rem;letter-spacing:.04em;line-height:1.3}
.kgs-brand__s{font-size:.75rem;color:var(--kgs-steel);line-height:1.4}
.kgs-find{display:flex;align-items:center;gap:8px;flex:1 1 240px;min-width:0;max-width:440px}
@media (max-width:480px){.kgs-find__l{display:none}}
.kgs-find__l{font-size:.75rem;color:var(--kgs-steel);white-space:nowrap}
.kgs-find input{flex:1;min-width:0;border:1px solid var(--kgs-steel);border-radius:0;padding:7px 10px;font:inherit;font-size:.9rem}
.kgs-find button{border:0;background:var(--kgs-ink);color:#fff;font:inherit;font-size:.85rem;padding:8px 14px;cursor:pointer}

/* ---------- 資料室（3カラム） ---------- */
.kgs-room{max-width:1440px;margin:0 auto;padding:0 var(--kgs-gap);display:grid;grid-template-columns:minmax(0,1fr);gap:0 var(--kgs-gap)}
.kgs-room__l{display:none}
.kgs-room__c{min-width:0;padding:18px 0 56px}
.kgs-room__r{min-width:0;padding-bottom:32px}
@media (min-width:860px){
  .kgs-room{grid-template-columns:232px minmax(0,1fr)}
  .kgs-room__l{display:block;border-right:1px solid var(--kgs-rule);padding:22px 18px 40px 0}
  .kgs-room__r{grid-column:2}
  .kgs-pullwrap{display:none}
}
@media (min-width:1180px){
  .kgs-room{grid-template-columns:232px minmax(0,1fr) 248px}
  .kgs-room__r{grid-column:3;border-left:1px solid var(--kgs-rule);padding:22px 0 40px 18px}
  .kgs-room__r .kgs-memo{position:sticky;top:16px}
}
.kgs-room--doc .kgs-room__l .kgs-toc{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto}

/* 書架ナビ（PC） */
.kgs-shelves__cap{font-weight:700;margin:0 0 10px;font-size:.95rem;display:flex;flex-direction:column;line-height:1.4}
.kgs-shelves__cap span{font-weight:400;font-size:.7rem;color:var(--kgs-steel)}
.kgs-shelf{border-top:1px solid var(--kgs-rule)}
.kgs-shelf summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr;column-gap:8px;align-items:center;padding:8px 0}
.kgs-shelf summary::-webkit-details-marker{display:none}
.kgs-shelf summary img{grid-row:span 2;width:44px;height:auto}
.kgs-shelf__n{font-weight:700;font-size:.95rem;line-height:1.3}
.kgs-shelf__s{font-size:.7rem;color:var(--kgs-steel);line-height:1.3}
.kgs-shelf[open] summary{border-bottom:2px solid var(--kgs-cyan)}
.kgs-shelf ol{list-style:none;margin:6px 0 12px;padding:0}
.kgs-shelf li{display:flex;justify-content:space-between;gap:6px;font-size:.82rem;line-height:1.5;padding:4px 0 4px 10px;border-left:1px solid var(--kgs-rule)}
.kgs-shelf li a{text-decoration:none}
.kgs-shelf li a:hover,.kgs-shelf li a[aria-current]{text-decoration:underline;text-decoration-color:var(--kgs-cyan)}
.kgs-shelf li a[aria-current]{font-weight:700}
.kgs-shelf li .kgs-num{color:var(--kgs-steel);font-size:.75rem}

/* 書架（スマホのプルダウン） */
.kgs-pullwrap{padding:0 var(--kgs-gap);border-bottom:1px solid var(--kgs-rule);background:var(--kgs-paper)}
.kgs-pull summary{list-style:none;cursor:pointer;display:flex;gap:10px;align-items:center;padding:10px 0;font-size:.9rem}
.kgs-pull summary::-webkit-details-marker{display:none}
.kgs-pull summary::after{content:"";margin-left:auto;width:10px;height:10px;border-right:2px solid var(--kgs-ink);border-bottom:2px solid var(--kgs-ink);transform:rotate(45deg)}
.kgs-pull[open] summary::after{transform:rotate(225deg)}
.kgs-pull__k{background:var(--kgs-ink);color:#fff;font-size:.75rem;padding:2px 8px}
.kgs-pull__body{padding:0 0 14px}
.kgs-pull__h{margin:10px 0 2px;font-weight:700;font-size:.9rem;border-bottom:2px solid var(--kgs-cyan)}
.kgs-pull__h small{font-weight:400;color:var(--kgs-steel);margin-left:8px}
.kgs-pull ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.85rem}

/* 用語メモ */
.kgs-memo{background:var(--kgs-paper);border:1px solid var(--kgs-rule);padding:14px 16px;font-size:.84rem;line-height:1.7}
.kgs-memo__cap{margin:0 0 6px;font-weight:700;display:flex;align-items:center;gap:8px}
.kgs-memo__cap::before{content:"";width:12px;height:12px;border:2px solid var(--kgs-cyan);transform:rotate(45deg) skew(-8deg,-8deg)}
.kgs-memo dt{font-weight:700;margin-top:10px;border-bottom:1px dotted var(--kgs-steel)}
.kgs-memo dd{margin:4px 0 0}
.kgs-memo cite{display:block;font-style:normal;font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-memo__note{font-size:.72rem;color:var(--kgs-steel-dk);margin:12px 0 0}

/* パンくず */
.kgs-crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:2px 8px;font-size:.78rem;color:var(--kgs-steel-dk)}
.kgs-crumbs li+li::before{content:"／";margin-right:8px;color:var(--kgs-steel)}

/* 目次（記事） */
.kgs-toc__cap{font-weight:700;margin:0 0 8px;font-size:.9rem;border-bottom:2px solid var(--kgs-cyan)}
.kgs-toc ol{list-style:none;margin:0;padding:0;counter-reset:none}
.kgs-toc li a{display:grid;grid-template-columns:28px 1fr;gap:6px;font-size:.8rem;line-height:1.5;padding:6px 0;text-decoration:none;border-bottom:1px solid var(--kgs-shade)}
.kgs-toc li a:hover{background:var(--kgs-paper)}
.kgs-toc .kgs-num{color:var(--kgs-steel-dk);font-weight:700}

/* ---------- トップ ---------- */
.kgs-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-bottom:22px}
.kgs-door{display:flex;flex-direction:column;gap:4px;padding:14px 16px 14px 18px;text-decoration:none;border:1px solid var(--kgs-ink);position:relative;background:var(--kgs-white)}
.kgs-door::before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--kgs-cyan)}
.kgs-door--private{border-style:solid;border-color:var(--kgs-steel);box-shadow:6px 6px 0 var(--kgs-shade)}
.kgs-door--listed{background:var(--kgs-ink);color:#fff}
.kgs-door--listed .kgs-door__k{color:#fff}
.kgs-door--listed em{color:#e6e8ea}
.kgs-door__k{font-size:.8rem;font-weight:700;letter-spacing:.06em}
.kgs-door strong{font-size:1rem;line-height:1.5}
.kgs-door em{font-style:normal;font-size:.8rem;color:var(--kgs-steel-dk)}

.kgs-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 28px;align-items:center;padding:8px 0 26px;border-bottom:1px solid var(--kgs-rule)}
@media (min-width:1000px){.kgs-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.kgs-hero__switch{grid-column:1 / -1}}
.kgs-hero__eyebrow{margin:0;font-size:.8rem;color:var(--kgs-steel-dk);letter-spacing:.08em}
.kgs-hero h1{margin:4px 0 10px;font-size:clamp(1.7rem,3.6vw,2.6rem);line-height:1.3;letter-spacing:.02em}
.kgs-hero__lead{margin:0;font-size:.95rem}
.kgs-hero__fig{margin:0}
.kgs-hero__fig img{width:100%;border:1px solid var(--kgs-shade)}
.kgs-hero__switch{border:2px solid var(--kgs-ink);padding:14px 16px;background:var(--kgs-white)}
.kgs-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.kgs-chips__k{font-size:.75rem;color:var(--kgs-steel-dk);margin-left:6px}
.kgs-chips__k:first-child{margin-left:0}
.kgs-chip{font:inherit;font-size:.85rem;border:1px solid var(--kgs-steel);background:#fff;color:var(--kgs-ink);padding:4px 14px;cursor:pointer;border-radius:0}
.kgs-chip[aria-pressed="true"]{background:var(--kgs-ink);color:#fff;border-color:var(--kgs-ink);box-shadow:inset 0 -3px 0 var(--kgs-cyan)}
.kgs-hero__case p{margin:0 0 6px}
.kgs-hero__case-h{font-weight:700}

.kgs-sechead{margin:34px 0 16px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline}
.kgs-sechead__no{margin:0;font-size:.8rem;font-weight:700;border:1px solid var(--kgs-ink);padding:0 8px;line-height:1.8}
.kgs-sechead h2{margin:0;font-size:clamp(1.2rem,2.4vw,1.55rem);line-height:1.45}
.kgs-sechead>p:not(.kgs-sechead__no){grid-column:1 / -1;margin:8px 0 0;font-size:.9rem;color:var(--kgs-steel-dk)}

/* 資本関係ツリー */
.kgs-treewrap{display:grid;gap:0 14px;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"x oya oya kanren" "w1 w1 w1 w1" "c1 c2 c3 c4" "w2 w2 w2 w2" "g1 y y g4"}
.kgs-tree{display:contents}
.kgs-tree__wire{width:100%;height:60px;display:block}
.kgs-tree__wire--1{grid-area:w1}
.kgs-tree__wire--2{grid-area:w2}
.kgs-node{min-width:0;font-size:.85rem;line-height:1.55;background:#fff;position:relative}
.kgs-node img{width:100%;max-width:200px;margin:0 auto}
.kgs-node h3{margin:0;font-size:1rem;line-height:1.45}
.kgs-node__ratio{display:inline-block;font-size:.75rem;font-weight:700;border:1px solid var(--kgs-steel);padding:0 6px;background:#fff}
.kgs-node__role{margin:0;font-size:.75rem;font-weight:700;color:var(--kgs-steel-dk);letter-spacing:.06em}
.kgs-node--oya{border:3px double var(--kgs-cyan);padding:10px 12px;align-self:end}
.kgs-node__plate{display:grid;grid-template-columns:minmax(0,120px) 1fr;gap:10px;align-items:center}
.kgs-node__tags{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.kgs-node__tags li{font-size:.72rem;border-bottom:2px solid var(--kgs-cyan)}
.kgs-node--kanren{align-self:center;border:2px dashed var(--kgs-steel);border-radius:50%;padding:22px 16px;text-align:center}
.kgs-node--kanren a{display:flex;flex-direction:column;gap:4px;text-decoration:none;align-items:center}
.kgs-node--kanren b{font-size:1rem}
.kgs-node--kanren p{margin:4px 0 0;font-size:.75rem}
.kgs-node--kanzen{border:2px solid var(--kgs-cyan);clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%);padding:14px 18%;text-align:center}
.kgs-node--kanzen h3{display:flex;flex-direction:column;align-items:center;gap:4px}
.kgs-node--kanzen dl{margin:4px 0 0;font-size:.75rem}
.kgs-node--kanzen dt{font-weight:700}
.kgs-node--kanzen dd{margin:0}
.kgs-node--ichibu{border-left:4px solid var(--kgs-cyan);border-bottom:1px solid var(--kgs-steel);padding:6px 10px}
.kgs-node--ichibu figure{margin:0;position:relative}
.kgs-node--ichibu figcaption{position:absolute;right:0;top:0;font-weight:700;font-size:.8rem;border:1px solid var(--kgs-steel);background:#fff;padding:0 6px}
.kgs-node--ichibu p{margin:4px 0 0}
.kgs-node__note{font-size:.75rem;color:var(--kgs-steel-dk)}
.kgs-node--tokurei{border:2px solid var(--kgs-ink);border-radius:18px 18px 0 0;padding:8px 10px;box-shadow:6px 6px 0 var(--kgs-shade)}
.kgs-node--tokurei header{text-align:right}
.kgs-node__link{display:flex;flex-direction:column;align-items:center;text-decoration:none;font-weight:700;font-size:1rem}
.kgs-node--tokurei footer{font-size:.75rem;color:var(--kgs-steel-dk);border-top:1px solid var(--kgs-shade);padding-top:4px}
.kgs-node--kaigai{padding:0 0 8px;border:1px solid var(--kgs-steel)}
.kgs-node__flag{background:var(--kgs-steel);color:#fff;padding:8px 10px;clip-path:polygon(0 0,100% 0,92% 50%,100% 100%,0 100%)}
.kgs-node__flag a{color:#fff}
.kgs-node__flag .kgs-node__ratio{color:var(--kgs-ink)}
.kgs-node--kaigai ol{margin:6px 0 0;padding-left:28px;font-size:.78rem}
.kgs-node--mago{border-top:3px solid var(--kgs-cyan);border-bottom:3px solid var(--kgs-cyan);padding:8px}
.kgs-node--mago a{display:flex;flex-direction:column;gap:2px;text-decoration:none;align-items:flex-start}
.kgs-node--mago strong{font-size:1rem}
.kgs-node--mago em{font-style:normal;font-size:.75rem;color:var(--kgs-steel-dk)}
.kgs-node--genchi{outline:2px solid var(--kgs-cyan);outline-offset:4px;padding:8px}
.kgs-node--genchi table{border-collapse:collapse;font-size:.75rem;width:100%;margin:4px 0}
.kgs-node--genchi th,.kgs-node--genchi td{border:1px solid var(--kgs-rule);padding:2px 6px;text-align:left}
@media (max-width:759px){
  .kgs-treewrap{display:flex;flex-direction:column;gap:12px}
  .kgs-tree{display:flex;flex-direction:column;gap:14px}
  .kgs-tree__wire{display:none}
  .kgs-node{margin-left:0}
  .kgs-node--kanzen,.kgs-node--ichibu,.kgs-node--tokurei,.kgs-node--kaigai{margin-left:18px}
  .kgs-node--mago,.kgs-node--genchi{margin-left:36px}
  .kgs-node--kanzen,.kgs-node--ichibu,.kgs-node--tokurei,.kgs-node--kaigai,.kgs-node--mago,.kgs-node--genchi{box-shadow:-10px 0 0 -8px var(--kgs-cyan)}
  .kgs-node--kanren{border-radius:24px}
  .kgs-node--kanzen{clip-path:none;padding:12px}
}

/* 書架タイル */
.kgs-shelfgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.kgs-t{min-width:0;font-size:.85rem;line-height:1.6}
.kgs-t h3{margin:0;font-size:1rem;line-height:1.45}
.kgs-t p{margin:4px 0 0}
.kgs-t img{width:100%}
.kgs-t--hero{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;border:2px solid var(--kgs-ink);padding:12px}
.kgs-t__shelf{font-size:.75rem;font-weight:700;color:var(--kgs-steel-dk)}
.kgs-t--chip{display:flex;flex-direction:column;justify-content:center;padding:14px;border:1px solid var(--kgs-steel);text-decoration:none;position:relative}
.kgs-t--chip span{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-t--chip b{font-size:1.05rem}
.kgs-t--chip i{position:absolute;right:10px;top:8px;font-style:normal;font-weight:700}
.kgs-t--left{display:grid;grid-template-columns:96px 1fr;gap:4px 10px;border-bottom:2px solid var(--kgs-cyan);padding-bottom:10px}
.kgs-t--left figure{margin:0;grid-row:span 2}
.kgs-t--band{background:var(--kgs-steel);color:#fff;padding:14px}
.kgs-t--band a{color:#fff;font-weight:700}
.kgs-t--band small{color:#fff}
.kgs-t--right{display:grid;grid-template-columns:1fr 110px;gap:10px;align-items:center;border:1px solid var(--kgs-rule);padding:10px}
.kgs-t--right dl{display:grid;grid-template-columns:auto 1fr;gap:0 8px;margin:6px 0 0;font-size:.75rem}
.kgs-t--right dt{color:var(--kgs-steel-dk)}
.kgs-t--right dd{margin:0}
.kgs-t--fig{margin:0;border:1px solid var(--kgs-shade)}
.kgs-t--fig figcaption{padding:6px 10px;font-weight:700;border-top:2px solid var(--kgs-cyan)}
.kgs-t--quote{border-left:4px solid var(--kgs-steel);padding:6px 12px;background:var(--kgs-paper)}
.kgs-t--quote blockquote{margin:0 0 6px}
.kgs-t--quote a{font-weight:700}
.kgs-t--list{padding:10px 12px;border:1px dashed var(--kgs-steel)}
.kgs-t--list ul{margin:6px 0 0;padding-left:18px;font-size:.78rem}
.kgs-t--card{display:flex;flex-direction:column;text-decoration:none;box-shadow:6px 6px 0 var(--kgs-shade);border:1px solid var(--kgs-ink)}
.kgs-t__n{font-weight:700;padding:8px 10px 0}
.kgs-t__d{font-size:.78rem;padding:2px 10px 10px;color:var(--kgs-steel-dk)}
.kgs-t--table table{width:100%;border-collapse:collapse;margin-top:6px;font-size:.78rem}
.kgs-t--table th{background:var(--kgs-ink);color:#fff;text-align:left;padding:4px 8px;font-weight:600}
.kgs-t--table td{border:1px solid var(--kgs-rule);padding:6px 8px}
.kgs-t--top{border-top:4px solid var(--kgs-ink);padding-top:6px}
.kgs-t--top header{display:flex;gap:8px;align-items:baseline;font-size:.78rem}
.kgs-t--top header .kgs-num{font-size:1.4rem;font-weight:700}
.kgs-t--top p a{font-weight:700}
.kgs-t--spine{display:grid;grid-template-columns:34px 1fr;border:1px solid var(--kgs-steel)}
.kgs-t--spine>span{writing-mode:vertical-rl;background:var(--kgs-ink);color:#fff;font-size:.78rem;text-align:center;padding:8px 0;letter-spacing:.2em}
.kgs-t--spine a{display:flex;flex-direction:column;padding:10px;text-decoration:none}
.kgs-t--spine em{font-style:normal;font-size:.75rem;color:var(--kgs-steel-dk)}
.kgs-words{display:flex;flex-wrap:wrap;gap:6px 16px;margin:16px 0 0;font-size:.85rem;line-height:1.6}
.kgs-words a{white-space:normal}
.kgs-words--cats{border-top:1px solid var(--kgs-rule);padding-top:12px}
@media (max-width:620px){
  .kgs-t--hero,.kgs-t--right{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 記事カード ---------- */
.kgs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.kgs-cards>.kgs-words{grid-column:1 / -1}
.kgs-c{min-width:0;font-size:.85rem;line-height:1.65}
.kgs-c h3{margin:0;font-size:1rem;line-height:1.5}
.kgs-c p{margin:4px 0 0}
.kgs-c img{width:100%}
.kgs-c__cat{font-size:.72rem;font-weight:700;color:var(--kgs-steel-dk);margin:0}
.kgs-c__line{font-size:.75rem;color:var(--kgs-steel-dk)}
.kgs-c__tags{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:.72rem}
.kgs-c__tags li::before{content:"#";color:var(--kgs-steel)}
.kgs-c--wide{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;border:2px solid var(--kgs-ink);padding:12px}
.kgs-c__meta{display:grid;grid-template-columns:auto 1fr;gap:0 10px;font-size:.75rem;margin:8px 0 0}
.kgs-c__meta dt{color:var(--kgs-steel-dk)}
.kgs-c__meta dd{margin:0}
.kgs-c--side{display:grid;grid-template-columns:110px 1fr;gap:10px;border-bottom:1px solid var(--kgs-rule);padding-bottom:10px}
.kgs-c--side figure{margin:0}
.kgs-c--band{background:var(--kgs-steel);color:#fff;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.kgs-c--band a{color:#fff}
.kgs-c--band small,.kgs-c--band .kgs-c__no{color:#fff;font-size:.72rem}
.kgs-c--right{display:grid;grid-template-columns:1fr 120px;gap:12px;border:1px solid var(--kgs-rule);padding:10px}
.kgs-c--cap{border-top:3px solid var(--kgs-cyan);padding-top:8px}
.kgs-c--cap figure{margin:8px 0 0}
.kgs-c--cap figcaption{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-c--table table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.78rem}
.kgs-c--table th{width:4.5em;text-align:left;background:var(--kgs-paper);border:1px solid var(--kgs-rule);padding:4px 6px}
.kgs-c--table td{border:1px solid var(--kgs-rule);padding:4px 6px}
.kgs-c--tag{display:grid;text-decoration:none;border:1px solid var(--kgs-ink);box-shadow:6px 6px 0 var(--kgs-shade)}
.kgs-c__k{font-size:.72rem;padding:6px 10px 0;color:var(--kgs-steel-dk)}
.kgs-c__t{font-weight:700;padding:0 10px 8px;font-size:1rem;line-height:1.5}
.kgs-c--tag img{order:-1}
.kgs-c--quote{margin:0;border-left:4px solid var(--kgs-cyan);padding:4px 0 4px 14px}
.kgs-c--quote blockquote{margin:0;color:var(--kgs-steel-dk)}
.kgs-c--quote figcaption{margin-top:6px;display:flex;flex-direction:column}
.kgs-c--quote figcaption a{font-weight:700}
.kgs-c--quote figcaption span{font-size:.72rem}
.kgs-c--steps{border:1px dashed var(--kgs-steel);padding:10px 12px}
.kgs-c--steps ol{margin:6px 0 0;padding-left:20px;font-size:.78rem}
.kgs-c--mini a{display:grid;grid-template-columns:72px 1fr;gap:8px;text-decoration:none;font-weight:700;align-items:center}
.kgs-c--mini time{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-c--file{border:2px solid var(--kgs-ink);padding:12px 14px;position:relative}
.kgs-c__idx{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-c__go{display:inline-block;margin-top:8px;background:var(--kgs-ink);color:#fff;text-decoration:none;padding:4px 12px;font-size:.8rem}
.kgs-c--spec{border:1px solid var(--kgs-rule);padding:0 0 10px}
.kgs-c--spec h3,.kgs-c--spec dl,.kgs-c--spec ul{padding:0 12px}
.kgs-c--spec h3{margin-top:8px}
.kgs-c--spec dl{font-size:.75rem;margin:6px 0 0}
.kgs-c--spec dt{color:var(--kgs-steel-dk)}
.kgs-c--spec dd{margin:0 0 4px}
.kgs-c--split{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:14px;border-bottom:2px solid var(--kgs-cyan);padding-bottom:12px}
.kgs-c__min{text-align:right;font-size:.75rem}
.kgs-c__min .kgs-num{font-size:1.3rem;font-weight:700}
.kgs-c--spine{display:grid;grid-template-columns:34px 1fr;border:1px solid var(--kgs-steel)}
.kgs-c__spine{writing-mode:vertical-rl;background:var(--kgs-steel);color:#fff;font-size:.75rem;text-align:center;padding:8px 0;letter-spacing:.15em}
.kgs-c--spine>div{padding:10px 12px}
.kgs-c--plain{border-top:1px solid var(--kgs-ink);padding-top:8px}
.kgs-c--over .kgs-c__fig{position:relative}
.kgs-c__badge{position:absolute;left:8px;bottom:8px;background:#fff;border:1px solid var(--kgs-ink);font-size:.72rem;padding:0 6px}
.kgs-c--over h3{margin-top:8px}
.kgs-c--index{border:1px solid var(--kgs-ink);padding:10px 12px}
.kgs-c--index header{border-bottom:1px solid var(--kgs-rule);padding-bottom:4px;margin-bottom:6px}
.kgs-c--index footer{font-size:.72rem;color:var(--kgs-steel-dk);margin-top:6px}
.kgs-c__strip{display:grid;text-decoration:none}
.kgs-c__strip img{grid-area:1 / 1;opacity:.35}
.kgs-c__strip strong{grid-area:1 / 1;align-self:end;padding:10px;font-size:1rem;line-height:1.5;background:rgba(255,255,255,.92)}
.kgs-c--strip small{font-size:.72rem;color:var(--kgs-steel-dk)}
@media (max-width:620px){
  .kgs-c--wide,.kgs-c--split,.kgs-c--right{grid-template-columns:minmax(0,1fr)}
}

/* ---------- 一覧ページの見出し ---------- */
.kgs-arch{margin:0 0 22px;padding-bottom:16px;border-bottom:2px solid var(--kgs-ink)}
.kgs-arch--cat{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
@media (min-width:760px){.kgs-arch--cat{grid-template-columns:240px minmax(0,1fr)}}
.kgs-arch__img{border:1px solid var(--kgs-shade)}
.kgs-arch__k{margin:0;font-size:.8rem;color:var(--kgs-steel-dk);font-weight:700}
.kgs-arch h1{margin:4px 0 8px;font-size:clamp(1.3rem,2.8vw,1.8rem);line-height:1.4}
.kgs-arch p{margin:0}
.kgs-arch__mark{color:var(--kgs-steel);margin-right:6px}
.kgs-arch__count{margin-top:8px!important;font-size:.85rem}
.kgs-empty{background:var(--kgs-paper);padding:16px}

/* ---------- 紹介サイト ---------- */
.kgs-sitesec{margin-top:40px;border-top:3px double var(--kgs-ink);padding-top:14px}
.kgs-sitesec__h{font-size:1.15rem;line-height:1.5;margin:0 0 6px}
.kgs-sitesec__note{font-size:.78rem;color:var(--kgs-steel-dk);margin:0 0 14px}
.kgs-sites{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.kgs-s{min-width:0;margin:0;font-size:.82rem;line-height:1.6}
.kgs-s h3{margin:0;font-size:.95rem;line-height:1.45}
.kgs-s p{margin:4px 0 0}
.kgs-s small,.kgs-s__host{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-s--a{border:1px solid var(--kgs-ink);padding:10px}
.kgs-s--b{display:flex;flex-direction:column;border-left:4px solid var(--kgs-cyan);padding:6px 10px;text-decoration:none}
.kgs-s--c{background:var(--kgs-paper);padding:10px}
.kgs-s--d header{font-weight:700;border-bottom:2px solid var(--kgs-cyan);padding-bottom:2px}
.kgs-s--e dt{font-weight:700}
.kgs-s--e dd{margin:2px 0 0}
.kgs-s--e dd+dd{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-s--f blockquote{margin:0;color:var(--kgs-steel-dk);border-left:2px solid var(--kgs-steel);padding-left:8px}
.kgs-s--f figcaption{margin-top:4px;font-weight:700}
.kgs-s--g{border:1px dashed var(--kgs-steel);padding:10px}
.kgs-s__k{font-size:.7rem!important;font-weight:700;letter-spacing:.1em;margin:0 0 2px!important}
.kgs-s--h{border-top:1px solid var(--kgs-ink);padding-top:6px}
.kgs-s--h ul{margin:4px 0 0;padding-left:18px}
.kgs-s--i table{width:100%;border-collapse:collapse}
.kgs-s--i th{text-align:left;background:var(--kgs-ink);padding:6px 8px}
.kgs-s--i th a{color:#fff}
.kgs-s--i td{border:1px solid var(--kgs-rule);padding:6px 8px}
.kgs-s--j{border-bottom:1px solid var(--kgs-rule);padding-bottom:8px}
.kgs-s--k{box-shadow:5px 5px 0 var(--kgs-shade);border:1px solid var(--kgs-steel);padding:10px}
.kgs-s--l{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border:2px solid var(--kgs-steel);border-radius:0 14px 0 14px}
.kgs-s--l span{font-size:.7rem;color:var(--kgs-steel-dk)}
.kgs-s--l em{font-style:normal}
.kgs-sitewords{margin:16px 0 0;padding-left:18px;font-size:.82rem;line-height:1.7;columns:2 300px}
.kgs-sitewords li{break-inside:avoid;margin-bottom:6px}

/* ---------- 記事 ---------- */
.kgs-doc__head{margin-bottom:24px}
.kgs-doc__k{margin:0;font-size:.8rem;color:var(--kgs-steel-dk);font-weight:700}
.kgs-doc__head h1{margin:6px 0 8px;font-size:clamp(1.4rem,3vw,2rem);line-height:1.45}
.kgs-doc__by{margin:0 0 14px;font-size:.78rem;color:var(--kgs-steel-dk)}
.kgs-premise{width:100%;border-collapse:collapse;margin:0 0 16px;font-size:.88rem;border:2px solid var(--kgs-ink)}
.kgs-premise caption{caption-side:top;text-align:left;font-weight:700;padding:0 0 4px;color:var(--kgs-ink)}
.kgs-premise th{width:7em;background:var(--kgs-ink);color:#fff;text-align:left;padding:6px 10px;font-weight:600;border-bottom:1px solid var(--kgs-steel)}
.kgs-premise td{padding:6px 10px;border-bottom:1px solid var(--kgs-rule)}
.kgs-doc__eye{width:100%;border:1px solid var(--kgs-shade)}
.kgs-doc__body{font-size:1rem;line-height:1.95}
.kgs-doc__body h2{font-size:clamp(1.2rem,2.4vw,1.45rem);line-height:1.5;margin:2.6em 0 .9em;scroll-margin-top:16px}
.kgs-doc__body h3{font-size:1.08rem;line-height:1.55;margin:1.8em 0 .6em}
.kgs-doc__body img{margin:1em auto;border:1px solid var(--kgs-shade)}
.kgs-doc__body figure{margin:1.2em 0}
.kgs-doc__body figcaption{font-size:.78rem;color:var(--kgs-steel-dk)}
.kgs-tbl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.2em 0}
.kgs-tbl table{border-collapse:collapse;min-width:100%;font-size:.88rem;line-height:1.6}
.kgs-tbl th,.kgs-tbl td{border:1px solid var(--kgs-rule);padding:8px 10px;vertical-align:top;text-align:left}
.kgs-tbl thead th{background:var(--kgs-ink);color:#fff;white-space:nowrap;font-weight:600}
.kgs-tbl tbody th{background:var(--kgs-paper)}
.kgs-doc__tags{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.82rem;margin:24px 0 0}
.kgs-doc__tags span{font-weight:700}
.kgs-doc__tags a::before{content:"#";color:var(--kgs-steel)}
.kgs-relsec{margin-top:40px}
.kgs-relsec__h{font-size:1.15rem;margin:0 0 12px;border-bottom:2px solid var(--kgs-cyan);padding-bottom:4px}

/* 番号つき脚注（H2ごとの出典） */
.kgs-fn{margin:1.4em 0 0;padding:8px 12px;border-top:1px solid var(--kgs-steel);font-size:.8rem;line-height:1.65;color:var(--kgs-steel-dk);display:grid;grid-template-columns:auto 1fr;gap:0 8px}
.kgs-fn__no{font-weight:700;color:var(--kgs-ink)}
.kgs-fn a{color:var(--kgs-ink)}

/* 固定ページ */
.kgs-page__k{margin:0;font-size:.8rem;color:var(--kgs-steel-dk);font-weight:700}
.kgs-page__head h1{margin:4px 0 18px;font-size:clamp(1.4rem,3vw,1.9rem);border-bottom:2px solid var(--kgs-ink);padding-bottom:10px}
.kgs-page__body h2{font-size:1.2rem;margin:2em 0 .6em;padding-left:12px;border-left:4px solid var(--kgs-cyan)}

/* 404 */
.kgs-lost{padding:30px 0}
.kgs-lost__no{font-size:4rem;font-weight:700;margin:0;line-height:1;color:var(--kgs-steel)}

/* ---------- フッター ---------- */
.kgs-foot{background:var(--kgs-ink);color:#fff;padding:32px var(--kgs-gap) 120px;margin-top:20px}
.kgs-foot a{color:#fff}
.kgs-foot__cap{font-weight:700;margin:0 0 10px;letter-spacing:.08em;border-bottom:1px solid var(--kgs-steel);padding-bottom:6px}
.kgs-foot__shelf{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 22px}
.kgs-foot__shelf>.kgs-foot__cap{grid-column:1 / -1}
.kgs-foot__col p{margin:0 0 4px;font-size:.85rem}
.kgs-foot__col small{color:#dfe2e5}
.kgs-foot__words{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:.78rem!important;line-height:1.7}
.kgs-foot__desk{max-width:1440px;margin:26px auto 0}
.kgs-foot__desk ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:.85rem}
.kgs-foot__op{font-size:.78rem;color:#e6e8ea;margin:12px 0 0}
.kgs-foot__c{max-width:1440px;margin:16px auto 0;font-size:.72rem;color:#dfe2e5}

/* ---------- 固定CTA：右下のフローティングカード（スマホは下部の帯） ---------- */
.kgs-float{position:fixed;right:18px;bottom:18px;z-index:50;width:300px;background:#fff;border:2px solid var(--kgs-ink);box-shadow:8px 8px 0 var(--kgs-shade);padding:14px 14px 10px;font-size:.8rem;line-height:1.5}
.kgs-float::before{content:"";position:absolute;left:-2px;right:-2px;top:-2px;height:5px;background:var(--kgs-cyan)}
.kgs-float[hidden]{display:none}
.kgs-float__x{position:absolute;right:4px;top:6px;border:0;background:none;font-size:1.2rem;line-height:1;cursor:pointer;padding:4px 8px;color:var(--kgs-ink)}
.kgs-float__label{margin:0 24px 8px 0;font-weight:700;font-size:.9rem}
.kgs-float__btn{display:block;text-align:center;background:var(--kgs-ink);color:#fff;text-decoration:none;padding:9px 10px;font-weight:700}
.kgs-float__btn:hover{background:var(--kgs-steel-dk)}
.kgs-float__note{margin:8px 0 0;font-size:.64rem;line-height:1.5;color:var(--kgs-steel-dk);max-height:6.2em;overflow:auto}
@media (max-width:700px){
  .kgs-float{left:0;right:0;bottom:0;width:auto;border-width:2px 0 0;box-shadow:none;padding:8px 12px 8px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}
  .kgs-float__label{margin:0;font-size:.8rem}
  .kgs-float__btn{padding:7px 10px;font-size:.8rem;white-space:nowrap}
  .kgs-float__note{grid-column:1 / -1;max-height:3.2em;margin:0}
  .kgs-float__x{position:static;grid-row:1;grid-column:3;padding:2px 4px}
  .kgs-float{grid-template-columns:1fr auto auto}
}

/* 役に立った */
.kgs-helpful{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:32px 0 0;padding:14px 16px;border:1px dashed var(--kgs-steel)}
.kgs-helpful p{margin:0;font-weight:700}
.kgs-helpful button{font:inherit;border:2px solid var(--kgs-ink);background:#fff;padding:6px 16px;cursor:pointer;font-weight:700}
.kgs-helpful button[aria-pressed="true"]{background:var(--kgs-ink);color:#fff}
.kgs-helpful button:disabled{cursor:default}
/* SNS枠 */
.kgs-snssec{margin-top:36px}
.kgs-snssec__h{font-size:1.1rem;margin:0 0 4px}
.kgs-snssec__note{font-size:.78rem;color:var(--kgs-steel-dk);margin:0 0 12px}
.kgs-sns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kgs-sns>*{margin:0;font-size:.85rem;min-width:0}
.kgs-sns__yt{display:flex;flex-direction:column;border:2px solid var(--kgs-ink);padding:12px;text-decoration:none}
.kgs-sns__x{border-left:4px solid var(--kgs-cyan);padding:8px 12px}
.kgs-sns__x p{margin:0;font-weight:700}
.kgs-sns__ig{display:flex;flex-direction:column;background:var(--kgs-paper);padding:12px}
.kgs-sns__ig span{font-weight:700}
.kgs-sns__ig small{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-sns__tt{border:1px dashed var(--kgs-steel);padding:10px 12px}
.kgs-sns__tt dt{font-weight:700}
.kgs-sns__tt dd{margin:0}
/* 統計 */
.kgs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px}
.kgs-st{min-width:0;margin:0;font-size:.82rem;line-height:1.6}
.kgs-st h3{margin:0;font-size:.95rem}
.kgs-st p{margin:4px 0 0}
.kgs-st a{word-break:break-all}
.kgs-st--big{grid-column:1 / -1;border:2px solid var(--kgs-ink);padding:14px 16px}
.kgs-st__n{font-size:2.4rem;font-weight:700;line-height:1.1;margin:0!important}
.kgs-st__n small{font-size:1rem;margin-left:4px}
.kgs-st--big footer{font-size:.72rem;color:var(--kgs-steel-dk);margin-top:6px}
.kgs-st--row{display:flex;flex-direction:column;border-bottom:2px solid var(--kgs-cyan);padding-bottom:8px}
.kgs-st--row b{font-size:1.6rem}
.kgs-st--row small{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-st--fig figcaption{font-weight:700}
.kgs-st--fig p{font-size:1.8rem;font-weight:700}
.kgs-st--fig p span{font-size:.9rem}
.kgs-st--fig blockquote{margin:4px 0;color:var(--kgs-steel-dk)}
.kgs-st--fig cite{font-style:normal;font-size:.72rem}
.kgs-st--dl{border:1px solid var(--kgs-rule);padding:10px 12px}
.kgs-st--dl dt{font-weight:700}
.kgs-st--dl dd{margin:2px 0 0}
.kgs-st--dl dd.kgs-num{font-size:1.6rem;font-weight:700}
.kgs-st--dl dd:last-child{font-size:.72rem;color:var(--kgs-steel-dk)}
.kgs-st--band{background:var(--kgs-steel);color:#fff;padding:12px 14px}
.kgs-st--band a{color:#fff}
.kgs-st--band header .kgs-num{font-size:1.8rem;font-weight:700;margin-right:4px}
.kgs-st--table table{width:100%;border-collapse:collapse}
.kgs-st--table th{background:var(--kgs-ink);color:#fff;text-align:left;padding:6px 8px;font-weight:600}
.kgs-st--table td{border:1px solid var(--kgs-rule);padding:6px 8px}
.kgs-st--table td.kgs-num{font-size:1.5rem;font-weight:700}
.kgs-st--table p{font-size:.72rem}
.kgs-st--cube{display:grid;grid-template-columns:40px 1fr;gap:4px 12px;border:1px dashed var(--kgs-steel);padding:10px}
.kgs-st--cube i{width:28px;height:28px;border:2px solid var(--kgs-cyan);transform:rotate(30deg) skew(-10deg,-10deg);margin:8px}
.kgs-st--cube strong{display:block;font-size:1.5rem}
.kgs-st--cube ul{grid-column:1 / -1;margin:0;padding-left:18px;font-size:.75rem}
.kgs-st--note{border-left:4px solid var(--kgs-ink);padding:6px 12px;background:var(--kgs-paper)}
.kgs-st--note .kgs-num{font-size:1.5rem;font-weight:700}
.kgs-st--note small{font-size:.72rem}
.kgs-sns__yt i{font-style:normal;font-size:.72rem;color:var(--kgs-steel-dk)}
