
.header-area.scroll-nav { background-color: rgba(255, 255, 255, 0.85); }
.effect, .program-single-img .effect { background: linear-gradient(0deg, transparent, #F8F6EF 50%, #F8F6EF); }
.kh-to-top { position: fixed; z-index: 30; left: 3%; bottom: 40px; display: grid; justify-items: center; gap: 5px; opacity: 0; visibility: hidden; transition: opacity .5s, visibility .5s; font-size: 18px; letter-spacing: .1em; }
.kh-to-top.is-visible { opacity: 1; visibility: visible; }
.kh-to-top img { display: block; width: 34px; height: 34px; }
.kh-footer { background: url('../img/top-2026/footer.png') center top / cover no-repeat; min-height: 851px; padding: 170px 24px 120px; color: #fff; }
.kh-footer-inner { max-width: 806px; margin: auto; font-size: 14px; line-height: 1.7; }
.kh-footer p { margin: 0 0 25px; }
.kh-footer .kh-footer-name { font-size: 18px; margin-bottom: 25px; }
.kh-footer address { font-style: normal; margin-bottom: 25px; }
.kh-footer a { color: #fff; text-decoration: underline; }
.kh-footer-social { margin-bottom: 28px; }
.kh-footer-social li { display: flex; align-items: center; gap: 12px; line-height: 2; }
.kh-footer-social img { width: 20px; height: 20px; }
.kh-footer-support > img { width: 160px; height: 37px; display: block; margin: 40px 0 22px; }
.kh-footer-social img,
.kh-footer-support > img { filter: none; }
.kh-footer .kh-footer-notice { margin-top: 25px; }
.kh-footer .kh-copyright { margin-bottom: 0; }

.kh-footer, .kh-footer * { box-sizing: border-box; }
.kh-footer { width: 100%; background-position: center top; }
.kh-to-top { color: #222; text-decoration: none; }
@media (max-width: 767px) {
  .kh-to-top { left: 24px; bottom: 24px; font-size: 13px; gap: 4px; }
  .kh-to-top img { width: 24px; height: 24px; }
  .kh-footer { padding: 110px 24px 70px; min-height: 0; }
  .kh-footer-inner { font-size: 13px; line-height: 1.7; }
  .kh-footer .kh-footer-name { font-size: 13px; }
  .kh-footer .sp-br { display: block; }
  .kh-footer-social { font-size: 12px; letter-spacing: 0; }
  .kh-footer-support > img { width: 138px; height: 32px; }
  .kh-footer .kh-copyright { font-size: 11px; }
}
.news-sort { width: 100%; }
.archive_2026 .program-filter a[aria-current="page"] .program-filter-box { background: #000; box-shadow: inset 0 0 0 4px #fff; }
.kh-empty { text-align: center; padding: 30px 0; }
@media (max-width: 950px) {
  body.kh-inner-menu-open { overflow: hidden; }
  body:not(.home-2026) .drawer--right .drawer-nav {
    position: fixed; inset: 0; z-index: 99998; width: 100%; height: 100dvh;
    box-sizing: border-box; padding: 100px 0 0; overflow-y: auto;
    background: #F8F6EF; visibility: hidden; opacity: 0; pointer-events: none;
    transform: none; transition: none;
  }
  body:not(.home-2026) .drawer--right .drawer-nav.is-menu-animated { transition: opacity .3s, visibility .3s; }
  body.kh-inner-menu-open .drawer--right .drawer-nav { visibility: visible; opacity: 1; pointer-events: auto; }
  body:not(.home-2026) .drawer-menu {
    display: block; width: 100%; height: auto; min-height: 0;
    margin: 0; padding: 0; background: transparent;
  }
  body:not(.home-2026) .drawer-menu > li { border: 0; border-bottom: 1px solid #e4e4e4; margin: 0; padding: 0; width: 100%; height: auto; }
  body:not(.home-2026) .drawer-menu > li:first-child { border-top: 1px solid #e4e4e4; }
  body:not(.home-2026) .drawer-menu > li > a { box-sizing: border-box; display: block; width: 100%; font-size: 15px; padding: 14px 32px; line-height: 30px; letter-spacing: .56px; }
  body:not(.home-2026) button.drawer-hamburger {
    position: fixed; z-index: 99999; top: 6px; right: 24px;
    width: 46px; height: 48px; padding: 0; border: 0;
    background: transparent;
  }
  body:not(.home-2026) .drawer-hamburger > span { display: none; }
  body:not(.home-2026) button.drawer-hamburger::before,
  body:not(.home-2026) button.drawer-hamburger::after {
    content: ''; position: absolute; inset: 5px; pointer-events: none;
    background: url('../img/top-2026/menu.svg') center / contain no-repeat;
    transition: opacity .3s;
  }
  body:not(.home-2026) button.drawer-hamburger::after { background-image: url('../img/top-2026/menu-close.svg'); opacity: 0; }
  body.kh-inner-menu-open button.drawer-hamburger::before { opacity: 0; }
  body.kh-inner-menu-open button.drawer-hamburger::after { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .kh-to-top, .drawer-nav, button.drawer-hamburger::before, button.drawer-hamburger::after { transition: none !important; }
  .effect { display: none !important; }
}

/* List revisions: show complete titles and allow a separate category link. */
.news_archive .article-text, .news_archive .article-text h2 {
  display: block; overflow: visible; white-space: normal;
  -webkit-line-clamp: unset; text-overflow: clip; overflow-wrap: anywhere;
}
.news_archive .news-article > .article-category { display: block; margin-top: 6px; }
.news_archive .article-category a, .news-ttl-category a { display: inline; color: inherit; }
.news_archive .article-category a + a, .news-ttl-category a + a { margin-left: 8px; }
/* TOP and topic archives share the same badge dimensions for both statuses. */
.home-2026 .kh-topic-status,
.news_archive span.kh-topic-status {
  position: absolute; z-index: 2; top: 0; right: 0;
  display: inline-block; box-sizing: border-box; height: auto; margin: 0;
  padding: 4px 8px; border: 1px solid #000; background: #000; color: #fff;
  font-size: 12px; font-weight: 700; line-height: 180%; letter-spacing: .04em;
  white-space: nowrap;
}
.home-2026 .kh-topic-status--open,
.news_archive span.kh-topic-status--open { background: #fff; color: #000; }
.archive_2026 .program-filter-box {
  appearance: none; display: inline-block; border-radius: 0; background: #fff;
  padding: 0; margin-top: 0; margin-bottom: 0; cursor: pointer;
}
.archive_2026 .program-filter-box:checked { background: #fff url('../img/check.png') center / 80% 80% no-repeat; box-shadow: none; }
.archive_2026 .program-filter-box:focus-visible { outline: 2px solid #007f9b; outline-offset: 3px; }
.archive_2026 .program-filter-item { cursor: pointer; }
/* Override legacy contact-form radio rules for the program category filter. */
.archive_2026 .program-filter input.program-filter-box {
  position: static; opacity: 1; visibility: visible; transform: none;
  flex: 0 0 auto; margin-left: 0;
}
.archive_2026 .program-filter label::before,
.archive_2026 .program-filter label::after { content: none; }

/* Keep the index link centered even when either adjacent post is absent. */
.paging ul.kh-detail-paging,
.program-detail_paging ul.kh-detail-paging {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center; column-gap: clamp(12px, 3vw, 30px);
}
.paging ul.kh-detail-paging > li,
.program-detail_paging ul.kh-detail-paging > li { grid-row: 1; margin: 0; }
.kh-detail-paging > .kh-paging-prev { grid-column: 1; justify-self: end; }
.kh-detail-paging > .kh-paging-index { grid-column: 2; text-align: center; }
.kh-detail-paging > .kh-paging-next { grid-column: 3; justify-self: start; }
