:root{
  /* ── 配色 ───────────────────────────────────────
     錦見弁護士のサイト（濃紺 #3A3768 ＋真鍮金＋アイボリー）と
     衝突しないよう、ブランドカラーのうち紺 #383668 は使わない。
     残す金 #889236（オリーブ）を主色に、構造色は深碧 #1A4A43。
     ACLOのグリーンと同系で、法人と地続きに見える。
     ──────────────────────────────────────────── */
  --fuka:#1A4A43;        /* 深碧：見出し・帯・ボタン */
  --fuka-2:#123832;
  --kin:#889236;         /* 金（オリーブ）：アクセント */
  --kin-deep:#5F6A1C;
  --kin-soft:#EDF0DC;
  --sumi:#5F6268;

  --ground:#F8F8F3;
  --surface:#FFFFFF;
  --surface-2:#EFF0E8;
  --ink:#2A2B26;
  --ink-2:#5D6058;
  --ink-3:#8A8C82;
  --rule:#E2E3D6;
  --rule-2:#CBCDBB;
  --head:#1A4A43;
  --accent:#5F6A1C;
  --accent-mark:#889236;
  --urgent:#A8402A;
  --urgent-soft:#F7EAE5;
  --line-green:#06C755;
  --line-ink:#05301A;

  --jp:"Yu Gothic Medium","游ゴシック Medium",YuGothic,"Yu Gothic","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  --round:"Zen Maru Gothic","Yu Gothic Medium",YuGothic,"Hiragino Maru Gothic ProN","Hiragino Sans",sans-serif;

  --wrap:1080px;
  --read:33em;
  --r:14px;
  --r-sm:9px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --fuka:#0F3A34;
    --fuka-2:#0A2B26;
    --kin-soft:#2E3320;
    --ground:#151814;
    --surface:#1E221C;
    --surface-2:#272B24;
    --ink:#EDEFE6;
    --ink-2:#B6B9AC;
    --ink-3:#8B8E82;
    --rule:#353A31;
    --rule-2:#4C5245;
    --head:#7FC4B5;
    --accent:#C3CE72;
    --accent-mark:#AEBA55;
    --urgent:#E58A72;
    --urgent-soft:#3A241E;
  }
}
:root[data-theme="dark"]{
  --fuka:#0F3A34;
  --fuka-2:#0A2B26;
  --kin-soft:#2E3320;
  --ground:#151814;
  --surface:#1E221C;
  --surface-2:#272B24;
  --ink:#EDEFE6;
  --ink-2:#B6B9AC;
  --ink-3:#8B8E82;
  --rule:#353A31;
  --rule-2:#4C5245;
  --head:#7FC4B5;
  --accent:#C3CE72;
  --accent-mark:#AEBA55;
  --urgent:#E58A72;
  --urgent-soft:#3A241E;
}

*{box-sizing:border-box}
.skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  background:var(--fuka);color:#fff;padding:10px 16px;
  font-family:var(--round);font-weight:700;font-size:14px;text-decoration:none;
  border-radius:0 0 var(--r-sm) 0;
}
.skip:focus{left:0}
body{
  background:var(--ground);color:var(--ink);
  font-family:var(--jp);font-size:16.5px;line-height:2.0;
  -webkit-font-smoothing:antialiased;font-feature-settings:"palt" 1;
}
h1,h2,h3,h4{font-family:var(--round);font-weight:700;color:var(--head);line-height:1.55;margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent-mark);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.n{font-family:var(--round);font-variant-numeric:tabular-nums}
.chk{
  font-size:11px;font-weight:700;color:var(--accent);background:var(--kin-soft);
  border:1px solid var(--accent-mark);border-radius:20px;padding:1px 8px;
  margin-left:6px;white-space:nowrap;display:inline-block;line-height:1.7;vertical-align:2px;
}

/* ── 個人サイトである旨の常設表示 ── */
.sitenote{background:var(--surface-2);border-bottom:1px solid var(--rule);font-size:12.5px;color:var(--ink-2);line-height:1.85}
.sitenote .wrap{padding-top:9px;padding-bottom:9px}
.sitenote b{color:var(--head)}

