:root{--ink:#173e37;--muted:#52645f;--paper:#f7f6f0;--line:#c9d3c9;--accent:#dce9ba}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.9}a{color:inherit;text-underline-offset:4px}a:hover{color:#386d52}button,input,select{font:inherit}button,.button{background:var(--ink);color:#fff;border:1px solid var(--ink);border-radius:6px;padding:12px 20px;cursor:pointer;display:inline-block;margin:8px 10px 8px 0;text-decoration:none;line-height:1.5}button:hover,.button:hover{background:#2b5c4f;color:white}.secondary{background:transparent;color:var(--ink)}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}header{border-bottom:1px solid var(--line);background:#fbfaf6}.header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0}.brand{font-size:23px;font-weight:750;letter-spacing:-.03em;text-decoration:none;line-height:1.3}.brand span{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;margin-top:5px}nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px}nav a{text-decoration:none}main{padding-top:64px;padding-bottom:90px}.article{max-width:820px}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;color:var(--muted);margin:0 0 16px}h1{font-size:clamp(30px,4.4vw,53px);line-height:1.45;letter-spacing:-.04em;margin:0 0 22px}h2{font-size:23px;line-height:1.55;margin:38px 0 16px}h3{line-height:1.55}p{margin:0 0 20px}.lead{font-size:18px;max-width:760px;color:var(--muted)}.home>.lead{max-width:700px}.note{background:#eaf0de;border-left:3px solid #789355;padding:16px 20px;font-size:14px;margin:24px 0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:20px;margin:36px 0 48px}.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;text-decoration:none}.card h2{font-size:24px;margin:30px 0 18px}.card p{font-size:15px;color:var(--muted);margin:0}.card:hover{border-color:var(--ink);background:#eff3e7}.panel{background:var(--accent);padding:32px;border-radius:10px;margin:50px 0}.panel h2{margin-top:0}.steps{padding-left:24px}.steps li{padding:8px 0}.steps strong{display:block}.columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:20px}fieldset{min-width:0;border:1px solid var(--line);padding:18px 22px 22px;margin:16px 0;background:#fff;border-radius:8px}legend{font-weight:bold;padding:0 8px}label{display:block;font-size:14px;font-weight:600;margin:12px 0}input,select{width:100%;min-height:46px;padding:9px 12px;background:#fbfcf8;border:1px solid #8b9d8b;border-radius:4px;color:var(--ink);margin-top:6px}input[type=checkbox]{width:20px;min-height:20px;margin:0 8px 0 0}.inline{display:flex;align-items:center;gap:4px}.result:empty{display:none}.result{background:#edf3e3;border:1px solid #8a9a77;padding:24px;margin:20px 0;border-radius:8px;overflow-wrap:anywhere}.result h2{margin:0 0 16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}th,td{border-bottom:1px solid var(--line);padding:14px;text-align:left;vertical-align:top}th{background:#eaf0e2}caption{text-align:left;font-weight:600;padding:8px 0}.meta{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:36px}footer{background:#e7ebe1;padding:42px 0;font-size:14px}footer small{display:block;margin-top:24px}.skip{position:absolute;top:-100px;padding:8px;background:#fff}.skip:focus{top:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #537933;outline-offset:4px}ul,ol{padding-left:24px}@media(max-width:640px){.wrap{width:calc(100% - 32px)}.header{align-items:flex-start;flex-direction:column;gap:18px;padding:18px 0}nav{gap:10px 18px}main{padding-top:38px}.lead{font-size:16px}.panel{padding:24px}.card{padding:24px}.cards{gap:14px}.columns{grid-template-columns:1fr}th,td{padding:10px}.result{padding:16px}fieldset{padding:14px 16px}}@media print{header,footer,button,.button,.skip{display:none!important}body{background:white;color:black}.wrap{width:100%;max-width:none}main{padding:0}.result{break-inside:avoid}input,select{border:0;padding:0}a{text-decoration:none}fieldset{break-inside:avoid}}
