@charset "UTF-8";

/* スクロール前の要素も印刷時は必ず表示する */
html.reveal-enabled .reveal-on-load,
html.reveal-enabled .reveal-on-scroll,
html.reveal-enabled :is(.reveal-on-load, .reveal-on-scroll).is-revealed,
html.reveal-preload :is(.lower-hero h1, .breadcrumb, .about-subnav, .procedure-subnav, .home-news__inner, .social-links, .about-photos, .about-card, .water-management > h2, .water-management__visual, .home-utility-links, .pickup-card, .about-area, .about-work, .about-water-info__item, .about-renewal, .overview-greeting, .overview-summary, .overview-officers, .overview-organization, .overview-numbers, .disaster-introduction, .disaster-charts, .disaster-damage, .chronology-timeline, .chronology-gallery, .community-entry, .levy-introduction, .finance-publications, .forms-content, .privacy-policy, .site-footer) {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* 印刷表示 */
@page { size: A4 portrait; margin: 15mm; }
html, body { width: auto; min-width: 0; background: #fff; color: #000; font-family: "Noto Sans JP", sans-serif; font-size: 10.5pt; }
.top-header { position: static; height: auto; box-shadow: none; border-bottom: 1px solid #bbb; }
.top-header__inner { width: 100%; height: auto; padding: 0 0 8mm; }
.top-header__logo { position: relative; top: auto; left: auto; }
.top-header__logo a { position: relative; display: block; width: 58mm; }
.top-header__logo img { width: 100%; height: auto; }
.top-header__logo .top-header__midori { position: absolute; top: 0; left: 0; width: 21mm; }
.contact-button, .menu-button, .global-nav, .hero__shade, .more-button, .page-top-button { display: none !important; }
.hero { position: relative; width: 100%; height: auto; aspect-ratio: 12 / 5; margin: 8mm 0 0; overflow: hidden; break-inside: avoid; }
.hero__slide { display: none; }
.hero__slide:first-child { display: block; opacity: 1; transform: none; }
.hero__slide img { width: 100%; height: 100%; object-fit: cover; }
.hero__catch { position: absolute; z-index: 2; left: 50%; bottom: 7%; width: 58%; transform: translateX(-50%) !important; }
a { color: inherit; text-decoration: none; }
a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8pt; font-weight: 400; }
.top-header__logo a::after { content: none; }
.home-news { padding: 8mm 0 0; }
.home-news__inner { display: grid; grid-template-columns: 45mm 1fr; gap: 8mm; }
.home-news__heading h2 { font-size: 22pt; font-weight: 400; line-height: 1.2; }
.lower-hero { margin-top: 0; padding: 15mm 0; background: none !important; }
.lower-hero h1 { color: #000; font-size: 24pt; text-align: center; }
.breadcrumb ol { display: flex; gap: 4mm; padding: 3mm 0; }
.breadcrumb li + li::before { content: ">"; margin-right: 4mm; }
.about-subnav, .procedure-subnav { display: none; }
.about-area { margin: 10mm 0; }
.about-area h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.about-area__body { display: grid; grid-template-columns: 1fr 70mm; gap: 8mm; align-items: center; padding-top: 6mm; }
.about-area__text { font-size: 10pt; line-height: 1.8; }
.about-area__text p + p { margin-top: 4mm; }
.about-area__map { width: 100%; max-height: 100mm; }
.about-work { margin: 10mm 0; break-before: page; }
.about-work h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.about-work__image { width: 100%; margin-top: 6mm; }
.about-work__text { margin-top: 6mm; font-size: 10pt; line-height: 1.8; }
.about-work__text p + p { margin-top: 4mm; }
.about-water-info { margin: 10mm 0; }
.about-water-info__item + .about-water-info__item { margin-top: 8mm; }
.about-water-info h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.about-water-info__text { padding-top: 5mm; font-size: 10pt; line-height: 1.8; }
.about-water-info__text p + p { margin-top: 4mm; }
.about-renewal { margin: 10mm 0; }
.about-renewal h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.about-renewal__text { padding-top: 5mm; font-size: 10pt; line-height: 1.8; }
.about-renewal__text p + p { margin-top: 4mm; }
.overview-greeting { margin: 10mm 0; }
.overview-greeting h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.overview-greeting__body { display: grid; grid-template-columns: 1fr 48mm; gap: 8mm; padding-top: 6mm; }
.overview-greeting__text { font-size: 10pt; line-height: 1.7; }
.overview-greeting__portrait img { width: 100%; }
.overview-greeting__portrait figcaption { margin-top: 3mm; text-align: center; }
.overview-summary { margin: 10mm 0; }
.overview-summary h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.overview-summary__list { margin-top: 5mm; border-top: 1px solid #999; }
.overview-summary__list > div { display: grid; grid-template-columns: 35mm 1fr; border-bottom: 1px solid #999; }
.overview-summary__list dt, .overview-summary__list dd { margin: 0; padding: 3mm; font-size: 9pt; }
.overview-summary__list address { font-style: normal; }
.overview-officers { margin: 10mm 0; }
.overview-officers h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.overview-officers table { width: 100%; margin-top: 5mm; border-collapse: collapse; }
.overview-officers th, .overview-officers td { padding: 3mm 5mm; border: 1px solid #999; font-size: 10pt; text-align: left; }
.overview-organization { margin: 10mm 0; break-inside: avoid; }
.overview-organization h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.overview-organization figure { margin: 5mm 0 0; }
.overview-organization img { display: block; width: 100%; max-height: 175mm; margin: auto; }
.overview-organization figcaption { display: none; }
.overview-numbers { margin: 10mm 0; }
.overview-numbers > h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.overview-numbers__area, .overview-numbers__members-total { margin-top: 5mm; text-align: center; }
.overview-numbers data { color: #008f57; font-size: 24pt; font-weight: 700; }
.overview-numbers small { display: block; }
.overview-numbers__breakdown { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 5mm; margin-top: 5mm; }
.overview-numbers__column { margin: 0; }
.overview-numbers__column > div { display: flex; justify-content: space-between; padding: 2mm; border-bottom: 1px solid #999; }
.overview-numbers__breakdown dt, .overview-numbers__breakdown dd { margin: 0; font-size: 8pt; }
.disaster-introduction { margin: 10mm 0; }
.disaster-introduction h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.disaster-introduction__text { padding-top: 5mm; font-size: 10pt; line-height: 1.8; }
.disaster-introduction__text h3 { margin: 5mm 0 2mm; font-size: 13pt; }
.disaster-introduction__lead { margin-top: 5mm; }
.disaster-charts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5mm; margin-top: 5mm; break-inside: avoid; }
.disaster-charts img { width: 100%; height: auto; }
.disaster-charts img:last-child { grid-column: 2; }
.disaster-damage { margin-top: 10mm; font-size: 9pt; line-height: 1.7; }
.disaster-damage > h3 { font-size: 14pt; }
.disaster-table { margin: 7mm 0; break-inside: avoid; }
.disaster-table figcaption { margin-bottom: 2mm; font-size: 10pt; font-weight: 600; }
.disaster-table table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.disaster-table th, .disaster-table td { padding: 1.5mm 1mm; border: 1px solid #777; font-size: 6.5pt; line-height: 1.25; text-align: center; }
.disaster-table thead th { background: #eee; }
.chronology-timeline { margin: 10mm 0; }
.chronology-timeline h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.chronology-timeline dl { margin-top: 4mm; }
.chronology-timeline dl > div { display: grid; grid-template-columns: 27mm 1fr; gap: 4mm; padding: 3mm; break-inside: avoid; }
.chronology-timeline dl > div:nth-child(even) { background: #eee; }
.chronology-timeline dt { font-size: 8.5pt; font-weight: 600; text-align: center; }
.chronology-timeline dt small { display: block; font-size: inherit; }
.chronology-timeline dd { margin: 0; font-size: 8pt; line-height: 1.5; }
.chronology-timeline li { position: relative; padding-left: 3mm; }
.chronology-timeline li::before { position: absolute; top: .5em; left: 0; width: 2mm; height: 2mm; background: #555; content: ""; }
.chronology-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5mm; margin: 8mm 0; }
.chronology-gallery figure { margin: 0; break-inside: avoid; text-align: center; }
.chronology-gallery img { display: block; width: 100%; height: auto; }
.chronology-gallery figcaption { margin-top: 1.5mm; font-size: 7.5pt; font-weight: 600; }
.community-archive { margin: 10mm 0; }
.community-entry { break-inside: avoid; }
.community-entry + .community-entry { margin-top: 8mm; }
.community-entry h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 18pt; }
.community-entry time { display: block; margin: 2mm 0; font-size: 8pt; }
.community-entry__body { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.community-entry__thumbnail { display: grid; min-height: 55mm; place-items: center; background: #eee; color: #555; text-decoration: none; }
.community-entry__thumbnail img { width: 100%; height: auto; }
.community-entry__excerpt { font-size: 8.5pt; line-height: 1.6; }
.levy-introduction { margin: 10mm 0; }
.levy-introduction > h2 { margin-bottom: 5mm; font-size: 18pt; text-align: center; }
.levy-introduction__section h3 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.levy-introduction__text { padding-top: 5mm; font-size: 10pt; line-height: 1.8; }
.levy-fiscal { margin-top: 10mm; }
.levy-fiscal > h3 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.levy-table-block { margin-top: 6mm; break-inside: avoid; }
.levy-table-block h4 { margin: 0 0 2mm; font-size: 10pt; }
.levy-table-scroll table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.levy-table-scroll th, .levy-table-scroll td { padding: 2mm; border: 1px solid #777; font-size: 8pt; line-height: 1.4; text-align: center; }
.levy-table-scroll thead th { background: #eee; }
.levy-fiscal__transfer-date { margin-top: 5mm; font-size: 9pt; font-weight: 600; }
.levy-guidance { margin-top: 9mm; break-inside: avoid; }
.levy-guidance > h3 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.levy-guidance__text { padding-top: 4mm; font-size: 9pt; line-height: 1.7; }
.levy-guidance__detail { padding-top: 3mm; }
.levy-guidance__warning { margin-top: 4mm !important; padding: 3mm; border: 1px solid #999; font-weight: 600; }
.finance-publications { margin: 10mm 0; }
.finance-publications > h2 { margin-bottom: 4mm; font-size: 18pt; text-align: center; }
.finance-publications__lead { margin-bottom: 6mm; font-size: 9pt; }
.finance-year { break-inside: avoid; }
.finance-year h3 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.finance-year ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 3mm; margin-top: 4mm; }
.finance-year a { color: #000; font-size: 9pt; text-decoration: none; }
.finance-year a::after { content: " (PDF)"; }
.finance-year img { display: none; }
.finance-contact { margin-top: 7mm; padding: 4mm; border: 1px solid #999; }
.forms-content { margin: 10mm 0; }
.forms-content > h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.forms-content__intro { padding-top: 4mm; font-size: 9pt; line-height: 1.7; }
.financial-institutions { margin-top: 8mm; break-inside: avoid; }
.financial-institutions h3 { margin-bottom: 2mm; font-size: 12pt; }
.financial-institutions dl > div { display: grid; grid-template-columns: 30mm 1fr; padding: 2mm; border-bottom: 1px solid #aaa; }
.financial-institutions dt, .financial-institutions dd { margin: 0; font-size: 8pt; }
.forms-content__note { margin-top: 5mm; font-size: 8pt; }
.qualification-change { margin-top: 10mm; break-inside: avoid; }
.qualification-change > h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.qualification-change > p:first-of-type { margin-top: 4mm; font-size: 9pt; }
.qualification-change__downloads { display: grid; grid-template-columns: repeat(2, 1fr); gap: 5mm; margin-top: 5mm; }
.qualification-change__downloads a { display: flex; align-items: center; padding: 4mm; border: 1px solid #999; color: #000; font-size: 9pt; text-decoration: none; }
.qualification-change__downloads img { display: none; }
.qualification-change__note { margin-top: 4mm; font-size: 8pt; }
.forms-information { margin-top: 10mm; break-inside: avoid; }
.forms-information > h2 { padding: 3mm 5mm; border: 1px solid #999; font-size: 15pt; }
.forms-information__text { padding-top: 4mm; font-size: 9pt; line-height: 1.7; }
.privacy-handling dl { margin: 5mm 0 0; }
.privacy-handling dl > div + div { margin-top: 3mm; }
.privacy-handling dt { font-weight: 600; }
.privacy-handling dd { margin: 1mm 0 0; }
.privacy-handling__detail { margin-top: 4mm; }
.privacy-content { margin: 8mm 0 0; }
.privacy-document + .privacy-document { margin-top: 12mm; break-before: page; }
.privacy-document > h2 { margin: 0 0 5mm; padding: 3mm 4mm; border-left: 1.5mm solid #555; background: #eee; font-size: 16pt; font-weight: 700; }
.privacy-policy__meta, .privacy-disclosure__date { margin: 0 0 5mm; text-align: right; font-size: 9pt; line-height: 1.6; }
.privacy-policy__meta p { margin: 1mm 0 0; }
.privacy-policy__lead { margin: 0 0 5mm; font-size: 9.5pt; font-weight: 400; line-height: 1.7; }
.privacy-document ol { margin: 0; padding: 0; list-style: none; }
.privacy-document li { padding: 4mm 0; border-top: .3mm solid #aaa; break-inside: avoid; }
.privacy-document li:last-child { border-bottom: .3mm solid #aaa; }
.privacy-document h3 { margin: 0 0 2mm; font-size: 11pt; font-weight: 600; }
.privacy-document h3 span { margin-right: 2mm; }
.privacy-document li p { margin: 0; font-size: 9pt; font-weight: 400; line-height: 1.7; }
.home-news__heading h2 span { display: block; color: #008f57; font-size: 8pt; letter-spacing: .2em; }
.home-news__list { border-top: 1px solid #bbb; }
.home-news__list li { border-bottom: 1px solid #bbb; }
.home-news__list a { display: grid; grid-template-columns: 25mm 1fr; gap: 4mm; padding: 3mm 0; }
.home-news__list time { color: #008f57; font-size: 8pt; }
.social-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8mm; margin-top: 10mm; padding: 5mm; background: #f0f3e8; }
.social-links__item { display: grid; grid-template-columns: 1fr 20mm; align-items: center; color: #000; }
.social-links__text { text-align: center; }
.social-links__text small { display: block; }
.social-links__item img { width: 20mm; height: 20mm; }
.social-links__item::after { content: none !important; }
.home-introduction { margin-top: 10mm; padding: 0; }
.home-introduction__inner { width: 100%; }
.about-photos { display: grid; grid-template-columns: repeat(3, 1fr); height: 48mm; overflow: hidden; border-radius: 5mm; }
.about-photos img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.about-card { display: grid; grid-template-columns: 40mm 1fr; gap: 5mm; width: 85%; margin: -15mm auto 0; padding: 7mm; border: 1px solid #ccc; border-radius: 5mm; background: #fff; }
.about-card__logo { width: 32mm; max-height: 45mm; object-fit: contain; }
.about-card h2, .water-management > h2 { font-size: 18pt; }
.about-card p, .water-card p { font-size: 8.5pt; line-height: 1.6; }
.water-management { padding-top: 10mm; break-before: page; }
.water-management > h2 { margin-bottom: 5mm; text-align: center; }
.water-management__visual > img { width: 100%; height: 85mm; object-fit: cover; border-radius: 5mm; }
.water-card { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8mm; margin-top: 6mm; }
.water-card h3 { font-size: 13pt; }
.home-utility-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8mm; margin-top: 10mm; }
.utility-button { min-height: 20mm; padding: 4mm 7mm; background: #eee; border: 1px solid #888; color: #000; }
.utility-button::before { display: none; }
.utility-button img { display: none; }
.utility-button::after { content: " (" attr(href) ")"; margin-left: 3mm; font-size: 8pt; font-weight: 400; }
.home-pickups { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8mm; margin-top: 10mm; break-inside: avoid; }
.pickup-card > h2 { margin-bottom: 4mm; font-size: 14pt; text-align: center; }
.pickup-card__panel { position: relative; min-height: 70mm; overflow: hidden; border: 1px solid #aaa; }
.pickup-card--newsletter .pickup-card__panel { padding: 5mm; }
.pickup-card--newsletter p { font-size: 8pt; }
.pickup-card--newsletter img { width: 100%; margin-top: 5mm; }
.pickup-card--recruit .pickup-card__panel > img { width: 100%; height: 100%; object-fit: cover; }
.pickup-card__recruit-copy { position: absolute; top: 5mm; right: 4mm; width: 55%; font-size: 8pt; }
.pickup-card__panel .more-button { display: none; }
.site-footer { margin-top: 12mm; padding-top: 6mm; border-top: 1px solid #999; break-inside: avoid; }
.site-footer__inner { display: grid; grid-template-columns: 55mm 1fr; gap: 8mm; }
.site-footer__logo { display: block; width: 48mm; }
.site-footer__logo img { width: 100%; }
.site-footer__identity address { margin-top: 3mm; font-size: 8pt; font-style: normal; }
.site-footer__offices { margin: 0; font-size: 8pt; }
.site-footer__offices > div { display: flex; gap: 3mm; }
.site-footer__offices dd { margin: 0; }
.access-link, .site-footer__nav { display: none; }
.site-footer__copyright { margin-top: 5mm; padding-top: 3mm; border-top: 1px solid #ccc; text-align: center; }
.site-footer__copyright small { font-size: 7pt; }
