:root{
  --g:#019e3b;--g2:#3ecf6e;--g3:#0b4d28;--ink:#0f1a13;--muted:#5a6b60;
  --paper:#f4faf6;--panel:#fff;--line:rgba(1,158,59,.16);--line-n:rgba(15,26,19,.1);
  --fd:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --fb:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  --stage:1120px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--fb);line-height:1.85}
img,svg{max-width:100%;display:block}
a{color:var(--g3)}
a:hover{color:var(--g)}
a:focus-visible{outline:3px solid var(--g3);outline-offset:3px}
.kja-policy-skip{position:absolute;left:-999px;top:0;background:#fff;padding:.6rem 1rem;z-index:20}
.kja-policy-skip:focus{left:1rem;top:1rem}
.kja-policy-preview-note,.kja-policy-election{margin:0;padding:.55rem 1rem;text-align:center;font-size:.78rem;letter-spacing:.04em;font-weight:700}
.kja-policy-preview-note{background:var(--g3);color:#fff}
.kja-policy-election{background:#122018;color:#fff}

.kja-policy-topbar{background:#fff;border-bottom:1px solid var(--line-n)}
.kja-policy-topbar__in,.kja-policy-foot__in{width:min(var(--stage),calc(100% - 2rem));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}
.kja-policy-topbar__logo{font-family:var(--fd);font-weight:700;letter-spacing:.08em;text-decoration:none;color:var(--ink)}
.kja-policy-topbar nav{display:flex;flex-wrap:wrap;gap:.2rem .9rem;font-size:.82rem}
.kja-policy-topbar nav a{color:var(--muted);text-decoration:none}
.kja-policy-topbar nav a.is-now{color:var(--g);font-weight:700}

.kja-policy-subnav{width:min(var(--stage),calc(100% - 2rem));margin:0 auto;display:flex;flex-wrap:wrap;gap:.35rem .85rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.78rem;font-weight:700;letter-spacing:.12em}
.kja-policy-subnav a{color:var(--muted);text-decoration:none}
.kja-policy-subnav a.is-now{color:var(--g)}

.kja-policy{width:min(var(--stage),calc(100% - 2rem));margin:0 auto;padding:1.2rem 0 4rem}
.kja-policy-crumb{display:flex;flex-wrap:wrap;gap:.35rem .5rem;font-size:.78rem;color:var(--muted);margin:0 0 1.4rem}
.kja-policy-crumb a{color:var(--muted);text-decoration:none}
.kja-policy-kicker{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .85rem;font-size:.72rem;font-weight:700;letter-spacing:.28em;color:var(--g)}
.kja-policy-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--g2)}
.kja-policy h1,.kja-policy h2,.kja-policy-home h2{
  font-family:var(--fd);font-weight:700;letter-spacing:.04em;color:var(--ink);line-height:1.35;
  background:none;border:none;padding:0
}
.kja-policy h1::before,.kja-policy h1::after,.kja-policy h2::before,.kja-policy h2::after{content:none!important}
.kja-policy h1{font-size:clamp(2rem,6vw,3.4rem);margin:0 0 .8rem}
.kja-policy h2{font-size:clamp(1.35rem,3vw,2rem);margin:0 0 .7rem}
.kja-policy section{margin:2.6rem 0}
.kja-policy-hero__copy{font-family:var(--fd);font-size:clamp(1.35rem,3vw,2rem);line-height:1.5;margin:0 0 1.2rem}
.kja-policy-prose p{max-width:42em}
.kja-policy-type{display:inline-block;margin:0 0 1rem;padding:.25rem .7rem;border:1px solid var(--line);font-size:.78rem;letter-spacing:.06em;background:#fff}
.kja-policy-note,.kja-policy-muted{color:var(--muted);max-width:42em}
.kja-policy-status{display:inline-block;padding:.15rem .55rem;border:1px solid var(--g);color:var(--ink);background:#fff;font-size:.72rem;font-weight:700;letter-spacing:.04em}
.kja-policy-status__id{display:block;font-size:.62rem;letter-spacing:.08em;color:var(--g3)}
.kja-policy-status__label{display:block}
.kja-policy-status--lg{margin:0 0 1rem}
.kja-policy-pill{display:inline-block;margin-left:.5rem;padding:.1rem .45rem;background:var(--g);color:#fff;font-size:.68rem;letter-spacing:.12em}
.kja-policy-pill--mute{background:transparent;color:var(--muted);border:1px solid var(--line); }

.kja-policy-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.1rem;background:var(--g);color:#fff!important;text-decoration:none;font-weight:700;letter-spacing:.04em;border:1px solid var(--g)}
.kja-policy-cta:hover{background:var(--g3);border-color:var(--g3)}
.kja-policy-cta--ghost{background:transparent;color:var(--ink)!important;border-color:rgba(1,158,59,.35)}
.kja-policy-cta-row{display:flex;flex-wrap:wrap;gap:.65rem}

.kja-policy-hero--entry{margin:0 0 1.4rem}
.kja-policy-hero--entry h1{margin:0 0 .4rem;font-size:clamp(1.85rem,5.2vw,2.85rem)}
.kja-policy-hero--entry .kja-policy-hero__copy{margin:0 0 .7rem;font-size:clamp(1.2rem,2.6vw,1.7rem)}
.kja-policy-hero--entry .kja-policy-prose p{margin:.35rem 0}
.kja-policy-hero--entry .kja-policy-start{margin:1rem 0 0}
.kja-policy-start{margin:0 0 1.6rem;padding:1.2rem 1.25rem;background:#fff;border:1px solid var(--line)}
.kja-policy-start h2{font-size:clamp(1.15rem,2.6vw,1.45rem);margin:0 0 .85rem}
.kja-policy-gates{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.kja-policy-gates > li,
.kja-policy-gates__item{background:#fff;border:1px solid var(--line);padding:1.4rem 1.3rem}
.kja-policy-gates h2{font-size:clamp(1.2rem,2.4vw,1.55rem)}
.kja-policy-gates__item--primary{padding:clamp(1.6rem,4vw,2.2rem) clamp(1.3rem,3vw,2rem);border-color:rgba(1,158,59,.32);background:var(--paper)}
.kja-policy-gates__item--primary h2{font-size:clamp(1.45rem,3.4vw,2.05rem)}
.kja-policy-gates__item--first-issue{padding:1.25rem 1.2rem}
.kja-policy-gates__item--first-issue h2{font-size:clamp(1.2rem,2.6vw,1.55rem)}
.kja-policy-gates__item--quiet,
.kja-policy-gates__item--why{padding:1.15rem 1.2rem}
.kja-policy-gates__item--quiet h2,
.kja-policy-gates__item--why h2{font-size:clamp(1.05rem,2.2vw,1.28rem)}
.kja-policy-gates__item--quiet p,
.kja-policy-gates__item--why p{color:var(--muted);font-size:.95rem}
.kja-policy-decision{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.kja-policy-decision a{display:block;background:#fff;border:1px solid var(--line);padding:1rem;text-decoration:none;color:var(--ink);min-height:48px}
.kja-policy-decision strong{display:block;font-size:.78rem;letter-spacing:.14em;color:var(--g);margin:0 0 .35rem}
.kja-policy-decision span{display:block;color:var(--muted);font-size:.9rem;line-height:1.6}
.kja-policy-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}
.kja-policy-cards--bridge{grid-template-columns:repeat(2,minmax(0,1fr))}
.kja-policy-cards a{display:block;background:#fff;border:1px solid var(--line);padding:1rem;text-decoration:none;color:var(--ink);min-height:48px}
.kja-policy-cards span{display:block;color:var(--muted);font-size:.86rem}

.kja-policy-chains{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.kja-policy-chains ol,.kja-policy-chain{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--line)}
.kja-policy-chains li,.kja-policy-chain li{padding:.75rem 1rem;border-bottom:1px solid var(--line)}
.kja-policy-chains li:last-child,.kja-policy-chain li:last-child{border-bottom:0}
.kja-policy-chain{max-width:42em}
.kja-policy-principles{list-style:none;margin:0;padding:0;max-width:46em}
.kja-policy-principles li{background:#fff;border:1px solid var(--line);padding:1rem 1.1rem;margin:0 0 .7rem}
.kja-policy-principles strong{display:block;font-family:var(--fd);margin-bottom:.25rem}

.kja-policy-issue-index,.kja-policy-watch-index,.kja-policy-party-index,.kja-policy-list,.kja-policy-gov-list,.kja-policy-hub-index,.kja-policy-archive{list-style:none;margin:0;padding:0}
.kja-policy-issue-index a,.kja-policy-watch-index a,.kja-policy-party-index a{display:grid;grid-template-columns:3.2rem 1fr;gap:.8rem;padding:1.1rem 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;min-height:48px}
.kja-policy-issue-index .n{font-family:var(--fd);font-weight:700;color:var(--g)}
.kja-policy-issue-index em,.kja-policy-watch-index em,.kja-policy-party-index em{display:block;color:var(--muted);font-style:normal}
.kja-policy-party-index a{grid-template-columns:1fr}
.kja-policy-party-index span{color:var(--muted);font-size:.86rem;margin-right:.6rem}

.kja-policy-sources{list-style:none;margin:0;padding:0;max-width:52em}
.kja-policy-sources li{background:#fff;border:1px solid var(--line);padding:1rem;margin:0 0 .7rem}
.kja-policy-sources span,.kja-policy-sources em{display:block;color:var(--muted);font-size:.82rem;font-style:normal}

.kja-policy-speech,.kja-policy-gov-list li,.kja-policy-kja-view{background:#fff;border:1px solid var(--line);padding:1.3rem 1.2rem;margin:0 0 1.1rem}
.kja-policy-kja-view{border-left:4px solid var(--g)}
.kja-policy-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.2rem;margin:0 0 1rem}
.kja-policy-meta dt{font-size:.72rem;letter-spacing:.12em;color:var(--muted)}
.kja-policy-meta dd{margin:0}
blockquote{margin:0;padding:1rem 1.1rem;background:var(--paper);border-left:3px solid var(--g)}
.kja-policy-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}
.kja-policy-table{width:100%;min-width:640px;border-collapse:collapse;font-size:.92rem}
.kja-policy-table th,.kja-policy-table td{padding:.75rem .8rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.kja-policy-table th{background:#f3fbf6;font-size:.78rem;letter-spacing:.06em}
.kja-policy-filter{margin:0 0 1.2rem}
.kja-policy-filter select{min-height:44px;padding:.4rem .6rem}
.kja-policy-gate{background:#122018;color:#d7f7e3;padding:1rem;overflow:auto;font-size:.82rem}
.kja-policy-related ul{list-style:none;margin:0;padding:0}
.kja-policy-related li{margin:.35rem 0}
.kja-policy-hub-index li,.kja-policy-archive li,.kja-policy-list li{padding:.55rem 0;border-bottom:1px solid var(--line)}
.kja-policy-hub-index span{display:inline-block;width:2.4rem;color:var(--g);font-weight:700}

.kja-policy-home{margin:2.5rem 0;padding:clamp(1.4rem,4vw,2.5rem);background:var(--paper);border:1px solid var(--line)}
.kja-policy-home h2{font-size:clamp(1.35rem,4vw,1.85rem);margin:0 0 .7rem}
.kja-policy-foot{border-top:1px solid var(--line-n);margin-top:4rem;padding:1.5rem 0;color:var(--muted);font-size:.82rem}
.kja-policy-foot__in{display:block}

@media (max-width:900px){
  .kja-policy-cards,.kja-policy-cards--bridge,.kja-policy-chains,.kja-policy-meta,.kja-policy-decision{grid-template-columns:1fr}
  .kja-policy-issue-index a,.kja-policy-watch-index a{grid-template-columns:1fr}
}
@media (max-width:767px){
  .kja-policy-hero--entry .kja-policy-hero__more{display:none}
  .kja-policy-hero--entry .kja-policy-prose p{margin:.35rem 0}
}
@media (max-width:640px){
  .kja-policy-cta,.kja-policy-cta-row a{width:100%}
  .kja-policy-topbar__in{flex-direction:column;align-items:flex-start;padding:.8rem 0}
  .kja-policy-party-index a{grid-template-columns:1fr}
  blockquote{overflow-wrap:anywhere}
}
