/* Kokuin — the public pages (landing, pricing, security, FAQ, trust, legal, contact).
   Loaded after app.css and uses its tokens only (no second palette). Marketing h1/h2 are set in
   Mincho, the contract's own voice (UI-REFRESH §4); everything else is the Gothic interface.
   Sections are separated by space, hairlines and the ground tone, not by cards. The one moment of
   colour is the small 朱 seal pressed at the foot of the hero's contract (.mk-hero-seal). */
.mk-nb{display:inline-block}
@supports (word-break:auto-phrase){.mk-kv th,.mk-feats dt,.mk-holder h3,.mk-plan-for,.mk-toc a,.mk-jump a,.mk-facts dt,.mk-cta-band h2,.mk-custody,.faq summary,.mk-faq-group h2{word-break:auto-phrase}}

/* ---- Page frame -------------------------------------------------------------------------------- */
main.mk-main{padding-top:64px}
.mk-page-title{font-family:var(--mincho);font-weight:600;font-size:36px;line-height:1.4;letter-spacing:.04em;margin:0 0 12px}
.mk-head{max-width:760px;margin:0 0 48px}
.mk-head .lead{font-size:16px;line-height:1.85;color:var(--ink-2);margin:0}
.mk-head .lead+.mk-custody{margin-top:20px}
.section{padding:96px 0}
.mk-band{background:var(--ground);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mk-band+.section:not(.mk-band){border-top:0}
.section h2.big{font-size:36px;margin-bottom:12px}
.section .lead{font-size:16px;line-height:1.85;color:var(--ink-2);max-width:680px;margin:0 0 48px}
.mk-top{padding-top:64px}
.mk-more{margin:32px 0 0;font-size:15px;font-weight:600}
.mk-more a{display:inline-flex;align-items:center;min-height:44px}
.mk-fine{font-size:12px;line-height:1.7;color:var(--muted);margin:32px 0 0}
.mk-list{margin:12px 0 0;padding-left:1.3em}
.mk-list li{color:var(--ink-2);line-height:1.8}
.mk-list li+li{margin-top:6px}
.mk-step-text{margin:0;color:var(--ink-2);font-size:15px;line-height:1.85}

/* The custody sub-line: an ink rule marks the brand's one claim (the seal red stays for the mark, the
   stamp and the completed state), and the link to the disclosures sits inside it so the claim never
   appears without them. */
.mk-custody{margin:0;padding-left:14px;border-left:3px solid var(--ink);font-size:16px;font-weight:600;line-height:1.6;color:var(--ink)}
.mk-custody a{color:inherit;text-decoration:none}
.mk-custody-more{display:inline-block;margin-left:12px;font-size:13px;font-weight:500;color:var(--ink-2);white-space:nowrap;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.mk-custody a:hover .mk-custody-more{color:var(--focus)}
.mk-custody a:focus-visible{outline-offset:4px;border-radius:2px}

/* ---- Landing: hero ----------------------------------------------------------------------------- */
.hero-in{grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px;padding:80px var(--gutter) 96px}
.hero h1{margin-bottom:24px}
.mk-custody-hero{font-size:18px;margin-bottom:28px}
.hero .sub{font-size:16px;line-height:1.9;margin:0 0 32px;max-width:34em}
.mk-cta{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero .fine{font-size:13px;line-height:1.8;margin:20px 0 0}
.hero .fine.mk-hero-note{margin-top:2px;font-size:12px}

/* The contract: a front sheet with a copy offset behind it, sealed by Kokuin's line at its foot. The
   sheets are the one floating object of the page. */
.mk-sheets{--off-x:44px;--off-y:22px;position:relative;width:100%;justify-self:end;padding:0 var(--off-x) var(--off-y) 0}
.mk-sheet{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:3px;box-shadow:var(--float);padding:40px 40px 34px;font-family:var(--mincho);font-weight:500;color:var(--ink);font-feature-settings:"palt"}
.mk-sheet-back{position:absolute;top:0;left:0;right:var(--off-x);bottom:var(--off-y);transform:translate(var(--off-x),var(--off-y));padding:0;box-shadow:0 10px 28px rgba(30,34,41,.08),0 1px 3px rgba(30,34,41,.05)}
.mk-sheet p{margin:0}
.mk-sheet-title{font-size:22px;font-weight:600;letter-spacing:.42em;padding-left:.42em;text-align:center;margin:0 0 22px!important}
.mk-sheet-p{font-size:12px;line-height:1.9;color:var(--ink-2);text-indent:1em}
.mk-sheet-art{font-size:12px;line-height:1.9;font-weight:600;margin-top:8px!important}
.mk-sheet-date{font-size:12px;line-height:1.9;margin:20px 0 10px 1em!important;color:var(--ink-2)}
.mk-sheet-sign{text-align:right;padding-right:14px}
.mk-sheet-sign p{font-size:12px;line-height:2.4;color:var(--ink)}
.mk-party{display:inline-block;margin-right:1.2em;font-weight:600}
/* Kokuin's line: quiet Gothic in muted ink, flush right with the signatures (the same 14 px inset), the
   seal after the date where a 印 would follow a name. It presses once, after the page has settled. */
.mk-sheet-esign{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px!important;padding-right:14px;font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.9;letter-spacing:.02em;color:var(--muted);font-feature-settings:normal;font-variant-numeric:tabular-nums}
.mk-hero-seal{--size:16px;--stamp-delay:560ms}

/* ---- Landing: how it works --------------------------------------------------------------------- */
.howto{gap:40px}
.howto li{padding-top:20px;border-top:1px solid var(--ink)}
.howto li::before{font-size:28px;margin-bottom:16px}
.howto h3{font-size:18px;margin:0 0 8px}
.mk-how-after{display:flex;gap:12px;align-items:flex-start;margin:56px 0 0;padding-top:24px;border-top:1px solid var(--line-2);font-size:15px;line-height:1.8;color:var(--ink-2)}
.mk-how-after svg{flex:none;margin-top:4px;color:var(--ink)}
.mk-how-after b{color:var(--ink)}

/* ---- Landing: who holds what ------------------------------------------------------------------- */
/* Three columns separated by space and a top rule, like 3つの手順 (no card around them). */
.mk-holders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.mk-holder{min-width:0;padding-top:20px;border-top:1px solid var(--ink);display:flex;flex-direction:column}
.mk-holder h3{font-size:18px;margin:0 0 16px}
.mk-holder-fig{height:212px;display:grid;place-items:center;padding:20px;margin:0 0 20px;background:var(--ground);border-radius:var(--r-control)}
.mk-holder>p{margin:0;font-size:14px;line-height:1.85;color:var(--ink-2)}
.mk-holder>.mk-holder-meta{margin-top:auto;padding-top:16px;font-size:13px;line-height:1.7;color:var(--muted)}
/* A few lines of the contract, readable or as 伏字: the same sheet, so the difference is the point. */
.mk-mini{width:168px;background:var(--paper);border:1px solid var(--line);border-radius:2px;padding:16px 16px 14px;font-family:var(--mincho);font-weight:500;font-size:9.5px;line-height:1.75;color:var(--ink-2);box-shadow:0 1px 2px rgba(30,34,41,.06)}
.mk-mini p{margin:0;white-space:nowrap;overflow:hidden}
.mk-mini .mk-mini-title{font-size:12px;font-weight:600;letter-spacing:.24em;padding-left:.24em;text-align:center;color:var(--ink);margin-bottom:10px}
.mk-mini .mk-mini-art{font-weight:600;color:var(--ink);margin-top:4px}
.mk-mini .mk-mini-sign{margin-top:12px;text-align:right;color:var(--ink)}
.mk-mini-cipher{color:#B4B8BE}
.mk-mini-cipher .mk-mini-title,.mk-mini-cipher .mk-mini-art,.mk-mini-cipher .mk-mini-sign{color:#8D9299}
.mk-ledger{width:100%;max-width:240px;margin:0;padding:6px 12px;background:var(--paper);border:1px solid var(--line);border-radius:2px;font-family:var(--mono);font-size:11px;line-height:1.5;box-shadow:0 1px 2px rgba(30,34,41,.06)}
.mk-ledger div{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;padding:5px 0;border-bottom:1px solid var(--line)}
.mk-ledger div:last-child{border-bottom:0}
.mk-ledger dt{font-family:var(--sans);font-size:10.5px;color:var(--muted);white-space:nowrap}
.mk-ledger dd{margin:0;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-ligatures:none}
.mk-custody-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 48px;margin:40px 0}
.mk-custody-notes p{margin:0;font-size:14px;line-height:1.85;color:var(--ink-2)}
.mk-custody-notes b{display:block;margin-bottom:4px;font-size:15px;color:var(--ink)}

/* ---- Landing: features as a definition list ---------------------------------------------------- */
.mk-feats{margin:0;border-top:1px solid var(--line-2)}
.mk-feats>div{display:grid;grid-template-columns:260px minmax(0,1fr);gap:4px 48px;padding:20px 0;border-bottom:1px solid var(--line-2)}
.mk-feats dt{font-size:16px;font-weight:700;line-height:1.7;font-feature-settings:"palt"}
.mk-feats dd{margin:0;max-width:44em;font-size:15px;line-height:1.85;color:var(--ink-2)}

/* ---- Plans (landing and /pricing) -------------------------------------------------------------- */
.mk-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.mk-plan{position:relative;display:flex;flex-direction:column;min-width:0;padding:32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card)}
.mk-plan-std{border-top:2px solid var(--ink)}
@supports (grid-template-rows:subgrid){
 .mk-plans{grid-template-rows:repeat(6,auto)}
 .mk-plan{display:grid;grid-row:span 6;grid-template-rows:subgrid;row-gap:0}
}
.mk-plan-head{margin-bottom:20px}
.mk-plan-name{font-size:22px;line-height:1.4;margin:0}
.mk-plan-std .mk-plan-name{margin-top:-1px}
.mk-plan-pick{position:absolute;top:34px;right:32px;margin:0;font-size:13px;font-weight:600;line-height:1.5;color:var(--ink-2)}
.mk-plan-for{margin:4px 0 0;font-size:14px;color:var(--muted)}
.mk-plan .amount{font-size:36px;font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:0 0 6px;font-variant-numeric:tabular-nums}
.mk-plan .amount small{font-size:15px;font-weight:500;letter-spacing:0;margin-left:4px;color:var(--muted)}
.mk-plan-note{margin:0 0 24px;font-size:13px;line-height:1.7;color:var(--muted)}
.mk-plan .mk-plan-after{display:block;margin:12px 0 0}
.mk-plan-tax{color:var(--ink-2)}
.mk-plan-list{list-style:none;margin:28px 0 0;padding:24px 0 0;border-top:1px solid var(--line);display:grid;gap:10px;align-content:start;font-size:14px;line-height:1.7}
.mk-plan-list li{display:flex;gap:10px}
.mk-plan-list svg{flex:none;margin-top:4px;color:var(--ink)}
.mk-plan-list .mk-no{color:var(--muted)}
.mk-plan-dash{flex:none;width:16px;height:1.7em;position:relative}
.mk-plan-dash::before{content:"";position:absolute;left:3px;right:3px;top:50%;height:1.5px;background:var(--line-2)}

/* ---- Closing call to action -------------------------------------------------------------------- */
.mk-cta-band{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.mk-cta-band>div{min-width:0;flex:1 1 420px}
.mk-cta-band h2{font-family:var(--mincho);font-weight:600;font-size:28px;line-height:1.45;letter-spacing:.04em;margin:0 0 8px}
.mk-cta-band p{margin:0;color:var(--ink-2)}
.mk-rule{border-top:1px solid var(--line)}
.mk-closing{margin-top:80px;padding-top:56px;border-top:1px solid var(--line)}

/* ---- What Kokuin cannot do: a plain list ------------------------------------------------------- */
.mk-limits{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.mk-limits li{position:relative;padding:14px 0 14px 22px;border-bottom:1px solid var(--line);font-size:15px;line-height:1.8;color:var(--ink-2)}
.mk-limits li::before{content:"";position:absolute;left:2px;top:calc(14px + .9em);width:9px;height:1.5px;background:var(--ink-2)}
.section-in>.mk-limits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:56px}

/* ---- FAQ ---------------------------------------------------------------------------------------- */
.faq{max-width:none;border-top:1px solid var(--line-2)}
.faq summary{font-size:16px;line-height:1.6;padding:18px 44px 18px 0}
.faq summary:hover{color:var(--ink-2)}
.faq summary:focus-visible{outline-offset:-2px;border-radius:4px}
.faq summary::after{top:25px}
.faq details[open] summary::after{top:29px}
.faq details>p{font-size:15px;line-height:1.85;max-width:44em;margin:0 0 14px}
.faq details>p:last-child{margin-bottom:22px}
.mk-split{display:grid;grid-template-columns:220px minmax(0,1fr);gap:32px 64px;align-items:start}
.mk-split h2.big{margin:0}
.mk-split .mk-more{margin-top:12px}
.mk-faq-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:4px 64px;padding:0 0 48px}
.mk-faq-group h2{font-family:var(--mincho);font-weight:600;font-size:22px;line-height:1.5;letter-spacing:.04em;margin:0;padding-top:16px;border-top:1px solid var(--ink)}

/* ---- Document pages: /security, terms, privacy, trust (a sticky table of contents beside the text) */
.mk-doc{display:grid;grid-template-columns:208px minmax(0,1fr);gap:48px;align-items:start}
.mk-toc{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;overscroll-behavior:contain;padding:2px 2px 8px 0}
.mk-toc-title{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--muted)}
.mk-toc ol,.mk-jump ol{list-style:none;margin:0;padding:0}
.mk-toc ol{border-left:1px solid var(--line)}
.mk-toc a{display:flex;margin-left:-1px;padding:5px 0 5px 14px;border-left:2px solid transparent;font-size:13px;line-height:1.55;color:var(--ink-2);text-decoration:none;overflow-wrap:break-word}
.mk-toc a:hover{color:var(--ink);border-left-color:var(--ink)}
.mk-toc a:focus-visible{outline-offset:-2px}
.mk-jump{display:none;margin:0 0 40px;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line)}
.mk-jump summary{display:flex;align-items:center;gap:12px;min-height:52px;font-size:15px;font-weight:600;cursor:pointer;list-style:none;position:relative;padding-right:32px}
.mk-jump summary::-webkit-details-marker{display:none}
.mk-jump summary::after{content:"";position:absolute;right:8px;top:50%;width:9px;height:9px;margin-top:-7px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg)}
.mk-jump[open] summary::after{margin-top:-2px;transform:rotate(-135deg)}
.mk-jump-n{font-size:13px;font-weight:400;color:var(--muted)}
.mk-jump ol{columns:2;column-gap:24px;padding:0 0 12px}
.mk-jump li{break-inside:avoid}
.mk-jump a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5;color:var(--ink);text-decoration:none}
.mk-jump a:hover{color:var(--focus);text-decoration:underline}
.mk-toc-n{flex:none;min-width:3.8em;color:var(--muted);font-variant-numeric:tabular-nums}
.mk-toc-t{min-width:0}
.mk-toc-num{counter-reset:toc}
.mk-toc-num a::before{counter-increment:toc;content:counter(toc);display:inline-block;min-width:1.6em;color:var(--muted);font-variant-numeric:tabular-nums}
.mk-jump .mk-toc-num a::before{min-width:1.8em}
.mk-doc-text{min-width:0}
.mk-doc-text>.prose{max-width:720px;margin:0}
/* /security: the text keeps its 720 px measure; the who-can-read-what table takes the whole column. */
.mk-doc-text>.mk-sec-prose{max-width:none}
.mk-sec-prose>*{max-width:780px}
.mk-sec-prose>h2{max-width:none}
/* .prose.mk-sec-prose: these must outrank the general .prose rules further down. */
.prose.mk-sec-prose p,.prose.mk-sec-prose li{line-height:1.8}
.prose.mk-sec-prose li+li{margin-top:4px}
.prose.mk-sec-prose h2{margin:36px 0 12px;padding-top:28px}
.prose.mk-sec-prose h3{margin-top:24px}
/* 15. Kokuin にできないこと: two columns beside the contents, as on the landing page. */
.mk-sec-prose>.mk-limits{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;margin-top:16px}
/* 誰が何を読めるか: the one section set across the whole container, above the table of contents and the
   text, so its five columns have room. */
