/* site.css — サブページ共通の器（2026-09-16）。index.html の <style> と同じ値。
   PC（1024px以上）は3列：左＝題名の面／中＝本文600px／右＝番号つき目次＋CTA。スマホは1列。 */
:root{--white:#FFFFFF;--hero:#E3F3EB;--card:#EEF8F3;--line:#D1E3DA;--green:#2A7257;--deep:#115B42;
  --head:#2D3531;--body:#484F4C;--muted:#747D78;
  --mincho:'Zen Old Mincho','Hiragino Mincho ProN','Yu Mincho',serif;
  --gothic:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN','Yu Gothic','メイリオ',sans-serif;}
*{box-sizing:border-box;}
.shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100vh;}
.side{display:none;}
.main{width:100%;max-width:600px;margin:0 auto;background:var(--white);position:relative;padding-bottom:92px;}
.main.no-fixed{padding-bottom:40px;}
@media (min-width:1024px){
  .shell{grid-template-columns:minmax(240px,320px) minmax(0,600px) minmax(240px,320px);justify-content:center;}
  .side{display:flex;position:sticky;top:0;height:100vh;flex-direction:column;}
  .main,.main.no-fixed{padding-bottom:0;border-left:1px solid var(--line);border-right:1px solid var(--line);}
  .fixed-cta,.top,.toc-m,.main footer,.back-m{display:none !important;}
}
.brand{font-family:var(--mincho);font-size:20px;font-weight:600;letter-spacing:0.14em;color:var(--head);margin:0;}
.brand-sub{font-size:11px;letter-spacing:0.12em;color:var(--muted);margin:6px 0 0;}
.side-l{background:var(--hero);padding:40px 36px;justify-content:space-between;}
.vert{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--mincho);font-size:clamp(22px,2.2vw,30px);line-height:1.9;letter-spacing:0.18em;color:var(--head);margin:0 auto;}
.vert .em{color:var(--deep);}
.side-l .dash{width:40px;height:1px;background:var(--green);margin:0 0 14px;}
.side-l .tag{font-size:12px;line-height:1.9;color:var(--body);letter-spacing:0.06em;margin:0;}
.side-r{background:var(--white);padding:40px 32px;border-left:1px solid var(--line);gap:28px;font-family:var(--gothic);}
.side-r .lbl{font-size:10.5px;letter-spacing:0.22em;color:var(--green);margin:0 0 6px;}
.rtoc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.rtoc a{display:flex;align-items:baseline;gap:14px;padding:8px 0;color:var(--body);font-size:13px;letter-spacing:0.08em;transition:color .15s;}
.rtoc a .n{font-family:var(--mincho);font-size:18px;letter-spacing:0.04em;color:var(--muted);min-width:2.2em;}
.rtoc a:hover,.rtoc a.is-active{color:var(--deep);}
.rtoc a.is-active .n{color:var(--green);}
.side-r .cta-r{display:block;text-align:center;background:var(--green);color:#fff;padding:15px 24px;font-size:15px;font-weight:700;letter-spacing:0.08em;transition:background .15s;}
.side-r .cta-r:hover{background:var(--deep);}
.side-r .back{font-size:12.5px;color:var(--green);letter-spacing:0.06em;display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.side-r .foot{margin-top:auto;font-size:10.5px;color:var(--muted);line-height:2;}
.side-r .foot a{color:var(--green);border-bottom:1px solid var(--line);}
.side-r .foot p{margin:0;}
.fixed-cta{position:fixed;bottom:0;left:0;right:0;max-width:600px;margin:0 auto;padding:12px 20px;background:var(--white);border-top:1px solid var(--line);z-index:10;font-family:var(--gothic);}
.fixed-cta a{display:block;text-align:center;background:var(--green);color:#fff;padding:14px;font-size:15px;font-weight:700;letter-spacing:0.08em;}
/* 章の頭：番号 ＋ 英字 */
.sec-head{display:flex;align-items:baseline;gap:14px;margin:0 0 14px;}
.sec-head .n{font-family:var(--mincho);font-size:34px;line-height:1;color:var(--green);letter-spacing:0.02em;}
.sec-head .k{font-size:10.5px;letter-spacing:0.22em;color:var(--green);font-weight:500;}
/* 章の区切りは背景色ではなく1pxの罫線 */
.main .sec{border-top:1px solid var(--line);}
