/* WordPress integration; retain the original page styles. */
html { scroll-padding-top: 88px; }
body.admin-bar header { top: 32px; }
.chiba-skip-link { position: fixed; top: -100px; left: 16px; z-index: 100000; padding: 12px 20px; background: #fff; color: #244d34; }
.chiba-skip-link:focus { top: 40px; }
.header-nav .menu { margin: 0; padding: 0; }
.header-nav a:focus-visible, .footer a:focus-visible { outline: 2px solid #567764; outline-offset: 4px; }
.chiba-contact-notice { padding: 20px; margin-bottom: 24px; background: #edf3e5; border-left: 3px solid #6d8f58; line-height: 1.8; }
.chiba-contact-notice.is-error { background: #fff1ec; border-color: #ad6853; }

/* MW WP Form runs its editor markup through wpautop, making paragraphs the
   grid items. These rules keep that output aligned with the CONTACT design. */
.contact-page .mw_wp_form .sub-form > p { min-width: 0; margin: 0; }
.contact-page .mw_wp_form .sub-form > p:nth-of-type(5),
.contact-page .mw_wp_form .form-buttons,
.contact-page .mw_wp_form .error { grid-column: 1 / -1; }
.contact-page .mw_wp_form .sub-form label { display: block; }
.contact-page .mw_wp_form .sub-form label > br,
.contact-page .mw_wp_form .form-buttons > br { display: none; }
.contact-page .mw_wp_form .form-required {
  display: inline-block;
  margin-left: .45em;
  padding: .15em .55em;
  border-radius: 999px;
  color: #fff;
  background: #ad6853;
  font-size: .7em;
  line-height: 1.4;
  vertical-align: .12em;
}
.contact-page .mw_wp_form .form-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 8px;
}
.contact-page .mw_wp_form .error {
  display: block;
  margin-top: 8px;
  color: #a23d2a;
  font-size: .85em;
}
@media (max-width: 700px) {
  .contact-page .mw_wp_form .sub-form > p { grid-column: 1 / -1; }
  .contact-page .mw_wp_form .form-buttons { display: grid; }
}
.chiba-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.chiba-editor-content p, .chiba-editor-content ul, .chiba-editor-content ol { margin-bottom: 20px; }
.chiba-editor-content ul, .chiba-editor-content ol { list-style: revert; padding-left: 24px; }
.chiba-editor-content figure { margin: 24px 0; }
.chiba-editor-content img { max-width: 100%; height: auto; }
.chiba-news-empty { grid-column: 1 / -1; padding: 32px; background: #fffaf0; border: 1px solid #d4decb; line-height: 1.8; }
.navigation.pagination { width: 90%; max-width: 1120px; margin: 0 auto 64px; text-align: center; }
.page-numbers { display: inline-block; min-width: 24px; padding: 10px 14px; margin: 4px; border: 1px solid #ccd6c8; }
.page-numbers.current { background: #365c41; color: #fff; }
.news-page .sub-news-list { align-items: start; }
.news-page .sub-news-list article a { height: auto; }
@media (max-width: 782px) { body.admin-bar header { top: 46px; } }
@media (max-width: 925px) {
  header .header-nav { display: none; }
  header .header-nav.is-open { position: fixed; display: block; inset: 56px 0 auto; padding: 24px; background: #edf1e9; box-shadow: 0 12px 22px #243c2519; }
  body.admin-bar header .header-nav.is-open { top: 102px; }
  header .header-nav.is-open ul { display: grid; gap: 18px; }
  header .header-nav.is-open .nav-main { display: block; }
}