.prose.mk-who-sec{max-width:none;margin:0 0 56px}
.prose.mk-who-sec>h2{margin-top:0}
.mk-who-sec>.mk-who-wrap{max-width:none}

/* Prose (security, trust, legal) */
.prose{font-size:16px}
.prose p,.prose li{line-height:1.9}
.prose h2{font-size:22px;line-height:1.5;margin:56px 0 16px;padding-top:32px;border-top:1px solid var(--line);scroll-margin-top:16px}
.prose>h2:first-child,.prose>section:first-child>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.prose h3{font-size:16px;margin:32px 0 8px;scroll-margin-top:16px}
.prose li::marker{color:var(--muted)}
.prose li b{color:var(--ink)}
.prose .alert{margin:20px 0}
.prose td,.prose th{overflow-wrap:break-word}
.mk-prose-end{margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}

/* /security: three facts at the top */
.mk-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 40px;margin:40px 0 0;max-width:none}
.mk-facts>div{padding-top:16px;border-top:2px solid var(--ink);min-width:0}
.mk-facts dt{font-size:16px;font-weight:700;line-height:1.6;margin:0 0 6px;font-feature-settings:"palt"}
.mk-facts dd{margin:0;font-size:14px;line-height:1.85;color:var(--ink-2)}
.mk-sec-head{max-width:none;margin-bottom:64px}
.mk-sec-head .lead{max-width:760px}

