#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}@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}.breadcrumbs{padding:20px 0;font-size:.9rem;color:#777}.breadcrumbs a{color:var(--color-main);text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.knowledge-hero{background:linear-gradient(135deg,#f4f8fb,#eef2f5);padding:80px 0 60px;text-align:center;margin-bottom:60px}.knowledge-hero h1{font-size:2.5rem;color:var(--color-main);margin-bottom:20px}.category-grid{display:grid;grid-template-columns:repeat(3,1fr)!important;gap:30px;margin-bottom:80px}.category-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 5px 15px #0000000d;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column;height:100%;border:1px solid #eee}.category-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0000001a}.category-icon{font-size:3rem;margin-bottom:20px;text-align:center}.category-title{font-size:1.4rem;font-weight:700;color:var(--color-main);margin-bottom:15px;text-align:center}.category-desc{font-size:.95rem;color:#666;margin-bottom:20px;flex-grow:1;line-height:1.6}.category-link{text-align:center;margin-top:auto}.category-link a{display:inline-block;padding:10px 25px;background:var(--color-bg-secondary);color:var(--color-main);border-radius:50px;font-weight:700;transition:all .3s}.category-link a:hover{background:var(--color-main);color:#fff}@media(max-width:900px){.category-grid{grid-template-columns:repeat(2,1fr)!important}}@media(max-width:600px){.category-grid{grid-template-columns:1fr!important}.knowledge-hero h1{font-size:2rem}}