/* ── 試作帯 ─────────────────────── */
.proto{background:var(--fuka);color:#E9F2EF;font-size:12.5px;line-height:1.8}
.proto .wrap{padding-top:8px;padding-bottom:8px}
.proto b{color:#CDD86A}

/* ── ヘッダー ───────────────────── */
header{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--rule)}
.bar{display:flex;align-items:center;gap:18px;max-width:var(--wrap);margin:0 auto;padding:13px 22px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none}
.logo .leaf{width:26px;height:26px;flex:0 0 auto;color:var(--accent-mark)}
.logo b{font-family:var(--round);font-weight:700;font-size:19.5px;color:var(--head);letter-spacing:.06em;display:block;line-height:1.35}
.logo span{font-size:11px;color:var(--ink-3);letter-spacing:.02em;display:block;line-height:1.4}
.bar .sp{flex:1}
.hcta{display:flex;align-items:center;gap:9px}
.tel{font-family:var(--round);font-weight:700;font-size:18px;color:var(--head);text-decoration:none;font-variant-numeric:tabular-nums;line-height:1.25}
.tel small{display:block;font-family:var(--jp);font-size:10.5px;font-weight:400;color:var(--ink-3);line-height:1.5}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  font-family:var(--round);font-weight:700;font-size:15px;text-decoration:none;
  padding:11px 20px;border-radius:999px;border:2px solid transparent;
  background:var(--surface-2);color:var(--ink);cursor:pointer;transition:.16s ease;line-height:1.5;
}
.btn:hover{transform:translateY(-1px)}
.btn-line{background:var(--line-green);color:var(--line-ink)}
.btn-line:hover{background:#05B44E}
.btn-fuka{background:var(--fuka);color:#EAF3F0}
.btn-fuka:hover{background:var(--fuka-2)}
.btn-ghost{background:transparent;border-color:var(--rule-2);color:var(--ink)}
.btn-ghost:hover{border-color:var(--accent-mark);color:var(--accent)}
.btn-lg{font-size:16.5px;padding:15px 30px}

nav.main{background:var(--surface-2);border-bottom:1px solid var(--rule)}
nav.main ul{display:flex;flex-wrap:wrap;list-style:none;margin:0 auto;padding:0 22px;max-width:var(--wrap)}
nav.main button,nav.main a{
  appearance:none;background:none;border:0;font-family:var(--round);font-weight:700;
  font-size:14.5px;color:var(--ink-2);padding:13px 16px;cursor:pointer;position:relative;line-height:1.5;
  display:inline-block;text-decoration:none;
}
nav.main button:hover,nav.main a:hover{color:var(--accent)}
nav.main button[aria-current="page"],nav.main a[aria-current="page"]{color:var(--head)}
nav.main button[aria-current="page"]::after,nav.main a[aria-current="page"]::after{
  content:"";position:absolute;left:16px;right:16px;bottom:6px;height:3px;
  background:var(--accent-mark);border-radius:3px;
}

/* ── セクション ─────────────────── */
section{padding:60px 0}
section.tint{background:var(--surface-2)}
.sh{margin-bottom:30px}
.sh h2{font-size:clamp(22px,3.2vw,29px)}
.sh .kicker{
  display:inline-block;font-family:var(--round);font-weight:700;font-size:12.5px;
  color:var(--accent);background:var(--kin-soft);border-radius:999px;
  padding:3px 13px;margin-bottom:13px;letter-spacing:.02em;
}
.sh p{margin-top:13px;color:var(--ink-2);font-size:15.5px;max-width:var(--read)}

/* ── ヒーロー ───────────────────── */
.hero{padding:62px 0 20px}
.hero h1{font-size:clamp(30px,6vw,52px);font-weight:900;line-height:1.4;letter-spacing:.005em;color:var(--head)}
.hero h1 b{color:var(--accent);font-weight:900}
.hero-lead{margin-top:22px;font-size:17px;color:var(--ink-2);line-height:2.05;max-width:30em}
.hero-lead strong{color:var(--ink);font-weight:700}
.hero-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.85fr);gap:44px;align-items:center}
.hero-cta{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin-top:28px}
.hero-note{margin-top:13px;font-size:13px;color:var(--ink-3)}
.pfimg{
  display:block;width:100%;max-width:330px;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;
  border-radius:var(--r);background:var(--surface-2);margin-left:auto;margin-right:auto;
}
.pf{
  aspect-ratio:4/5;background:var(--surface-2);border:2px dashed var(--rule-2);
  border-radius:var(--r);display:flex;flex-direction:column;gap:6px;
  align-items:center;justify-content:center;text-align:center;
  color:var(--ink-3);font-size:13px;padding:18px;
}
.pf-cap{margin-top:12px;font-size:13px;color:var(--ink-3);line-height:1.8;text-align:center}
.pf-cap b{display:block;font-family:var(--round);font-size:17px;color:var(--head);letter-spacing:.08em;margin-bottom:2px}

