[hidden]{display:none!important}:root{--ink:#123f39;--green:#0b705c;--lime:#c8ef72;--paper:#f8f7f1;--line:#d7e1dc}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic",Meiryo,sans-serif}main{max-width:620px;margin:auto;min-height:100vh;padding:20px 20px 60px}header{display:flex;align-items:center;gap:12px;padding:8px 0 28px;border-bottom:1px solid var(--line)}header div{display:grid;gap:2px}header small{color:#668079;font-size:11px}.mark{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--lime);font-weight:900;font-size:13px}.intro{padding:42px 2px 20px}.eyebrow{margin:0 0 13px;color:var(--green);font-size:11px;font-weight:900;letter-spacing:.2em}.intro h1{margin:0;font:700 44px/1.25 "Yu Mincho",serif;letter-spacing:-.04em}.intro>p:last-child{line-height:1.9;color:#526d67}.status{margin:18px 0;padding:14px 16px;border-radius:10px;background:#e8f1ed;color:#47645e;font-size:13px}.status.error{background:#fff0eb;color:#9a3424}form{display:grid;gap:18px}fieldset{margin:0;padding:22px 18px;border:1px solid var(--line);border-radius:14px;background:white}legend{padding:0 8px;font-weight:800}legend span{margin-right:10px;color:#739187;font:700 12px serif}select,textarea{width:100%;margin-top:14px;padding:14px;border:1px solid #b9cbc4;border-radius:9px;background:white;color:var(--ink);font:inherit}textarea{resize:vertical}.note{font-weight:800;line-height:1.7}.consent{display:flex;align-items:flex-start;gap:10px;padding:4px;font-size:12px;line-height:1.7;color:#526d67}.consent input{margin-top:4px}button{width:100%;border:0;border-radius:999px;padding:17px 20px;background:var(--green);color:white;font:800 15px inherit;box-shadow:0 10px 24px rgba(11,112,92,.18)}button:disabled{opacity:.55}.privacy{text-align:center;color:#758984;font-size:10px}.result{margin-top:26px;padding:30px 24px;border-radius:16px;background:var(--ink);color:white}.result .eyebrow{color:var(--lime)}.result h2{margin:0;font:700 33px "Yu Mincho",serif}.result>p:not(.eyebrow){line-height:2}.result button{margin-top:16px;background:var(--lime);color:var(--ink)}@media(max-width:380px){.intro h1{font-size:38px}main{padding-left:16px;padding-right:16px}}
