@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Plus+Jakarta+Sans:wght@500;700;800&display=swap";:root{--ink: #0a1628;--ink-2: #1a2942;--ink-soft: #4a5876;--paper: #fafaf7;--paper-2: #f2efe8;--line: #e3dfd5;--accent: #ff5b2e;--accent-2: #ffb547;--accent-soft: #ffe7dd;--shadow-sm: 0 1px 2px rgba(10, 22, 40, .06), 0 2px 6px rgba(10, 22, 40, .04);--shadow-md: 0 8px 24px rgba(10, 22, 40, .08), 0 2px 6px rgba(10, 22, 40, .04);--radius: 18px;--radius-sm: 10px;--font-jp: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-en: "Plus Jakarta Sans", "Noto Sans JP", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-jp);font-weight:400;color:var(--ink);background-color:var(--paper);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img{max-width:100%;display:block}.container{max-width:1200px;margin:0 auto;padding:20px}.header{background:var(--ink);color:var(--paper);padding:30px 20px;text-align:center;margin-bottom:30px;border-radius:0}.header h1{font-size:28px;font-weight:700;margin-bottom:10px;letter-spacing:-.01em}.header p{font-size:14px;opacity:.85}.header .disclaimer{font-size:12px;opacity:.7;line-height:1.6;max-width:600px;margin:10px auto 0}.header-description{max-width:700px;margin:15px auto 0;text-align:center}.header-description .main-description{font-size:16px;font-weight:500;line-height:1.6;margin-bottom:8px}.header-description .sub-description{font-size:14px;opacity:.9;line-height:1.5;margin-bottom:12px}.header-description .note{font-size:12px;opacity:.75;line-height:1.5}.form-container{background:var(--paper);padding:30px;border-radius:0;margin-bottom:30px}.period-group{margin-bottom:28px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.period-header{margin-bottom:20px}.period-badge{display:inline-block;background:var(--ink);color:var(--paper);padding:6px 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:.02em}.period-group .question-item{background:var(--paper);padding:20px;border-radius:var(--radius-sm);margin-bottom:15px;border:1px solid var(--line)}.period-group .question-item:last-child{margin-bottom:0}.question-item{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}.question-item:last-child{border-bottom:none}.question-label{display:block;font-weight:600;margin-bottom:12px;color:var(--ink);font-size:16px;line-height:1.6}.question-number{display:inline-block;background:var(--accent);color:#fff;padding:2px 10px;border-radius:999px;margin-right:8px;font-size:13px;font-weight:700;font-family:var(--font-en);letter-spacing:.02em}.radio-group,.checkbox-group{display:flex;gap:16px;margin-top:10px}.radio-label,.checkbox-label{display:flex;align-items:center;cursor:pointer;font-size:15px;color:var(--ink-2);padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);transition:border-color .15s,background .15s}.radio-label:hover,.checkbox-label:hover{border-color:var(--ink-soft);background:var(--paper-2)}.radio-label input,.checkbox-label input{margin-right:8px;width:18px;height:18px;cursor:pointer;accent-color:var(--accent)}.input-group{display:flex;align-items:center;gap:10px;margin-top:10px}.input-field{padding:10px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:15px;width:150px;font-family:var(--font-jp);transition:border-color .15s}.input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-suffix{color:var(--ink-soft);font-size:14px;font-weight:500}.follow-up{margin-left:30px;margin-top:15px;padding:15px;background-color:var(--paper-2);border-left:3px solid var(--accent);border-radius:var(--radius-sm)}.button-container{text-align:center;margin:30px 0}.calculate-button{background:var(--accent);color:#fff;padding:16px 40px;font-size:17px;font-weight:700;border:none;border-radius:999px;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 8px 24px #ff5b2e59;font-family:var(--font-jp)}.calculate-button:hover{background:#e84819;transform:translateY(-1px);box-shadow:0 14px 32px #ff5b2e73}.calculate-button:disabled{background:var(--ink-soft);cursor:not-allowed;box-shadow:none;transform:none}.result-container{background:#fff;padding:30px;border-radius:var(--radius);box-shadow:var(--shadow-md);margin-top:30px}.result-title{font-size:24px;font-weight:700;color:var(--ink);margin-bottom:20px;text-align:center}.result-summary{background:var(--ink);color:var(--paper);padding:30px;border-radius:var(--radius);text-align:center;margin-bottom:30px}.result-summary h3{font-size:18px;margin-bottom:15px;opacity:.85}.result-amount{font-size:36px;font-weight:700;margin:10px 0}.result-range{font-size:16px;opacity:.8}.breakdown-section{margin-top:30px}.breakdown-title{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:15px}.breakdown-item{display:flex;justify-content:space-between;padding:12px 15px;border-bottom:1px solid var(--line);font-size:15px}.breakdown-item:nth-child(2n){background-color:var(--paper)}.breakdown-category{font-weight:500;color:var(--ink-soft)}.breakdown-amount{font-weight:700;color:var(--accent)}.loading{text-align:center;padding:40px;font-size:18px;color:var(--ink-soft)}.error{background-color:#fff5f5;color:#c53030;padding:15px;border-radius:var(--radius-sm);margin:20px 0;text-align:center;border:1px solid #feb2b2}.diagnosis-progress{position:sticky;top:0;z-index:50;background:#fff;border-bottom:2px solid var(--line);padding:12px 16px 10px;box-shadow:0 2px 8px #0a16281a}.diagnosis-progress-inner{max-width:800px;margin:0 auto;display:flex;align-items:center;gap:14px}.diagnosis-progress-track{flex:1;height:8px;background:var(--paper-2);border-radius:999px;overflow:hidden}.diagnosis-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:999px;transition:width .4s ease}.diagnosis-progress-label{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;font-family:var(--font-en)}.diagnosis-progress-time{font-size:12px;font-weight:600;color:var(--accent);white-space:nowrap}.calculating-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a1628d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:overlay-in .3s ease}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.calculating-spinner{width:56px;height:56px;border:4px solid rgba(255,255,255,.15);border-top:4px solid var(--accent);border-right:4px solid var(--accent-2);border-radius:50%;animation:calc-spin .8s linear infinite;margin-bottom:24px}@keyframes calc-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.calculating-text{color:var(--paper);font-size:18px;font-weight:700;letter-spacing:.02em}.calculating-sub{color:#fafaf799;font-size:13px;margin-top:8px}.calculating-dots:after{content:"";animation:dots 1.5s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.container{padding:8px}.header{padding:20px 16px;margin-bottom:20px}.header h1{font-size:20px}.form-container{padding:12px 0;border-radius:0}.period-group{padding:16px 12px;margin-bottom:16px;border-radius:var(--radius-sm)}.period-group .question-item{padding:14px 12px;border:none;border-bottom:1px solid var(--line);border-radius:0}.question-label{font-size:15px;line-height:1.5}.input-field{width:100%;max-width:200px;font-size:16px}.follow-up{margin-left:0;margin-top:12px}.radio-group,.checkbox-group{flex-direction:column;gap:10px}.calculate-button{width:100%;padding:16px;font-size:17px}.result-container{padding:0;box-shadow:none;border-radius:0}.result-amount{font-size:24px}.result-summary{padding:20px 12px;border-radius:var(--radius-sm)}.breakdown-item{flex-direction:column;gap:4px;padding:10px 12px}.button-container{margin:20px 12px}.diagnosis-progress{padding:8px 12px 6px}.diagnosis-progress-label{font-size:11px}}