/* ── 状況タイル ─────────────────── */
.pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:13px}
.tile{
  appearance:none;text-align:left;font-family:var(--jp);
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  padding:20px 19px 18px;cursor:pointer;display:flex;flex-direction:column;gap:11px;
  transition:.16s ease;color:var(--ink);
}
.tile{text-decoration:none}
.tile:hover{border-color:var(--accent-mark);transform:translateY(-2px)}
.tile.now{border-color:var(--urgent);border-width:2px;background:var(--urgent-soft)}
.tile.now:hover{border-color:var(--urgent)}
.tile-ico{width:30px;height:30px;color:var(--accent-mark)}
.tile.now .tile-ico{color:var(--urgent)}
.tile-badge{
  font-family:var(--round);font-weight:700;font-size:11.5px;color:#fff;background:var(--urgent);
  border-radius:999px;padding:2px 10px;align-self:flex-start;line-height:1.7;
}
.tile h3{font-family:var(--round);font-size:16.5px;color:var(--head);line-height:1.6}
.tile.now h3{color:var(--urgent)}
.tile p{font-size:13.5px;color:var(--ink-2);line-height:1.85}
.tile .go{margin-top:auto;font-family:var(--round);font-weight:700;font-size:13px;color:var(--accent)}
.tile.now .go{color:var(--urgent)}

/* ── 安心のための事実 ─────────────── */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(162px,1fr));gap:11px}
.fact{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);
  padding:15px 16px;display:flex;flex-direction:column;gap:3px;
}
a.fact{text-decoration:none;transition:.16s ease}
a.fact:hover{border-color:var(--accent-mark);transform:translateY(-2px)}
.fact b{font-family:var(--round);font-size:14.5px;color:var(--head)}
.fact span{font-size:12.5px;color:var(--ink-2);line-height:1.75}

/* ── 分野 ───────────────────────── */
.areas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.area{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  padding:25px 23px;display:flex;flex-direction:column;gap:12px;
}
.area.top{background:var(--kin-soft);border-color:var(--accent-mark)}
.area.wide{grid-column:1/-1}
.area h3{font-size:20px}
.area .plain{font-size:14px;color:var(--accent);font-family:var(--round);font-weight:700}
.area>p{font-size:14.5px;color:var(--ink-2);line-height:1.95}
.area .use{font-size:13.5px;line-height:1.9;color:var(--ink);border-left:3px solid var(--accent-mark);padding-left:12px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:4px}
.chip{font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border-radius:999px;padding:3px 11px;line-height:1.75}
.area.top .chip{background:rgba(255,255,255,.7)}
:root[data-theme="dark"] .area.top .chip{background:rgba(0,0,0,.22)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .area.top .chip{background:rgba(0,0,0,.22)}}

/* ── 流れ ───────────────────────── */
.flow{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.flow li{
  background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);
  padding:20px 22px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:17px;align-items:start;
}
.flow .no{
  width:38px;height:38px;border-radius:50%;background:var(--accent-mark);color:#fff;
  font-family:var(--round);font-weight:700;font-size:16px;
  display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;
}
.flow h3{font-size:17px;margin-bottom:5px}
.flow p{font-size:14.5px;color:var(--ink-2);line-height:1.95}
.flow .when{display:inline-block;font-size:12px;color:var(--accent);background:var(--kin-soft);border-radius:999px;padding:1px 10px;margin-top:8px;font-family:var(--round);font-weight:700}

