:root{--bg:#fafafa;--surface:#fff;--border:#e5e5e5;--text:#1a1a1a;--text-dim:#777;--accent:#111;--red:#dc2626;--green:#16a34a;--orange:#ea580c;--blue:#2563eb;--purple:#7c3aed;--tag-bg:#f3f3f3}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,Helvetica Neue,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;font-size:15px;line-height:1.85}.container{max-width:720px;margin:0 auto;padding:0 1.5rem}a{color:var(--text);text-underline-offset:3px;text-decoration:underline}a:hover{color:var(--blue)}.hero{border-bottom:1px solid var(--border);padding:6rem 0 4rem}.hero .label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1rem;font-size:.7rem;font-weight:700}.hero h1{letter-spacing:-.03em;margin-bottom:.75rem;font-size:clamp(2rem,5vw,3rem);font-weight:800;line-height:1.2}.hero .subtitle{color:var(--text-dim);max-width:540px;font-size:1rem}section{border-bottom:1px solid var(--border);padding:3.5rem 0}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;font-size:.65rem;font-weight:700}section h2{letter-spacing:-.02em;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.section-desc{color:var(--text-dim);margin-bottom:1.5rem;font-size:.9rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:.75rem;padding:1.25rem}.card h3{margin-bottom:.25rem;font-size:1rem;font-weight:700}.table-wrap{border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.85rem}thead{background:#f7f7f7}th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);border-bottom:1px solid var(--border);padding:.6rem .75rem;font-size:.75rem;font-weight:700}td{border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}tr:last-child td{border-bottom:none}.tag{background:var(--tag-bg);color:var(--text-dim);border-radius:4px;margin-right:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.tag-green{color:var(--green);background:#dcfce7}.tag-red{color:var(--red);background:#fee2e2}.tag-orange{color:var(--orange);background:#ffedd5}.tag-blue{color:var(--blue);background:#dbeafe}.st{font-size:.85rem;font-weight:600}.st-yes{color:var(--green)}.st-no{color:var(--red)}.st-maybe{color:var(--orange)}.box{border-radius:10px;margin:1rem 0;padding:1.25rem}.box-red{background:#fef2f2;border:1px solid #fecaca}.box-red h4{color:var(--red);margin-bottom:.25rem;font-size:.9rem;font-weight:700}.box-green{background:#f0fdf4;border:1px solid #bbf7d0}.box-green h4{color:var(--green);margin-bottom:.25rem;font-size:.9rem;font-weight:700}.box-blue{background:#eff6ff;border:1px solid #bfdbfe}.box-blue h4{color:var(--blue);margin-bottom:.25rem;font-size:.9rem;font-weight:700}.box-gray{border:1px solid var(--border);background:#f9f9f9}.box-gray h4{margin-bottom:.25rem;font-size:.9rem;font-weight:700}.box p,.box li{font-size:.85rem}.cl{list-style:none}.cl li{padding:.3rem 0 .3rem 1.5rem;font-size:.85rem;position:relative}.cl li:before{content:"✓";color:var(--green);font-weight:700;position:absolute;left:0}.cl li.warn:before{content:"!";color:var(--orange)}.cl li.cross:before{content:"✕";color:var(--red)}.steps{padding-left:2rem;position:relative}.steps:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:11px}.step{margin-bottom:1.25rem;position:relative}.step:before{content:attr(data-step);background:var(--text);color:#fff;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.65rem;font-weight:800;display:flex;position:absolute;left:-2rem}.step-red:before{background:var(--red)}.step h4{font-size:.9rem;font-weight:700}.step p{color:var(--text-dim);font-size:.85rem}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:10px;padding:1rem}.stat-card .label{color:var(--text-dim);font-size:.7rem}.stat-card .val{margin:.15rem 0;font-size:1.8rem;font-weight:800}.stat-card .sub{color:var(--text-dim);font-size:.7rem}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.plan-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:1.25rem}.plan-card.featured{border-color:var(--text)}.plan-card .plan-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);font-size:.65rem;font-weight:700}.plan-card h3{margin:.25rem 0;font-size:1.1rem;font-weight:700}.plan-card .plan-sub{color:var(--text-dim);font-size:.8rem}.plan-card .plan-price{margin:.5rem 0 .25rem;font-size:1.5rem;font-weight:800}.plan-card .plan-per{color:var(--text-dim);font-size:.75rem}.link-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.5rem;display:grid}.link-card{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;transition:border-color .15s;display:block;text-decoration:none!important}.link-card:hover{border-color:var(--text)}.link-card strong{color:var(--text);font-size:.85rem}.link-card span{color:var(--text-dim);font-size:.7rem;display:block}.vent-diagram{border:1px solid var(--border);color:var(--text-dim);white-space:pre;background:#f9f9f9;border-radius:10px;margin:1rem 0;padding:1.5rem;font-family:monospace;font-size:.8rem;line-height:1.6;overflow-x:auto}.comp-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.comp-card{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:1rem}.comp-card h4{font-size:.9rem;font-weight:700}.comp-card .loc{color:var(--text-dim);font-size:.75rem}.comp-card .desc{color:var(--text-dim);margin-top:.25rem;font-size:.8rem}.score{font-size:4rem;font-weight:900}footer{text-align:center;color:var(--text-dim);padding:3rem 1.5rem;font-size:.75rem}.page-layout{min-height:100vh}.page-main{margin-left:200px}.sidebar{background:var(--surface);border-right:1px solid var(--border);z-index:100;flex-direction:column;width:200px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar-logo{letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--border);padding:1.5rem 1.25rem 1rem;font-size:.9rem;font-weight:800;text-decoration:none;display:block}.sidebar-links{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:.5rem 0;overflow-y:auto}.sidebar-links::-webkit-scrollbar{width:3px}.sidebar-links::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-links a{color:var(--text-dim);border-left:2px solid #0000;padding:.4rem 1.25rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s,background .15s;display:block}.sidebar-links a:hover{color:var(--text);background:var(--tag-bg)}.sidebar-links a.active{color:var(--text);border-left-color:var(--text);background:var(--tag-bg);font-weight:700}.hamburger-float{z-index:101;cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:.5rem;transition:color .15s;display:none;position:fixed;top:1rem;right:1rem}.hamburger-float:hover{color:var(--text)}.mobile-menu{-webkit-backdrop-filter:blur(12px);z-index:100;background:#fafafafa;padding:.75rem 1.5rem 1.5rem;display:none;position:fixed;inset:0;overflow-y:auto}.mobile-menu.open{display:block}.mobile-menu-logo{letter-spacing:-.02em;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:.5rem;padding:.75rem 0;font-size:1rem;font-weight:800;text-decoration:none;display:block}.mobile-menu a{color:var(--text-dim);padding:.6rem 0;font-size:.85rem;font-weight:500;text-decoration:none;transition:color .15s;display:block}.mobile-menu a:hover{color:var(--text)}.mobile-menu a.active{color:var(--text);font-weight:700}@media (max-width:900px){.sidebar{display:none}.page-main{margin-left:0}.hamburger-float{display:block}.plan-grid,.grid-3{grid-template-columns:1fr}}.text-sm-dim{color:var(--text-dim);font-size:.85rem}.chart-wrap{border:1px solid var(--border);border-radius:8px;overflow:hidden}.chart-wrap img{width:100%;display:block}
