.legal-doc{box-sizing:border-box;background:var(--color-surface);width:100%;max-width:46rem;color:var(--color-ink);border:1px solid #d7e3e1;border-radius:0;margin:0 auto;padding:1.5rem 1.25rem 2.25rem;line-height:1.8;box-shadow:0 1px 2px #1a27440a}@media (width>=640px){.legal-doc{border-radius:1.125rem;padding:2rem 2.25rem 2.75rem}}.legal-doc a{color:var(--color-strength);text-underline-offset:.15em;text-decoration:underline}.legal-doc a:hover{color:var(--color-accent)}.legal-doc a:focus-visible{outline:2px solid var(--color-strength);outline-offset:2px}.legal-doc p{margin:0 0 1.15rem}.legal-doc__title{color:var(--color-ink);margin:0 0 .65rem;font-size:1.55rem;line-height:1.35}.legal-doc__updated{color:var(--color-muted);margin:0 0 1.15rem;font-size:.875rem;line-height:1.5}.legal-doc__lead{color:var(--color-muted);margin:0 0 1.75rem;line-height:1.8}.legal-doc__heading{margin:3rem 0 1.1rem;font-size:1.05rem;line-height:1.4}.legal-doc__heading:first-of-type{margin-top:.5rem}.legal-doc__list{margin:0 0 1.15rem;padding-left:1.25rem;line-height:1.85}.legal-doc__list li+li{margin-top:.45rem}.legal-doc__defs{gap:1.15rem;margin:0 0 .5rem;display:grid}.legal-doc__defs>div{border-top:1px solid #e8efe9;margin:0;padding:.85rem 0 0}.legal-doc__defs>div:first-child{border-top:0;padding-top:0}.legal-doc__defs dt{color:var(--color-muted);letter-spacing:.02em;margin:0 0 .3rem;font-size:.8125rem;font-weight:700}.legal-doc__defs dd{margin:0;line-height:1.8}.legal-doc__note{color:var(--color-muted);margin:.4rem 0 0;font-size:.875rem}:root{--color-bg:#f7f5f2;--color-surface:#fff;--color-ink:#1a2744;--color-muted:#5c5c5c;--color-accent:#0b4f6c;--color-strength:#0f766e;--color-rank:#c2410c;--space-sm:.75rem;--space-md:1.5rem;--space-lg:2.5rem;--header-height:3.5rem;--math-iq-content-width-sp:28rem;--math-iq-content-width-pc:44rem;--font-ja-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "YuGothic", Meiryo, sans-serif}*,:before,:after{box-sizing:border-box}body.app-layout{min-height:100vh;font-family:var(--font-ja-sans);color:var(--color-ink);background:var(--color-bg);flex-direction:column;margin:0;display:flex}.app-header{background:var(--color-surface);border-bottom:1px solid #e5e1db}.app-header__inner{max-width:56rem;padding:var(--space-sm) 1rem;min-height:var(--header-height);align-items:center;margin:0 auto;display:flex}.app-header__brand{color:var(--color-accent);font-size:1.25rem;font-weight:700;text-decoration:none}.main-content{flex:1;width:100%;max-width:56rem;margin:0 auto;padding:0}@media (width>=640px){.main-content{padding:var(--space-md)}.app-header__brand{font-size:1.375rem}}.app-footer{background:var(--color-surface);border-top:1px solid #e5e1db}.app-footer__inner{max-width:40rem;margin:0 auto;padding:1.35rem 1.2rem 1.6rem}.app-footer__nav{flex-wrap:wrap;gap:.85rem 1.35rem;margin:0 0 .85rem;display:flex}.app-footer__nav a{color:var(--color-muted);text-underline-offset:.15em;font-size:.875rem;text-decoration:underline}.app-footer__nav a:hover{color:var(--color-strength)}.app-footer__nav a:focus-visible{outline:2px solid var(--color-strength);outline-offset:3px;border-radius:.15rem}.app-footer__copy{color:#767676;margin:0;font-size:.8rem;line-height:1.5}button{margin-top:var(--space-md);color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.button-link,.button--filled,.ops-login__submit{color:#fff;background:var(--color-accent)}.button-link{margin-top:var(--space-md);font:inherit;cursor:pointer;border:0;border-radius:.375rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.button-link--secondary{color:var(--color-ink);background:#e8f2f5;border:1px solid #b7cdd5}.diagnostic-card{background:var(--color-surface);border:1px solid #e5e1db;border-radius:0;max-width:48rem;padding:1.5rem 1rem;overflow-x:hidden}@media (width>=640px){.diagnostic-card{padding:var(--space-lg);border-radius:.75rem}}.diagnostic-card__eyebrow{color:var(--color-accent);margin:0;font-size:.9375rem;font-weight:700}.diagnostic-card__title{margin:0;font-size:clamp(1.5rem,4vw,2rem);line-height:1.35}.diagnostic-card__lead{color:var(--color-muted);margin:.75rem 0 0;font-size:1.125rem;line-height:1.6}.diagnostic-card fieldset{margin:var(--space-md) 0 0;padding:var(--space-md);border:1px solid #d7d2ca;border-radius:.5rem}.ops-login{max-width:28rem;margin:var(--space-lg) auto}.ops-login__error{color:#9a3412;background:#fff7ed;border-radius:.5rem;margin:1rem 0 0;padding:.75rem .9rem;font-size:.92rem;line-height:1.45}.ops-login__form{gap:1rem;margin-top:1.25rem;display:grid}.ops-login__field{gap:.35rem;display:grid}.ops-login__label{color:var(--color-ink);font-size:.9rem;font-weight:600}.ops-login__input{box-sizing:border-box;width:100%;font:inherit;border:1px solid #d7d2ca;border-radius:.5rem;padding:.7rem .8rem}.ops-login__input:focus-visible{outline:2px solid var(--color-strength);outline-offset:2px}.ops-login__submit{width:100%;margin-top:.25rem}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
