html { overflow-x: clip; }
.site-frame { overflow: clip; }

.skip-link, .screen-reader-text {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.skip-link:focus {
  position: fixed;
  clip: auto;
  width: auto;
  height: auto;
  top: 12px;
  left: 12px;
  padding: 6px 12px;
  z-index: 15;
  background: #fff;
}

:focus-visible {
  outline: 2px solid #22527c;
  outline-offset: 3px;
}

.search-form .search-open,
.sandwich,
.close-menu {
  appearance: none;
  background-color: transparent;
  font-family: inherit;
}

.search-form .search-open {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  background: transparent url(img/search.png) center no-repeat;
  cursor: pointer;
}

.search-form input[type="text"] {
  display: none;
  width: min(260px, calc(100vw - 118px));
  right: 66px;
  color: #1a3043;
  background: #fff;
  cursor: text;
}

.search-form.is-open input[type="text"] { display: block; }
.mobile-menu.is-open { display: block; overflow: auto; }
.mobile-menu .logo { margin: 0 auto; float: none; }
.mobile-menu .close-menu { padding: 0; }
.mobile-menu .close-menu:focus-visible,
.search-form .search-open:focus-visible,
.sandwich:focus-visible { outline-color: #fff; }

.main-header::before,
.main-header::after,
.main-footer::after { pointer-events: none; }
.main-footer { display: flow-root; }
.main-footer::after { bottom: -87px; }
.main-footer .copy { padding-top: 55px; line-height: 24px; position: relative; z-index: 1; }
.main-footer .copy p { text-align: right; }
.main-footer .logo { position: relative; z-index: 1; }
.logo img { display: block; max-width: 100%; height: auto; }
.sidebar h2.widget-title { margin-bottom: 0; }
.sandwich span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 -5px #fff, 0 5px #fff;
}

.post-content img, .petition-thumb img { max-width: 100%; height: auto; }
.petition-thumb { max-width: 100%; }
.post-content figure, .post-content .wp-caption { max-width: 100%; }
.post-content table { max-width: 100%; }
.post-content .table-wrapper, .post-content .wp-block-table { overflow-x: auto; }
.post-content th, .post-content td { padding: 6px; border: 1px solid #dedede; }
.post-content h5, .post-content h6 { font-weight: 700; }
.post-content hr { clear: both; border: 0; border-top: 1px solid #dedede; margin: 12px 0; }
.post-content .breadcrumbs, .breadcrumbs { margin-bottom: 12px; }
#related_posts { clear: both; }
#related_posts .rel-title { font-size: 20px; }

.loop .post-item .post-title { line-height: 19px; }
.loop .post-item > img { display: block; width: 200px; height: 132px; object-fit: cover; }
.post-item .morelink { position: absolute; left: 9px; right: 9px; bottom: 9px; }
.pager { margin-bottom: 24px; }
.wp-pagenavi { display: flex; flex-wrap: wrap; gap: 4px; align-items: baseline; }
.wp-pagenavi .page-numbers, .wp-pagenavi .pages {
  border: 1px solid #58a2e0;
  padding: 2px 7px;
  text-decoration: none;
}
.wp-pagenavi .current { color: #fff; background: #58a2e0; }
.wp-pagenavi .dots { border-color: transparent; }
.post-content:empty { display: none; }

@media (max-width: 1100px) {
  .main-footer .logo { margin: 0 auto; }
  .main-footer .copy { display: block !important; float: none; padding: 0 15px 22px; text-align: center; }
  .main-footer .copy p { text-align: center; }
  .sandwich { padding: 0; }
}

@media (max-width: 560px) {
  .petition-thumb { margin-bottom: 14px; }
  .post-content p { text-align: left; }
}
