:root{--color-bg:#fff;--color-text:#1f2933;--color-text-muted:#52606d;--color-border:#d9e2ec;--color-accent:#1a5276;--color-accent-contrast:#fff;--color-surface:#f4f7f9;--color-notice-bg:#fff8e6;--color-notice-border:#e8c468;--font-family-base:-apple-system, BlinkMacSystemFont, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif;--content-max-width:960px;--spacing-unit:1rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family-base);margin:0;font-size:16px;line-height:1.8}img,svg{max-width:100%;height:auto}a{color:var(--color-accent)}a:focus-visible,button:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-accent-contrast);padding:.75rem 1rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}.site-header{border-bottom:1px solid var(--color-border)}.site-header__inner{max-width:var(--content-max-width);padding:1rem var(--spacing-unit);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;display:flex}.site-header__logo{margin:0;font-size:1.1rem;font-weight:700}.site-header__logo a{color:var(--color-text);text-decoration:none}.site-nav{flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}.site-nav a{padding:.25rem 0;text-decoration:none}.site-nav a:hover{text-decoration:underline}.site-nav a[aria-current=page]{border-bottom:2px solid var(--color-accent);font-weight:700}main{max-width:var(--content-max-width);padding:2rem var(--spacing-unit) 3rem;margin:0 auto}main h1{margin-top:0;font-size:1.75rem;line-height:1.4}main h2{margin-top:2.5rem;font-size:1.3rem}main h3{margin-top:1.75rem;font-size:1.1rem}main p,main ul,main ol{color:var(--color-text)}main section+section{margin-top:2rem}.lead{color:var(--color-text-muted);font-size:1.05rem}main dl{margin:1rem 0}main dt{margin-top:1rem;font-weight:700}main dd{margin:.25rem 0 0}main code{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:3px;padding:.1rem .35rem;font-size:.9em}.notice{background-color:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:4px;margin:1rem 0;padding:.85rem 1rem;font-size:.95rem}.notice__label{color:#7a5b00}.hero{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:6px;padding:1.25rem}.card h2{margin-top:0;font-size:1.05rem}.card a{font-weight:700;text-decoration:none}.card a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--color-border);margin-top:3rem}.site-footer__inner{max-width:var(--content-max-width);padding:1.5rem var(--spacing-unit);margin:0 auto}.site-footer__nav{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 1rem;padding:0;font-size:.85rem;list-style:none;display:flex}.site-footer__nav a{text-decoration:none}.site-footer__nav a:hover{text-decoration:underline}.site-footer__copyright{color:var(--color-text-muted);margin:0;font-size:.8rem}.diagnosis-progress{margin:0 0 .5rem;font-weight:700}.diagnosis-progress-bar{background-color:var(--color-surface);border-radius:999px;width:100%;height:8px;margin-bottom:1.5rem;overflow:hidden}.diagnosis-progress-bar__fill{background-color:var(--color-accent);height:100%;transition:width .2s}.diagnosis-error{margin-bottom:1.5rem}.diagnosis-question{border:none;margin:0;padding:0}.diagnosis-question:focus-visible{outline:3px solid var(--color-accent);outline-offset:6px}.diagnosis-question legend{margin-bottom:1rem;padding:0;font-size:1.2rem;font-weight:700}.diagnosis-options{flex-direction:column;gap:.5rem;display:flex}.diagnosis-option{border:1px solid var(--color-border);cursor:pointer;border-radius:6px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;display:flex}.diagnosis-option:hover{background-color:var(--color-surface)}.diagnosis-option input{flex-shrink:0;margin-top:.2rem}.diagnosis-nav{justify-content:space-between;margin-top:1.5rem;display:flex}.diagnosis-nav button{border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:6px;padding:.6rem 1.25rem;font-size:1rem}.diagnosis-nav button:disabled{opacity:.4;cursor:not-allowed}.diagnosis-nav__next{background-color:var(--color-accent);color:var(--color-accent-contrast);border-color:var(--color-accent)}.service-card-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.service-card{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:6px;padding:1.25rem}.service-card__badge{color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;margin:0 0 .5rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.service-card__name{margin:0 0 .75rem;font-size:1.1rem}.service-card__name a{text-decoration:none}.service-card__name a:hover{text-decoration:underline}.service-card__description{margin:0 0 .75rem}.service-card__strengths,.service-card__reasons{margin:0 0 .75rem;padding-left:1.25rem}.service-card__cautions{background-color:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:4px;margin:0 0 .75rem;padding:.75rem 1rem}.service-card__cautions-label{color:#7a5b00;margin:0 0 .4rem;font-weight:700}.service-card__cautions ul{margin:0;padding-left:1.25rem}.service-card__cta{background-color:var(--color-accent);color:var(--color-accent-contrast);border-radius:6px;margin-top:.5rem;padding:.6rem 1.25rem;font-weight:700;text-decoration:none;display:inline-block}.service-card__cta--pending{color:var(--color-text-muted);border:1px dashed var(--color-border);background-color:#0000;font-weight:400}.result-group{margin-top:2rem}.result-empty{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:6px;padding:1.5rem}@media (width>=600px){main h1{font-size:2rem}}@media (width>=900px){body{font-size:17px}}
