:root{font-family:Meiryo,'Yu Gothic',sans-serif;color:#193d35;background:#f6f7f2;font-synthesis:none;line-height:1.7}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:4px}button,input,textarea{font:inherit}header{max-width:1160px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dbe1d8}.brand{font-weight:800;letter-spacing:2px;text-decoration:none;font-size:17px}.brand small{display:block;font-size:10px;letter-spacing:3px;color:#64766d}nav{display:flex;gap:24px;font-size:13px}main{max-width:1080px;margin:auto;padding:52px 32px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2px;color:#637568}.intro h1{font-size:clamp(28px,4vw,44px);line-height:1.4;letter-spacing:.03em;margin:12px 0}.intro p{color:#66766c;margin:12px 0 30px}.pill{display:inline-block;background:#e8eee3;border-radius:30px;font-size:12px;padding:5px 12px;margin-bottom:8px}.calculator{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}.panel{background:white;border:1px solid #dce3d9;border-radius:20px;padding:30px}.panel h2{font-size:18px;margin:0 0 24px}.step{font-size:12px;margin-right:10px;color:#8b9b86}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-weight:bold;font-size:14px}label small{font-weight:normal;font-size:11px;display:block;color:#6b7b70}.input-wrap{position:relative;margin-top:8px}input{width:100%;border:1px solid #bdcbbd;border-radius:9px;padding:12px 48px 12px 14px;color:#193d35;font-size:20px;background:#fcfdf9}input[aria-invalid=true]{border-color:#b33030}.unit{position:absolute;right:14px;top:16px;color:#6b7b70;font-size:12px}.error{display:block;color:#b33030;font-size:12px;min-height:20px}.tools{display:flex;gap:18px;margin-top:12px}button{cursor:pointer;border:0;border-radius:9px;padding:12px 16px;font-weight:bold}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #c17b30;outline-offset:3px}.secondary{background:#edf1e8;color:#31533c;font-size:12px}.result{background:#173f35;color:#f9fff4;border-color:#173f35}.result h2{color:#dce8d2}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;color:#d1dfd3;font-size:14px}dd{margin:0;color:#fff}.total{border-top:1px solid #537061;margin-top:20px;padding-top:24px}.total span{font-size:13px}.total strong{display:block;font-size:clamp(32px,4vw,44px);font-weight:600;letter-spacing:.02em;overflow-wrap:anywhere}.result p{font-size:11px;color:#c3d2c5}.primary{width:100%;margin-top:18px;background:#def2ad;color:#173f35}.primary:disabled{opacity:.45;cursor:not-allowed}#status{min-height:22px;font-size:12px}textarea{width:100%;min-height:180px;font-size:13px;padding:10px} .trust{font-size:12px;color:#68796d;margin-top:18px}.guide{margin-top:64px}.guide h2{font-size:24px}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guide-grid h3{font-size:16px}.guide-grid p,.prose p,.prose li{font-size:14px;color:#5f7065}.guide-grid .num{font-size:12px;color:#7b8d72}.faq{margin-top:42px;border-top:1px solid #dbe1d8}details{padding:18px 0;border-bottom:1px solid #dbe1d8;font-size:14px}summary{cursor:pointer;font-weight:bold}footer{max-width:1080px;margin:30px auto 0;padding:26px 32px;border-top:1px solid #dbe1d8;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#65776a}.prose{max-width:760px}.prose h1{font-size:30px}.prose h2{font-size:19px;margin-top:32px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:3}@media(max-width:700px){header{padding:18px 20px}nav{gap:12px;font-size:11px}.brand{font-size:13px}.brand small{font-size:8px}main{padding:32px 20px}.calculator{grid-template-columns:1fr}.panel{padding:24px}.fields{gap:12px}.guide{margin-top:42px}.guide-grid{grid-template-columns:1fr;gap:12px}.intro p{font-size:13px}footer{padding:24px 20px;flex-direction:column}.total strong{font-size:40px}}@media(max-width:360px){.fields{grid-template-columns:1fr}nav{flex-direction:column;gap:2px}}
:root .fields label{min-height:52px}
:root .fields label{min-height:64px}

.home-intro{padding:20px 0 48px}.home-intro h1{font-size:clamp(34px,5vw,58px)}.pill+.pill{margin-left:8px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2{font-size:22px}.section-heading>span{font-size:12px;letter-spacing:2px;color:#64766d}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.tool-card{display:block;background:#fff;border:1px solid #dce3d9;border-radius:18px;padding:28px;text-decoration:none;transition:background .15s,transform .15s}.tool-card:hover{background:#edf3e5;transform:translateY(-2px)}.tool-card:first-child{grid-column:1/-1;background:#173f35;color:#fff}.tool-card:first-child .eyebrow,.tool-card:first-child p{color:#c3d2c5}.tool-card h3{margin:16px 0 10px;font-size:22px}.tool-card p{color:#64766d;font-size:14px}.card-action{font-size:13px;font-weight:bold}.breadcrumb{font-size:12px;color:#64766d;margin:0 0 26px}.example{background:#e8eee3;border-radius:12px;padding:16px 22px;margin:24px 0}.example h3{margin:0}.guide>p{font-size:14px}.check-wrap{padding-top:8px}.check-wrap label{display:flex;gap:8px;align-items:center}.check-wrap input{width:20px;height:20px;padding:0;flex-shrink:0}.check-wrap small{font-size:11px}.result #detail{margin:16px 0;font-size:15px;overflow-wrap:anywhere}.fields>div{min-width:0}input[type=time]{padding-right:10px}.result{min-width:0}@media(max-width:700px){.tool-grid{grid-template-columns:1fr}.tool-card{padding:24px}.tool-card h3{font-size:20px}.home-intro{padding:0 0 30px}.pill+.pill{margin-left:0}header{gap:12px}.brand{flex-shrink:0}nav{flex-wrap:wrap;justify-content:flex-end}.fields{grid-template-columns:1fr}.fields label{min-height:0!important}.tools{gap:10px;flex-wrap:wrap}}
select{font:inherit;width:100%;padding:12px;border:1px solid #bdcbbd;border-radius:9px;color:#193d35;background:#fcfdf9;margin-top:8px}select:focus-visible{outline:3px solid #c17b30;outline-offset:3px}@media(max-width:700px){.home-intro h1{font-size:clamp(24px,7.4vw,30px)}.guide h2{font-size:20px}}@media(max-width:400px){header{flex-wrap:wrap}header nav{width:100%;flex-direction:row;justify-content:flex-start;gap:18px}.brand small{letter-spacing:2px}}

.prose,.guide{overflow-wrap:anywhere}nav a{display:inline-flex;align-items:center;min-height:36px}.guide h3{font-size:18px}