/* ── Q&A ───────────────────────── */
.qa{display:flex;flex-direction:column;gap:10px}
.qa details{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm)}
.qa summary{
  cursor:pointer;list-style:none;padding:16px 44px 16px 19px;position:relative;
  font-family:var(--round);font-weight:700;font-size:15.5px;color:var(--head);line-height:1.7;
}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{
  content:"";position:absolute;right:20px;top:24px;width:9px;height:9px;
  border-right:2.5px solid var(--accent-mark);border-bottom:2.5px solid var(--accent-mark);
  transform:rotate(45deg);transition:transform .18s ease;
}
.qa details[open] summary::after{transform:rotate(-135deg)}
.qa .a{padding:0 19px 19px;font-size:14.5px;color:var(--ink-2);line-height:2.05}

/* ── 経歴 ───────────────────────── */
.tl{list-style:none;margin:0;padding:0}
.tl li{display:grid;grid-template-columns:9.5em minmax(0,1fr);gap:20px;padding:16px 0;border-bottom:1px solid var(--rule)}
.tl li:last-child{border-bottom:0}
.tl .yr{font-family:var(--round);font-weight:700;font-size:13.5px;color:var(--accent);font-variant-numeric:tabular-nums;padding-top:3px}
.tl h3{font-size:16.5px;margin-bottom:4px}
.tl p{font-size:14.5px;color:var(--ink-2);line-height:1.95}
.quote{background:var(--kin-soft);border-radius:var(--r);padding:28px 30px;margin-top:26px}
.quote p{font-family:var(--round);font-weight:700;font-size:clamp(18px,2.8vw,23px);color:var(--head);line-height:1.75}
.quote cite{display:block;margin-top:12px;font-style:normal;font-size:13px;color:var(--ink-2)}

