/* KNOT「AIツール」のページ：今のHPと同じ見た目にそろえる共通スタイル（2026-10-21）
   色・文字：紺 #14243E、本文 #333、補足 #555、線 #BBBBBB、アクセント（数字）#E96E2C、ベージュの帯 #F8F4F1
   見出しは Noto Serif JP、本文は Noto Sans JP、英字の小見出しは EB Garamond（HPと同じ）
   STUDIO の埋め込みでも使えるよう、半角のパーセント記号は使わない */
:root{
  --kt-navy:#14243E;--kt-ink:#333333;--kt-sub:#555555;--kt-line:#BBBBBB;--kt-line2:#E6E6E6;--kt-orange:#E96E2C;--kt-beige:#F8F4F1;--kt-mute:#8C96A5;
  --kt-serif:var(--s-font-4c9bec84,'Noto Serif JP'),'Hiragino Mincho ProN','Yu Mincho','YuMincho',serif;
  --kt-sans:var(--s-font-79a3f89d,'Noto Sans JP'),'Hiragino Sans','Hiragino Kaku Gothic ProN','Yu Gothic','YuGothic',Meiryo,sans-serif;
  --kt-en:var(--s-font-16af77a0,'EB Garamond'),var(--s-font-4c9bec84,'Noto Serif JP'),serif;
  --kt-arrow:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI4IiB2aWV3Qm94PSIwIDAgMTIgOCI+PHBhdGggZD0iTTEgMS41bDUgNSA1LTUiIGZpbGw9Im5vbmUiIHN0cm9rZT0iIzE0MjQzRSIgc3Ryb2tlLXdpZHRoPSIxLjUiLz48L3N2Zz4=");
}
[hidden]{display:none!important}

/* HP（STUDIO）の初期化（すべての要素を 文字=sans-serif・行間1・色#333・余白0・下線なし・点なし にする）を、
   このページの中身では元に戻す。下の各スタイルで必要な所だけ指定し直す */
.kt-section,.kt-section *,.kt-contact-cta,.kt-contact-cta *{font-family:inherit;line-height:inherit;color:inherit;word-spacing:normal;transition:none}

