@import "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@400;500;700&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--color-bg:#faf6f0;--color-bg-alt:#f2ece2;--color-bg-card:#fff;--color-border:#e4dccc;--color-text:#3a352e;--color-text-muted:#746b5c;--color-accent:#5b8a72;--color-accent-strong:#3f6b56;--color-warm:#c1694f;--font-display:"Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif;--font-body:"Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;--max-width:44rem;--max-width-wide:60rem}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:1.05rem;line-height:1.85}a{color:var(--color-accent-strong)}a:hover{color:var(--color-warm)}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text);font-weight:700;line-height:1.5}.site-header{border-bottom:1px solid var(--color-border);backdrop-filter:blur(6px);z-index:10;background:#faf6f0eb;position:sticky;top:0}.site-header__inner{max-width:var(--max-width-wide);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1rem 1.25rem;display:flex}.site-header__logo{font-family:var(--font-display);color:var(--color-accent-strong);font-size:1.25rem;font-weight:700;text-decoration:none}.site-header__nav{flex-wrap:wrap;gap:1.25rem;display:flex}.site-header__nav a{color:var(--color-text-muted);font-size:.9rem;text-decoration:none}.site-header__nav a:hover{color:var(--color-accent-strong)}main{max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.25rem 4rem}main.wide{max-width:var(--max-width-wide)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;padding:2rem 1.25rem 3rem;font-size:.85rem}.site-footer a{color:var(--color-text-muted)}.hero{text-align:center;padding:2rem 0 1rem}.hero h1{margin-bottom:.75rem;font-size:1.9rem}.hero p{color:var(--color-text-muted);font-size:1.05rem}.area-grid{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:1.25rem;margin:2rem 0;padding:0;list-style:none;display:grid}.area-card{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:10px;transition:box-shadow .2s,border-color .2s}.area-card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #5b8a721f}.area-card a{color:inherit;padding:1.5rem;text-decoration:none;display:block}.area-card h2{color:var(--color-accent-strong);margin:0 0 .5rem;font-size:1.15rem}.area-card p{color:var(--color-text-muted);margin:0;font-size:.9rem}.trust-note{border:1px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text-muted);border-radius:10px;margin:2rem 0;padding:1.25rem 1.5rem;font-size:.9rem}.trust-note strong{color:var(--color-accent-strong)}.diagnostic-form{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;margin:1.5rem 0;padding:1.75rem}.diagnostic-question{margin-bottom:1.5rem}.diagnostic-question label.q-label{margin-bottom:.6rem;font-weight:700;display:block}.diagnostic-options{flex-direction:column;gap:.5rem;display:flex}.diagnostic-option{border:1px solid var(--color-border);cursor:pointer;border-radius:8px;align-items:center;gap:.6rem;padding:.65rem .9rem;transition:border-color .15s,background .15s;display:flex}.diagnostic-option:hover{border-color:var(--color-accent)}.diagnostic-option.is-selected{border-color:var(--color-accent-strong);background:#5b8a7214}.diagnostic-option input{accent-color:var(--color-accent-strong)}.diagnostic-submit{font-family:var(--font-display);color:#fff;background:var(--color-accent-strong);cursor:pointer;border:none;border-radius:999px;padding:.85rem 2rem;font-size:1rem;font-weight:700;transition:background .2s}.diagnostic-submit:hover:not(:disabled){background:var(--color-warm)}.diagnostic-submit:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.diagnostic-result{border:2px solid var(--color-accent-strong);background:var(--color-bg-alt);border-radius:12px;margin-top:1.5rem;padding:1.75rem;display:none}.diagnostic-result.is-visible{display:block}.diagnostic-result__range{font-family:var(--font-display);color:var(--color-accent-strong);margin:.5rem 0 1rem;font-size:1.8rem;font-weight:700}.diagnostic-result__list{color:var(--color-text-muted);padding-left:1.2rem;font-size:.9rem}.diagnostic-result__notes{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem;font-size:.85rem}.tier2-label{color:var(--color-warm);border:1px solid var(--color-warm);border-radius:999px;margin-top:.5rem;padding:.15rem .7rem;font-size:.75rem;display:inline-block}.line-cta{text-align:center;background:#06c7550f;border:1px solid #06c755;border-radius:12px;margin:2rem 0;padding:1.5rem}.line-cta__button{font-family:var(--font-display);color:#fff;background:#06c755;border-radius:999px;margin-top:.75rem;padding:.75rem 2rem;font-weight:700;text-decoration:none;display:inline-block}.line-cta__button:hover{color:#fff;background:#05a648}.exit-links{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:12px;margin:1.5rem 0;padding:1.25rem 1.5rem}.exit-links__label{font-family:var(--font-display);color:var(--color-text-muted);margin:0 0 .75rem;font-size:.9rem;font-weight:700}.exit-links__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.exit-links__link{border:1px solid var(--color-border);color:var(--color-accent-strong);border-radius:8px;padding:.65rem .9rem;text-decoration:none;display:block}.exit-links__link:hover{border-color:var(--color-accent);background:#5b8a720f}.article-list{flex-direction:column;gap:1rem;margin:0 0 2rem;padding:0;list-style:none;display:flex}.article-list li{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:8px;padding:.9rem 1.1rem}.article__type-label{color:var(--color-accent-strong);background:#5b8a721a;border-radius:999px;margin-bottom:.5rem;padding:.2rem .7rem;font-size:.85rem;display:inline-block}.article__dates{color:var(--color-text-muted);font-size:.9rem}.article__diagnostic-cta{border:1px solid var(--color-accent);background:#5b8a720f;border-radius:8px;margin:2rem 0;padding:1rem 1.2rem}.article__sources{border-top:1px solid var(--color-border);color:var(--color-text-muted);margin-top:2rem;padding-top:1rem;font-size:.9rem}