/* Who can read what: a real table with row hairlines only, like the dashboard and 特商法 tables.
   On phones each row becomes a block: the data as its heading, then labelled lines. */
.mk-who-wrap{margin:20px 0 32px;border-top:1px solid var(--ink)}
.mk-who-wrap:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.prose .mk-who{width:100%;margin:0;table-layout:fixed;border-collapse:collapse;font-size:13px;line-height:1.7}
.prose .mk-who th,.prose .mk-who td{width:auto;padding:12px 20px 12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;background:none;color:var(--ink-2);line-height:1.7}
.prose .mk-who th:last-child,.prose .mk-who td:last-child{padding-right:0}
.prose .mk-who thead th{padding-top:12px;padding-bottom:12px;font-size:12px;font-weight:600;line-height:1.5;color:var(--muted);border-bottom-color:var(--line-2)}
.prose .mk-who tbody th{font-weight:600;color:var(--ink)}
.mk-who col.c-data{width:18%}.mk-who col.c-where{width:22%}.mk-who col.c-kept{width:17%}.mk-who col.c-us{width:17%}.mk-who col.c-takeover{width:26%}

/* Legal: numbered articles in Mincho, a 720 px reading column */
.mk-legal h1{font-family:var(--mincho);font-weight:600;font-size:36px;line-height:1.4;letter-spacing:.04em}
.mk-legal h2{font-size:18px;margin-top:48px;padding-top:32px}
.mk-legal section+section h2{margin-top:40px}
.mk-legal ol{padding-left:1.6em}
.mk-legal td table,.mk-legal li table{margin-top:12px}
.mk-paren{list-style:none;counter-reset:paren;padding-left:2.4em!important;margin:8px 0}
.mk-paren>li{counter-increment:paren;position:relative}
.mk-paren>li::before{content:"(" counter(paren) ")";position:absolute;left:-2.4em;width:2.2em;text-align:left;color:var(--ink-2)}
.mk-legal-end{margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.mk-legal-end p{margin:0 0 8px;color:var(--muted)}
.mk-meta{margin:0 0 40px;font-size:14px;line-height:1.8;color:var(--muted)}
/* Key–value tables (特商法, privacy 事業者, the root certificate) */
.mk-kv{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px;border-top:1px solid var(--line-2)}
.prose .mk-kv th,.prose .mk-kv td{padding:16px 12px 16px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;line-height:1.85}
.prose .mk-kv th{width:32%;background:none;font-size:14px;font-weight:600;color:var(--ink);padding-right:24px}
.prose .mk-kv td{color:var(--ink-2)}
.mk-kv .hash{margin:0}

/* /trust */
.mk-steps{list-style:none;counter-reset:st;padding:0!important;margin:16px 0;border-top:1px solid var(--line)}
.mk-steps>li{counter-increment:st;position:relative;padding:14px 0 14px 44px;margin:0!important;border-bottom:1px solid var(--line)}
.mk-steps>li::before{content:counter(st);position:absolute;left:0;top:14px;width:28px;font-family:var(--mincho);font-weight:600;font-size:18px;line-height:1.7;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums}
.mk-actions-start{margin-top:24px}

/* /pricing */
.mk-compare{overflow-x:auto;border-top:1px solid var(--ink);background:none}
.mk-compare .compare th:first-child,.mk-compare .compare td:first-child{padding-left:0}
.mk-compare .compare{min-width:560px;background:none;font-size:15px}
.mk-compare .compare thead th{padding-top:16px;font-size:13px}
.mk-compare .compare thead th:not(:first-child),.mk-compare .compare td{width:22%}
.mk-compare .compare tbody th{width:56%;background:none;font-size:14px;font-weight:500;color:var(--ink-2)}
.mk-compare .compare td{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.mk-billing{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 56px}
.mk-billing h3{font-size:16px;margin:0 0 4px;padding-top:16px;border-top:1px solid var(--line-2)}
.mk-subhead{font-family:var(--mincho);font-weight:600;font-size:22px;letter-spacing:.04em;margin:72px 0 20px}
.mk-links{display:flex;flex-wrap:wrap;gap:0 24px}

/* /contact */
.mk-contact{max-width:720px}
.mk-contact .mk-sect{padding:32px 0;border-top:1px solid var(--line)}
.mk-contact .mk-sect:first-of-type{border-top:1px solid var(--line-2)}
.mk-contact h2{font-size:18px;margin:0 0 12px}
.mk-contact p{color:var(--ink-2)}
.mk-contact .alert{margin:0 0 32px}
.mk-mail-btn{white-space:normal;overflow-wrap:anywhere;max-width:100%;text-align:left;font-variant-ligatures:none}

/* ---- /verify -------------------------------------------------------------------------------- */
.mk-verify{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;align-items:start}
.mk-verify-main{min-width:0}
.mk-drop{padding:56px 24px 40px}
.mk-drop .ic{margin-bottom:16px}
.mk-drop-title{margin:0 0 2px;font-size:16px;font-weight:600}
.mk-drop-or{margin:0 0 16px;font-size:13px;color:var(--muted)}
.mk-drop label.btn{margin:0;font-size:15px}
.mk-drop-note{margin:20px 0 0;font-size:13px;color:var(--muted)}
.mk-verify-result:empty{display:none}
.mk-verify-result{margin-top:32px}
.mk-verify-result>.file{margin-bottom:16px}
.mk-verify-result .verdict{padding:24px 28px}
.mk-verify-result .verdict .hero-ic{width:56px;height:56px}
.mk-verify-result .verdict h2{font-size:22px;line-height:1.5}
.mk-verify-result .verdict p{color:var(--ink-2)}
.mk-verify-result .verdict-doc{margin:8px 0 2px!important;font-size:18px;line-height:1.5;color:var(--ink)!important}
.mk-verify-result .verdict-meta{font-size:13px;color:var(--muted)!important}
.mk-verify-result dl.meta{margin-top:24px}
.mk-verify-side h2{font-size:15px;margin:0 0 12px}
.mk-verify-side h2+*{margin-bottom:32px}
.mk-outcomes{margin:0;border-top:1px solid var(--line-2)}
.mk-outcomes>div{padding:12px 0;border-bottom:1px solid var(--line)}
.mk-outcomes dt{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}
.mk-dot-ok{background:var(--ok)}.mk-dot-info{background:var(--ink-2)}.mk-dot-unk{background:var(--muted)}
.mk-outcomes dd{margin:2px 0 0 16px;font-size:13px;line-height:1.7;color:var(--ink-2)}
.mk-plain{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.mk-plain li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.75;color:var(--ink-2)}

/* ---- Login, the link-sent page and message pages (404, maintenance): one centred column ------- */
.mk-auth{max-width:440px;margin:0 auto}
/* Auth steps are Kokuin's interface, not the contract's words: Gothic, like the app's h1. */
.mk-auth .mk-page-title{font-family:var(--sans);font-weight:700;font-size:28px;letter-spacing:.02em}
.mk-auth .lead{font-size:15px;line-height:1.85;color:var(--ink-2);margin:0 0 32px}
.mk-auth .field{margin-bottom:20px}
.mk-auth .alert{margin:0 0 24px}
.mk-auth-terms{margin-top:20px}
.mk-auth-switch{margin:40px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2)}
#passkey-login-box>p{display:flex;align-items:center;gap:16px;margin:24px 0 16px;color:var(--muted)}
#passkey-login-box>p::before,#passkey-login-box>p::after{content:"";flex:1;height:1px;background:var(--line)}
#passkey-login-box>.btn{min-height:52px;font-size:16px}
.mk-msg-ic{width:56px;height:56px;margin:0 0 24px;display:grid;place-items:center;border-radius:50%;background:var(--ground);color:var(--ink-2)}
.mk-auth-sent .lead b{color:var(--ink)}

@media (max-width:1099px){
 .hero-in{grid-template-columns:minmax(0,1fr);gap:56px}
 .mk-sheets{justify-self:center;max-width:520px}
}
@media (max-width:1023px){
 .mk-doc{grid-template-columns:minmax(0,1fr);gap:0}
 .mk-toc{display:none}
 .mk-jump{display:block}
 .mk-holders{grid-template-columns:minmax(0,1fr);gap:32px}
 .mk-holder{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:32px;padding-top:24px}
 .mk-holder-fig{grid-column:1;grid-row:1/3;margin:0;height:auto;min-height:196px}
 .mk-holder>h3,.mk-holder>p{grid-column:2}
 .mk-faq-group{grid-template-columns:minmax(0,1fr);gap:8px;padding-bottom:40px}
 .mk-faq-group h2{border-top:0;padding-top:0}
 .mk-verify{grid-template-columns:minmax(0,1fr);gap:48px}
 .prose.mk-who-sec{margin-bottom:48px}
 /* Below the two-pane width, each row of 誰が何を読めるか is a block: the data, then labelled lines. */
 .prose .mk-who,.prose .mk-who tbody,.prose .mk-who tr,.prose .mk-who th,.prose .mk-who td{display:block;width:auto}
 .prose .mk-who thead,.prose .mk-who colgroup{display:none}
 .prose .mk-who tr{padding:14px 0;border-bottom:1px solid var(--line)}
 .prose .mk-who tbody th{padding:0 0 6px;border:0;font-size:15px;line-height:1.6}
 .prose .mk-who td{display:grid;grid-template-columns:5em minmax(0,1fr);gap:12px;padding:2px 0;border:0;font-size:13px;line-height:1.65}
 .prose .mk-who td::before{content:attr(data-label);color:var(--muted);font-size:13px}
}
@media (max-width:759px){
 main.mk-main{padding-top:40px}
 .section{padding:64px 0}
 .section h2.big,.mk-page-title{font-size:28px}
 .section .lead{font-size:15px;margin-bottom:32px}
 .mk-head{margin-bottom:32px}
 .mk-head .lead{font-size:15px}
 .hero-in{padding:48px var(--gutter) 64px;gap:48px}
 .hero h1{font-size:36px;margin-bottom:20px}
 .mk-custody-hero{font-size:16px;margin-bottom:24px}
 .hero .fine{margin-top:16px}
 .hero .sub{margin-bottom:28px}
 .mk-cta{flex-direction:column;align-items:stretch}
 .mk-cta .btn{width:100%}
 .mk-custody{font-size:15px}
 .mk-custody-more{display:block;margin:6px 0 0}
 .mk-sheets{--off-x:28px;--off-y:16px;max-width:360px;justify-self:center}
 .mk-sheet{padding:26px 22px 22px}
 .mk-sheet-title{font-size:16px;margin-bottom:16px!important}
 .mk-sheet-p,.mk-sheet-art,.mk-sheet-date,.mk-sheet-sign p{font-size:10px}
 .mk-sheet-sign,.mk-sheet-esign{padding-right:16px}
 .mk-sheet-esign{gap:6px;margin-top:10px!important;font-size:10px}
 .mk-hero-seal{--size:14px}
 /* One column: the Mincho numeral sits left of the step, so each step is a few lines, not a stack of headers. */
 .howto{grid-template-columns:minmax(0,1fr);gap:28px}
 .howto li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:8px;padding-top:16px}
 .howto li::before{grid-column:1;grid-row:1/span 2;margin:0;font-size:28px;line-height:1.15}
 .howto li>*{grid-column:2}
 .mk-how-after{margin-top:40px}
 .mk-holder{display:flex;padding:20px 0 0}
 .mk-holder-fig{height:auto;min-height:184px;margin-bottom:16px}
 .mk-custody-notes{grid-template-columns:minmax(0,1fr);margin:32px 0}
 .mk-feats>div{grid-template-columns:minmax(0,1fr);padding:18px 0}
 .mk-plans{grid-template-columns:minmax(0,1fr)}
 @supports (grid-template-rows:subgrid){.mk-plans{grid-template-rows:none}.mk-plan{display:flex;grid-row:auto}}
 .mk-plan{padding:24px 20px}
 .mk-plan-pick{top:26px;right:20px}
 .mk-plan .amount{font-size:36px}
 .mk-cta-band h2{font-size:22px}
 .mk-cta-band>div{flex-basis:100%}
 .mk-cta-band .btn{width:100%}
 .section-in>.mk-limits{grid-template-columns:minmax(0,1fr)}
 .mk-limits li{font-size:14px}
 .mk-split{grid-template-columns:minmax(0,1fr);gap:24px}
 .prose.mk-who-sec{margin-bottom:40px}
 .faq summary{font-size:15px}
 .mk-jump ol{columns:1}
 .mk-sec-prose>.mk-limits{grid-template-columns:minmax(0,1fr)}
 .mk-facts{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:32px}
 .mk-sec-head{margin-bottom:40px}
 .prose{font-size:15px}
 .prose h2{font-size:18px;margin-top:40px;padding-top:28px}
 .mk-legal h1{font-size:28px}
 .prose .mk-kv,.prose .mk-kv tbody,.prose .mk-kv tr,.prose .mk-kv th,.prose .mk-kv td{display:block;width:100%}
 .prose .mk-kv tr{padding:14px 0;border-bottom:1px solid var(--line)}
 .prose .mk-kv th,.prose .mk-kv td{padding:0;border:0}
 .prose .mk-kv th{margin-bottom:4px;font-size:14px}
 .mk-steps>li{padding-left:36px}
 .mk-actions-start{flex-direction:column}
 .mk-billing{grid-template-columns:minmax(0,1fr)}
 .mk-subhead{margin-top:56px;font-size:18px}
 /* プランの違い on phones: each row is a block, the item above and the two values side by side under the
    Free / Standard heads (the head row stays the column labels). */
 .mk-compare .compare,.mk-compare .compare thead,.mk-compare .compare tbody{display:block;min-width:0}
 .mk-compare .compare tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
 .mk-compare .compare thead tr{padding:12px 0 8px;border-bottom-color:var(--line-2)}
 .mk-compare .compare th,.mk-compare .compare td,.mk-compare .compare th:first-child,.mk-compare .compare td:first-child{display:block;width:auto;padding:0;border:0}
 .mk-compare .compare thead th:first-child{display:none}
 .mk-compare .compare thead th{font-size:13px}
 .mk-compare .compare tbody th{grid-column:1/-1;width:auto;margin-bottom:4px;font-size:13px;line-height:1.6;color:var(--muted)}
 .mk-compare .compare thead th:not(:first-child),.mk-compare .compare td{width:auto;font-size:15px;line-height:1.6}
 .mk-closing{margin-top:56px;padding-top:40px}
 .mk-drop{padding:40px 20px 32px}
 .mk-verify-result .verdict{padding:20px}
 .mk-auth .mk-page-title{font-size:24px}
}
@media (max-width:400px){.mk-sheet-role{display:none}}
@media (pointer:coarse){.mk-toc a{min-height:44px;align-items:center;padding-top:0;padding-bottom:0}}
@media print{.mk-toc,.mk-jump{display:none}.mk-doc{display:block}.mk-sheets{break-inside:avoid}}
