*{box-sizing:border-box}body{margin:0;background:#f4f5ef;color:#172e2d;font-family:system-ui,"Noto Sans JP",sans-serif;line-height:1.85}a{color:#17645a;text-underline-offset:4px}header{border-bottom:1px solid #cbd4c9;background:#fff;padding:18px max(5vw,20px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}header a{font-weight:750;text-decoration:none}header small{color:#51635e}main{max-width:1060px;margin:auto;padding:60px 24px}h1{font-size:clamp(30px,5vw,58px);letter-spacing:-.04em;line-height:1.3;margin:16px 0 24px}h2{font-size:25px;margin-top:40px}p{max-width:760px}.eyebrow{font-size:12px;letter-spacing:.16em;color:#45665e;font-weight:700}.lead{font-size:19px;color:#49635d}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:36px 0}.card,.panel{background:white;border:1px solid #ced8cd;border-radius:16px;padding:28px}.card h2{margin:15px 0;font-size:23px}.card>a{display:inline-block;margin-top:15px;font-weight:700}.num{font-size:12px;font-weight:bold;color:#64786b}button,.button{background:#155b50;color:white;border:0;border-radius:8px;padding:12px 20px;font:inherit;cursor:pointer;display:inline-block}button:hover{background:#244b42}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #da8b22;outline-offset:3px}button.secondary{background:#e5ece5;color:#254a3f}textarea{width:100%;min-height:210px;padding:16px;font:14px/1.6 monospace;border:1px solid #afc3b5;border-radius:8px}label{display:block;margin:15px 0 8px}input:not([type=checkbox]),select{padding:10px;border:1px solid #afc3b5;border-radius:6px;max-width:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}pre{overflow:auto;background:#eef2ec;padding:15px;white-space:pre-wrap;overflow-wrap:anywhere}footer{padding:28px 5vw;border-top:1px solid #cbd4c9;color:#49635d}footer a{margin-right:20px}.note{border-left:3px solid #d89936;padding:8px 18px;background:#fff9eb}#status{min-height:2em}table{border-collapse:collapse;width:100%}td,th{padding:10px;border-bottom:1px solid #ccd6cc;text-align:left}@media(max-width:500px){main{padding:30px 18px}.panel{padding:18px}}