/* ページの中身（ヒーローとパンくずの下） */
.kt-section{background:#fff;padding:88px 32px 104px;font-family:var(--kt-sans);color:var(--kt-ink);line-height:1.9}
.kt-contact-cta{font-family:var(--kt-sans);color:var(--kt-ink);line-height:1.9}
.kt-section.kt-beige{background:var(--kt-beige)}
.kt-section.kt-tight{padding-top:40px}
.kt-inner{max-width:1140px;margin:0 auto}
.kt-eyebrow{font-family:var(--kt-en);font-size:13px;letter-spacing:.25em;color:var(--kt-orange);text-transform:uppercase;line-height:1.4;margin:0 0 16px}
.kt-heading{font-family:var(--kt-serif);font-weight:400;font-size:40px;line-height:1.5;letter-spacing:.02em;color:var(--kt-navy);margin:0 0 24px}
.kt-text{font-size:15px;line-height:2;color:var(--kt-sub);margin:0}
.kt-text+.kt-text{margin-top:8px}
.kt-label{display:inline-block;background:var(--kt-navy);color:#fff;font-family:var(--kt-en);font-size:13px;letter-spacing:.25em;line-height:1.2;text-transform:uppercase;padding:20px 22px}

/* ボタン（HPの「お問い合わせ →」と同じ形） */
.kt-btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--kt-navy);color:#fff;border:1px solid var(--kt-navy);text-decoration:none;font-family:var(--kt-sans);font-size:16px;font-weight:500;letter-spacing:.06em;line-height:1.4;padding:18px 36px;cursor:pointer;transition:background-color .3s ease,color .3s ease}
.kt-btn svg{flex:0 0 auto;width:34px;height:10px}
.kt-btn:hover{background:#fff;color:var(--kt-navy)}
.kt-btn.kt-ghost{background:#fff;color:var(--kt-navy)}
.kt-btn.kt-ghost:hover{background:var(--kt-navy);color:#fff}
.kt-btn.kt-wide{display:flex}
.kt-btn[aria-disabled="true"]{background:#fff;color:#9AA1AB;border-color:#D5D9DE;pointer-events:none;cursor:default}

/* AIツールの一覧 */
.kt-head-row{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:0 0 56px}
.kt-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;list-style:none;margin:0;padding:0}
.kt-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--kt-line);min-width:0}
.kt-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.kt-card-num{font-family:var(--kt-en);color:var(--kt-orange);font-size:40px;line-height:1;padding:24px 28px 0}
.kt-card-body{display:flex;flex-direction:column;flex:1 1 auto;padding:28px 28px 32px}
.kt-card-title{font-family:var(--kt-serif);font-weight:400;font-size:24px;line-height:1.5;color:var(--kt-navy);margin:0 0 14px}
.kt-card-text{font-size:14px;line-height:2;color:var(--kt-sub);margin:0 0 20px}
.kt-card-points{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--kt-line2)}
.kt-card-points li{font-size:14px;line-height:1.8;color:var(--kt-ink);padding:10px 0 10px 18px;border-bottom:1px solid var(--kt-line2);position:relative}
.kt-card-points li::before{content:"";position:absolute;left:2px;top:19px;width:6px;height:6px;background:var(--kt-orange)}
.kt-card-foot{margin-top:auto}
.kt-status{display:inline-block;font-size:12px;line-height:1.6;color:var(--kt-sub);border:1px solid var(--kt-line);padding:2px 10px;margin:0 0 16px}
.kt-status.kt-now{color:#fff;background:#B5471B;border-color:#B5471B}

/* AIに相談する */
.kt-split{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
.kt-ai-box{background:#fff;border:1px solid var(--kt-line);padding:32px 28px}
.kt-ai-box .kt-text{margin:0 0 20px}
.kt-small{font-size:12px;line-height:1.9;color:var(--kt-sub);margin:16px 0 0}

/* お問い合わせの帯（HPの CONTACT の左側。元はフォームがあった場所） */
.kt-contact-cta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;min-height:220px;padding:24px 0}
.kt-contact-cta .kt-text{font-size:14px}

/* ヘッダーとフッターに足した「AIツール」 */
a[data-knot-tools-nav][aria-current="page"]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}

@media (min-width:900px){
  .kt-head-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:end}
  .kt-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kt-split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px}
}
@media (max-width:640px){
  .kt-section{padding:56px 20px 72px}
  .kt-section.kt-tight{padding-top:24px}
  .kt-heading{font-size:28px;margin-bottom:18px}
  .kt-card-body{padding:24px 20px 28px}
  .kt-card-num{padding:20px 20px 0;font-size:34px}
  .kt-card-title{font-size:21px}
  .kt-btn{padding:16px 24px;gap:20px}
  .kt-ai-box{padding:24px 20px}
  .kt-contact-cta{min-height:0;padding:8px 0 24px}
}

