:root{--green:#286d36;--deep:#174c27;--ink:#202c25;--line:#dbe2dc;--muted:#506156;--bg:#f5f7f4}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:'Noto Sans JP','Yu Gothic',Meiryo,sans-serif;font-size:16px;font-weight:500;line-height:1.75}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{border:1px solid var(--line);background:white;color:var(--ink);padding:10px 18px;font-weight:700;border-radius:3px}button:hover{border-color:var(--green);color:var(--green)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--deep);color:white}.review{background:#eaf1e9;min-height:40px;padding:6px 4%;font-size:14px;font-weight:700;display:flex;align-items:center;gap:18px}.review span{font-weight:600}.review button{margin-left:auto;font-size:14px;border:0;background:transparent;padding:0 8px}header{max-width:1280px;margin:auto;padding:24px 40px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:24px;text-decoration:none;color:var(--ink);font-weight:700}.brand img{width:162px;max-height:66px;object-fit:contain}.brand span{padding-left:24px;border-left:1px solid var(--line);font-size:16px}.account{margin-left:auto;font-size:14px;text-align:right}.menu{display:none}nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:30px}nav button{border:0;border-radius:0;padding:16px 6px;border-bottom:3px solid transparent;font-size:15px}nav button.active{color:var(--green);border-bottom-color:var(--green)}#count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--green);color:white;font-size:13px;margin-left:5px}main{max-width:1200px;margin:auto;padding:42px 40px 72px;min-height:65vh}.eyebrow{font-size:13px;color:var(--green);letter-spacing:.09em;font-weight:700;margin:0 0 8px}h1{font-size:32px;line-height:1.5;margin:0 0 10px;letter-spacing:.01em}h2{font-size:22px;line-height:1.6;margin:0 0 18px}h3{font-size:18px;margin:0 0 8px}p{margin:0 0 20px}.sub{color:var(--muted)}.heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.heading p{margin:0}.searchbox{display:flex;gap:12px;padding:24px;background:var(--bg);margin-bottom:24px;align-items:end}.searchbox label{flex:1}.label,label{display:block;font-size:14px;font-weight:700}input,textarea,select{display:block;width:100%;padding:12px;border:1px solid #aebcaf;border-radius:3px;background:white;color:var(--ink);margin-top:6px;font-weight:500}textarea{resize:vertical;min-height:110px}.searchbox input{margin-top:8px}.products{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product{border-bottom:1px solid var(--line);padding-bottom:24px}.product img{width:100%;height:220px;object-fit:contain;background:var(--bg)}.product .type{font-size:13px;color:var(--green);font-weight:700;margin:16px 0 5px}.product p{font-size:14px;color:var(--muted)}.buy{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.buy label:first-child{flex:1;min-width:130px}.buy .qty{width:64px}.buy button{width:100%;margin-top:6px}details{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:700}details p{margin:12px 0;font-size:14px}.two{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px}.panel{padding:26px;background:var(--bg);margin-bottom:24px}.panel.white{background:white;border:1px solid var(--line)}.panel p:last-child{margin:0}.side{height:fit-content;position:sticky;top:20px;border-top:3px solid var(--green)}.side button{width:100%;margin-top:20px}.row{display:grid;grid-template-columns:1fr 85px 64px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid var(--line)}.row input{margin:0}.row small{display:block;color:var(--muted);font-size:14px}.textbtn{background:transparent;border:0;padding:5px;color:var(--green);font-size:14px}.steps{display:flex;gap:20px;margin:0 0 32px;font-size:14px;font-weight:700;color:#6a766b}.steps .current{color:var(--green)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.optional{font-size:12px;color:var(--muted);margin-left:8px;font-weight:600}.checks{display:flex;align-items:center;gap:8px;margin:14px 0}.checks input{width:auto;margin:0}.section{margin-bottom:36px;border-top:2px solid var(--ink);padding-top:22px}.actions{display:flex;justify-content:space-between;gap:15px;margin-top:28px}.tag{display:inline-block;font-size:13px;padding:3px 10px;background:#eaf1e9;color:#245b2c;font-weight:700;border-radius:2px}.tag.wait{background:#f2eee3;color:#655227}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{background:var(--bg);font-weight:700;white-space:nowrap}td button{white-space:nowrap}.spec td:first-child{min-width:145px;font-weight:700}.empty{text-align:center;padding:65px 20px;background:var(--bg)}.empty p{margin:15px 0 25px}.notice{border-left:3px solid var(--green);padding:12px 18px;background:var(--bg);font-size:14px;margin:24px 0}.document{border:1px solid var(--line);padding:40px;background:white}.document .stamp{color:var(--green);font-weight:700}.document h2{text-align:center;font-size:26px;letter-spacing:.1em}.login{max-width:480px;margin:10px auto}.login label{margin-bottom:18px}.login .primary{width:100%}dl{margin:0}dt{font-size:13px;color:var(--muted);margin-top:16px}dd{margin:2px 0 0;font-weight:700;white-space:pre-wrap;overflow-wrap:anywhere}.spec{margin:20px 0 40px}.filelist{font-size:14px;color:var(--muted);overflow-wrap:anywhere}.success{border-top:4px solid var(--green);padding:35px;background:var(--bg)}footer{padding:30px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:14px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 24px;background:var(--deep);color:white;display:none;border-radius:3px;z-index:5;max-width:90%;box-shadow:0 4px 20px #0002}.error{color:#a52c28;font-weight:700;font-size:14px;margin-top:10px}.total{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px}.total strong{font-size:26px}a{color:var(--green)}@media(max-width:800px){header{padding:18px 20px;gap:12px}.brand{gap:12px}.brand img{width:112px}.brand span{font-size:13px;padding-left:12px}.account{display:none}.menu{display:block;margin-left:auto;padding:6px 10px}nav{display:none;flex-wrap:wrap;gap:6px;padding:10px}nav.open{display:flex}.review{font-size:12px;padding:8px 15px;gap:8px}.review span{max-width:190px;font-size:12px}.review button{font-size:12px}main{padding:28px 20px 50px}h1{font-size:26px}h2{font-size:20px}.products{grid-template-columns:1fr}.product{display:grid;grid-template-columns:110px 1fr;gap:18px}.product img{height:150px}.product .type{margin-top:0}.product .buy{grid-column:1/-1}.buy button{width:auto;flex:1}.heading{display:block}.heading button{margin-top:16px}.two{grid-template-columns:1fr}.side{position:static}.searchbox{padding:18px;flex-wrap:wrap}.searchbox label{min-width:100%}.fields{grid-template-columns:1fr}.panel{padding:20px}.steps{gap:12px;font-size:12px}.row{grid-template-columns:1fr 65px 46px;gap:8px}.document{padding:20px}footer{display:block}footer span{display:block;margin-top:6px}}@media print{header,nav,.review,footer,.actions,#toast{display:none}main{padding:0;max-width:none}.document{border:0}.notice{display:none}}

/* Japanese wrapping: keep headings in meaningful phrases without fixed line breaks. */
main{line-break:strict;word-break:normal;overflow-wrap:anywhere}h1,h2,h3{text-wrap:balance}p,.sub,.gdp-message{text-wrap:pretty;line-break:strict}.phrase{display:inline-block;max-width:100%;vertical-align:top;overflow-wrap:anywhere}.login{max-width:36rem}.login h1{font-size:clamp(1.5rem,4.8vw,2rem);line-height:1.55;margin-bottom:1.25rem}.login p{line-height:1.9}.login .primary{display:block;text-align:center;text-decoration:none;padding:12px 18px}.login button{word-break:keep-all;overflow-wrap:anywhere}#password-toggle{margin-bottom:16px}.actions{flex-wrap:wrap}.actions>div{display:flex;flex-wrap:wrap;gap:8px}.actions button,nav a{white-space:normal;word-break:keep-all;overflow-wrap:anywhere}header .brand{min-width:0}header>a:last-child{flex-shrink:0}footer{flex-wrap:wrap}@media(max-width:480px){header{flex-wrap:wrap}.brand span{max-width:12em}main{padding-left:18px;padding-right:18px}.login{margin-top:0}.gdp-message{font-size:14px}.login .phrase{max-width:100%}}
