/* Footer and legal pages stay in normal flow, clear of input controls. */
.legal-footer{display:block;position:static;border-top:1px solid #d3dbe3;margin:32px 0 0;padding:22px 0 calc(28px + env(safe-area-inset-bottom));color:#495868;font:400 .875rem/1.8 system-ui,-apple-system,"Noto Sans JP",sans-serif;letter-spacing:normal}
.legal-footer nav{display:flex;flex-wrap:wrap;gap:4px 24px;margin:0 0 8px}
.legal-footer a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.legal-footer p{font:inherit;max-width:80ch;margin:8px 0}
.legal-footer .legal-brand{font-size:.8125rem;color:#607080}
.legal-use-note{font:400 .875rem/1.8 system-ui,-apple-system,"Noto Sans JP",sans-serif;color:#495868;margin:12px 0 20px;overflow-wrap:anywhere}
.legal-use-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.legal-page{color:#182c40;background:#fff;font:400 1rem/1.9 system-ui,-apple-system,"Noto Sans JP",sans-serif}
.legal-page[data-site="tokutable"]{--accent:#792f43}
.legal-page[data-site="tokustay"]{--accent:#214d69}
.legal-page .top-inner{max-width:1056px;min-height:76px}
.legal-page .top nav{font-size:.875rem}
.legal-page .top nav a{min-height:44px}
.legal-page .article{max-width:880px;padding:36px 24px 20px}
.legal-page .article h1{font-size:clamp(1.65rem,4vw,2.25rem);line-height:1.5;overflow-wrap:anywhere}
.legal-page .article h2{font-size:1.25rem;line-height:1.65;margin-top:36px;scroll-margin-top:24px}
.legal-page .article h3{font-size:1.0625rem}
.legal-page .article p,.legal-page .article li{font-size:1rem;line-height:1.95;overflow-wrap:anywhere}
.legal-page .article .legal-date{font-size:.875rem;color:#51606f}
.legal-page .article .lede{font-size:1rem;color:#495868}
.legal-page .article dl{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px 24px;font-size:1rem;line-height:1.9}
.legal-page .article dd{margin:0;overflow-wrap:anywhere}
.legal-page .article a{color:var(--accent);text-underline-offset:4px}
.legal-toc{display:flex;flex-wrap:wrap;gap:4px 20px;padding:16px 0;border-block:1px solid #d3dbe3;margin:24px 0}
.legal-toc a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
.legal-callout{border-left:3px solid var(--accent,#214d69);background:#f4f7f9;padding:18px 20px;margin:24px 0}
.legal-callout p:last-child{margin-bottom:0}
.legal-page dialog{max-width:480px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;color:#182c40}
.legal-page dialog p{font-size:1rem}
.legal-page dialog .actions{justify-content:flex-end}
.legal-page .btn{min-height:44px}
.legal-footer a:focus-visible,.legal-page a:focus-visible,.legal-use-note a:focus-visible{outline:3px solid #a66b14;outline-offset:4px}
@media(max-width:620px){.legal-page .top-inner{padding:16px 20px;gap:12px;flex-wrap:wrap}.legal-page .article{padding:28px 20px 16px}.legal-page .article dl{grid-template-columns:1fr;gap:4px}.legal-page .article dd{margin-bottom:14px}.legal-footer nav{gap:4px 18px}.legal-callout{padding:16px}.legal-page .top nav{gap:18px}}
@media print{.legal-page .top,.legal-page .legal-toc,.legal-page .legal-footer,.legal-page button,.legal-page dialog{display:none}.legal-page .article{max-width:none;padding:0}.legal-page .article h2{break-after:avoid}.legal-page .article a{color:inherit}}
