:root{font-family:system-ui,-apple-system,"Yu Gothic",Meiryo,sans-serif;color:#243447;background:#f5f7fb;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:#1d5e86}button,input{font:inherit}.shell{max-width:830px;padding:22px 18px 38px;margin:auto}.shell.narrow{max-width:650px}
.brand{display:flex;gap:10px;align-items:center;padding:12px 0 22px}.brand strong{font-size:21px;letter-spacing:.03em}.brand small{display:block;color:#6e7b89;font-size:12px}.mark{background:#174f72;color:white;border-radius:12px;width:44px;height:44px;display:grid;place-items:center;font-weight:700;font-family:Georgia,serif;font-size:27px}
.hero{padding:20px 2px 25px}.eyebrow{color:#236d8f;font-size:13px;font-weight:700;letter-spacing:.05em}.hero h1{font-size:clamp(23px,5vw,32px);line-height:1.35;margin:10px 0}.hero p,.panel p{line-height:1.8}.panel{background:#fff;padding:27px 28px;border:1px solid #e0e7ee;border-radius:16px;margin:0 0 18px;box-shadow:0 4px 22px rgba(33,64,93,.045)}.panel h2{font-size:20px;margin:0 0 12px}.panel h3{font-size:15px;margin:6px 0}.panel.muted{background:#f9fbfe}.panel.muted p{margin-bottom:0}form{margin:24px 0 10px}label{font-weight:700;font-size:14px;display:block;margin:0 0 7px}input{display:block;width:100%;border:1px solid #9babb9;border-radius:9px;height:47px;padding:0 12px;color:#22364a;background:#fff;margin:0 0 14px}input:focus{outline:3px solid #bedde9;border-color:#246488}button{min-height:44px;border:0;border-radius:9px;background:#185b7c;color:#fff;padding:10px 19px;font-weight:700;cursor:pointer}button:hover:not(:disabled){filter:brightness(.94)}button:disabled{opacity:.55;cursor:not-allowed}button.secondary{background:#eaf0f3;color:#1e4e6c}.status{min-height:24px;font-size:14px;color:#286a4f}.status.error{color:#aa3838}.divider{border-top:1px solid #e6ebef;margin:22px 0}footer{display:flex;gap:16px;flex-wrap:wrap;align-items:center;justify-content:space-between;color:#647383;font-size:12px;padding:12px 0}@media(max-width:520px){.shell{padding:14px 14px 28px}.panel{padding:22px 18px}.hero{padding:8px 0 18px}}
