#page-loader{position:fixed;inset:0;background:#036;display:flex;align-items:center;justify-content:center;z-index:99999;transition:opacity .6s ease,visibility .6s ease}#page-loader.loader-hidden{opacity:0;visibility:hidden;pointer-events:none}#page-loader .loader-spinner{border:none;width:60px;height:60px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 30%,#f39c12 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff 0);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#fff 0);animation:loaderSpin 2s linear infinite;margin-bottom:20px}@keyframes loaderSpin{to{transform:rotate(360deg)}}.loader-logo{display:flex;flex-direction:column;align-items:center;gap:16px;color:#fff;font-family:Shippori Mincho,serif;position:relative;z-index:1}.loader-logo-text{font-size:1.4rem;letter-spacing:.1em;white-space:nowrap}.loader-bar{width:200px;height:3px;background:#fff3;border-radius:2px;overflow:hidden}.loader-bar-fill{height:100%;background:#f39c12;border-radius:2px;animation:loaderFill 1.2s ease forwards}@keyframes loaderFill{0%{width:0}to{width:100%}}:root{--main-blue: #003366;--main-blue-dark: #002244;--main-blue-light: #e6f0fa;--accent-orange: #f39c12;--resolve-green: #2ecc71;--resolve-green-dark: #27ae60;--alert-red: #e74c3c;--text-dark: #2d3436;--text-gray: #636e72;--white: #ffffff;--bg-light: #f8f9fa;--border-color: #dfe6e9;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .12);--transition-base: all .3s ease;--font-main: "Noto Sans JP", sans-serif;--font-serif: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);color:var(--text-dark);background-color:var(--white);overflow-x:hidden;line-height:1.8}a{color:inherit;text-decoration:none;transition:var(--transition-base)}img{max-width:100%;height:auto;vertical-align:bottom}ul,ol{list-style:none}.shimmer-btn{position:relative;overflow:hidden!important}.shimmer-btn:after{content:"";position:absolute;top:-50%;left:-150%;width:200%;height:200%;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0);transform:rotate(30deg);transition:none;animation:shimmer 3s infinite;pointer-events:none;z-index:1}@keyframes shimmer{0%{left:-150%}30%{left:100%}to{left:100%}}.mouse-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,#ffffff26,#fff0 70%);pointer-events:none;z-index:1;margin-left:-300px;margin-top:-300px;left:0;top:0;opacity:0;transition:opacity .3s ease}.reveal{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.section-title{text-align:center;font-family:var(--font-serif);position:relative;padding-bottom:24px}.section-title:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60px;height:4px;background:var(--accent-orange);border-radius:2px}#scroll-progress-container{position:fixed;top:0;left:0;width:100%;height:4px;background:transparent;z-index:9999;pointer-events:none}#scroll-progress-bar{height:100%;background:linear-gradient(to right,var(--main-blue),var(--accent-orange));width:0%;transition:width .1s ease-out}.count-up{font-variant-numeric:tabular-nums}.interactive-card{transition:transform .3s ease,box-shadow .3s ease}.interactive-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.dynamic-tool-container{background:#f8fafc;border-radius:16px;padding:30px;box-shadow:inset 0 2px 4px #0000000d;margin:30px 0}.tool-title{font-size:1.25rem;font-weight:700;margin-bottom:20px;text-align:center;color:var(--main-blue)}.tool-ui-wrap{display:grid;grid-template-columns:1fr;gap:20px}@media(min-width:768px){.tool-ui-wrap{grid-template-columns:1fr 1fr;align-items:center}}.glossary-wrapper{padding:60px 0;background:#fdfbf9}.glossary-layout{display:flex;gap:40px;max-width:1200px;margin:0 auto;padding:0 20px;align-items:start}.glossary-sidebar{width:250px;flex-shrink:0}.glossary-content{flex:1;min-width:0}.glossary-toc{position:sticky;top:100px;background:#fff;padding:30px;border-radius:16px;box-shadow:var(--shadow-sm)}.toc-list li{margin-bottom:15px}.toc-list a{display:block;padding:10px 15px;border-radius:8px;color:var(--text-gray);transition:all .3s}.toc-list a:hover,.toc-list a.active{background:var(--main-blue-light);color:var(--main-blue);font-weight:700}.term-card{background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a;overflow:hidden;border:1px solid #f0f0f0}.term-header{padding:20px 25px;cursor:pointer;background:#fff;display:flex;justify-content:space-between;align-items:center;transition:background .3s}.term-header:hover{background:#fcfcfc}.term-header:after{content:"";width:10px;height:10px;border-right:2px solid var(--main-blue);border-bottom:2px solid var(--main-blue);transform:rotate(45deg);transition:transform .3s ease;margin-left:15px}.term-header.is-open:after{transform:rotate(-135deg)}.term-dt{font-weight:700;font-size:1.1rem;color:var(--text-dark)}.term-dd{padding:0 25px 25px;color:var(--text-gray);line-height:1.8;max-height:0;overflow:hidden;transition:max-height .3s ease-out}.term-dd.is-open{border:none}@media(max-width:768px){.glossary-layout{flex-direction:column}.glossary-sidebar{width:100%;position:static;margin-bottom:40px}}.faq-item{background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a;overflow:hidden;border:1px solid #f0f0f0}.faq-question{padding:20px 60px 20px 25px;cursor:pointer;background:#fff;position:relative;display:flex;align-items:center;transition:background .3s;font-weight:700;color:var(--text-dark);min-height:60px}.faq-question:hover{background:#fcfcfc}.faq-question:after{content:"+";position:absolute;right:25px;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;transition:all .3s;color:var(--main-blue);line-height:1}.faq-question.is-open:after{transform:translateY(-50%) rotate(45deg)}.faq-answer{padding:0 25px;color:var(--text-gray);line-height:1.8;max-height:0;overflow:hidden;transition:all .3s ease-out;opacity:0}.faq-answer.is-open{padding:25px;border-top:1px solid #f9f9f9;opacity:1}@media(max-width:768px){.slider-dots,.hero-dots{bottom:80px!important}}.slider-dots .dot,.hero-dots .dot{position:relative;width:24px;height:24px;border-radius:50%;background:transparent;border:none;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;margin:0;padding:0;box-shadow:0 2px 4px #0003}.slider-dots .dot .dot-inner,.hero-dots .dot .dot-inner{display:block;width:8px;height:8px;background-color:#ffffffb3!important;border-radius:50%;transition:background-color .3s ease,box-shadow .3s;box-shadow:0 2px 5px #0000004d}.slider-dots .dot:hover .dot-inner,.hero-dots .dot:hover .dot-inner{background-color:#fff!important;box-shadow:0 2px 8px #0006}.slider-dots .dot.is-active .dot-inner,.hero-dots .dot.is-active .dot-inner{background-color:#fff!important;box-shadow:0 2px 6px #0006}.progress-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);opacity:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.progress-ring__circle{stroke-dasharray:63;stroke-dashoffset:63}.slider-dots .dot.is-active .progress-ring,.hero-dots .dot.is-active .progress-ring{opacity:1}.slider-dots .dot.is-active .progress-ring__circle,.hero-dots .dot.is-active .progress-ring__circle{animation:progressRing 8s linear forwards}@keyframes progressRing{0%{stroke-dashoffset:63}to{stroke-dashoffset:0}}.slider-dots .dot.is-active,.hero-dots .dot.is-active{background-color:var(--color-cta, var(--accent-orange, #FF9F00))!important;border-color:var(--color-cta, var(--accent-orange, #FF9F00))!important;transform:scale(1.2)!important}.form-submitting{opacity:.6;pointer-events:none!important;user-select:none}.form-submitting input,.form-submitting select,.form-submitting textarea,.form-submitting button{background-color:#e9ecef!important;cursor:not-allowed}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s ease}.loader-overlay.is-visible{opacity:1;visibility:visible}.loader-overlay .loader-spinner{width:50px;height:50px;animation:loaderSpin 1s linear infinite}.loader-text{text-align:center;font-weight:700;color:var(--main-blue, #003366)}.loader-timeout-msg{margin-top:1em;font-size:.9em;text-align:center;color:var(--text-gray, #636e72)}@media(max-width:768px){.slide-background video{object-position:60% center!important}}.sp-br{display:none}@media(max-width:768px){.sp-br{display:inline!important}}#dementia-story{padding:90px 0 100px}.dementia-story-title{font-size:clamp(1.8rem,3.2vw,2.5rem)!important;margin-bottom:40px!important;text-align:center!important;letter-spacing:.05em;line-height:1.4!important}.story-narrative{font-size:1.15rem;font-weight:400;line-height:2.1;color:#334155}.story-block{padding:28px 36px;border-radius:16px;background:#ffffffd9;backdrop-filter:blur(8px);box-shadow:0 4px 20px #0000000a}.story-block--problem{border-left:4px solid #94a3b8;text-align:left}.story-block--solution{border-left:4px solid var(--color-accent, #c5a059);background:#fdfbf7f2;text-align:right}.story-lead{font-size:1.35rem;color:var(--color-main);margin-bottom:12px;font-weight:800;line-height:1.5}.story-divider{height:60px;width:2px;background:linear-gradient(to bottom,#94a3b8,var(--color-accent, #c5a059));margin:36px auto;opacity:.6;border-radius:2px}.interactive-ft-card{grid-column:1 / -1;max-width:820px;margin:0 auto;background:#fff;border-radius:24px;box-shadow:0 10px 30px #00000014;padding:40px;border:1px solid #f1f5f9}.interactive-ft-card .ft-header{display:block!important;text-align:center!important;margin-bottom:28px}.interactive-ft-card .step-num{margin:0 auto 12px!important;display:inline-flex!important}.ft-title{font-size:1.6rem;color:var(--color-main);font-weight:800;margin:8px 0 0;line-height:1.4}.ft-subtitle{color:#64748b;margin:8px 0 0;font-size:.95rem;line-height:1.6}.ft-case-selector{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:28px}.ft-btn{padding:10px 20px;font-size:.95rem;font-weight:700;border-radius:100px;border:1.5px solid #cbd5e1;background:#fff!important;color:#475569;cursor:pointer;transition:all .25s ease}.ft-btn.active{background:var(--color-main)!important;color:#fff!important;border-color:var(--color-main)!important;box-shadow:0 4px 12px #0363}.ft-diagram-area{background:#f8fafc;border-radius:20px;padding:28px;border:1px solid #e2e8f0;display:flex;flex-direction:column;align-items:center;gap:20px}.ft-svg-container{width:100%;max-width:540px;display:flex;justify-content:center;align-items:center}.ft-svg{width:100%;height:auto;max-height:280px;overflow:visible}.ft-info-card{width:100%;background:#fff;padding:20px 24px;border-radius:14px;box-shadow:0 4px 12px #0000000a;border:1px solid #e2e8f0;border-left:5px solid var(--color-accent, #c5a059);transition:all .3s ease}.ft-info-badge{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ft-info-icon{font-size:1.2rem}.ft-info-card h4{font-size:1.1rem;color:var(--color-main);font-weight:800;margin:0}.ft-info-card p{font-size:.95rem;color:#475569;line-height:1.7;margin:0}.simulator-cta-section{padding:40px 0;background-color:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.simulator-cta-box{background:linear-gradient(135deg,#fff,#f0f4f8);border-radius:16px;padding:40px 30px;text-align:center;border-left:5px solid var(--color-main);max-width:800px;margin:0 auto}.simulator-cta-heading{font-size:1.8rem;color:var(--color-main);margin-bottom:15px;text-align:center;font-weight:900;line-height:1.4}.calc-icon{font-size:2.2rem;display:inline-block;vertical-align:middle;margin-right:4px}.simulator-cta-text{font-size:1.05rem;color:#475569;margin-bottom:30px;line-height:1.6}.simulator-cta-btn{padding:15px 40px;font-size:1.1rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;white-space:nowrap;display:inline-block}.simulators-section{padding:80px 0}.simulator-tabs{display:flex;gap:12px;margin-bottom:32px;justify-content:center;flex-wrap:wrap}.sim-tab-btn{padding:12px 24px;font-size:1rem;font-weight:700;border-radius:100px;border:1.5px solid var(--color-main);color:var(--color-main);background:#fff!important;cursor:pointer;transition:all .25s ease;box-shadow:0 2px 6px #0000000d}.sim-tab-btn.active{background:var(--color-main)!important;color:#fff!important;border-color:var(--color-main)!important;box-shadow:0 4px 12px #00336640}.simulator-panels{padding:48px;border-radius:24px;background:#fff;box-shadow:var(--shadow-lg, 0 10px 30px rgba(0, 0, 0, .08))}.sim-panel-title{text-align:center;color:var(--color-main);margin-bottom:12px;font-size:1.5rem;font-weight:800}.sim-panel-desc{text-align:center;font-size:.95rem;color:#64748b;margin-bottom:36px;line-height:1.6}.sim-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}.sim-grid-2col.align-center{align-items:center}.sim-input-area{display:flex;flex-direction:column;justify-content:center}.sim-result-area{background:#fdfbf9;padding:32px;border-radius:16px;border:2px solid var(--color-accent-soft, #f4ecd8);display:flex;flex-direction:column;justify-content:center}.sim-result-area--fee{background:#f0f7ff;border:1px solid #bae6fd}.heir-buttons-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.heir-btn{padding:10px 4px;border:1.5px solid #cbd5e1;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:700;text-align:center;font-size:.95rem}.heir-btn.active{background:var(--color-accent, #c5a059);color:#fff;border-color:var(--color-accent, #c5a059);box-shadow:0 3px 8px #c5a05959}.result-box-premium{padding:36px 24px;border-radius:20px;text-align:center;height:100%;display:flex;flex-direction:column;justify-content:center;background:#fff5f5;border:2px solid #fed7d7}.result-box-premium.safe{background:#f0fdf4;border:2px solid #bbf7d0}.tax-badge{display:inline-block;align-self:center;padding:4px 14px;background:#e53e3e;color:#fff;border-radius:100px;font-size:.85rem;font-weight:900;margin-bottom:16px;letter-spacing:.05em}.result-box-premium.safe .tax-badge{background:#16a34a}@media(max-width:768px){.simulators-section{padding:48px 0}.simulator-tabs{flex-direction:column;gap:8px;margin-bottom:24px}.sim-tab-btn{width:100%;padding:12px 16px;font-size:.95rem;text-align:center}.simulator-panels{padding:24px 16px;border-radius:16px}.sim-panel-title{font-size:1.25rem;margin-bottom:8px}.sim-panel-desc{font-size:.85rem;margin-bottom:24px}.sim-grid-2col{grid-template-columns:1fr;gap:24px}.sim-result-area{padding:20px 14px;border-radius:12px}.heir-buttons-grid{grid-template-columns:repeat(5,1fr);gap:4px}.heir-btn{padding:10px 2px;font-size:.85rem}.result-box-premium{padding:24px 16px}#tax-status{font-size:1.25rem!important}#tax-advice{font-size:.9rem!important;line-height:1.5!important}#res-total{font-size:1.6rem!important}.dementia-story-title{font-size:1.4rem!important;margin-bottom:24px!important;line-height:1.5!important}.story-narrative{font-size:.95rem;line-height:1.9}.story-block{padding:20px 16px;border-radius:12px;text-align:left!important}.story-block--solution{text-align:left!important}.story-lead{font-size:1.1rem;margin-bottom:10px}.story-divider{height:36px;margin:20px auto}#dementia-story{padding:60px 0 80px;margin-bottom:30px}.interactive-ft-card{padding:24px 14px;border-radius:16px}.interactive-ft-card .ft-header{margin-bottom:20px;text-align:center!important}.interactive-ft-card .step-num{margin:0 auto 8px!important}.ft-title{font-size:1.25rem;line-height:1.45}.ft-subtitle{font-size:.85rem;margin-top:6px}.ft-case-selector{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.ft-btn{width:100%;padding:10px 6px;font-size:.85rem;text-align:center}.ft-diagram-area{padding:16px 10px;border-radius:14px;gap:16px}.ft-svg{max-height:220px}.ft-info-card{padding:16px 14px;border-radius:10px}.ft-info-card h4{font-size:1rem}.ft-info-card p{font-size:.85rem;line-height:1.6}.simulator-cta-box{padding:30px 16px}.simulator-cta-heading{font-size:clamp(1.15rem,5.2vw,1.4rem);line-height:1.45;margin-bottom:12px}.calc-icon{font-size:1.6rem}.simulator-cta-text{font-size:.9rem;margin-bottom:24px;line-height:1.6}.simulator-cta-btn{width:100%;max-width:320px;padding:14px 16px;font-size:1rem}}.checkbox-style input:checked+.category-content{background:var(--color-main);color:#fff;border-color:var(--color-main)}
