:root{--ink:#172024;--muted:#53616a;--line:#d7dfe3;--paper:#fbfcfd;--blue:#175f78;--pale:#eaf4f7;--max:1120px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;line-height:1.75}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.7rem}header,main,footer{max-width:var(--max);margin:auto;padding:3rem 1.5rem}header{padding-top:5rem;border-bottom:1px solid var(--line)}h1{font-size:clamp(2.6rem,7vw,5.5rem);line-height:1.12;letter-spacing:-.04em;margin:.3rem 0 1rem}.kicker{color:var(--blue);font-weight:750;letter-spacing:.08em}.lead{font-size:1.35rem;color:var(--muted)}h2{font-size:1.5rem;margin:2.5rem 0 1rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.card{min-height:155px;display:flex;flex-direction:column;border:1px solid var(--line);background:#fff;padding:1rem;text-decoration:none;color:var(--ink)}.card span,.card small{color:var(--muted);font-size:.78rem}.card strong{font-size:1.05rem;line-height:1.45;margin:.35rem 0 auto}.card:hover,.card:focus{border-color:var(--blue);background:var(--pale)}a{color:var(--blue);text-underline-offset:.18em}a:focus-visible{outline:3px solid #f1b84b;outline-offset:3px}.principles{margin-top:3rem;padding:1.5rem;border-left:4px solid var(--blue);background:var(--pale)}footer{border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}@media(max-width:850px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.grid{grid-template-columns:1fr}.card{min-height:130px}}.portal-nav{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin-top:1.5rem}.portal-nav a[aria-current="page"]{font-weight:700;text-decoration-thickness:3px}.promise-short,.promise{margin-top:1.5rem;padding:1rem 1.2rem;border-left:4px solid var(--blue);background:var(--pale)}.prose{max-width:760px}.prose h2{margin-top:2.8rem}.prose li+li{margin-top:.4rem}.button{display:inline-block;padding:.65rem .9rem;background:var(--blue);color:#fff;text-decoration:none;border:1px solid var(--blue)}.button.secondary{background:#fff;color:var(--blue)}code{overflow-wrap:anywhere}@media(max-width:540px){.portal-nav{display:grid;grid-template-columns:1fr 1fr}}