/* ===========================================================
   相続コラム 記事ページ 共通スタイル
   サイト標準配色（緑）に統一
   =========================================================== */
:root{
  /* 文字色（コントラスト確保用。背景・枠線には上のブランド色を使う） */
  --ink-green:#145A50; --ink-accent:#17655A; --ink-mute:#5C6563;

  --navy:#1F8C7D; --navy-2:#33A594; --blue:#4ACFB9; --asa:#A6E7DD;
  --ink:#262B2A; --ink-soft:#5C6563; --bg:#ffffff; --bg-soft:#E4FAF6;
  --line:#D6F2EC; --gray:#92A5A2;
  --en:"Archivo",sans-serif;
  --jp:"Shippori Mincho","Yu Mincho","Hiragino Mincho ProN",serif;
  --mincho:'Shippori Mincho','Yu Mincho','Hiragino Mincho ProN',serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--jp);color:var(--ink);background:var(--bg);font-size:16px;line-height:2;letter-spacing:.05em;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 5vw}

/* ===== header ===== */
header{position:fixed;inset:0 0 auto 0;z-index:90;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line);transition:box-shadow .35s}
header.sc{box-shadow:0 1px 14px rgba(31,140,125,.09)}
.hd{display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 4vw}
.hd-logo img{height:44px;width:auto}
nav ul{display:flex;gap:30px;list-style:none}
nav a{font-size:13px;font-weight:700;letter-spacing:.1em;position:relative;padding:6px 0}
nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1.5px;background:var(--navy);transition:width .25s}
nav a:hover::after{width:100%}
.hd-cta{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--navy);color:#fff;width:118px;height:84px;transition:background .3s;line-height:1.5}
.hd-cta .e{font-family:var(--en);font-size:12.5px;font-weight:600;letter-spacing:.1em}
.hd-cta .j{font-size:10px;letter-spacing:.16em;opacity:.8}
.hd-cta:hover{background:var(--ink-accent)}
.menu-btn{display:none}