/* ── 表 ───────────────────────── */
.tw{overflow-x:auto;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
caption{text-align:left;font-family:var(--round);font-weight:700;font-size:15.5px;color:var(--head);padding:18px 20px 12px}
th,td{padding:13px 20px;text-align:left;border-top:1px solid var(--rule);vertical-align:top;line-height:1.85}
thead th{background:var(--surface-2);font-size:12.5px;font-weight:700;color:var(--head);white-space:nowrap}
tbody th{font-weight:700;color:var(--ink);width:36%}
td.nc{font-family:var(--round);font-variant-numeric:tabular-nums;white-space:nowrap}

/* ── 定義リスト ─────────────────── */
.dl{display:grid;grid-template-columns:8em minmax(0,1fr);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.dl dt{padding:15px 20px;font-family:var(--round);font-weight:700;font-size:14px;color:var(--head);background:var(--surface-2);border-top:1px solid var(--rule)}
.dl dd{padding:15px 20px;margin:0;font-size:14.5px;color:var(--ink-2);border-top:1px solid var(--rule);line-height:1.95}
.dl dt:first-of-type,.dl dd:first-of-type{border-top:0}

/* ── 連絡3手段 ─────────────────── */
.cts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;align-items:stretch}
.ct{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);padding:24px 22px;display:flex;flex-direction:column;gap:13px}
.ct.best{border:2px solid var(--line-green)}
.ct .lbl{font-family:var(--round);font-weight:700;font-size:12px;color:var(--ink-3)}
.ct.best .lbl{color:#048744}
:root[data-theme="dark"] .ct.best .lbl{color:#3ADF86}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .ct.best .lbl{color:#3ADF86}}
.ct h3{font-size:19px}
.ct p{font-size:14px;color:var(--ink-2);line-height:1.95;flex:1}
.qrimg{display:block;width:130px;height:130px;border-radius:var(--r-sm);background:#fff;padding:6px;border:1px solid var(--rule)}
.qr{width:112px;height:112px;background:var(--surface-2);border:2px dashed var(--rule-2);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;text-align:center;font-size:11px;color:var(--ink-3);padding:8px;line-height:1.6}

/* ── CTA帯 ─────────────────────── */
.band{background:var(--fuka);color:#E7F1EE;padding:52px 0}
.band h2{color:#fff;font-size:clamp(20px,2.9vw,27px)}
.band .kicker{background:rgba(255,255,255,.13);color:#CFD96D}
.band p{color:#BCCFCA;font-size:15px;margin-top:13px;line-height:2;max-width:var(--read)}
.band .hero-cta{margin-top:24px}
.band .tel{color:#fff}
.band .tel small{color:#A9C2BC}
.band .btn-ghost{border-color:#4E7A72;color:#E7F1EE}
.band .btn-ghost:hover{border-color:#9CC3BB;color:#fff}
.band .chk{color:#DCE47A;border-color:#7E874A;background:rgba(255,255,255,.1)}

/* ── 結論先出しボックス ─────────── */
.bluf{background:var(--kin-soft);border-left:5px solid var(--accent-mark);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:15px 18px}
.bluf b{display:block;font-family:var(--round);font-size:12.5px;color:var(--accent);margin-bottom:4px}
.bluf p{font-size:15px;line-height:1.95;color:var(--ink);font-weight:700}
.area .bluf{margin-bottom:2px}
.area.top .bluf{background:rgba(255,255,255,.62)}
:root[data-theme="dark"] .area.top .bluf{background:rgba(0,0,0,.2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .area.top .bluf{background:rgba(0,0,0,.2)}}

/* ── 解説記事 ───────────────────── */
.art{max-width:40em}
.art h2{font-size:clamp(21px,3.3vw,29px);margin-bottom:14px}
.art .meta{font-size:13px;color:var(--ink-3);margin-bottom:22px;line-height:1.85}
.art h3{font-size:19px;margin:34px 0 12px}
.art p{font-size:16px;line-height:2.05;color:var(--ink);margin-bottom:16px}
.art ul,.art ol{margin:0 0 18px;padding-left:1.35em}
.art li{font-size:15.5px;line-height:2;margin-bottom:7px}
.art .law{background:var(--surface-2);border-radius:var(--r-sm);padding:17px 20px;margin:24px 0;font-size:14px;line-height:2;color:var(--ink-2)}
.art .law b{display:block;font-family:var(--round);font-size:13.5px;color:var(--head);margin-bottom:5px}
.art .byline{border-top:1px solid var(--rule);margin-top:34px;padding-top:20px;font-size:14px;color:var(--ink-2);line-height:1.95}
.art .byline b{font-family:var(--round);font-size:15.5px;color:var(--head);display:block;margin-bottom:4px}

/* ── 事実リスト ─────────────────── */
.factlist{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);overflow:hidden}
.factlist li{padding:14px 20px;border-top:1px solid var(--rule);font-size:15px;line-height:1.95}
.factlist li:first-child{border-top:0}

/* ── スマホ固定バー ─────────────── */
.mbar{position:fixed;bottom:0;left:0;right:0;z-index:50;display:none;gap:9px;padding:9px 12px;background:var(--surface);border-top:1px solid var(--rule-2)}
.mbar .btn{flex:1;padding:12px 10px}

@media (max-width:900px){
  .hero-row{grid-template-columns:1fr;gap:32px}
  .pf,.pfimg{max-width:250px;margin:0 auto}
  .areas{grid-template-columns:1fr}
  .cts{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:16px}
  section{padding:44px 0}
  .hero{padding:44px 0 14px}
  .hcta .btn-line{display:none}
  .mbar{display:flex}
  .dl{grid-template-columns:1fr}
  .dl dd{border-top:0;padding-top:0}
  .tl li{grid-template-columns:1fr;gap:4px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

footer{background:var(--surface-2);border-top:1px solid var(--rule);padding:42px 0 96px;font-size:13.5px;color:var(--ink-2)}
.fg{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:34px}
footer .fn{font-family:var(--round);font-weight:700;font-size:17px;color:var(--head);display:block;margin-bottom:9px;letter-spacing:.05em}
footer address{font-style:normal;line-height:2}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}
footer ul button,footer ul a{appearance:none;background:none;border:0;font-family:var(--jp);font-size:13.5px;color:var(--ink-2);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
footer ul button:hover,footer ul a:hover{color:var(--accent)}
footer .note{font-size:12px;color:var(--ink-3);line-height:1.95;border-top:1px solid var(--rule);margin-top:26px;padding-top:17px}
@media (max-width:900px){.fg{grid-template-columns:1fr;gap:22px}}