:root{--green:#00834a;--dark:#00663a;--navy:#173746;--ink:#13232b;--muted:#5d6b72;--line:#dce4e1;--wash:#f5f8f7;--soft:#e9f5ef;--orange:#f39800}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}.wrap{width:min(1080px,calc(100% - 40px));margin:auto}.top{height:5px;background:linear-gradient(90deg,var(--green) 0 76%,var(--orange) 76%)}header{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:11px;font-weight:900}.mark{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:var(--green);color:white}.brand small{display:block;font-size:11px;color:var(--muted);line-height:1.2}.links{display:flex;gap:24px;align-items:center;font-size:14px;font-weight:800}.consult{padding:11px 17px;background:var(--green);color:white;border-radius:6px}.page-head{padding:78px 0 65px;background:linear-gradient(120deg,#f3faf7,#e2efe9)}.kicker{font-size:13px;font-weight:900;letter-spacing:.16em;color:var(--green)}h1{font-size:clamp(38px,6vw,66px);line-height:1.22;margin:8px 0 16px}h2{font-size:clamp(27px,4vw,42px);line-height:1.4;margin:0 0 24px}h3{font-size:22px;line-height:1.5}.lead{max-width:720px;font-size:18px;color:#46565d}.crumb{font-size:13px;color:var(--muted);margin-bottom:22px}.crumb a{color:var(--green);font-weight:800}section{padding:76px 0}.wash{background:var(--wash)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:28px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{border:1px solid var(--line);border-radius:9px;padding:28px;background:white}.card p{color:var(--muted)}.tag{display:inline-block;background:var(--soft);color:var(--dark);font-size:13px;font-weight:800;border-radius:20px;padding:4px 11px}.timeline{border-left:3px solid var(--green);margin-left:9px}.event{position:relative;padding:0 0 34px 32px}.event:before{content:"";position:absolute;left:-9px;top:8px;width:15px;height:15px;background:var(--green);border-radius:50%;border:4px solid white}.event b{color:var(--green)}.policy{display:grid;grid-template-columns:80px 1fr;gap:22px;padding:34px 0;border-bottom:1px solid var(--line)}.policy-num{font-size:36px;font-weight:900;color:var(--green)}.policy h2{font-size:29px;margin-bottom:12px}.policy p{color:var(--muted)}.record{padding:25px;border:1px solid var(--line);border-radius:8px;background:white}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:20px}.step{font-size:13px;background:var(--wash);padding:12px;border-top:3px solid var(--line)}.step.on{border-color:var(--green);background:var(--soft)}.step b{display:block;color:var(--green)}.article{padding:28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:135px 1fr 24px;gap:25px}.article time{color:var(--muted);font-size:14px}.article h3{margin:0 0 7px}.article p{margin:0;color:var(--muted)}.arrow{color:var(--green);font-weight:900}.form{display:grid;gap:18px;max-width:760px}.field label{display:block;font-weight:800;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:14px;border:1px solid #bfcac6;border-radius:6px;font:inherit;background:white}.field textarea{min-height:170px;resize:vertical}.note{background:#fff8e9;border-left:4px solid var(--orange);padding:18px;font-size:14px}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--green);color:white;border:0;border-radius:6px;padding:15px 25px;font-weight:900;font-size:16px}.placeholder{aspect-ratio:4/3;background:linear-gradient(145deg,#b8c8c3,#849b94);border-radius:10px;display:grid;place-items:center;color:white;font-weight:800}.cta{background:var(--green);color:white}.cta p{color:#d6ede2}.cta .btn{background:white;color:var(--green)}footer{padding:45px 0;background:#0d252f;color:#d4dfe2}.footer{display:flex;justify-content:space-between;gap:25px}.muted{color:#9fb0b6;font-size:13px}.mobile{display:none}
@media(max-width:850px){.links{display:none}.mobile{display:block}.grid2,.grid3{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.page-head{padding:55px 0}.footer{display:block}.muted{margin-top:15px}}@media(max-width:560px){.wrap{width:calc(100% - 28px)}.nav{height:66px}.brand{font-size:15px}.brand small{font-size:10px}section{padding:58px 0}.policy{grid-template-columns:52px 1fr}.policy-num{font-size:26px}.policy h2{font-size:23px}.article{grid-template-columns:1fr 20px;gap:8px}.article time{grid-column:1/-1}.steps{grid-template-columns:1fr}.card{padding:22px}}
.progress-grid{display:grid;gap:22px}.progress-card{position:relative;border:1px solid var(--line);border-radius:10px;padding:28px;background:white}.progress-number{position:absolute;top:23px;right:26px;color:var(--green);font-size:24px;font-weight:900;line-height:1}.progress-card h2{font-size:27px;margin:12px 46px 12px 0}.progress-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.status{font-size:12px;font-weight:900;padding:5px 10px;border-radius:20px;background:var(--soft);color:var(--dark)}.status.current{background:var(--green);color:white}.progress-more{display:inline-flex;align-items:center;gap:8px;margin-top:22px;color:var(--green);font-weight:900}.progress-more:hover{text-decoration:underline}.activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.activity-card{border:1px solid var(--line);border-radius:10px;padding:26px;background:white}.activity-card time{font-size:13px;color:var(--muted)}.activity-card h2{font-size:23px;margin:10px 0}.activity-card p{color:var(--muted)}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 10px}.filter-status{margin:0 0 28px;color:var(--muted);font-size:14px}.filter{border:1px solid var(--line);border-radius:22px;padding:7px 14px;font-size:13px;font-weight:800}.filter.on{background:var(--green);border-color:var(--green);color:white}@media(max-width:850px){.activity-grid{grid-template-columns:1fr}}
/* Current location and keyboard navigation */
.links a[aria-current="page"]{color:var(--green);box-shadow:inset 0 -3px 0 var(--green)}
.links .consult[aria-current="page"]{color:#fff;box-shadow:inset 0 -3px 0 #fff}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f2c94c;outline-offset:3px}
.skip-link{position:fixed;left:16px;top:10px;z-index:1000;padding:10px 16px;border-radius:6px;background:#fff;color:var(--green);font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.2);transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.filter{background:#fff;color:var(--ink);cursor:pointer}
[hidden]{display:none!important}
.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}
.role-grid .card{height:100%}
.role-history{margin-top:24px}
.reform-list{display:grid;gap:12px;margin:24px 0;padding:0;list-style:none}.reform-list li{padding:14px 16px;border-left:4px solid #7ee0ad;background:rgba(255,255,255,.08)}.reform-list strong,.reform-list span{display:block}.reform-list strong{color:#fff}.reform-list span{margin-top:3px;color:#d1dde0;font-size:14px}.reform-sources{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 0}.reform-sources a{padding:8px 12px;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;font-size:13px;font-weight:800}.reform-sources a:hover{background:rgba(255,255,255,.1)}
.official-resources{border-top:1px solid var(--line)}.official-grid{grid-template-columns:repeat(2,1fr)}.resource-card{display:block;position:relative;border:1px solid var(--line);border-radius:9px;padding:26px 52px 26px 26px;background:white;transition:.2s}.resource-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,54,48,.1);border-color:#a9c9b9}.resource-card h3{margin:0 0 8px;font-size:21px}.resource-card p{margin:0;color:var(--muted);font-size:14px}.resource-card .external-arrow{position:absolute;right:24px;top:24px;color:var(--green);font-weight:900;font-size:20px}@media(max-width:850px){.official-grid{grid-template-columns:1fr}}
.record-more{display:inline-flex;align-items:center;gap:8px;margin-top:20px;color:var(--green);font-weight:900}.record-more:hover{text-decoration:underline;text-underline-offset:4px}
.activity-photo-section{background:#fff}.activity-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.activity-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px;box-shadow:0 10px 24px rgba(20,54,48,.11)}
@media(max-width:850px){.activity-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.activity-photo-grid{grid-template-columns:1fr;gap:14px}}
@media(max-width:700px){.role-grid{grid-template-columns:1fr}}
.profile-jump{border-bottom:1px solid var(--line);background:#fff}
.profile-jump .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:18px;padding-bottom:18px}
.profile-jump a{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:7px;background:var(--wash);font-size:14px;font-weight:800}
.profile-jump a:hover{border-color:var(--green);background:var(--soft)}
.profile-jump span{color:var(--green);font-size:12px;font-weight:900}
#message,#roles,#history{scroll-margin-top:86px}
@media(max-width:600px){.profile-jump .wrap{grid-template-columns:1fr}.profile-jump a{justify-content:flex-start}}
.form-note,.field-help{font-size:14px;color:var(--muted)}
.form-note{margin:0 0 20px}.field-help{margin:7px 0 0}
.required{color:#b42318;font-weight:900}
.consent{display:flex;align-items:flex-start;gap:8px;line-height:1.55}
.consent input{margin-top:6px;flex:0 0 auto}
.form-status{margin-bottom:16px;padding:16px 18px;border-left:4px solid var(--green);background:var(--soft);color:var(--dark);font-weight:800}.form-status.is-error{border-color:#b42318;background:#fff1f0;color:#8a1c13}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.policy-jump{border-bottom:1px solid var(--line);background:#fff}
.policy-jump .wrap{display:flex;align-items:center;gap:22px;padding-top:18px;padding-bottom:18px}
.policy-jump p{margin:0;white-space:nowrap;font-size:14px;font-weight:900;color:var(--navy)}
.policy-jump ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;margin:0;padding:0;list-style:none}
.policy-jump a{display:flex;align-items:center;gap:8px;height:100%;padding:9px 12px;border:1px solid var(--line);border-radius:7px;font-size:13px;font-weight:800;line-height:1.35;background:var(--wash)}
.policy-jump a:hover{border-color:var(--green);background:var(--soft)}
.policy-jump a span{color:var(--green);font-size:12px;font-weight:900}
.policy[id]{scroll-margin-top:96px}
.policy-secondary{display:flex;align-items:baseline;gap:16px;margin-top:58px;padding:20px 0 4px;border-top:3px solid var(--navy)}
.policy-secondary span{font-size:13px;font-weight:900;letter-spacing:.12em;color:var(--green)}
.policy-secondary h2{margin:0;font-size:24px;color:var(--navy)}
.policy-related{padding-top:26px}
.policy-related .policy-num{color:var(--navy)}
.detail-pager{padding:0 0 72px}
.detail-pager .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:stretch}
.pager-link,.pager-index,.policy-back{display:flex;border:1px solid var(--line);border-radius:8px;background:#fff;transition:.2s}
.pager-link{flex-direction:column;padding:15px 17px}.pager-link.next{text-align:right}
.pager-link small{font-size:13px;color:var(--muted)}.pager-link strong{margin-top:3px;color:var(--green)}
.pager-index{align-items:center;justify-content:center;padding:15px 20px;color:var(--green);font-weight:900}
.pager-indexes{display:grid;gap:8px}.policy-back{align-items:center;justify-content:center;padding:9px 14px;color:var(--navy);font-size:13px;font-weight:800}
.pager-link:hover,.pager-index:hover,.policy-back:hover{border-color:var(--green);box-shadow:var(--shadow)}
@media(max-width:700px){.policy-jump .wrap{display:block}.policy-jump p{margin-bottom:10px}.policy-jump ol{display:flex;overflow-x:auto;padding-bottom:4px;scroll-snap-type:x proximity}.policy-jump li{flex:0 0 auto;scroll-snap-align:start}.policy-jump a{min-width:128px}.policy-secondary{display:block}.policy-secondary span{display:block;margin-bottom:4px}.detail-pager .wrap{grid-template-columns:1fr}.pager-spacer{display:none}.pager-link.next{text-align:left}.pager-indexes{order:3}.pager-index{order:initial}}
.policy-ref{display:inline-block;margin-left:7px;padding:4px 10px;border:1px solid var(--line);border-radius:20px;color:var(--navy);font-size:12px;font-weight:900}
@media(max-width:560px){.policy-ref{margin-top:6px;margin-left:0}}

/* Original green motif supplied by Sakamoto */
.mark{color:transparent;background:#fff url("../site/green-mark.svg") center/contain no-repeat}
.page-head{position:relative;overflow:hidden}
.page-head:after{content:"";position:absolute;right:0;bottom:0;width:min(24vw,270px);height:100%;background:url("../site/green-mark.svg") right bottom/contain no-repeat;pointer-events:none}
.page-head .wrap{position:relative;z-index:1}
@media(max-width:850px){.page-head:after{display:none}}

.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.report-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(20,54,48,.07)}
.report-cover{display:block;aspect-ratio:1.45/1;overflow:hidden;background:var(--wash);border-bottom:1px solid var(--line)}
.report-cover img{width:100%;height:100%;object-fit:cover;object-position:top;display:block;transition:transform .25s}
.report-cover:hover img{transform:scale(1.015)}
.report-body{padding:24px}.report-body time{font-size:13px;color:var(--muted)}.report-body h2{font-size:25px;margin:5px 0 9px}.report-body p{margin:0;color:var(--muted)}
.report-links{display:flex;gap:9px;margin-top:18px}.report-links a{flex:1;padding:10px 13px;border:1px solid var(--green);border-radius:6px;color:var(--green);font-size:14px;font-weight:900;text-align:center}.report-links a:first-child{background:var(--green);color:#fff}
.footer-contact{display:inline-block;margin-top:10px;font-size:13px;color:#b8c7cb}.footer-contact a{text-decoration:underline;text-underline-offset:3px}
.party-logo-link{display:inline-block}.party-logo-link:hover{opacity:.86}.party-logo{display:block;width:138px;height:auto;margin:0 0 15px;padding:7px 9px;border-radius:6px;background:#fff}
.contact-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.contact-list a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.social-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.social-list a{padding:7px 12px;border:1px solid var(--line);border-radius:20px;font-size:13px;font-weight:800}
@media(max-width:700px){.report-grid{grid-template-columns:1fr}.report-body{padding:21px}}
.archive-intro{max-width:680px;margin:-10px 0 26px;color:var(--muted)}
.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.question-card{display:flex;flex-direction:column;padding:28px;border:1px solid var(--line);border-top:5px solid var(--green);border-radius:10px;background:#fff}
.question-card time{font-size:13px;font-weight:800;color:var(--green)}.question-card h3{margin:8px 0 14px}.question-card ol{margin:0 0 22px;padding-left:1.5em;color:var(--muted)}.question-card li+li{margin-top:5px}
.question-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:auto}.question-links .btn{padding:11px 17px;font-size:14px}.video-link{color:var(--green);font-weight:900;text-decoration:underline;text-underline-offset:4px}
.source-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}.source-links a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.question-grid{grid-template-columns:1fr}.question-card{padding:22px}}
.committee-list{display:grid;gap:12px}
.committee-card{display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:24px;padding:21px 24px;border:1px solid var(--line);border-left:5px solid var(--green);border-radius:9px;background:#fff;transition:.2s}
.committee-card:hover{border-color:var(--green);box-shadow:0 10px 24px rgba(20,54,48,.09);transform:translateY(-2px)}
.committee-card time{color:var(--muted);font-size:14px;font-weight:800}.committee-card span{color:var(--green);font-size:13px;font-weight:800}.committee-card h3{margin:1px 0 0;font-size:20px}.committee-card strong{color:var(--green);font-size:14px;white-space:nowrap}
@media(max-width:700px){.committee-card{grid-template-columns:1fr;gap:4px;padding:19px 20px}.committee-card strong{margin-top:8px}}

/* Plenary photograph: keep the speaker and hands visible at every width. */
.plenary-photo{margin:0 0 32px}
.plenary-photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 0%;border-radius:10px}
.plenary-photo figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
.result-photo{margin:34px 0 0}.result-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px}.result-photo figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
.dynamic-activity{display:block;transition:.2s}.dynamic-activity:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(20,54,48,.09)}.dynamic-activity.has-image{padding:0;overflow:hidden}.dynamic-activity>img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.dynamic-activity-body{padding:26px}.dynamic-activity-body .tag{display:inline-flex;margin:8px 0 0}.post-detail{max-width:840px;padding-top:70px;padding-bottom:80px}.post-detail h1{font-size:clamp(32px,5vw,52px);line-height:1.3;margin:16px 0 34px}.post-meta{display:flex;align-items:center;gap:14px;color:var(--muted)}.post-main-image{margin:0 0 38px}.post-main-image img{display:block;width:100%;max-height:620px;object-fit:cover;border-radius:10px}.post-main-image figcaption{margin-top:8px;color:var(--muted);font-size:13px}.post-body{font-size:17px;line-height:2}.post-body p{white-space:pre-line}.post-related{margin-top:36px;padding:16px 18px;background:var(--soft);border-left:4px solid var(--green);font-weight:800}.page-head.compact{padding-bottom:26px}
@media(max-width:700px){.plenary-photo img{aspect-ratio:1/1;object-position:58% 0%}.plenary-photo{margin-bottom:26px}}
.assembly-jump{border-bottom:1px solid var(--line);background:#fff}
.assembly-jump .wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:18px;padding-bottom:18px}
.assembly-jump a{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--wash);font-size:14px;font-weight:800;line-height:1.35}
.assembly-jump a:hover{border-color:var(--green);background:var(--soft)}
.assembly-jump span{color:var(--green);font-size:12px;font-weight:900}
#latest,#general-questions,#committee-questions,#official-information{scroll-margin-top:86px}
@media(max-width:700px){.assembly-jump .wrap{display:flex;overflow-x:auto;padding-top:14px;padding-bottom:14px;scroll-snap-type:x proximity}.assembly-jump a{flex:0 0 auto;min-width:132px;scroll-snap-align:start;justify-content:flex-start}}