/* ===== page head ===== */
.pg-head{background:var(--bg-soft);padding:150px 6vw 56px;border-bottom:1px solid var(--line)}
.pg-in{max-width:760px;margin:0 auto}
.crumb{font-size:13px;letter-spacing:.08em;color:var(--ink-mute);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crumb a{color:var(--ink-mute)}
.crumb a:hover{color:var(--ink-accent)}
.art-meta{margin-top:26px;display:flex;align-items:center;gap:16px}
.art-cat{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.18em;color:#fff;background:var(--navy);padding:5px 14px}
.art-date{font-family:var(--en);font-size:14px;letter-spacing:.12em;color:var(--ink-soft)}
.art-title{margin-top:18px;font-family:var(--mincho);font-weight:600;font-size:clamp(24px,3.4vw,40px);line-height:1.5;letter-spacing:.04em;color:var(--ink-green)}
.art-sup{margin-top:18px;font-size:14px;letter-spacing:.1em;color:var(--ink-soft)}
.art-sup b{color:var(--ink-green)}

/* ===== article body ===== */
.art-wrap{max-width:760px;margin:0 auto;padding:64px 24px 90px}
.art-ec{margin:0 0 44px;border:1px solid var(--line)}
.art-ec svg{display:block;width:100%;height:auto}
.art-body p{font-size:16.5px;line-height:2.05;letter-spacing:.04em;color:var(--ink);margin:0 0 1.6em}
.art-body h2{font-family:var(--mincho);font-weight:600;font-size:clamp(19px,2.2vw,24px);line-height:1.6;color:var(--ink-green);margin:2.6em 0 1.1em;padding:14px 0 14px 22px;border-left:3px solid var(--navy);background:linear-gradient(90deg,var(--bg-soft),transparent 85%)}
.art-body h2:first-child{margin-top:0}
.art-body a{color:var(--ink-green);text-decoration:underline}

/* ===== 本文の読みやすさパーツ =====
   文字だけの記事は読み飛ばされる。小見出し・箇条書き・囲み・図で
   視線の休みどころを作る。管理画面の docToHtml() がこれらを出力する。 */

/* リード文。記事の入口を1段落だけ大きく見せる */
.art-body .lead{font-size:17.5px;line-height:2.05;color:var(--ink);
  padding:20px 24px;background:var(--bg-soft);border-radius:2px;margin-bottom:2em}

/* 小見出し（h2 の下の区切り） */
.art-body h3{font-family:var(--mincho);font-weight:600;font-size:18.5px;line-height:1.7;
  color:var(--ink-green);margin:2.2em 0 .9em;padding-left:14px;border-left:2px solid var(--blue)}

/* 箇条書き。行間を本文と揃えて詰まって見えないようにする */
.art-body ul,.art-body ol{margin:0 0 1.6em;padding-left:1.4em}
.art-body li{font-size:16.5px;line-height:2;letter-spacing:.04em;color:var(--ink);margin-bottom:.5em}
.art-body ul li::marker{color:var(--navy)}
.art-body ol li::marker{color:var(--navy);font-family:var(--en);font-weight:700}
.art-body li>ul,.art-body li>ol{margin:.5em 0 0}

/* ポイント囲み。要点を1か所にまとめる */
.art-body .point{margin:2em 0;padding:22px 26px;background:var(--bg-soft);
  border:1px solid var(--line);border-left:3px solid var(--navy);border-radius:2px}
.art-body .point>.t{font-family:var(--mincho);font-weight:600;font-size:16px;
  color:var(--ink-green);margin:0 0 10px;display:flex;align-items:center;gap:8px}
.art-body .point>.t::before{content:"POINT";font-family:var(--en);font-size:11px;font-weight:800;
  letter-spacing:.14em;color:#fff;background:var(--navy);padding:3px 7px;border-radius:2px}
.art-body .point p:last-child,.art-body .point ul:last-child,.art-body .point ol:last-child{margin-bottom:0}

/* 注意囲み。期限や過料など、読み落とすと困るもの */
.art-body .warn{margin:2em 0;padding:22px 26px;background:#FFF8F0;
  border:1px solid #F0DCC4;border-left:3px solid #C88A3C;border-radius:2px}
.art-body .warn>.t{font-family:var(--mincho);font-weight:600;font-size:16px;
  color:#8A5A1C;margin:0 0 10px;display:flex;align-items:center;gap:8px}
.art-body .warn>.t::before{content:"!";font-family:var(--en);font-size:12px;font-weight:800;
  color:#fff;background:#C88A3C;width:18px;height:18px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.art-body .warn p:last-child,.art-body .warn ul:last-child{margin-bottom:0}

/* 手続きの流れ。番号を大きく出して順序を見せる */
.art-body .steps{margin:2em 0;counter-reset:st;list-style:none;padding:0}
.art-body .steps>li{position:relative;padding:0 0 20px 52px;margin:0;counter-increment:st}
.art-body .steps>li::before{content:counter(st,decimal-leading-zero);position:absolute;left:0;top:2px;
  font-family:var(--en);font-size:14px;font-weight:800;color:var(--navy);
  width:32px;height:32px;border:1px solid var(--line);background:var(--bg-soft);border-radius:50%;
  display:flex;align-items:center;justify-content:center}
.art-body .steps>li::after{content:"";position:absolute;left:16px;top:38px;bottom:0;
  width:1px;background:var(--line)}
.art-body .steps>li:last-child{padding-bottom:0}
.art-body .steps>li:last-child::after{display:none}
.art-body .steps .h{font-family:var(--mincho);font-weight:600;font-size:16.5px;
  color:var(--ink-green);margin:5px 0 6px}

/* 表。狭い画面でははみ出させず、横スクロールにする */
.art-body .tbl{margin:2em 0;overflow-x:auto;border:1px solid var(--line)}
.art-body table{border-collapse:collapse;width:100%;min-width:420px;font-size:15.5px}
.art-body th,.art-body td{padding:13px 16px;border-bottom:1px solid var(--line);
  text-align:left;line-height:1.85;vertical-align:top}
.art-body th{background:var(--bg-soft);font-weight:700;color:var(--ink-green);white-space:nowrap}
.art-body tr:last-child th,.art-body tr:last-child td{border-bottom:0}

/* 図版。説明文（キャプション）を必ず付ける */
.art-body figure{margin:2.2em 0}
.art-body figure img,.art-body figure svg{display:block;width:100%;height:auto;border:1px solid var(--line)}
.art-body figcaption{margin-top:10px;font-size:16px;line-height:1.85;color:var(--ink-soft);
  padding-left:12px;border-left:2px solid var(--line)}

@media(max-width:560px){
  .art-body .lead{font-size:16.5px;padding:16px 18px}
  .art-body .point,.art-body .warn{padding:18px 18px}
  .art-body .steps>li{padding-left:44px}
  .art-body .steps>li::before{width:28px;height:28px;font-size:13px}
  .art-body .steps>li::after{left:14px;top:34px}
}

/* 記事中の内部リンク導線 */
.inline-cta{margin:2.4em 0;border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--bg-soft);padding:22px 26px}
.inline-cta .t{font-weight:700;font-size:15.5px;color:var(--ink-green);margin-bottom:6px}
.inline-cta p{font-size:16px;line-height:1.95;color:var(--ink-soft);margin:0}
.inline-cta a{color:var(--ink-green);font-weight:700;text-decoration:underline}

/* 記事末尾のFAQ（この形のまま書くと build-jsonld.py が FAQPage を自動生成する）
   service.css のFAQを、コラム側の文字サイズ・変数に合わせて移植 */
.faq{border-top:1px solid var(--line);margin-bottom:1.6em}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 34px;position:relative;font-size:17px;font-weight:600;line-height:1.75;font-family:var(--mincho);color:var(--ink-green);word-break:auto-phrase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:0;top:18px;font-family:var(--en);font-size:18px;font-weight:800;color:var(--ink-accent)}
.faq summary::after{content:"";position:absolute;right:8px;top:29px;width:9px;height:9px;border-right:1.5px solid var(--navy);border-bottom:1.5px solid var(--navy);transform:rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq summary:hover{color:var(--ink-accent)}
.faq .a{padding:0 8px 24px 34px;font-size:16px;line-height:2;letter-spacing:.04em;color:var(--ink-soft);position:relative}
.faq .a::before{content:"A";position:absolute;left:2px;top:-3px;font-family:var(--en);font-size:17px;font-weight:800;color:var(--gray)}
.faq .a a{color:var(--ink-green);text-decoration:underline}
@media(max-width:560px){
  .faq summary{font-size:16px;padding:18px 36px 18px 28px}
  .faq summary::before{font-size:17px;top:17px}
  .faq .a{padding-left:28px;font-size:15px}
}

.disclaim{margin-top:52px;padding:18px 22px;background:var(--bg-soft);border:1px solid var(--line);font-size:13px;line-height:1.9;color:var(--ink-soft)}
.sup-box{margin-top:26px;padding:22px;border:1px solid var(--line);display:flex;gap:18px;align-items:flex-start}
.sup-box .tag2{font-family:var(--en);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--ink-accent)}
.sup-box p{font-size:16px;line-height:1.9;color:var(--ink);margin:4px 0 0}
/* 執筆者（文責） */
.sup-box .au-face{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--bg-soft);border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-family:var(--mincho);font-weight:600;font-size:20px;color:var(--ink-green);overflow:hidden}
.sup-box .au-face img{width:100%;height:100%;object-fit:cover}
.sup-box .au-body{min-width:0}
.sup-box .au-nm{font-family:var(--mincho);font-weight:600;font-size:17px;color:var(--ink-green);line-height:1.6;margin-top:6px}
.sup-box .au-ti{display:block;font-family:var(--jp);font-weight:400;font-size:12.5px;letter-spacing:.06em;color:var(--ink-soft);margin-top:2px}
.sup-box .au-bio{font-size:16px;line-height:1.9;color:var(--ink-soft);margin-top:8px}
.sup-box .au-note{font-size:12.5px;line-height:1.85;color:var(--ink-mute);margin-top:8px}
@media(max-width:560px){.sup-box{flex-direction:column;gap:12px}}

.cta-box{margin-top:34px;border:2px solid var(--navy);padding:34px 28px;text-align:center}
.cta-box .l1{font-family:var(--mincho);font-weight:600;font-size:18px;color:var(--ink-green)}
.cta-box .tel{display:block;margin:14px 0 4px;font-family:var(--en);font-weight:800;font-size:clamp(28px,4vw,38px);letter-spacing:.04em;color:var(--ink-green)}
.cta-box .hours{font-size:13px;letter-spacing:.1em;color:var(--ink-soft)}
.cta-box .btn2{display:inline-block;margin-top:20px;background:var(--navy);color:#fff;font-size:15px;font-weight:700;letter-spacing:.14em;padding:15px 46px;transition:background .25s}
.cta-box .btn2:hover{background:var(--ink-accent)}

/* ===== related ===== */
.rel{max-width:1220px;margin:0 auto;padding:0 5vw 110px}
.rel h3{font-family:var(--en);font-weight:700;font-size:22px;letter-spacing:.04em;color:var(--ink-green);margin:0 0 26px;display:flex;align-items:baseline;gap:14px}
.rel h3 span{font-size:13px;font-family:var(--jp);color:var(--ink-soft);letter-spacing:.2em}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rel-card{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);padding:22px;transition:border-color .25s,transform .25s}
.rel-card:hover{border-color:var(--blue);transform:translateY(-3px)}
.rel-date{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--ink-mute)}
.rel-t{font-size:16px;line-height:1.8;color:var(--ink);font-weight:500}

/* ===== footer ===== */
.big-foot{background:var(--navy);color:#fff;padding:100px 0 0;position:relative;overflow:hidden}
.big-foot .giant{font-family:var(--en);font-weight:800;font-size:clamp(64px,12.5vw,190px);line-height:.95;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.34);user-select:none;white-space:nowrap}
.bf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:60px}
.bf-card{position:relative;border:1px solid rgba(255,255,255,.18);padding:38px 40px;display:flex;align-items:baseline;gap:20px;transition:background .3s}
.bf-card::after{content:"→";position:absolute;right:36px;top:50%;transform:translateY(-50%);font-family:var(--en);opacity:.6;transition:transform .3s}
.bf-card:hover{background:rgba(255,255,255,.07)}
.bf-card:hover::after{transform:translate(6px,-50%)}
.bf-card .e{font-family:var(--en);font-weight:700;font-size:24px}
.bf-card .j{font-size:12px;letter-spacing:.2em;opacity:.7}
.bf-contact{margin-top:80px;border-top:1px solid rgba(255,255,255,.16);padding:56px 0;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.bf-contact .lbl{font-family:var(--en);font-weight:700;font-size:26px;letter-spacing:.05em}
.bf-contact .lbl small{display:block;font-family:var(--jp);font-weight:500;font-size:12px;letter-spacing:.22em;opacity:1;margin-top:6px}
.bf-tel{font-family:var(--en);font-weight:600;font-size:clamp(28px,3.6vw,42px);letter-spacing:.04em}
.bf-tel small{display:block;font-family:var(--jp);font-size:11.5px;letter-spacing:.16em;opacity:1;margin-top:4px}
.bf-btn{display:inline-flex;align-items:center;gap:14px;background:#fff;color:var(--ink-green);font-weight:700;font-size:14px;letter-spacing:.18em;padding:20px 44px;border-radius:99px;transition:.3s}
.bf-btn:hover{background:var(--ink-accent);color:#fff}
.bf-bottom{border-top:1px solid rgba(255,255,255,.16);padding:30px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.14em;color:#fff}
.bf-bottom img{height:34px;width:auto;filter:invert(1) brightness(2);opacity:.9}

/* ===== responsive ===== */
@media(max-width:1000px){
  nav{display:none}
  header.menu-open nav{display:block;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(31,140,125,.08);padding:10px 24px 20px}
  header.menu-open nav ul{display:flex;flex-direction:column;gap:0}
  header.menu-open nav li{border-bottom:1px solid var(--line)}
  header.menu-open nav a{display:block;padding:15px 4px;font-size:14px}
  header.menu-open .menu-btn span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  header.menu-open .menu-btn span:nth-child(2){opacity:0}
  header.menu-open .menu-btn span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .menu-btn{display:flex;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:10px;margin-left:6px}
  .menu-btn span{width:24px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .2s}
  .hd{height:72px;padding:0 20px}
  .hd-cta{width:100px;height:72px}
  .hd-logo img{height:38px}
  .bf-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .rel-grid{grid-template-columns:1fr}
  .pg-head{padding:120px 24px 42px}
  .art-wrap{padding:48px 24px 70px}
}

/* ===== 前後記事ナビ ===== */
.art-nav{max-width:960px;margin:0 auto;padding:0 24px 64px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.art-nav .an{border:1px solid var(--line);padding:20px 22px;display:flex;flex-direction:column;gap:8px;transition:border-color .25s,transform .25s}
.art-nav a.an:hover{border-color:var(--blue);transform:translateY(-3px)}
.art-nav .an.next{text-align:right}
.art-nav .an.empty{border:0;pointer-events:none}
.art-nav .l{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--ink-green)}
.art-nav .t{font-size:16px;line-height:1.8;color:var(--ink)}
@media(max-width:760px){.art-nav{grid-template-columns:1fr}.art-nav .an.next{text-align:left}.art-nav .an.empty{display:none}}

/* ===== 関連するサービス（.rel の派生） ===== */
.rel.col-rel{padding-bottom:56px}
.rel-e{font-family:var(--en);font-size:12px;letter-spacing:.14em;color:var(--ink-accent)}
.rel-n{font-family:var(--mincho);font-weight:600;font-size:17px;line-height:1.6;color:var(--ink)}
.rel-d{font-size:16px;line-height:1.85;color:var(--ink-soft)}
.rel-more{margin-top:22px;font-size:16px;line-height:1.9;color:var(--ink-soft)}
.rel-more a{color:var(--ink-green);text-decoration:underline}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr}}

/* ===== 2カラムレイアウト（本文＋サイドバー） ===== */
.art-layout{max-width:1220px;margin:0 auto;padding:0 5vw;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:60px;align-items:start}
.art-layout .art-wrap{max-width:none;margin:0;padding:64px 0 24px}
.art-layout .art-nav{max-width:none;margin:0;padding:0 0 70px}
.side{position:sticky;top:104px;padding:64px 0 90px}
@media(max-width:1040px){
  .art-layout{grid-template-columns:1fr;gap:0;max-width:860px}
  .side{position:static;padding:0 0 80px}
}

/* サイドバーの箱 */
.sbox{border:1px solid var(--line);margin-bottom:22px}
.sbox > h4{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.2em;color:#fff;background:var(--navy);padding:13px 18px;display:flex;align-items:baseline;gap:12px}
.sbox > h4 span{font-family:var(--jp);font-size:12px;letter-spacing:.16em;opacity:.85}
.sbox .in{padding:6px 18px 16px}

/* サイドバー：人気記事 */
.s-posts{list-style:none}
.s-posts li{border-bottom:1px dotted var(--line)}
.s-posts li:last-child{border-bottom:0}
.s-posts a{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:14px 0;align-items:start;transition:color .25s}
.s-posts a:hover{color:var(--ink-green)}
.s-posts .n{font-family:var(--en);font-weight:800;font-size:16px;color:var(--ink-accent);line-height:1.5}
.s-posts .d{display:block;font-family:var(--en);font-size:11.5px;letter-spacing:.12em;color:var(--ink-mute);margin-bottom:3px}
.s-posts .t{font-size:14px;line-height:1.75}
.s-posts li.cur a{color:var(--ink-green);pointer-events:none}
.s-posts li.cur .n{color:var(--ink-green)}

/* サイドバー：カテゴリ・リンク一覧 */
.s-list{list-style:none}
.s-list li{border-bottom:1px dotted var(--line)}
.s-list li:last-child{border-bottom:0}
.s-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;font-size:14px;transition:color .25s}
.s-list a:hover{color:var(--ink-green)}
.s-list a::after{content:"→";font-family:var(--en);font-size:12px;color:var(--ink-accent)}
.s-list .num{font-family:var(--en);font-size:12px;color:var(--ink-mute)}
.s-list a:has(.num)::after{content:none}

/* サイドバー：CTA */
.s-cta{border:2px solid var(--navy);padding:24px 20px;text-align:center;margin-bottom:22px}
.s-cta .l{font-family:var(--mincho);font-weight:600;font-size:15.5px;color:var(--ink-green);line-height:1.7}
.s-cta .tel{display:block;margin:10px 0 2px;font-family:var(--en);font-weight:800;font-size:26px;letter-spacing:.02em;color:var(--ink-green)}
.s-cta .h{font-size:12px;letter-spacing:.08em;color:var(--ink-soft)}
.s-cta .b{display:block;margin-top:14px;background:var(--navy);color:#fff;font-size:14px;font-weight:700;letter-spacing:.1em;padding:12px 0;transition:background .25s}
.s-cta .b:hover{background:var(--ink-accent)}
.s-cta .line{display:block;margin-top:9px;background:#06C755;color:#fff;font-size:14px;font-weight:700;letter-spacing:.06em;padding:12px 0;transition:opacity .25s}
.s-cta .line:hover{opacity:.86}

/* ===== 目次 ===== */
.toc{border:1px solid var(--line);background:var(--bg-soft);padding:24px 28px;margin:0 0 44px}
.toc .h{font-family:var(--mincho);font-weight:600;font-size:16px;color:var(--ink-green);margin-bottom:12px;display:flex;align-items:center;gap:12px}
.toc .h::after{content:"";flex:1;height:1px;background:var(--line)}
.toc ol{counter-reset:tc;list-style:none}
.toc li{counter-increment:tc;border-bottom:1px dotted var(--line)}
.toc li:last-child{border-bottom:0}
.toc a{display:grid;grid-template-columns:30px 1fr;gap:6px;padding:10px 0;font-size:14.5px;line-height:1.75;transition:color .25s}
.toc a::before{content:counter(tc,decimal-leading-zero);font-family:var(--en);font-weight:700;font-size:12.5px;color:var(--ink-accent);padding-top:3px}
.toc a:hover{color:var(--ink-green)}

/* ===== SNSシェア ===== */
.share{margin-top:44px;border-top:1px solid var(--line);padding-top:22px}
.share .l{font-family:var(--en);font-size:12px;letter-spacing:.2em;color:var(--ink-mute);margin-bottom:12px}
.share ul{list-style:none;display:flex;gap:10px;flex-wrap:wrap}
.share a,.share button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);background:#fff;color:var(--ink);font-family:inherit;font-size:13px;letter-spacing:.06em;padding:10px 18px;cursor:pointer;transition:border-color .25s,color .25s}
.share a:hover,.share button:hover{border-color:var(--navy);color:var(--ink-green)}

/* ===== 記事メタのカテゴリ ===== */
.art-tags{display:inline-flex;gap:8px;flex-wrap:wrap}
.art-tags a{font-size:12px;letter-spacing:.1em;color:var(--ink-green);border:1px solid var(--navy);border-radius:99px;padding:3px 13px;transition:background .25s,color .25s}
.art-tags a:hover{background:var(--navy);color:#fff}

/* ===== トップに戻る ===== */
.totop{position:fixed;right:22px;bottom:22px;z-index:80;width:46px;height:46px;border:0;background:var(--navy);color:#fff;font-family:var(--en);font-size:16px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s,background .25s}
.totop.on{opacity:.92;pointer-events:auto}
.totop:hover{background:var(--ink-accent)}
/* 目次ボタン（右下）が出ているときは、その上に積む。目次を開いている間は隠す */
body:has(.tocrail:not(.is-dock):not([hidden])) .totop{bottom:80px}
body:has(.tocrail.is-open:not(.is-dock)) .totop{opacity:0;pointer-events:none}