/* ===== 贈与税の計算（.kz）：HPに合わせた見た目 ===== */
.kz{container-type:inline-size;color:var(--kt-ink);font-family:var(--kt-sans);font-size:15px;line-height:1.9;letter-spacing:.02em;word-break:auto-phrase;line-break:strict;overflow-wrap:anywhere}
.kz *,.kz *::before,.kz *::after{box-sizing:border-box}
:where(.kz) :is(p,h2,h3,ul,ol){margin:0}
.kz-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
@container (min-width:900px){.kz-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:start}}
.kz-sec{padding:0 0 40px}
.kz-sec+.kz-sec{border-top:1px solid var(--kt-line);padding-top:40px}
.kz-h{display:flex;align-items:baseline;gap:18px;font-family:var(--kt-serif);font-weight:400;font-size:26px;line-height:1.5;color:var(--kt-navy);margin:0 0 20px}
.kz-num{flex:0 0 auto;font-family:var(--kt-en);color:var(--kt-orange);font-size:36px;line-height:1;font-weight:400}
.kz-q{font-size:15px;margin:0 0 16px}
.kz-note{font-size:14px;color:var(--kt-sub);margin:0 0 20px}
.kz-seg{display:flex;flex-wrap:wrap}
.kz-segopt{position:relative;display:inline-flex;cursor:pointer;margin:0 -1px -1px 0}
.kz-segopt input{position:absolute;opacity:0;width:1px;height:1px}
.kz-segopt span{display:inline-block;min-width:112px;text-align:center;padding:12px 22px;border:1px solid var(--kt-line);background:#fff;font-size:15px;line-height:1.5;color:var(--kt-ink)}
.kz-segopt input:checked+span{background:var(--kt-navy);border-color:var(--kt-navy);color:#fff;position:relative;z-index:1}
.kz-segopt input:focus-visible+span{outline:2px solid var(--kt-orange);outline-offset:2px;position:relative;z-index:2}
.kz-segopt input:disabled+span{color:#A6ADB6;background:#F5F5F5;cursor:not-allowed}
.kz-seg-sm .kz-segopt span{min-width:0;padding:10px 16px;font-size:14px}
.kz-donor{border-top:1px solid var(--kt-line2);padding:24px 0 6px}
.kz-donor:first-child{border-top:0;padding-top:4px}
.kz-dhead{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}
.kz-dname{font-family:var(--kt-serif);font-size:19px;color:var(--kt-navy)}
.kz-del{appearance:none;border:0;background:none;color:var(--kt-sub);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:4px}
.kz-field{margin:0 0 20px}
.kz-lab{display:block;font-size:14px;font-weight:700;color:var(--kt-ink);margin:0 0 8px}
.kz-ctl{display:flex;align-items:center;gap:10px}
.kz-ctl select,.kz-ctl input{flex:1 1 auto;min-width:0;height:52px;font:inherit;font-size:16px;color:var(--kt-ink);background:#fff;border:1px solid var(--kt-line);border-radius:0;padding:0 14px;line-height:1.4}
.kz-ctl select{appearance:none;-webkit-appearance:none;padding-right:40px;background-image:var(--kt-arrow);background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}
.kz-ctl input{text-align:right}
.kz-ctl select:focus,.kz-ctl input:focus{outline:2px solid var(--kt-navy);outline-offset:-1px;border-color:var(--kt-navy)}
.kz-money input{max-width:240px}
.kz-unit{flex:0 0 auto;font-size:15px;color:var(--kt-sub)}
.kz-err{font-size:13px;color:#B5471B;margin:6px 0 0}
.kz-hint{font-size:13px;color:var(--kt-sub);margin:8px 0 0}
.kz-hint a{color:var(--kt-navy);text-decoration:underline;text-underline-offset:3px}
.kz-seisan{border-top:1px dashed var(--kt-line);padding:18px 0 4px;margin:0 0 8px}
.kz-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;margin:0 0 16px;cursor:pointer}
.kz-check input{margin:5px 0 0;flex:0 0 auto;width:17px;height:17px;accent-color:var(--kt-navy)}
.kz-add{appearance:none;display:inline-flex;align-items:center;gap:10px;border:1px solid var(--kt-navy);background:#fff;color:var(--kt-navy);border-radius:0;padding:12px 22px;font:inherit;font-size:15px;cursor:pointer;transition:background-color .3s,color .3s}
.kz-add:hover{background:var(--kt-navy);color:#fff}
.kz-add:disabled{opacity:.4;cursor:not-allowed}
.kz-card{border:1px solid var(--kt-line);background:#fff;padding:28px;margin:0 0 20px}
.kz-main{background:var(--kt-navy);border-color:var(--kt-navy);color:#fff;padding:32px 28px}
.kz-rlabel{font-size:14px;color:#C5CCD8;letter-spacing:.06em}
.kz-big{font-family:var(--kt-serif);font-size:52px;line-height:1.25;color:#fff;font-weight:400;margin:6px 0 4px;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.kz-yen{font-size:20px;margin-left:6px}
.kz-sub{font-size:12px;color:#C5CCD8}
.kz-status{margin:18px 0 0;font-size:14px;line-height:1.8}
.kz-status p{margin:8px 0 0;color:#fff}
.kz-tag{display:inline-block;font-size:12px;font-weight:700;line-height:1.6;padding:1px 10px;margin-right:8px;border:1px solid #fff}
.kz-tag-need{background:#B5471B;border-color:#B5471B;color:#fff}
.kz-tag-no{background:transparent;color:#fff}
.kz-ctitle{font-family:var(--kt-serif);font-size:19px;font-weight:400;color:var(--kt-navy);margin:0 0 10px}
.kz-block{margin:0 0 14px}
.kz-bname{font-size:14px;font-weight:700;color:var(--kt-navy);margin:10px 0 2px}
.kz-row{display:flex;justify-content:space-between;gap:16px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--kt-line2)}
.kz-row span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.kz-row.kz-strong{font-weight:700;color:var(--kt-navy);border-bottom:0}
.kz-empty{font-size:14px;color:var(--kt-sub)}
.kz-steps{margin:14px 0 0;font-size:14px}
.kz-steps summary{display:inline-flex;align-items:center;gap:8px;cursor:pointer;color:var(--kt-navy);font-weight:700;list-style:none}
.kz-steps summary::-webkit-details-marker{display:none}
.kz-steps summary::before{content:"＋";font-weight:400}
.kz-steps[open] summary::before{content:"－"}
.kz-steps ol{margin:10px 0 0;padding-left:22px}
.kz-steps li{margin:0 0 8px;line-height:1.8;list-style:decimal outside}
.kz-warn{border-left:3px solid var(--kt-orange);background:#FCF3EC;color:#7E4318;padding:14px 18px;font-size:14px;margin:0 0 20px}
.kz-warn p{margin:0 0 4px}
.kz-cta{margin:4px 0 0}
.kz-btn{display:flex;align-items:center;justify-content:center;gap:28px;background:var(--kt-navy);color:#fff;border:1px solid var(--kt-navy);text-decoration:none;padding:18px 24px;font-size:16px;font-weight:500;letter-spacing:.06em;transition:background-color .3s,color .3s}
.kz-btn svg{flex:0 0 auto;width:34px;height:10px}
.kz-btn:hover{background:#fff;color:var(--kt-navy)}
.kz-ctanote{font-size:13px;color:var(--kt-sub);margin:10px 0 0;text-align:center}
.kz-notes{margin:56px 0 0;padding:28px 0 0 20px;border-top:1px solid var(--kt-line);font-size:13px;line-height:1.9;color:var(--kt-sub)}
.kz-notes li{margin:0 0 6px;list-style:disc outside}
@container (max-width:520px){.kz-h{font-size:22px;gap:14px}.kz-num{font-size:30px}.kz-big{font-size:42px}.kz-card{padding:22px 20px}.kz-main{padding:26px 20px}.kz-money input{max-width:none}.kz-segopt span{min-width:96px}}

/* ===== 贈与税の計算（10/22 作り直し）：金額を1つ入れると、特例贈与と一般贈与の両方が出る ===== */
.kz2 .kz-sec{padding-bottom:56px}
.kz2 .kz-sec+.kz-sec{padding-top:56px}
.kz-topfield{margin:0 0 28px}
.kz-toplab{font-size:15px}
.kz-xl input{height:64px;font-size:26px;max-width:320px;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.kz-xl .kz-unit{font-size:17px}
.kz-two{display:grid;grid-template-columns:minmax(0,1fr);background:var(--kt-navy);color:#fff}
.kz-res{min-width:0;padding:32px 32px 28px}
.kz-res+.kz-res{border-top:1px solid rgba(255,255,255,.22)}
@container (min-width:640px){.kz-two{grid-template-columns:repeat(2,minmax(0,1fr))}.kz-res+.kz-res{border-top:0;border-left:1px solid rgba(255,255,255,.22)}}
.kz-rwho{font-size:13px;line-height:1.8;color:#C5CCD8;margin:2px 0 14px}
.kz-two .kz-row,.kz-main .kz-row{border-bottom-color:rgba(255,255,255,.16);color:#fff}
.kz-two .kz-row span:first-child,.kz-main .kz-row span:first-child{color:#C5CCD8}
.kz-two .kz-row.kz-strong,.kz-main .kz-row.kz-strong{color:#fff}
.kz-two .kz-row.kz-strong span:first-child,.kz-main .kz-row.kz-strong span:first-child{color:#fff}
.kz-rempty{font-size:13px;color:#C5CCD8}
.kz-status-line{margin:18px 0 0}
.kz-status-line p{color:var(--kt-ink)}
.kz-status-line .kz-tag-no,.kz-mixstatus .kz-tag-no{color:var(--kt-navy);border-color:var(--kt-navy)}
.kz-unitnote{font-size:13px;color:var(--kt-sub)}
.kz2 .kz-steps{margin:20px 0 0}
.kz-more{border-top:1px solid var(--kt-line2);padding-top:18px}
.kz-more-in{padding:16px 0 0}
.kz-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:0 28px}
@container (min-width:640px){.kz-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kz-mixres{margin:4px 0 0}
.kz-mixres .kz-rlabel{color:var(--kt-sub)}
.kz-mixres .kz-big{color:var(--kt-navy)}
.kz-mixstatus{margin:14px 0 0;font-size:14px}
.kz-mixsteps{margin:14px 0 0;padding-left:22px;font-size:13px;color:var(--kt-sub)}
.kz-mixsteps li{margin:0 0 6px;line-height:1.8;list-style:decimal outside}
.kz-lead{max-width:780px;font-size:15px;color:var(--kt-ink);margin:0 0 36px}
.kz-ctitle .kz-cnote{display:inline-block;margin-left:12px;font-family:var(--kt-sans);font-size:12px;letter-spacing:.02em;color:var(--kt-sub)}
.kz-reqs{list-style:none;padding:0;margin:0 0 32px;border-top:1px solid var(--kt-line2)}
.kz-reqs li{list-style:none;border-bottom:1px solid var(--kt-line2);padding:14px 0 0}
.kz-reqs .kz-check{margin:0 0 14px;font-size:15px;line-height:1.8}
.kz-reqs .kz-check input{margin-top:6px}
.kz-reqs strong{font-weight:700;color:var(--kt-navy)}
.kz-reqs small{display:block;font-size:13px;line-height:1.8;color:var(--kt-sub);margin:4px 0 0}
.kz-reqstate{background:var(--kt-beige);padding:18px 22px;font-size:14px;line-height:1.8}
.kz-reqstate .kz-tag{margin-bottom:4px}
.kz-tag-ok{background:var(--kt-navy);border-color:var(--kt-navy);color:#fff}
.kz-tag-wait{background:#fff;border-color:var(--kt-line);color:var(--kt-sub)}
.kz-seisan-calc .kz-main{margin-top:8px}
.kz-cta-wide{max-width:560px;margin:8px auto 0}
@container (max-width:520px){.kz-res{padding:26px 20px 22px}.kz-xl input{max-width:none;font-size:22px}.kz-reqstate{padding:16px 18px}}

/* ===== 自社株の評価（見直し案）（.kb） ===== */
.kb-notice{border:1px solid var(--kt-orange);background:#FCF3EC;padding:18px 22px;margin:0 0 48px;font-size:14px;line-height:1.9;color:#5A3A22}
.kb-notice strong{color:#B5471B;font-weight:700}
.kb-hint-top{margin:0 0 12px}
.kb-years{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.kb-year{display:flex;align-items:center;gap:12px}
.kb-ylab{flex:0 0 4em;font-size:14px;color:var(--kt-sub)}
.kb-year .kz-ctl{flex:1 1 0;min-width:0}
.kb-cur-field{margin-top:14px}
.kz-big .kb-u{font-size:20px;margin:0 6px 0 2px}
.kb-per{font-size:16px;color:#fff;margin:2px 0 8px}
.kb-range{font-size:13px;line-height:1.8;color:#C5CCD8;margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.18)}
.kb-compare{border:1px solid var(--kt-navy);background:#fff;padding:24px 28px;margin:0 0 20px}
.kb-diff{font-family:var(--kt-serif);font-size:24px;line-height:1.5;color:var(--kt-navy);margin:0 0 6px}
.kb-diff.kb-up{color:#B5471B}
.kb-csub{font-size:13px;color:var(--kt-sub)}
.kb-ratio{font-size:13px;line-height:1.8;color:var(--kt-sub);margin:12px 0 0}
.kb-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 8px}
.kb-table{width:-webkit-fill-available;width:-moz-available;width:stretch;min-width:400px;border-collapse:collapse;font-size:13px;line-height:1.5;font-variant-numeric:tabular-nums}
.kb-table th,.kb-table td{border:1px solid var(--kt-line);padding:8px 10px;text-align:right;white-space:nowrap}
.kb-table th{background:var(--kt-beige);color:var(--kt-navy);font-weight:700;text-align:center;font-size:12px}
.kb-table td.kb-gbase{background:var(--kt-navy);color:#fff;font-weight:700}
.kb-gnote{font-size:12px;color:var(--kt-sub)}
.kb-nw{white-space:nowrap}
@container (max-width:520px){.kb-table th,.kb-table td{padding:6px 8px}.kb-compare{padding:20px}.kb-diff{font-size:20px}}

/* 共通：読み上げだけに使う文字、数字の途中で折り返さない */
.kz-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.kz-nw{white-space:nowrap}
h3.kz-ctitle{font-weight:400}
@container (max-width:360px){.kz-big{font-size:34px}.kz-yen{font-size:16px}}
/* コンテナクエリに対応していない古いブラウザ（iOS 15 以前など）のための、スマホの大きさ */
@supports not (container-type:inline-size){
  @media (max-width:560px){.kz-h{font-size:22px;gap:14px}.kz-num{font-size:30px}.kz-big{font-size:38px}.kz-card{padding:22px 20px}.kz-main{padding:26px 20px}.kz-res{padding:26px 20px 22px}.kz-money input,.kz-xl input{max-width:none}}
}

/* ===== 相続税の試算（.ks）（10/22） ===== */
.ks-family{margin:0 0 32px}
.ks-famlab{margin:0 0 12px}
.ks-famrow{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:0 28px;align-items:end}
.ks-sublab{font-size:13px}
.ks-sel select{max-width:210px}
.ks-people .ks-person{padding:0 0 12px;margin:0 0 14px;border-bottom:1px solid rgba(255,255,255,.22)}
.ks-people .ks-person:last-child{border-bottom:0;margin-bottom:0}
.ks-pname{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;font-family:var(--kt-serif);font-size:17px;color:#fff;margin:0 0 2px}
.ks-pname span{font-family:var(--kt-sans);font-size:12px;color:#C5CCD8}
.ks-insres{margin:4px 0 0}
.ks-off .kz-lab{color:#9AA1AB}
.ks-off .kz-ctl input:disabled{background:#F5F5F5;color:#9AA1AB;cursor:not-allowed}
.ks-insres .kz-empty{margin:10px 0 0;line-height:1.8}
.ks-modes .kz-segopt span{min-width:0}
.ks-points{list-style:none;margin:0;padding:0;border-top:1px solid var(--kt-line2)}
.ks-points li{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;padding:16px 0;border-bottom:1px solid var(--kt-line2)}
@container (min-width:720px){.ks-points li{grid-template-columns:230px minmax(0,1fr);gap:28px}}
.ks-points strong{font-family:var(--kt-serif);font-weight:400;font-size:17px;line-height:1.7;color:var(--kt-navy)}
.ks-points span{font-size:14px;line-height:1.9;color:var(--kt-ink)}
.ks-points a{color:var(--kt-navy);text-decoration:underline;text-underline-offset:3px;margin-left:6px}

/* ===== 制度の解説・よくある質問（3つのツール共通・10/22） ===== */
.kz-guide{border-top:1px solid var(--kt-line);margin-top:64px;padding-top:56px}
.kz-guide + .kz-guide{margin-top:0}
.kz-after{margin:16px 0 0}
.kz-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.kz-table{width:-webkit-fill-available;width:-moz-available;width:stretch;min-width:560px;border-collapse:collapse;font-size:14px;line-height:1.8}
.kz-table th,.kz-table td{border:1px solid var(--kt-line);padding:12px 14px;text-align:left;vertical-align:top}
.kz-table thead th{background:var(--kt-navy);color:#fff;font-weight:500;font-family:var(--kt-serif)}
.kz-table tbody th{background:var(--kt-beige);color:var(--kt-navy);font-weight:700;white-space:nowrap}
.kz-faq{border-top:1px solid var(--kt-line2)}
.kz-faq details{border-bottom:1px solid var(--kt-line2);padding:18px 0}
.kz-faq summary{display:flex;gap:14px;align-items:baseline;cursor:pointer;list-style:none;font-family:var(--kt-serif);font-size:18px;line-height:1.6;color:var(--kt-navy)}
.kz-faq summary::-webkit-details-marker{display:none}
.kz-faq summary::before{content:"Q";flex:0 0 auto;font-family:var(--kt-en);font-size:22px;color:var(--kt-orange)}
.kz-faq summary::after{content:"＋";margin-left:auto;flex:0 0 auto;font-family:var(--kt-sans);font-size:16px;color:var(--kt-navy)}
.kz-faq details[open] summary::after{content:"－"}
.kz-faq details p{margin:10px 0 0 30px;font-size:15px;line-height:1.9;color:var(--kt-ink)}
.kz-related{margin:28px 0 0;font-size:14px;color:var(--kt-sub)}
.kz-related a{color:var(--kt-navy);text-decoration:underline;text-underline-offset:3px}
@container (max-width:520px){.kz-faq summary{font-size:16px}.kz-faq details p{margin-left:0}.kz-guide{margin-top:48px;padding-top:44px}}
@container (max-width:600px){
  .kz-table{min-width:0;width:auto}
  .kz-table thead{display:none}
  .kz-table,.kz-table tbody,.kz-table tr,.kz-table th,.kz-table td{display:block}
  .kz-table tr{border:1px solid var(--kt-line);margin:0 0 12px}
  .kz-table th,.kz-table td{border:0}
  .kz-table tbody th{white-space:normal;padding:10px 14px}
  .kz-table td{padding:10px 14px;border-top:1px solid var(--kt-line2)}
  .kz-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--kt-navy);margin:0 0 2px}
}

/* ===== 一次・二次相続の比較（10/22） ===== */
.kn-lead{max-width:820px;margin:0 0 28px}
.kn-step{border-top:1px solid var(--kt-line2);padding:24px 0 0}
.kn-step>.kz-ctitle{margin:0 0 18px}
.kn-second{margin-top:44px;animation:kn-in .4s ease-out}
@keyframes kn-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.kn-second{animation:none}}
.kn-firstgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 48px;align-items:start}
@container (min-width:900px){.kn-firstgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kz-two.kn-one{grid-template-columns:minmax(0,1fr)}
.kn-firstbox{margin:4px 0 0}
.kn-spbtn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid var(--kt-line);background:#fff;font-size:15px;line-height:1.5;color:var(--kt-ink);cursor:pointer;-webkit-user-select:none;user-select:none}
.kn-spbtn input{flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--kt-navy)}
.kn-spbtn:has(input:checked){border-color:var(--kt-navy);background:#F2F4F8;color:var(--kt-navy);font-weight:700}
.kn-spbtn:has(input:focus-visible){outline:2px solid var(--kt-orange);outline-offset:2px}
.kn-nudge{font-size:13px;color:var(--kt-sub)}
.kn-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px 48px;margin:0 0 12px}
@container (min-width:900px){.kn-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kn-h2row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:0 20px;align-items:end}
.kn-h2same{font-size:14px;line-height:1.8;color:var(--kt-ink)}
@container (min-width:900px){.kn-h2same{padding-top:34px}}
.kn-matrix{margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--kt-line2)}
.kn-matrix .kz-ctitle{margin:0 0 14px}
.kn-figure{position:relative;margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--kt-line2)}
.kn-cap{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin:0 0 12px}
.kn-captitle{font-family:var(--kt-serif);font-size:19px;color:var(--kt-navy)}
.kn-legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--kt-ink)}
.kn-key{display:inline-flex;align-items:center;gap:8px}
.kn-key::before{content:"";display:inline-block;width:18px;height:2px;border-radius:1px;background:#2a78d6}
.kn-k-first::before{background:#E96E2C}
.kn-k-second::before{background:#199e70}
.kn-chart{display:block;min-height:250px;touch-action:pan-y}
.kn-chart:focus-visible{outline:2px solid var(--kt-orange);outline-offset:4px}
.kn-chart svg{display:block;overflow:visible}
.kn-chart text{font-family:var(--kt-sans)}
.kn-tip{position:absolute;z-index:2;width:210px;background:#fff;border:1px solid var(--kt-line);box-shadow:0 4px 14px rgba(20,36,62,.12);padding:10px 12px;font-size:13px;line-height:1.6;pointer-events:none}
.kn-tiphead{color:var(--kt-sub);margin:0 0 4px}
.kn-tiprow{display:flex;align-items:center;gap:8px;margin:0}
.kn-tipkey{flex:0 0 auto;width:14px;height:2px;border-radius:1px}
.kn-tiprow strong{font-variant-numeric:tabular-nums;color:var(--kt-navy)}
.kn-tiplab{color:var(--kt-sub);margin-left:auto}
.kn-tip.kn-tip-static{position:static;width:auto;max-width:360px;margin:10px 0 0;box-shadow:none;pointer-events:auto}
.kn-table{min-width:620px}
.kn-table th,.kn-table td{white-space:nowrap}
.kn-table td{text-align:right;font-variant-numeric:tabular-nums}
.kn-table tr.kn-best th,.kn-table tr.kn-best td{background:#FCF3EC}
.kn-table td.kn-sum{font-weight:700;color:var(--kt-navy)}
.kn-tag{display:block;font-size:11px;font-weight:700;color:#B5471B;margin-top:2px}
@container (max-width:600px){
  .kn-table{display:table;min-width:0;width:-webkit-fill-available;width:-moz-available;width:stretch;font-size:12px;line-height:1.6}
  .kn-table thead{display:table-header-group}
  .kn-table tbody{display:table-row-group}
  .kn-table tr{display:table-row;border:0;margin:0}
  .kn-table th,.kn-table td{display:table-cell;border:1px solid var(--kt-line);padding:8px 6px}
  .kn-table thead th{font-size:12px;white-space:normal}
  .kn-table tbody th{white-space:nowrap;padding:8px 6px}
  .kn-table td::before{content:none}
  .kn-table tr > :nth-child(2){display:none}
  .kn-captitle{font-size:17px}
}
@container (max-width:380px){.kn-table{font-size:11px}.kn-table th,.kn-table td,.kn-table tbody th{padding:8px 4px}.kn-table thead th{font-size:11px}}
/* ミニマムタックス（10/22） */
.km-lead{max-width:820px;margin:0 0 28px}
.km-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:0 48px}
@container (min-width:900px){.km-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.km-loss{margin:-4px 0 28px}
.km-rsub{margin:2px 0 0;font-size:13px;color:#C5CCD8}
.km-compare{margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--kt-line2)}
.km-compare .kz-ctitle{margin:0 0 14px}
.km-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.km-table tr.km-strong th,.km-table tr.km-strong td{font-weight:700;color:var(--kt-navy);background:#FCF3EC}
.km-rules td{line-height:1.7}
@container (max-width:600px){
  .km-table{display:table;min-width:0;width:-webkit-fill-available;width:-moz-available;width:stretch;font-size:12px;line-height:1.6}
  .km-table thead{display:table-header-group}
  .km-table tbody{display:table-row-group}
  .km-table tr{display:table-row;border:0;margin:0}
  .km-table th,.km-table td{display:table-cell;border:1px solid var(--kt-line);padding:8px 6px}
  .km-table thead th{font-size:12px;white-space:normal}
  .km-table tbody th{white-space:normal;padding:8px 6px;width:9em}
  .km-table td{font-size:12px}
  .km-table td::before{content:none}
}
/* ふるさと納税（10/22） */
.kf-lead{max-width:820px;margin:0 0 28px}
.kf-inputs{display:grid;grid-template-columns:minmax(0,1fr);gap:0 48px}
@container (min-width:900px){.kf-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kf-family{margin:8px 0 32px;padding:24px 0 0;border-top:1px solid var(--kt-line2)}
.kf-spouse .ks-sel select{max-width:440px}
.kf-kidrow{margin:8px 0 0;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0 20px}
.kf-kidshead{grid-column:1/-1;margin:0 0 8px}
.kf-kidrow .ks-sel select{max-width:120px}
.kf-rsub{margin:2px 0 0;font-size:13px;color:#C5CCD8}
.kf-detail{margin:36px 0 0;padding:24px 0 0;border-top:1px solid var(--kt-line2)}
.kf-detail .kz-ctitle{margin:0 0 14px}
.kf-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kf-table tr.kf-strong th,.kf-table tr.kf-strong td{font-weight:700;color:var(--kt-navy);background:#FCF3EC}
.kf-rules td{line-height:1.7}
@container (max-width:600px){
  .kf-table{display:table;min-width:0;width:-webkit-fill-available;width:-moz-available;width:stretch;font-size:12px;line-height:1.6}
  .kf-table thead{display:table-header-group}
  .kf-table tbody{display:table-row-group}
  .kf-table tr{display:table-row;border:0;margin:0}
  .kf-table th,.kf-table td{display:table-cell;border:1px solid var(--kt-line);padding:8px 6px}
  .kf-table thead th{font-size:12px;white-space:normal}
  .kf-table tbody th{white-space:normal;padding:8px 6px;width:9em}
  .kf-table td{font-size:12px}
  .kf-table td::before{content:none}
}

html{scroll-behavior:smooth}body{margin:0}
[data-st-menu-trigger]{font-family:Arial,sans-serif!important;font-size:24px!important;line-height:1!important}
.st-mobile-menu{position:fixed;inset:0;z-index:2147483000;box-sizing:border-box;background:#14243E;color:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:60px 24px;font:20px/1.8 var(--kt-serif)}
.st-mobile-menu a{color:inherit;text-decoration:none}
.st-mobile-menu a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.st-mobile-menu>button{position:absolute;right:22px;top:22px;border:0;color:#fff;background:transparent;font:16px var(--kt-sans);cursor:pointer}
.kt-section{box-sizing:border-box;align-self:stretch}
/* スマホ・タブレットの右上のメニューのボタン（HPのヘッダーのボタン。どのページも同じ data-s-6755869e…）
   HP（STUDIO）は、アイコン用の文字（Material Symbols の「menu」）で ☰ を出している。
   その文字のファイルが読めない・間に合わないと「menu」という文字のまま出るので、文字は消して3本の線を描く（2026-10-26）。
   線の太さ・長さ・間は、HP の ☰（Material Symbols Rounded・太さ300・40px）と同じ：長さ28px・太さ2px・間8px。
   AIツールのページ（☰ の文字）も同じ線にそろえる。HP のページには nav.js がこの CSS を入れる */
button[data-s-6755869e-80fc-4329-b5c4-d853e3c23372]{position:relative!important;width:40px!important;height:40px!important;min-width:40px!important;padding:0!important;font-size:0!important;line-height:0!important;letter-spacing:0!important;overflow:hidden!important}
button[data-s-6755869e-80fc-4329-b5c4-d853e3c23372]::before{content:""!important;display:block!important;position:absolute!important;left:6px!important;top:19px!important;width:28px!important;height:2px!important;margin:0!important;border-radius:1px!important;background:currentColor!important;box-shadow:0 -8px 0 currentColor,0 8px 0 currentColor!important}
