:root{--ink:#0D1B2A;--ink-mid:#2C3E50;--ink-light:#5A6A7A;--paper:#F7F3EC;--paper-dark:#EDE8DF;--accent:#C0392B;--accent-light:#E74C3C;--gold:#B8941F;--gold-light:#D4A82A;--border:#D5CBBA;--white:#FFFFFF}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Noto Sans JP,sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:hidden}header{background:var(--ink);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:100;animation:slideDown .6s ease forwards}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header-inner{max-width:1200px;margin:0 auto;padding:0 24px;justify-content:space-between;height:64px}.header-inner,.logo{display:flex;align-items:center}.logo{gap:12px;text-decoration:none}.logo-mark{width:36px;height:36px;background:var(--accent);display:flex;align-items:center;justify-content:center;font-family:"DM Serif Display",serif;letter-spacing:-.5px}.logo-mark,.logo-text{font-size:18px;color:white}.logo-text{font-family:"Noto Serif JP",serif;font-weight:700;letter-spacing:.05em}.logo-sub{color:rgba(255,255,255,.45);font-size:10px;font-weight:300;letter-spacing:.1em;display:block;margin-top:1px}nav{display:flex;align-items:center;gap:28px}nav a{color:rgba(255,255,255,.65);text-decoration:none;font-size:13px;font-weight:400;letter-spacing:.03em;transition:color .2s;cursor:pointer}nav a:hover{color:white}.btn-notify{background:var(--accent);color:white!important;padding:8px 18px;font-size:12px!important;font-weight:500!important;letter-spacing:.05em;border:none;cursor:pointer;transition:background .2s!important}.btn-notify:hover{background:var(--accent-light)!important}.hero{background:var(--ink);padding:72px 24px 80px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 0,transparent 80px),repeating-linear-gradient(0deg,rgba(255,255,255,.02),rgba(255,255,255,.02) 1px,transparent 0,transparent 80px);pointer-events:none}.hero-inner{max-width:1200px;margin:0 auto;position:relative}.hero-eyebrow{font-size:11px;font-weight:500;color:var(--accent);letter-spacing:.2em;text-transform:uppercase;animation:fadeUp .8s ease .3s forwards}.hero h1,.hero-eyebrow{margin-bottom:16px;opacity:0}.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(32px,5vw,52px);font-weight:700;color:white;line-height:1.25;letter-spacing:.02em;animation:fadeUp .8s ease .4s forwards}.hero h1 span{color:var(--gold-light)}.hero-desc{font-size:15px;color:rgba(255,255,255,.5);font-weight:300;line-height:1.8;max-width:520px;margin-bottom:40px;opacity:0;animation:fadeUp .8s ease .5s forwards}@keyframes fadeUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.search-wrap{opacity:0;animation:fadeUp .8s ease .6s forwards}.search-box{display:flex;max-width:640px;background:white;border:2px solid white;transition:border-color .2s,box-shadow .2s}.search-box:focus-within{border-color:var(--gold-light);box-shadow:0 0 0 4px rgba(212,168,42,.15)}.search-box input{flex:1 1;padding:14px 20px;font-size:15px;font-family:Noto Sans JP,sans-serif;border:none;outline:none;color:var(--ink);background:transparent}.search-box input::placeholder{color:#aaa}.search-box button{background:var(--accent);color:white;border:none;padding:0 24px;font-size:14px;font-family:Noto Sans JP,sans-serif;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.search-box button:hover{background:var(--accent-light)}.search-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.search-tag{font-size:12px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.07);padding:4px 12px;border:1px solid rgba(255,255,255,.12);cursor:pointer;transition:all .2s}.search-tag:hover{color:white;background:rgba(255,255,255,.12)}.stats-bar{background:var(--ink-mid);border-top:1px solid rgba(255,255,255,.08)}.stats-inner{max-width:1200px;margin:0 auto;padding:0 24px;gap:40px;height:52px;overflow-x:auto}.stat,.stats-inner{display:flex;align-items:center}.stat{gap:8px;white-space:nowrap}.stat-num{font-size:18px;font-weight:700;color:var(--gold-light);font-family:"DM Serif Display",serif}.stat-label{font-size:11px;color:rgba(255,255,255,.45);letter-spacing:.05em}.stat-divider{width:1px;height:24px;background:rgba(255,255,255,.1)}.main{max-width:1200px;margin:0 auto;padding:48px 24px}.layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}.sidebar{position:sticky;top:80px}.filter-section{margin-bottom:32px}.filter-title{font-size:10px;font-weight:700;color:var(--ink-light);letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.filter-item{display:flex;align-items:center;justify-content:space-between;padding:7px 0;cursor:pointer;transition:all .15s}.filter-item:hover .filter-name{color:var(--accent)}.filter-name{font-size:13px;color:var(--ink-mid);transition:color .15s;font-weight:400}.filter-name.active{color:var(--accent);font-weight:500}.filter-count{font-size:11px;color:var(--ink-light);background:var(--paper-dark);padding:1px 7px;min-width:24px;text-align:center}.content-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid var(--ink)}.content-title{font-family:"Noto Serif JP",serif;font-size:20px;font-weight:700;color:var(--ink);letter-spacing:.02em}.sort-select{font-size:13px;color:var(--ink-mid);background:transparent;border:1px solid var(--border);padding:6px 12px;font-family:Noto Sans JP,sans-serif;cursor:pointer;outline:none}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card{background:white;border:1px solid var(--border);transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden;opacity:0;transform:translateY(16px);animation:cardIn .5s ease forwards}.card:first-child{animation-delay:.05s}.card:nth-child(2){animation-delay:.1s}.card:nth-child(3){animation-delay:.15s}.card:nth-child(4){animation-delay:.2s}.card:nth-child(5){animation-delay:.25s}.card:nth-child(6){animation-delay:.3s}.card:nth-child(7){animation-delay:.35s}.card:nth-child(8){animation-delay:.4s}.card:nth-child(9){animation-delay:.45s}@keyframes cardIn{to{opacity:1;transform:translateY(0)}}.card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(13,27,42,.12);border-color:var(--ink-light)}.card-accent-bar{height:4px;width:100%}.card-body{padding:20px}.card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-ministry{font-size:10px;font-weight:700;letter-spacing:.1em;color:white;padding:3px 9px;text-transform:uppercase}.card-date{font-size:11px;color:var(--ink-light)}.card-title{font-family:"Noto Serif JP",serif;font-size:16px;font-weight:600;color:var(--ink);line-height:1.55;margin-bottom:10px;letter-spacing:.01em}.card-desc{font-size:12px;color:var(--ink-light);line-height:1.7;margin-bottom:16px}.card-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--paper-dark)}.card-edition{font-size:12px;color:var(--ink-light);font-weight:500}.card-actions{display:flex;gap:8px}.card-btn{font-size:11px;color:var(--ink-mid);background:var(--paper-dark);border:none;padding:5px 12px;cursor:pointer;transition:all .15s;font-family:Noto Sans JP,sans-serif;font-weight:500}.card-btn:hover{background:var(--ink);color:white}.card-btn.primary{background:var(--accent);color:white}.card-btn.primary:hover{background:var(--accent-light)}.new-badge{position:absolute;top:18px;right:16px;background:var(--gold);color:white;font-size:9px;font-weight:700;letter-spacing:.1em;padding:3px 7px;text-transform:uppercase}.modal-overlay{position:fixed;inset:0;background:rgba(13,27,42,.75);z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:white;width:100%;max-width:520px;transform:translateY(20px);transition:transform .3s}.modal-overlay.open .modal{transform:translateY(0)}.modal-header{background:var(--ink);padding:24px 28px;display:flex;align-items:center;justify-content:space-between}.modal-title{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:700;color:white;letter-spacing:.02em}.modal-close{background:none;border:none;color:rgba(255,255,255,.5);font-size:24px;cursor:pointer;line-height:1;transition:color .2s}.modal-close:hover{color:white}.modal-body{padding:28px}.modal-desc{font-size:13px;color:var(--ink-light);line-height:1.7;margin-bottom:24px}.form-group{margin-bottom:16px}.form-label{display:block;font-size:11px;font-weight:700;color:var(--ink-mid);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}.form-input{width:100%;padding:10px 14px;font-size:14px;font-family:Noto Sans JP,sans-serif;border:1.5px solid var(--border);outline:none;background:var(--paper);color:var(--ink);transition:border-color .2s}.form-input:focus{border-color:var(--ink);background:white}.notify-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}.channel-opt{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1.5px solid var(--border);cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none}.channel-opt.selected{border-color:var(--accent);background:rgba(192,57,43,.04)}.channel-opt input{display:none}.channel-icon{font-size:20px}.channel-label{font-size:13px;font-weight:500;color:var(--ink-mid)}.ministry-chips{display:flex;flex-wrap:wrap;gap:7px}.ministry-chip{font-size:11px;padding:5px 11px;border:1.5px solid var(--border);cursor:pointer;transition:all .15s;color:var(--ink-mid);background:white}.ministry-chip.active{border-color:var(--ink);background:var(--ink);color:white}.modal-submit{width:100%;background:var(--accent);color:white;border:none;padding:14px;font-size:14px;font-family:Noto Sans JP,sans-serif;font-weight:700;letter-spacing:.05em;cursor:pointer;margin-top:24px;transition:background .2s}.modal-submit:hover{background:var(--accent-light)}.latest-bar{background:var(--ink-mid);padding:12px 24px;display:flex;align-items:center;gap:16px;overflow:hidden}.latest-label{font-size:10px;font-weight:700;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;background:var(--ink);padding:4px 10px}.latest-scroll{overflow:hidden;flex:1 1}.latest-track{display:flex;gap:48px;animation:ticker 25s linear infinite;white-space:nowrap}@keyframes ticker{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.latest-item{font-size:12px;color:rgba(255,255,255,.6)}.latest-item strong{color:white;font-weight:500}footer{background:var(--ink);color:rgba(255,255,255,.4);padding:40px 24px;margin-top:80px}.footer-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-note{font-size:12px;line-height:1.7}.footer-links{display:flex;gap:20px}.footer-links a{font-size:12px;color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s}.footer-links a:hover{color:rgba(255,255,255,.7)}@media (max-width:768px){.layout{grid-template-columns:1fr}.sidebar{position:static;display:none}.hero{padding:48px 20px 56px}.cards-grid{grid-template-columns:1fr}nav{display:none}}.toast{position:fixed;bottom:32px;right:32px;background:var(--ink);color:white;padding:14px 20px;font-size:13px;font-weight:500;transform:translateY(80px);opacity:0;transition:all .35s ease;z-index:2000;border-left:3px solid var(--gold-light);pointer-events:none}.toast.show{transform:translateY(0);opacity:1}.static-page{min-height:100vh;display:flex;flex-direction:column}.static-header{background:var(--ink);border-bottom:3px solid var(--accent)}.static-main{max-width:800px;margin:0 auto;padding:48px 24px 80px;flex:1 1}.static-title{font-family:"Noto Serif JP",serif;font-size:28px;font-weight:700;color:var(--ink);letter-spacing:.02em;padding-bottom:16px;border-bottom:2px solid var(--ink)}.static-section,.static-title{margin-bottom:40px}.static-subtitle{font-family:"Noto Serif JP",serif;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:16px;padding-left:12px;border-left:3px solid var(--accent)}.static-list,.static-text{font-size:14px;color:var(--ink-mid);line-height:1.9}.static-list{padding-left:1.5em;margin:.5em 0 0}.static-list li{margin-bottom:.3em}.info-table{width:100%;border-collapse:collapse}.info-table td,.info-table th{font-size:14px;padding:14px 16px;border-bottom:1px solid var(--border);text-align:left}.info-table th{width:140px;font-weight:700;color:var(--ink);background:var(--paper-dark);white-space:nowrap}.info-table td{color:var(--ink-mid)}.info-table td a{color:var(--accent);text-decoration:none}.info-table td a:hover{text-decoration:underline}.contact-form-wrap{display:flex;justify-content:center}.static-back{margin-top:48px;padding-top:24px;border-top:1px solid var(--border)}.static-back a{font-size:14px;color:var(--accent);text-decoration:none;font-weight:500}.static-back a:hover{text-decoration:underline}.static-footer{background:var(--ink);color:rgba(255,255,255,.4);padding:40px 24px;margin-top:auto}.breadcrumb{font-size:13px;color:var(--ink-light);margin-bottom:24px;display:flex;align-items:center;gap:0;flex-wrap:wrap}.breadcrumb a{color:var(--accent);text-decoration:none;transition:color .15s}.breadcrumb a:hover{text-decoration:underline}.breadcrumb-sep{margin:0 8px;color:var(--border)}.glossary-term{background:white;border:1px solid var(--border);padding:20px 24px;transition:border-color .2s}.glossary-term:hover{border-color:var(--ink-light)}.badge{font-size:10px;font-weight:700;padding:3px 10px;letter-spacing:.05em;white-space:nowrap}.analysis-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(13,27,42,.12);border-color:var(--ink-light)}