:root{--ink:#233e38;--paper:#f7f4ed;--line:#d9d5ca;--muted:#68736b;--orange:#a6492c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.8 'Yu Gothic UI','Meiryo',sans-serif}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--orange)}button,input,select{font:inherit}a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad642d;outline-offset:4px}.skip{position:absolute;top:-60px}.skip:focus{top:0;background:white;z-index:9}.notice{background:var(--ink);color:#f7f4ed;font-size:10px;letter-spacing:.16em;padding:7px 5vw}.notice span{float:right;letter-spacing:.05em}header{display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;border-bottom:1px solid var(--line);gap:25px}.brand{font-weight:700;text-decoration:none;letter-spacing:.03em;font-size:17px}.mark{font-size:28px;vertical-align:middle;margin-right:8px}nav{display:flex;gap:26px;font-size:13px}nav a{text-decoration:none}main{max-width:1280px;margin:auto;padding:0 5vw}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding:70px 0 54px;align-items:center}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.13em;color:var(--orange)}h1{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:clamp(34px,4vw,56px);line-height:1.4;margin:20px 0 24px;letter-spacing:.05em}h1 em{font-style:normal;color:var(--orange)}.hero p{font-size:14px;color:#54625a}.button{display:inline-flex;justify-content:space-between;gap:40px;text-decoration:none;padding:15px 24px;background:var(--ink);color:white;border-radius:4px;font-size:14px;margin:15px 0}.button:hover{background:#3c5c4e;color:white}.hero .hero-note{font-size:11px;color:var(--muted)}.door-visual{height:450px;position:relative;background:#ebe7dd;border-radius:45% 45% 4px 4px}.door-frame{position:absolute;top:40px;bottom:0;width:57%;left:24%;padding:10px 11px 0;background:#a7967f;box-shadow:15px 15px 30px #bfb7a744}.door{position:relative;height:100%;background:repeating-linear-gradient(90deg,#d3b992 0,#d3b992 26px,#ccb18a 27px,#d8be99 29px);box-shadow:inset 5px 0 10px #87705344}.upper-lock,.lower-lock{position:absolute;right:15%;top:30%;background:#f3f0e7;width:38px;height:72px;border-radius:17px;box-shadow:3px 4px 4px #75654e55}.lower-lock{top:70%;height:54px}.upper-lock i,.lower-lock i{display:block;background:#48544b;width:25px;height:8px;border-radius:4px;margin:23px 6px}.door-handle{position:absolute;top:54%;right:12%;width:70px;height:12px;background:#59564d;border-radius:5px;box-shadow:2px 3px 3px #786b51}.annotation{position:absolute;font-size:11px;background:#fffaf1;padding:10px 15px;border:1px solid #cec5b2;box-shadow:0 5px 12px #7e756418}.a1{left:-6%;top:23%}.a2{right:-3%;top:48%}.a3{left:3%;bottom:12%}.intro{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;gap:30px}.intro b{font-family:serif;font-size:25px}.intro p{font-size:13px}.section-head{padding:65px 0 25px;max-width:750px}h2{font-family:'Yu Mincho',serif;font-size:29px;line-height:1.5;letter-spacing:.025em;margin:12px 0}h3{font-size:21px;line-height:1.6;margin:12px 0}.section-head p{color:var(--muted);font-size:14px}.builder{display:grid;grid-template-columns:.85fr 1.15fr;border:1px solid var(--line);background:#fffdf8;border-radius:8px;overflow:hidden}form{padding:30px;display:grid;gap:18px}label{display:block;font-size:13px;font-weight:700}select,input{display:block;background:#fff;color:var(--ink);width:100%;border:1px solid #bfc5bb;border-radius:4px;padding:12px;margin-top:8px;font-size:14px;min-width:0}select{white-space:normal}.result{padding:30px;background:#e9eee5}.result ul{padding-left:19px;font-size:14px}.result li{margin:12px 0}.result a{font-size:12px}.cost-panel{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:30px 0;border-bottom:1px solid var(--line)}.cost-panel p{font-size:13px;color:var(--muted)}#prices{display:grid;grid-template-columns:1fr 1fr;gap:18px}output{grid-column:1/-1;background:#eee4d3;padding:15px;font-weight:700;font-size:14px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:5px;background:#fffdf8}table{width:100%;border-collapse:collapse;font-size:13px;min-width:700px}th,td{padding:22px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);width:25%}thead th{background:#e9eee5;font-weight:700}td small,th small{display:block;color:var(--muted);font-size:11px;margin:5px 0}th .source-link{display:block;font-size:11px;font-weight:400;margin-top:10px}.footnote{font-size:12px;color:var(--muted)}.guides{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;padding-bottom:60px}.guide{text-decoration:none;display:block;padding:30px;border:1px solid var(--line);border-top:3px solid var(--ink);background:#fffdf8}.guide p{font-size:14px;color:var(--muted)}.guide b{display:flex;justify-content:space-between;font-size:12px;margin-top:25px}.guide:hover{background:#f0eadf}footer{background:var(--ink);color:#f3efe4;padding:40px 5vw;display:flex;justify-content:space-between;gap:30px;font-size:12px}footer p{opacity:.8}article{padding:40px 0 70px}.back{font-size:13px}.article-title{max-width:880px;padding:35px 0;margin:auto}.article-title h1{font-size:40px}.article-title p{font-size:12px;color:var(--muted)}.prose{max-width:800px;margin:auto}.prose h2{font-size:25px;margin-top:45px}.prose p,.prose li{font-size:16px;line-height:2}.prose .lead{font-size:20px;border-left:3px solid var(--orange);padding-left:22px}.diagram{background:#ece7dc;border-radius:6px;margin:30px 0}.diagram svg{display:block;width:100%}.sources{background:#e9eee5;padding:25px;margin:35px 0;font-size:13px}.sources li{font-size:13px}.sources small{color:var(--muted)}.next{border-top:1px solid var(--line);padding:25px 0}.prose a{overflow-wrap:anywhere}@media(max-width:800px){header{align-items:flex-start;flex-direction:column;padding:17px 5vw;gap:12px}nav{gap:20px;font-size:12px}.hero{padding-top:35px;grid-template-columns:1fr;gap:25px}.hero h1{font-size:42px}.door-visual{height:320px;max-width:450px;width:90%;margin:auto}.annotation.a1{left:-4%}.intro{display:block}.intro b{font-size:23px}.builder,.cost-panel{grid-template-columns:1fr}.cost-panel{gap:15px}.guides{grid-template-columns:1fr}.section-head{padding-top:45px}h2{font-size:25px}.notice span{display:none}.article-title h1{font-size:32px}.prose p,.prose li{font-size:15px}footer{flex-direction:column;gap:10px}form,.result{padding:23px}.guide{padding:25px}th,td{padding:15px}main{padding:0 6vw}}
.answer,.path-card,.purchase-ads{padding:24px;margin:24px 0;border:1px solid #cad5c9;border-radius:16px;background:#f4f7ef}.answer{border-left:5px solid #42694a}.representatives{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.representatives a{padding:14px;background:#e9efdf;border-radius:10px}.path-card h3{font-size:1.4rem}.result h3{margin-top:24px}#prices label{display:block;margin:16px 0}#prices input{display:block;width:100%;max-width:420px;padding:12px;font:inherit;margin-top:8px}#total{overflow-wrap:anywhere}
