:root{--ink:#1f2925;--muted:#66726c;--line:#dce2db;--paper:#fffdf5;--warm:#f7f3e8;--teal:#075b60;--teal-dark:#05494e;--accent:#d8b563;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:15px;line-height:1.65;background-image:linear-gradient(rgba(16,83,80,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(16,83,80,.035) 1px,transparent 1px);background-size:34px 34px}.site-header{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(255,253,245,.93);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.brand{font-family:var(--serif);font-size:20px;text-decoration:none;color:var(--ink)}.brand span{font-family:var(--sans);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--teal);color:#fff;font-size:14px}nav{display:flex;gap:30px}nav a{font-size:13px;text-decoration:none;color:#59635e}.mini-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:10px 17px;background:var(--teal);color:#fff;font:600 13px var(--sans);text-decoration:none;cursor:pointer}.mini-button{padding:8px 14px}.primary-button:hover{background:var(--teal-dark)}.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:999px;padding:9px 17px;color:var(--ink);font:600 13px var(--sans);text-decoration:none;background:#fff}.hero{max-width:1180px;margin:auto;min-height:520px;padding:82px 0;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center}.eyebrow{margin:0;color:var(--teal);font:600 11px "DM Mono",monospace;letter-spacing:.16em}.hero h1,.finder h2,.featured h2{font:600 clamp(38px,5.3vw,72px)/1.12 var(--serif);margin:17px 0 26px;letter-spacing:-.04em}.hero h1 em{color:var(--teal);font-style:normal}.hero-copy>p:not(.eyebrow){max-width:560px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:10px;margin-top:28px}.compass-card{padding:30px;border:1px solid #eee9dc;background:rgba(255,255,255,.82);border-radius:30px;box-shadow:0 28px 50px rgba(28,47,41,.12)}.compass-card ol{margin:22px 0 0;padding:0;list-style:none;display:grid;gap:18px}.compass-card li{display:flex;gap:15px}.compass-card b{color:rgba(7,91,96,.52);font:26px var(--serif)}.compass-card span{display:grid;font-size:13px;color:var(--muted)}.compass-card strong{color:var(--ink)}.finder,.featured{max-width:1180px;margin:auto;padding:72px 0}.finder h2,.featured h2{font-size:clamp(32px,4vw,50px);margin-bottom:10px}.section-lead{color:var(--muted);max-width:690px}.conditions,.panel{margin-top:32px;background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 12px 28px rgba(30,49,42,.04)}.conditions{position:relative;background:#f9fbf7}.conditions h3{font:600 24px var(--serif);margin:6px 0}.conditions p{margin:4px 0;color:var(--muted);font-size:13px}.range-display{position:absolute;right:28px;top:30px;border-radius:999px;background:#fff;padding:8px 12px;color:var(--teal);font-size:12px}.condition-grid,.filter-grid{margin-top:26px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px}.condition-grid label,.filter-grid label{display:block;font-weight:700;font-size:13px}.condition-grid label output{float:right;font:28px var(--serif);color:var(--teal)}.pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.pill,.culture-toggle{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font:500 12px var(--sans);cursor:pointer}.pill.active,.culture-toggle.active{background:var(--teal);border-color:var(--teal);color:#fff}.condition-grid input{width:100%;accent-color:var(--teal);margin:17px 0 0}.range-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.deviation-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.6}.tabs{display:flex;width:max-content;max-width:100%;margin:24px 0 0;padding:4px;border-radius:999px;background:#f0f1eb}.tab{border:0;background:transparent;border-radius:999px;padding:10px 18px;cursor:pointer;font:600 13px var(--sans)}.tab.active{background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.07)}.panel{margin-top:12px}.culture-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.culture-toggle{border-radius:14px;text-align:left;padding:11px}.culture-toggle small{display:block;margin-top:2px;opacity:.7;font-size:10px}.applied{margin-top:28px;padding:15px;border-radius:16px;background:#f3f6f1}.applied span{font:600 10px "DM Mono",monospace;letter-spacing:.1em;color:var(--teal)}.applied strong,.applied small{display:block}.applied strong{margin-top:5px}.applied small{color:var(--muted);font-size:11px}.result-summary{display:flex;justify-content:space-between;align-items:center;margin:26px 0 16px;color:var(--muted);font-size:13px}.result-summary b{color:var(--ink);font:28px var(--serif)}.school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.school-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:17px;text-align:left;cursor:pointer;transition:.18s transform,.18s box-shadow}.school-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px rgba(26,48,40,.1)}.school-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:10px;color:var(--muted)}.school-meta span{padding:2px 6px;border-radius:999px;background:#f2f3ee}.school-card h4{font:600 16px var(--serif);margin:11px 0 6px}.school-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.6}.score-line{display:flex;gap:2px;margin-top:12px}.score-line i{display:block;width:10px;height:4px;border-radius:3px;background:#d9dfd9}.score-line i.active{background:var(--teal)}.hidden{display:none!important}.diagnosis-head{display:flex;justify-content:space-between;gap:20px}.diagnosis-head h3{font:600 20px var(--serif);margin:0}.diagnosis-head p{margin:4px 0;color:var(--muted);font-size:12px}.diagnosis-head strong{font-size:11px;color:var(--teal)}.time-badge{height:max-content;border-radius:999px;background:#f1f3ef;padding:8px 12px;font-size:12px}.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.question{border:1px solid var(--line);border-radius:16px;padding:16px}.question header{display:flex;gap:7px;align-items:center}.question-number{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#eaf4f1;color:var(--teal);font-size:10px;font-weight:700}.question small{color:var(--muted);font-size:10px}.question h4{margin:11px 0 4px;font-size:13px}.question p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.answers{display:flex;justify-content:space-between;gap:3px;margin-top:12px}.answers button{height:26px;width:26px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:10px;cursor:pointer}.answers button.selected{background:var(--teal);border-color:var(--teal);color:#fff}.answer-labels{display:flex;justify-content:space-between;margin-top:5px;color:var(--muted);font-size:9px}.diagnosis-action{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;padding:17px;border-radius:18px;background:#edf2ed}.diagnosis-action p{margin:0;font-size:12px;color:#4b5a53}.primary-button:disabled{opacity:.45;cursor:not-allowed}.match-results{margin-top:34px}.match-results h3{font:600 28px var(--serif);margin:5px 0}.match-caption{font-size:11px;color:var(--teal);font-weight:700}.featured{max-width:none;padding-left:max(24px,calc((100vw - 1180px)/2));padding-right:max(24px,calc((100vw - 1180px)/2));background:#f3f5ef;border-top:1px solid var(--line)}.featured h2{font-size:38px}.featured .school-grid{margin-top:28px}footer{max-width:1180px;margin:auto;padding:34px 0;color:var(--muted);display:flex;justify-content:space-between;gap:28px;font-size:11px}footer strong{color:var(--ink);font:20px var(--serif)}footer p{max-width:720px;margin:6px 0}dialog{width:min(720px,92vw);border:0;border-radius:22px;padding:30px;background:#fff;box-shadow:0 30px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(15,29,25,.42)}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:26px;cursor:pointer}.dialog-score{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:22px 0}.dialog-score div{padding:11px;border-radius:12px;background:#f5f6f1;font-size:12px}.dialog-score b{display:block;margin-top:5px;color:var(--teal);font:24px var(--serif)}.dialog-links{display:flex;gap:10px;flex-wrap:wrap}.dialog-links a{font-size:12px;color:var(--teal)}@media(max-width:800px){nav{display:none}.site-header{padding:0 17px}.hero{grid-template-columns:1fr;padding:52px 20px;gap:35px;min-height:auto}.finder{padding:52px 18px}.conditions,.panel{padding:20px}.condition-grid,.filter-grid,.question-grid,.school-grid{grid-template-columns:1fr}.range-display{position:static;display:inline-block;margin-top:12px}.culture-options{grid-template-columns:1fr 1fr}.featured{padding:52px 18px}footer{padding:28px 18px;display:block}.diagnosis-head,.diagnosis-action,.result-summary{align-items:flex-start;flex-direction:column}.compass-card{padding:24px}.hero h1{font-size:48px}}
