:root{--bg:#f7f7f8;--surface:#ffffff;--surface-2:#f3f4f5;--ink:#1a1d21;--ink-2:#464c54;--ink-3:#656b73;--line:#e7e8ea;--brand:#c8202e;--brand-ink:#a0151f;--brand-tint:#fbe9eb;--accent:#c8202e;--ok:#1f7a45;--ok-ink:#1a6b3b;--ok-tint:#e7f4ec;--ok-line:#cfe7d8;--ok-bg:#f2f9f4;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius:16px;--radius-sm:10px;--shadow:0 1px 2px rgba(20,22,26,0.04),0 8px 24px rgba(20,22,26,0.05);--shadow-sm:0 1px 2px rgba(20,22,26,0.05);--maxw:1080px}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}.t-hero{font-size:clamp(28px,5vw,40px);line-height:1.3;letter-spacing:-.01em}.t-h1,.t-hero{font-weight:700;margin:0}.t-h1{font-size:clamp(22px,3.2vw,28px);line-height:1.4}.t-h2{font-size:20px}.t-h2,.t-h3{line-height:1.5;font-weight:700;margin:0}.t-h3{font-size:17px}.t-body{font-size:15px;line-height:1.7}.t-sm{font-size:13px;line-height:1.65}.t-micro,.t-xs{font-size:12px;line-height:1.6}.t-micro{color:var(--ink-3)}.clinic-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px}.clinic-line__name{font-size:14.5px;font-weight:700;color:var(--ink)}.clinic-line__sep{color:var(--ink-3)}.clinic-line__loc{font-size:13.5px;font-weight:600;color:var(--ink-2)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.86);-webkit-backdrop-filter:saturate(160%) blur(10px);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}.site-header .inner{gap:12px;height:60px}.logo,.site-header .inner{display:flex;align-items:center}.logo{gap:10px;font-weight:700;letter-spacing:.02em}.logo .mark{width:30px;height:30px;border-radius:9px;background:var(--brand);color:#fff;display:grid;place-items:center;font-size:16px}.logo .sub{font-size:11px;color:var(--ink-3);font-weight:600;letter-spacing:.06em}.logo-img{height:51px;width:auto;display:block}.hero-logo{display:block;width:min(300px,66vw);height:auto;margin:0 auto 14px}.hero-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;margin-top:14px}.hero-chips__label{font-size:13px;font-weight:700;color:var(--ink-3);margin-right:2px}.header-spacer{flex:1 1}.header-note{font-size:12px;color:var(--ink-3)}.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;line-height:1.5}.badge--ok{background:var(--ok-tint);color:var(--ok)}.badge--brand{background:var(--brand-tint);color:var(--brand-ink)}.badge--neutral{background:var(--surface-2);color:var(--ink-2)}.badge--muted{background:var(--surface-2);color:var(--ink-3)}.badge--dark{background:var(--ink);color:#fff}.chip{display:inline-flex;align-items:center;gap:6px;padding:9px 15px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.chip:hover{border-color:var(--brand);color:var(--brand-ink);transform:translateY(-1px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;font-weight:700;font-size:15px;cursor:pointer;border:1px solid transparent;transition:all .15s ease}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-ink)}.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-ink)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.card--accent-left{border-left:4px solid var(--brand)}.card--accent-top{border-top:4px solid var(--brand)}.card--ok{background:var(--ok-bg);border-color:var(--ok-line)}.demo-banner{background:var(--surface-2);border-bottom:1px solid var(--line);text-align:center;padding:7px 16px}.demo-banner,.section-label{color:var(--ink-2);font-size:12.5px}.section-label{font-weight:700;letter-spacing:.08em;text-transform:uppercase}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);animation:skeleton-pulse 1.2s ease-in-out infinite}.skeleton-card{display:flex;gap:16px;padding:18px;align-items:center}.source-meta{margin-top:3px}.source-meta__link{color:var(--brand-ink);text-decoration:underline}.source-meta__link--ok{color:var(--ok)}.qual-row{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface)}.qual-row__mark{color:var(--brand);font-weight:700;line-height:1.5}.qual-row__body{flex:1 1;min-width:0}.qual-row__head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.qual-row__name{font-size:15px;font-weight:700}.spec-card{text-align:left;padding:20px;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.spec-card:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--shadow)}.spec-card__head{display:flex;align-items:center;gap:10px}.spec-card__dot{width:10px;height:10px;border-radius:3px;background:var(--brand);flex-shrink:0}.doc-card{display:flex;gap:16px;padding:18px}.doc-card__avatar{width:62px;height:62px;border-radius:14px;background:var(--surface-2);color:var(--ink);display:grid;place-items:center;font-size:26px;font-weight:700;flex-shrink:0}.doc-card__body{flex:1 1;min-width:0}.doc-card__head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.doc-card__name{font-size:18.5px;font-weight:700}.doc-card__meta{text-align:right;flex-shrink:0;color:var(--ink-3);font-size:12.5px}.doc-card__dist{font-weight:700;color:var(--ink);font-size:15px}.doc-card__dist span{font-size:11px;font-weight:600}.doc-card__role{margin-top:8px}@media (max-width:560px){.doc-card{flex-wrap:wrap}.doc-card__meta{text-align:left;width:100%;display:flex;gap:10px;align-items:center;padding-top:10px;margin-top:4px;border-top:1px solid var(--line)}.doc-card__role{margin-top:0}}@media (max-width:760px){.detail-grid{grid-template-columns:1fr}}