*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--color-primary:#1e4d8c;--color-primary-light:#3478c2;--color-accent:#e67e22;--color-accent-hover:#d35400;--color-bg:#f8f9fa;--color-bg-white:#fff;--color-text:#333;--color-text-light:#666;--color-text-muted:#999;--color-border:#e0e0e0;--color-success:#27ae60;--color-warning:#f39c12;--color-cost:#2980b9;--color-revenue:#e67e22;--max-width:1100px;--header-height:64px;--radius:8px;--radius-lg:16px;--shadow:0 2px 8px rgba(0,0,0,.06);--shadow-lg:0 8px 32px rgba(0,0,0,.1)}html{font-size:16px;scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;color:var(--color-text);background:var(--color-bg);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--color-primary-light);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}.container{max-width:var(--max-width);margin:0 auto;padding:0 20px}.section{padding:60px 0}.section--alt{background:var(--color-bg-white)}h1,h2,h3,h4{color:var(--color-primary);line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}@media (min-width:768px){h1{font-size:2.5rem}h2{font-size:1.75rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 32px;border:none;border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn,.btn:hover{text-decoration:none}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-accent);color:#fff;box-shadow:0 4px 14px rgba(230,126,34,.3)}.btn--primary:hover{background:var(--color-accent-hover);box-shadow:0 6px 20px rgba(230,126,34,.4)}.btn--secondary{background:var(--color-primary);color:#fff}.btn--secondary:hover{background:var(--color-primary-light)}.btn--outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn--outline:hover{background:var(--color-primary);color:#fff}.btn--large{padding:18px 48px;font-size:1.125rem;border-radius:var(--radius-lg)}.btn--full{width:100%}.card{background:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:32px;transition:box-shadow .25s ease,transform .25s ease;border:1px solid rgba(0,0,0,.04)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cta-banner{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-light) 100%);color:#fff;padding:56px 32px;text-align:center;border-radius:var(--radius-lg);margin:40px 0}.cta-banner h2{color:#fff;margin-bottom:16px}.cta-banner p{margin-bottom:28px;opacity:.9}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:6px;color:var(--color-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;font-family:inherit;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary-light);box-shadow:0 0 0 3px rgba(42,90,140,.1)}.form-group textarea{min-height:120px;resize:vertical}.diagnosis-container{min-height:calc(100vh - var(--header-height) - 80px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.diagnosis-card{background:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 24px;max-width:480px;width:100%;text-align:center}.diagnosis-progress{display:flex;gap:6px;justify-content:center;margin-bottom:32px}.diagnosis-progress-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border);transition:background .3s}.diagnosis-progress-dot--active{background:var(--color-accent)}.diagnosis-progress-dot--done{background:var(--color-success)}.diagnosis-question{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:32px;line-height:1.5}.diagnosis-options{display:flex;flex-direction:column;gap:12px}.diagnosis-option{padding:16px 20px;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-white);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:left}.diagnosis-option:hover{border-color:var(--color-accent);background:#fff8f0}.diagnosis-option--selected{border-color:var(--color-accent);background:#fff0e0}.result-type-badge{display:inline-block;padding:8px 20px;border-radius:20px;font-weight:700;font-size:.875rem;margin-bottom:16px}.result-type-badge--cost{background:#e8f4fd;color:var(--color-cost)}.result-type-badge--revenue{background:#fef5e7;color:var(--color-revenue)}.article-content{max-width:720px;margin:0 auto}.article-content h2{margin-top:40px;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--color-border)}.article-content h3{margin-top:32px;margin-bottom:12px}.article-content p{margin-bottom:16px}.article-content ol,.article-content ul{margin-bottom:16px;padding-left:24px}.article-content li{margin-bottom:8px}.article-content blockquote{border-left:4px solid var(--color-accent);padding:12px 20px;background:#fff8f0;margin:20px 0;border-radius:0 var(--radius) var(--radius) 0}@media (min-width:900px){.header-hamburger{display:none!important}.header-nav{position:static!important;width:auto!important;max-width:none!important;height:auto!important;background:transparent!important;padding:0!important;box-shadow:none!important;flex-direction:row!important;gap:0!important;align-items:center!important}.header-nav-link{padding:6px 16px!important;font-size:.875rem!important;border-bottom:none!important;color:var(--color-text)!important;font-weight:500!important;transition:color .2s!important}.header-nav-link:hover{color:var(--color-primary-light)!important;text-decoration:none!important}.header-cta-link{margin-top:0!important;padding:10px 20px!important;font-size:.8125rem!important;border-radius:var(--radius)!important}}.ba-mobile{display:none!important}@media (max-width:767px){.ba-desktop{display:none!important}.ba-mobile{display:flex!important}}@media (max-width:600px){.model-grid{grid-template-columns:1fr!important}.model-flow{flex-wrap:wrap!important;gap:8px!important}}@media (max-width:767px){.section{padding:40px 0}.card{padding:24px 16px}.btn--large{padding:16px 32px;font-size:1rem}.diagnosis-card{padding:32px 16px}.case-compare{flex-direction:column!important;gap:0!important}.case-arrow{display:none!important}.case-after,.case-before{min-width:0!important}.cta-banner{padding:40px 20px}}