:root{--navy-950: #050d1f;--navy-900: #0a1730;--navy-800: #10203f;--navy-700: #17304f;--navy-600: #22426b;--yellow: #ffc93c;--yellow-strong: #ffb400;--yellow-soft: #fff2cc;--bg: #f4f6fb;--bg-card: #ffffff;--text-main: #131c30;--text-muted: #576078;--text-inverse: #f4f6fb;--border-soft: #e1e6f0;--danger: #c0392b;--safe: #1f7a4d;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 2px 10px rgba(10, 23, 48, .08);--shadow-card-hover: 0 8px 24px rgba(10, 23, 48, .14);--font-base: "Hiragino Sans", "Yu Gothic", "Noto Sans JP", "Meiryo", system-ui, -apple-system, sans-serif;--font-num: "Helvetica Neue", Arial, "Hiragino Sans", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-base);background:var(--bg);color:var(--text-main);line-height:1.8;font-size:16px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--navy-700);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}.ad-notice{background:var(--navy-950);color:#b7c2da;font-size:12.5px;text-align:center;padding:6px 10px;letter-spacing:.02em;border-bottom:1px solid #1b2d4d}.site-header{background:linear-gradient(180deg,var(--navy-900) 0%,var(--navy-950) 100%);color:var(--text-inverse);border-bottom:3px solid var(--yellow);position:relative}.site-header:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:repeating-linear-gradient(90deg,var(--yellow) 0 26px,transparent 26px 40px);opacity:.9}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;flex-wrap:wrap;gap:12px}.brand{display:flex;flex-direction:column;gap:2px}.brand .logo{font-size:24px;font-weight:800;color:#fff;letter-spacing:.02em;display:flex;align-items:baseline;gap:6px}.brand .logo span.accent{color:var(--yellow)}.brand .tagline{font-size:12px;color:#9fb0cf;letter-spacing:.04em}.main-nav{display:flex;flex-wrap:wrap;gap:4px}.main-nav a{color:#dce4f5;font-size:14px;font-weight:600;padding:8px 12px;border-radius:6px;transition:background .15s ease,color .15s ease}.main-nav a:hover{background:#ffc93c24;color:var(--yellow);text-decoration:none}.main-nav a.cta{background:var(--yellow);color:var(--navy-950);padding:8px 16px;font-weight:800}.main-nav a.cta:hover{background:var(--yellow-strong);color:var(--navy-950)}.hero{background:var(--navy-950);color:#fff;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,201,60,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,201,60,.06) 1px,transparent 1px);background-size:42px 42px;pointer-events:none}.hero-inner{position:relative;padding:56px 20px 44px;max-width:1080px;margin:0 auto}.hero h1{font-size:clamp(26px,4vw,38px);font-weight:800;line-height:1.5;margin:0 0 14px;max-width:720px}.hero h1 .hl{color:var(--yellow)}.hero p.lead{color:#c3cde3;max-width:640px;font-size:15.5px;margin:0 0 24px}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;max-width:760px}.hero-stat{background:#ffffff0d;border:1px solid rgba(255,201,60,.25);border-radius:var(--radius-md);padding:14px 16px}.hero-stat .num{font-family:var(--font-num);font-size:26px;font-weight:800;color:var(--yellow);font-variant-numeric:tabular-nums}.hero-stat .label{font-size:12.5px;color:#a9b6d2;margin-top:2px}.section{padding:48px 20px}.section-title{font-size:22px;font-weight:800;border-left:6px solid var(--yellow);padding-left:12px;margin:0 0 22px;color:var(--navy-950)}.section-sub{color:var(--text-muted);font-size:14.5px;margin:-12px 0 24px 18px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-soft);border-top:4px solid var(--navy-800);box-shadow:var(--shadow-card);padding:22px;transition:box-shadow .15s ease,transform .15s ease}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.card.accent{border-top-color:var(--yellow)}.card h3{margin:0 0 8px;font-size:16.5px;color:var(--navy-950)}.card p{margin:0;font-size:14px;color:var(--text-muted)}.card .big-num{font-family:var(--font-num);font-size:30px;font-weight:800;color:var(--navy-900);font-variant-numeric:tabular-nums;margin:6px 0}.card .big-num .unit{font-size:14px;font-weight:600;color:var(--text-muted);margin-left:4px}.card .tag{display:inline-block;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--yellow-soft);color:#7a5900;margin-bottom:10px}.card .tag.warn{background:#fde3e0;color:var(--danger)}.card .tag.ok{background:#dff3e6;color:var(--safe)}.article-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.article-card{display:block;background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-soft);overflow:hidden;box-shadow:var(--shadow-card);transition:box-shadow .15s ease,transform .15s ease;color:var(--text-main)}.article-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px);text-decoration:none}.article-card .thumb{background:linear-gradient(135deg,var(--navy-900),var(--navy-700));color:var(--yellow);font-size:13px;font-weight:700;padding:26px 18px;letter-spacing:.02em}.article-card .body{padding:18px}.article-card h3{margin:0 0 8px;font-size:16px;line-height:1.5;color:var(--navy-950)}.article-card p{margin:0;font-size:13.5px;color:var(--text-muted)}.article-header{background:var(--navy-950);color:#fff;padding:40px 20px 28px}.article-header .cat{color:var(--yellow);font-size:12.5px;font-weight:700;letter-spacing:.05em}.article-header h1{font-size:clamp(22px,3.4vw,30px);line-height:1.5;margin:10px 0 6px}.article-header .meta{color:#a9b6d2;font-size:13px}.article-body{max-width:760px;margin:0 auto;padding:36px 20px 60px}.article-body h2{font-size:20px;margin:40px 0 16px;padding-bottom:8px;border-bottom:3px solid var(--yellow);color:var(--navy-950)}.article-body h3{font-size:16.5px;margin:28px 0 10px;color:var(--navy-900)}.article-body p{margin:0 0 16px;color:var(--text-main)}.article-body ul,.article-body ol{margin:0 0 16px;padding-left:22px}.article-body li{margin-bottom:6px}.callout{background:#eef2fb;border-left:4px solid var(--navy-700);border-radius:0 8px 8px 0;padding:14px 18px;margin:20px 0;font-size:14.5px}.callout.warn{background:#fdf0ef;border-left-color:var(--danger)}.callout.note{background:var(--yellow-soft);border-left-color:var(--yellow-strong)}table.data-table{width:100%;border-collapse:collapse;margin:18px 0 24px;font-size:14px}table.data-table th,table.data-table td{border:1px solid var(--border-soft);padding:10px 12px;text-align:left}table.data-table thead th{background:var(--navy-950);color:#fff;font-weight:700}table.data-table tbody tr:nth-child(2n){background:#f7f9fd}table.data-table td.num,table.data-table th.num{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--font-num)}.source-list{margin-top:40px;padding-top:20px;border-top:1px solid var(--border-soft);font-size:12.5px;color:var(--text-muted)}.source-list h2{font-size:14px;border:none;margin:0 0 10px;padding:0;color:var(--text-main)}.source-list ul{padding-left:18px}.source-list li{margin-bottom:4px;word-break:break-all}.tool-panel{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);padding:26px;max-width:760px;margin:0 auto}.tool-panel .field{margin-bottom:18px}.tool-panel label{display:block;font-weight:700;font-size:14px;margin-bottom:6px;color:var(--navy-950)}.tool-panel .hint{font-size:12.5px;color:var(--text-muted);margin-top:4px}.tool-panel input[type=number]{width:100%;padding:10px 12px;border:1.5px solid var(--border-soft);border-radius:8px;font-size:15px;font-family:var(--font-num)}.tool-panel input[type=number]:focus{outline:none;border-color:var(--yellow-strong);box-shadow:0 0 0 3px #ffc93c40}.tool-panel input[type=range]{width:100%;accent-color:var(--navy-700)}.tool-btn{background:var(--yellow);color:var(--navy-950);border:none;font-weight:800;font-size:15px;padding:12px 22px;border-radius:8px;cursor:pointer;transition:background .15s ease}.tool-btn:hover{background:var(--yellow-strong)}.result-box{margin-top:24px;background:var(--navy-950);color:#fff;border-radius:var(--radius-lg);padding:22px;display:none}.result-box.show{display:block}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:14px 0}.result-grid .item{background:#ffffff0f;border:1px solid rgba(255,201,60,.25);border-radius:10px;padding:12px 14px}.result-grid .item .num{font-family:var(--font-num);font-size:24px;font-weight:800;color:var(--yellow);font-variant-numeric:tabular-nums}.result-grid .item .label{font-size:12px;color:#a9b6d2;margin-top:2px}.disclaimer-box{margin-top:18px;font-size:12.5px;color:#cbd4ea;border-top:1px dashed rgba(255,255,255,.2);padding-top:12px}.site-footer{background:var(--navy-950);color:#a9b6d2;padding:36px 20px 24px;font-size:13px;margin-top:40px;border-top:3px solid var(--yellow)}.footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.footer-nav{display:flex;flex-wrap:wrap;gap:14px}.footer-nav a{color:#c3cde3}.footer-nav a:hover{color:var(--yellow)}.footer-note{max-width:480px;color:#7f8db0;font-size:12px}.copyright{max-width:1080px;margin:20px auto 0;font-size:11.5px;color:#5f6c8c}.btn-primary{display:inline-block;background:var(--yellow);color:var(--navy-950);font-weight:800;padding:12px 24px;border-radius:8px}.btn-primary:hover{background:var(--yellow-strong);text-decoration:none}.btn-outline{display:inline-block;border:2px solid var(--yellow);color:#fff;font-weight:700;padding:10px 22px;border-radius:8px}.btn-outline:hover{background:#ffc93c1a;text-decoration:none}.page-header{background:var(--navy-950);color:#fff;padding:40px 20px}.page-header h1{margin:0 0 8px;font-size:clamp(22px,3.2vw,28px)}.page-header p{color:#a9b6d2;margin:0;font-size:14px}.plain-section{max-width:760px;margin:0 auto;padding:36px 20px 60px}.plain-section h2{font-size:19px;margin:32px 0 12px;color:var(--navy-950);border-left:5px solid var(--yellow);padding-left:10px}.plain-section p{margin:0 0 14px;color:var(--text-main)}.plain-section ul{padding-left:20px;margin:0 0 14px}@media (max-width: 640px){.header-inner{flex-direction:column;align-items:flex-start}.main-nav{width:100%}}
