#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}.floating-cta{position:fixed;bottom:30px;right:30px;z-index:1000;display:flex;flex-direction:column;gap:15px;transition:transform .3s cubic-bezier(.16,1,.3,1)}#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}@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}.article-content h2{font-size:1.8rem;color:var(--color-main);border-bottom:2px solid var(--color-accent);padding-bottom:10px;margin:40px 0 25px}.article-content h3{font-size:1.4rem;color:#333;border-left:5px solid var(--color-main);padding-left:15px;margin:30px 0 20px}.article-content ul,.article-content ol{margin-left:20px;margin-bottom:20px;line-height:1.8}.article-content ul{list-style:disc}.article-content ol{list-style:decimal}.article-content p{margin-bottom:20px;font-size:1.05rem;line-height:1.9}.info-table{width:100%;border-collapse:collapse;margin:25px 0}.info-table th,.info-table td{padding:12px 15px;border:1px solid #ddd;text-align:left}.info-table th{background:var(--color-main);color:#fff;font-weight:700;text-align:center}.info-table tr:nth-child(2n){background:#f8f9fa}.point-box{background:#e8f5e9;border:2px solid #4caf50;padding:20px;border-radius:10px;margin:25px 0}.point-box .point-title{font-weight:700;color:#2e7d32;margin-bottom:10px;display:block}.warning-box{background:#fce4ec;border:2px solid #e53935;padding:20px;border-radius:10px;margin:25px 0}.warning-box .warning-title{font-weight:700;color:#c62828;margin-bottom:10px;display:block}.deadline-box{background:#e3f2fd;border:2px solid #1e88e5;padding:30px;border-radius:12px;margin:30px 0;text-align:center}.deadline-box .deadline-label{font-size:1rem;color:#1565c0;margin-bottom:5px}.deadline-box .deadline-value{font-size:2.5rem;font-weight:700;color:#c62828}.deadline-box .deadline-note{font-size:.9rem;color:#555;margin-top:8px}.decision-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.decision-card{border:2px solid #e0e0e0;border-radius:12px;padding:20px;text-align:center;transition:transform .3s}.decision-card:hover{transform:translateY(-2px)}.decision-card .decision-icon{font-size:2.5rem;margin-bottom:10px}.decision-card .decision-title{font-weight:700;color:var(--color-main);margin-bottom:8px;font-size:1.1rem}.knowledge-menu li{margin-bottom:1px}.knowledge-menu a{display:block;padding:12px 15px;background:#fff;color:#333;text-decoration:none;border-bottom:1px solid #eee;transition:all .3s;font-size:.95rem}.knowledge-menu a:hover{background:#f0f4f8;color:var(--color-main);padding-left:20px}.knowledge-menu a.active{background:var(--color-main);color:#fff;padding-left:20px}@media(max-width:768px){.decision-flow{grid-template-columns:1fr}}
