:root{--primary-color: #d4a373;--primary-light: #faedcd;--secondary-color: #ccd5ae;--accent-color: #e9edc6;--text-color: #4a4a4a;--text-muted: #7a7a7a;--bg-color: #ac202c;--white: #ffffff;--line-green: #06c755;--shadow: 0 4px 20px rgba(0, 0, 0, .05);--border-radius: 20px;--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Noto Sans JP,sans-serif;background-color:var(--bg-color);color:var(--white);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,.result-type-name{font-family:Shippori Mincho,serif}.container{width:100%;max-width:500px;margin:0 auto;padding:40px 24px;text-align:center}#app{min-height:100vh;display:flex;flex-direction:column}.section{display:none;flex-grow:1;animation:fadeIn .5s ease}.section.active{display:flex;flex-direction:column;justify-content:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero{height:100vh;display:flex;flex-direction:column;justify-content:flex-start;padding-top:20vh;background-image:linear-gradient(#ac202c99,#ac202c99),url(/assets/hero-bg-MCOZ2e0D.png);background-size:cover;background-position:center}.hero-content{display:flex;flex-direction:column;align-items:center;gap:20px}.hero-badge{font-size:clamp(16px,4vw,22px);color:#fff;font-weight:500;text-shadow:0 4px 6px rgba(0,0,0,.4);margin-bottom:0}.hero-main-title{font-size:clamp(28px,8vw,44px);letter-spacing:-.05em;white-space:nowrap;font-weight:700;color:#fff;line-height:1.2;text-shadow:0 4px 6px rgba(0,0,0,.4);margin-bottom:0}.hero-sub-copy{font-size:clamp(18px,6vw,26px);letter-spacing:-.05em;white-space:nowrap;color:#f5f5f5;line-height:1.2;text-shadow:0 4px 6px rgba(0,0,0,.4);margin-bottom:0;font-weight:700}.hero-desc{font-size:clamp(16px,4vw,20px);color:#f5f5f5;line-height:1.6;text-shadow:0 4px 6px rgba(0,0,0,.4);margin-bottom:8px}.hero-cta-btn{font-size:clamp(20px,6vw,30px);color:#c9a55c;background-color:#fff;border:none;border-radius:50px;width:80%;max-width:450px;height:70px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:900;letter-spacing:.05em;box-shadow:0 8px 24px #0006;cursor:pointer;transition:all .3s ease;margin-top:16px;text-decoration:none}.hero-cta-btn:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0006}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;border-radius:50px;font-weight:700;text-decoration:none;cursor:pointer;border:none;transition:var(--transition);width:100%;max-width:300px}.btn-primary{background-color:var(--primary-color);color:var(--white);box-shadow:0 4px 15px #d4a3734d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #d4a37366}.btn-large{font-size:1.25rem;padding:20px 40px}.btn-line{background-color:var(--line-green);color:var(--white);margin:24px 0}.btn-line:hover{filter:brightness(1.05);transform:translateY(-2px)}.line-icon{width:24px;height:24px;margin-right:12px}.progress-bar{width:100%;height:8px;background-color:var(--primary-light);border-radius:4px;margin-bottom:40px}.progress-inner{height:100%;background-color:var(--primary-color);border-radius:4px;width:0%;transition:width .3s ease}.question-title{font-size:1.5rem;margin-bottom:32px;text-align:left;color:var(--white)}.options-list{display:flex;flex-direction:column;gap:16px}.option-item{background-color:var(--white);color:var(--text-color);border:2px solid transparent;padding:20px;border-radius:12px;text-align:left;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow)}.option-item:hover{border-color:var(--primary-light)}.option-item.selected{border-color:var(--primary-color);background-color:var(--primary-light)}.option-label{font-size:1.1rem;font-weight:500}.result-card{background-color:var(--white);color:var(--text-color);border-radius:var(--border-radius);padding:40px 24px;box-shadow:var(--shadow);margin-top:20px;margin-bottom:40px}.result-label{font-size:1.2rem;color:var(--text-muted);margin-bottom:16px}.result-type-name{font-size:2.2rem;color:var(--primary-color);margin-bottom:32px;padding-bottom:16px;border-bottom:1px dashed var(--primary-light)}.result-message{font-size:1.1rem;margin-bottom:48px;color:var(--text-color)}.line-cta{background-color:#f9f9f9;border-radius:16px;padding:32px 20px}.line-heading{font-size:1.3rem;margin-bottom:16px}.line-body{font-size:.95rem;color:var(--text-muted)}.line-note{font-size:.8rem;color:var(--text-muted);margin-top:8px}@media (max-width: 480px){.main-title{font-size:2rem}.question-title{font-size:1.3rem}.btn-large{font-size:1.1rem}}
