:root{--bg:#faf8f6;--fg:#2a2320;--muted:#8a807a;--line:#ece6e1;--card:#fff;--accent:#b48a5a;--accent-dark:#8a6a40;--green:#2d8b57;--amber:#e68a00;--red:#c00000;--radius:14px;--shadow:0 1px 3px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.04)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{width:100%;max-width:880px;margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line);background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{font-weight:700;font-size:1.05rem;letter-spacing:.02em}.brand-mark{color:var(--accent);margin-right:4px}.nav{display:flex;gap:18px;font-size:.9rem;color:var(--muted)}.nav a:hover{color:var(--fg)}.hero{text-align:center;padding:48px 0 28px}.hero h1{font-size:1.7rem;line-height:1.4;margin:0 0 10px}.hero p{color:var(--muted);margin:0 auto;max-width:36em}.checker{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px;margin:18px 0 8px}.checker label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px}.field-row{display:flex;gap:10px;flex-wrap:wrap}.checker input[type=text],.checker select{font-size:1rem;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--fg)}.checker input[type=text]{flex:1 1 200px;letter-spacing:.12em}.checker select{flex:1 1 160px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s}.btn:hover{background:var(--accent-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:#fff;color:var(--accent-dark);border:1px solid var(--accent)}.btn-outline:hover{background:#fbf6f0}.hint{font-size:.8rem;color:var(--muted);margin-top:10px}.result{margin-top:18px;padding:18px;border-radius:12px;border:1px solid var(--line);background:#fbfaf9}.result .badge{font-size:1.1rem;font-weight:700}.result .sub{font-size:.9rem;color:var(--muted);margin-top:6px}.result .candidates{margin-top:10px;font-size:.88rem}.result.green{border-color:#cfe9da;background:#f3fbf6}.result.amber{border-color:#f6e3c2;background:#fff9ef}.result.red{border-color:#f2cccc;background:#fdf4f4}.cta{margin-top:16px;padding:16px 18px;border-radius:12px;background:linear-gradient(180deg,#fff,#fbf6f0);border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.cta .cta-text strong{display:block}.cta .cta-text span{font-size:.85rem;color:var(--muted)}.section-title{font-size:1.15rem;margin:36px 0 14px}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.brand-card{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;transition:border-color .15s,transform .1s}.brand-card:hover{border-color:var(--accent);transform:translateY(-1px)}.brand-card .b-name{font-weight:600}.brand-card .b-name-ja{font-size:.8rem;color:#6b625c;margin-top:1px}.brand-card .b-tier{font-size:.72rem;color:var(--muted);margin-top:4px}.prose{max-width:40em}.prose h2{font-size:1.15rem;margin:28px 0 10px}.prose li,.prose p{color:#4a423d}.prose code{background:#f0ebe6;padding:1px 6px;border-radius:5px;font-size:.9em}.site-footer{border-top:1px solid var(--line);margin-top:48px;padding:24px 0}.disclaimer{margin:0 0 6px}.copyright,.disclaimer{font-size:.78rem;color:var(--muted)}.copyright{margin:0}.breadcrumb{font-size:.82rem;color:var(--muted);margin:20px 0 4px}.breadcrumb a:hover{color:var(--fg)}.code-photo{margin:8px 0 4px}.code-photo-img{display:block;width:100%;max-width:560px;height:auto;border:1px solid var(--line);border-radius:12px;background:#fbf9f7;padding:8px}.code-photo figcaption{font-size:.85rem;color:#4a423d;margin-top:8px}.faq{max-width:40em;margin:28px 0 8px}.faq h2{font-size:1.15rem;margin:0 0 10px}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:0 14px}.faq-item summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"＋";color:var(--accent);margin-right:8px}.faq-item[open] summary:before{content:"−"}.faq-item p{margin:0 0 14px;color:#4a423d;font-size:.92rem}