:root{color:#1f2933;background:#f6f7f8;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#f6f7f8}body.modalOpen{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,.memberCard:focus-visible{outline:3px solid rgba(31,111,139,.36);outline-offset:3px}.app{min-height:100vh}.siteHeader{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,52px);background:#fffffff0;border-bottom:1px solid #d9dee4;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{display:inline-flex;align-items:center;gap:12px}.brandMark{display:grid;width:42px;height:42px;place-items:center;color:#fff;background:#1f4f78;border-radius:8px;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:#64707d;font-size:12px}.navLinks{display:flex;flex-wrap:wrap;gap:8px;color:#425466;font-size:14px}.navLinks a{min-height:36px;display:inline-flex;align-items:center;padding:0 12px;color:#31506b;background:#eef3f7;border:1px solid #d7e1ea;border-radius:8px;font-weight:700}.navLinks a:hover{color:#fff;background:#1f5f8f;border-color:#1f5f8f}.hero{min-height:520px;display:grid;align-items:end;padding:72px clamp(18px,5vw,72px) 42px;color:#fff;background:linear-gradient(90deg,#122638eb,#122638b8 48%,#12263833),url(https://images.unsplash.com/photo-1625663510573-1e0c170aa7b8?auto=format&fit=crop&w=1800&q=80) center/cover}.heroInner{max-width:820px}.eyebrow{margin:0 0 10px;color:#1f6f8b;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.hero .eyebrow{color:#d2e5f3}h1,h2,h3,p{margin-top:0}h1{margin-bottom:18px;max-width:780px;font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:0}h2{margin-bottom:12px;font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:0}h3{margin-bottom:10px;font-size:18px;line-height:1.35;letter-spacing:0}.heroLead{max-width:710px;color:#eef5fb;font-size:18px;line-height:1.9}.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.heroNotice{max-width:760px;display:flex;gap:12px;align-items:flex-start;margin-top:22px;padding:14px 16px;color:#fff6d1;background:#172230c7;border:1px solid rgba(247,227,163,.72);border-radius:8px;line-height:1.7}.heroNotice strong{flex:0 0 auto;color:#f7e3a3;white-space:nowrap}.primaryButton,.secondaryButton,.textButton{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:700}.primaryButton:hover,.secondaryButton:hover,.textButton:hover{transform:translateY(-1px)}.primaryButton{color:#152334;background:#f2c94c}.secondaryButton{color:#fff;border-color:#ffffffb3}.textButton{width:100%;margin-top:auto;color:#fff;background:#1f5f8f}.noticeBand{display:flex;gap:16px;align-items:flex-start;margin:-26px auto 24px;max-width:1120px;padding:18px 22px;background:#fff;border:1px solid #d9dee4;border-radius:8px;box-shadow:0 16px 42px #1f29331a}.noticeBand strong{white-space:nowrap}.disclaimerBlock{max-width:1120px;display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 auto 18px;padding:0 clamp(18px,3vw,28px)}.disclaimerBlock div{padding:16px 18px;background:#fff8e5;border:1px solid #ead99c;border-radius:8px}.disclaimerBlock strong{display:block;margin-bottom:6px;color:#5f4600}.disclaimerBlock p{margin:0;color:#604f1f;line-height:1.7;font-size:14px}.metricsGrid,.sectionBlock{max-width:1120px;margin:0 auto;padding:34px clamp(18px,3vw,28px)}.metricsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metricCard{padding:20px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.metricCard strong{display:block;margin-bottom:4px;color:#1f4f78;font-size:34px;line-height:1}.metricCard span{color:#64707d}.sectionHeading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}.sectionHeading p{max-width:520px;color:#5d6875;line-height:1.8}.filterPanel{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:14px;margin-bottom:20px;padding:18px;background:#e7edf3;border-radius:8px}.filterPanel label{display:grid;gap:7px;color:#425466;font-size:13px;font-weight:700}.filterPanel input,.filterPanel select{width:100%;min-height:44px;padding:0 12px;color:#1f2933;background:#fff;border:1px solid #cbd5df;border-radius:8px}.clearFiltersButton{align-self:end;min-height:44px;padding:0 14px;color:#31506b;background:#fff;border:1px solid #cbd5df;border-radius:8px;cursor:pointer;font-weight:700;white-space:nowrap}.clearFiltersButton:hover:not(:disabled){border-color:#1f6f8b}.clearFiltersButton:disabled{cursor:not-allowed;opacity:.5}.tagFilterPanel{display:grid;gap:10px;margin:-6px 0 20px;padding:16px 18px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.tagFilterPanel>span{color:#425466;font-size:13px;font-weight:800}.tagFilterList{display:flex;flex-wrap:wrap;gap:8px}.tagFilterButton{min-height:36px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;color:#28536b;background:#e6f0f5;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:13px;font-weight:700}.tagFilterButton small{color:#617080;font-size:11px}.tagFilterButton.active{color:#fff;background:#1f5f8f}.tagFilterButton.active small{color:#d9edf7}.tagFilterButton:disabled{cursor:not-allowed;opacity:.56}.memberGrid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:1fr;align-items:stretch;gap:16px}.emptyState{margin:0;padding:22px;color:#5d6875;background:#fff;border:1px solid #dde3e9;border-radius:8px;line-height:1.7}.statusNote{margin:-4px 0 18px;padding:14px 16px;color:#5d6875;background:#eef3f7;border:1px solid #d7e1ea;border-radius:8px;line-height:1.7}.memberCard{height:100%;display:flex;min-height:214px;padding:16px;background:#fff;border:1px solid #dde3e9;border-radius:8px;cursor:pointer}.memberCard:hover{border-color:#9eb3c7;box-shadow:0 12px 28px #1f293314}.cardBody{min-width:0;width:100%;display:flex;flex-direction:column}.cardTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cardTitleRow h3{margin-bottom:2px}.cardTitleRow span{flex:0 0 auto;max-width:94px;padding:4px 8px;color:#31506b;background:#e8f0f7;border-radius:8px;font-size:12px;overflow-wrap:anywhere}.muted{color:#66717d;font-size:13px;line-height:1.6}.cardMeta{min-height:62px;display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.tagList,.socialLinks{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}.activityMiniSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.activityMiniSummary span{min-height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;color:#5d6875;background:#f2f5f8;border-radius:8px;font-size:11px;font-weight:800;text-align:center}.memberCard .socialLinks,.memberCard .cardBody>.muted:not(.cardMeta){min-height:30px;margin-bottom:12px}.tag,.socialLinks a{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;font-size:12px;font-weight:700}.tag{color:#28536b;background:#e6f0f5}.mutedTag{color:#6d7782;background:#eef1f4}.socialLinks a{color:#3a2c08;background:#f4df92}.socialLinks.compact a{min-height:28px}.detailPanel,.guidePanel{padding:24px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.modalBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:22px;background:#0f17208a}.memberModal{width:min(860px,100%);max-height:min(820px,calc(100vh - 44px));overflow:auto;padding:24px;background:#fff;border:1px solid #dde3e9;border-radius:8px;box-shadow:0 24px 80px #0f172047}.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.modalCloseButton{min-height:40px;padding:0 14px;color:#31506b;background:#eef3f7;border:1px solid #d7e1ea;border-radius:8px;cursor:pointer;font-weight:700;white-space:nowrap}.modalCloseButton:hover{border-color:#1f6f8b}.infoList{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0 22px}.infoList div{padding:12px;background:#f2f5f8;border-radius:8px}.infoList dt{color:#627080;font-size:12px;font-weight:700}.infoList dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.plainList,.stepList{padding-left:20px;line-height:1.9}.tagGrid,.sourceGrid,.factionGrid,.committeeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.factionOverview,.committeeOverview,.activityOverview{margin-bottom:16px;padding:18px;background:#eef3f7;border:1px solid #d7e1ea;border-radius:8px}.factionOverview strong,.committeeOverview strong,.activityOverview strong{display:block;margin-bottom:8px;color:#1f2933;font-size:18px}.factionOverview p,.committeeOverview p,.activityOverview p,.activityMethodCard p,.activityPeriodCard p,.factionCard p,.committeeCard p,.modalCommitteeCard p{color:#5d6875;line-height:1.8}.factionOverview a,.committeeOverview a,.activityOverview a,.activityPeriodCard a,.factionCard a,.committeeCard a,.modalCommitteeCard a{color:#1f5f8f;font-size:13px;font-weight:800}.activityMethodGrid,.recordTypeGrid,.summaryCards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.recordTypeGrid{grid-template-columns:repeat(2,1fr)}.activityMethodCard,.recordTypeCard,.summaryGuideCard{padding:16px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.activityMethodCard strong,.recordTypeCard strong,.summaryGuideCard strong{display:block;margin-bottom:8px;color:#1f2933}.recordTypeCard p,.summaryGuideCard p{color:#5d6875;line-height:1.8}.recordTypeCard a,.recordCard a{color:#1f5f8f;font-size:13px;font-weight:800}.activitySubheading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:26px 0 14px}.activitySubheading h3{margin-bottom:0}.activitySubheading p{max-width:520px;margin:0;color:#5d6875;line-height:1.7}.recordList{display:grid;gap:14px;margin-bottom:18px}.recordList.compact{grid-template-columns:repeat(2,1fr)}.sectionActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.sectionActions a{min-height:40px;display:inline-flex;align-items:center;padding:0 14px;color:#fff;background:#1f5f8f;border-radius:8px;font-size:13px;font-weight:800}.sectionActions a:hover{background:#174b72}.recordCard{padding:18px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.recordCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.recordCardHeader span,.recordCardHeader strong{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:8px;font-size:12px;font-weight:800}.recordCardHeader span{margin-bottom:8px;color:#31506b;background:#e8f0f7}.recordCardHeader strong{color:#6d4a00;background:#f7e3a3;white-space:nowrap}.recordCardHeader h3{margin-bottom:4px}.recordCardHeader p{margin:0;color:#66717d;font-size:13px}.recordCard>p{color:#5d6875;line-height:1.8}.recordColumns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.recordColumns div{padding:14px;background:#f7f9fb;border:1px solid #e4e9ee;border-radius:8px}.recordColumns h4{margin:0 0 8px;color:#1f2933;font-size:14px}.recordColumns ul{margin:0;padding-left:18px;color:#5d6875;line-height:1.8}.activityPeriodList{display:grid;gap:14px}.activityPeriodCard{padding:18px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.activityPeriodHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.activityPeriodHeader h3{margin-bottom:4px}.activityPeriodHeader p{margin:0;color:#66717d;font-size:13px}.activityPeriodHeader span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;color:#6d4a00;background:#f7e3a3;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}.activityMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.activityMetrics div{padding:12px;background:#f2f5f8;border-radius:8px}.activityMetrics dt{color:#627080;font-size:12px;font-weight:700}.activityMetrics dd{margin:4px 0 0;font-weight:800}.summaryTableWrap{overflow-x:auto;background:#fff;border:1px solid #dde3e9;border-radius:8px}.summaryTable{min-width:920px}.modalActivitySummary{margin:18px 0;padding:16px;background:#eef3f7;border:1px solid #d7e1ea;border-radius:8px}.modalActivitySummary h3{margin-bottom:12px}.modalActivitySummary dl{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 12px}.modalActivitySummary div{padding:10px;background:#fff;border-radius:8px}.modalActivitySummary dt{color:#627080;font-size:12px;font-weight:700}.modalActivitySummary dd{margin:4px 0 0;font-weight:800}.modalActivitySummary p{margin:0;color:#5d6875;line-height:1.7}.factionCard,.committeeCard{min-height:280px;display:flex;flex-direction:column;gap:10px;padding:18px;background:#fff;border:1px solid #dde3e9;border-radius:8px}.factionCardHeader,.committeeCardHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.factionCardHeader h3,.committeeCardHeader h3{margin-bottom:0}.factionCardHeader span,.committeeCardHeader span,.factionType,.committeeType,.modalCommitteeCard span{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;color:#31506b;background:#e8f0f7;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap}.factionType,.committeeType{width:fit-content;margin:0}.factionCard a,.committeeCard a{margin-top:auto}.modalCommitteeList{display:grid;gap:10px;margin-bottom:18px}.modalCommitteeCard{display:grid;gap:8px;padding:14px;background:#f7f9fb;border:1px solid #dde3e9;border-radius:8px}.modalCommitteeCard strong{color:#1f2933;font-size:16px}.modalCommitteeCard span{width:fit-content}.tagCard,.sourceCard{display:grid;gap:8px;min-height:150px;padding:18px;color:#1f2933;text-align:left;background:#fff;border:1px solid #dde3e9;border-radius:8px}.tagCard{cursor:pointer}.tagCard:hover,.sourceCard:hover{border-color:#1f6f8b;box-shadow:0 12px 28px #1f293314}.tagCard:disabled{cursor:not-allowed;opacity:.72}.tagCard:disabled:hover{border-color:#dde3e9;box-shadow:none}.tagCard span,.sourceCard strong{font-weight:800}.tagCard strong{color:#1f4f78;font-size:24px}.tagCard small,.sourceCard span{color:#617080;line-height:1.7;overflow-wrap:anywhere}.tableWrap{overflow-x:auto;background:#fff;border:1px solid #dde3e9;border-radius:8px}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:13px 14px;text-align:left;border-bottom:1px solid #e8eee9}tbody tr:hover{background:#f7f9fb}th{color:#35485c;background:#edf2f7;font-size:13px}td a{color:#1f5f8f;font-weight:800}footer{display:flex;justify-content:space-between;gap:18px;margin-top:40px;padding:26px clamp(18px,4vw,52px);color:#eef3f7;background:#1f2933}.backToTop{position:fixed;right:clamp(16px,3vw,28px);bottom:clamp(16px,3vw,28px);z-index:30;min-width:92px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 14px;color:#fff;background:#1f5f8f;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 12px 32px #1f29333d;font-size:13px;font-weight:800}.backToTop:hover{background:#174b72}@media (max-width: 900px){.siteHeader,.sectionHeading,footer{align-items:flex-start;flex-direction:column}.hero{min-height:520px}.metricsGrid,.memberGrid,.activityMethodGrid,.recordTypeGrid,.recordList.compact,.summaryCards,.tagGrid,.sourceGrid,.factionGrid,.committeeGrid{grid-template-columns:1fr 1fr}.filterPanel,.disclaimerBlock{grid-template-columns:1fr}}@media (max-width: 640px){.navLinks{width:100%;display:grid;grid-template-columns:1fr 1fr}.hero{min-height:560px;padding-top:42px;background-position:center}.noticeBand,.memberCard,.cardTitleRow,.heroNotice{flex-direction:column}.metricsGrid,.memberGrid,.activityMethodGrid,.recordTypeGrid,.recordList.compact,.summaryCards,.tagGrid,.sourceGrid,.factionGrid,.committeeGrid,.infoList,.activityMetrics,.modalActivitySummary dl,.activityMiniSummary{grid-template-columns:1fr}.activityPeriodHeader,.activitySubheading,.recordCardHeader{flex-direction:column}.recordColumns{grid-template-columns:1fr}.modalHeader{flex-direction:column}.modalCloseButton{width:100%}.backToTop{min-width:44px;width:44px;padding:0}.backToTop span{display:none}.cardTitleRow span{max-width:none}}
