*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f5f0;color:#202b2d;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;line-height:1.85}a{color:var(--accent);text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c66b00;outline-offset:4px}.wrap{max-width:1080px;margin:auto;padding:0 28px}header{border-bottom:1px solid #d9dfdb;background:#fff}header .wrap{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:18px;padding-bottom:18px}.brand{font-weight:800;font-size:21px;text-decoration:none}nav{display:flex;gap:20px;font-size:14px;flex-wrap:wrap}main{padding-bottom:80px}.hero{padding:64px 0 42px;display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:end}.eyebrow{color:var(--accent);font-size:14px;font-weight:800;letter-spacing:.08em}h1{font-size:clamp(30px,4.4vw,51px);line-height:1.45;letter-spacing:-.04em;margin:14px 0 24px}h2{font-size:26px;line-height:1.5;margin:0 0 15px}h3{font-size:20px;line-height:1.5;margin:0 0 10px}p{margin:0 0 16px}.intro{max-width:640px}.goal{background:var(--accent);color:#fff;border-radius:16px;padding:30px}.goal small{display:block;letter-spacing:.1em;margin-bottom:10px}.goal p{margin:0;font-weight:600}.section{margin-top:36px;padding:32px;border:1px solid #dbe1dc;border-radius:16px;background:#fff}.mode{display:flex;align-items:center;flex-wrap:wrap;gap:16px}select,input,textarea{font:inherit;max-width:100%;border:1px solid #91a39c;border-radius:7px;background:#fff;padding:10px;color:#202b2d}.steps{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.step{padding:28px;background:#fff;border:1px solid #dbe1dc;border-radius:14px;min-width:0}.num{color:var(--accent);font-weight:800;letter-spacing:.1em;font-size:14px;margin-bottom:12px}.links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:14px;font-weight:700}.checklist{list-style:none;padding:0;margin:20px 0}.checklist li{border-bottom:1px solid #e8ece8}.checklist label{display:flex;align-items:flex-start;gap:14px;padding:16px 0;cursor:pointer}.checklist input{width:21px;height:21px;margin-top:5px;flex-shrink:0;accent-color:var(--accent)}progress{width:100%;height:12px;accent-color:var(--accent)}.muted{font-size:14px;color:#566762}.note{background:#fff8e9;border-left:4px solid #b97c26;padding:20px;margin-top:24px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.button,button{display:inline-block;border:1px solid var(--accent);border-radius:7px;padding:11px 18px;background:var(--accent);color:#fff;font:inherit;font-size:15px;font-weight:700;text-decoration:none;cursor:pointer}.secondary{background:#fff;color:var(--accent)}textarea{width:100%;min-height:240px}#print-memo{display:none}footer{padding:24px 0;border-top:1px solid #d9dfdb;font-size:13px}.loginbox{margin-top:20px}.loginbox form{display:flex;gap:10px;flex-wrap:wrap}.loginbox input{min-width:0;width:220px}.loginbox label{display:block}.loginbox [role=status]{color:#8a3d10;font-size:14px}[hidden]{display:none!important}@media(max-width:680px){.wrap{padding:0 18px}header .wrap{align-items:flex-start}.brand{font-size:18px}nav{gap:6px 14px;font-size:12px}.hero{grid-template-columns:1fr;gap:24px;padding:38px 0 16px}h1{margin-bottom:20px}.goal{padding:22px}.steps{grid-template-columns:1fr}.step,.section{padding:22px}h2{font-size:23px}.button,button{width:100%;text-align:center}.mode{display:block}.mode select{display:block;width:100%;margin-top:8px}}@media print{body{background:#fff;font-size:10pt}.wrap{max-width:none;padding:0}header,nav,.buttons,.loginbox{display:none!important}.hero{padding:0;gap:20px}h1{font-size:25pt}.goal{background:white;color:#202b2d;border:1px solid #aaa}.section,.step{break-inside:avoid;padding:15px;margin-top:14px}.steps{gap:12px}.note{background:white}a{color:#202b2d}.no-print{display:none!important}#memo{display:none}#print-memo{display:block!important;white-space:pre-wrap;font:inherit;overflow-wrap:anywhere}textarea{min-height:180px}footer{margin-top:18px}}