.subpage-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(14px);
}

.subpage-nav {
  display: flex;
  align-items: center;
  gap: clamp(12px,1.5vw,24px);
  color: var(--deep);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.subpage-nav a { position: relative; padding: 28px 0; }
.subpage-nav a::after { content: ""; position: absolute; right: 100%; bottom: 20px; left: 0; height: 2px; background: var(--green); transition: right .2s; }
.subpage-nav a:hover::after, .subpage-nav a:focus-visible::after, .subpage-nav a[aria-current="page"]::after { right: 0; }
.subpage-nav a[aria-current="page"] { color: var(--green); }

.subpage-menu-toggle {
  display: none;
  padding: 10px;
  background: transparent;
  border: 0;
  cursor: pointer;
}

.subpage-menu-toggle span { display: block; width: 26px; height: 2px; margin: 5px; background: var(--deep); }
.subpage-footer-logo { display: block; width: min(180px,40vw); height: auto; }
.activity-board-footer, .notice-footer, .purpose-page-footer, .support-page-footer, .contact-page-footer, .business-page-footer { justify-content: flex-start; padding: 28px max(6vw,calc((100vw - 1180px)/2)); }

@media (max-width: 1050px) {
  .subpage-menu-toggle { display: block; }
  .subpage-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 10px 22px 22px; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 15px 25px rgba(0,0,0,.06); }
  .subpage-nav.open { display: flex; }
  .subpage-nav a { padding: 14px 4px; }
  .subpage-nav a::after { bottom: 8px; }
}

@media (max-width: 700px) {
  .activity-board-footer, .notice-footer, .purpose-page-footer, .support-page-footer, .contact-page-footer, .business-page-footer { padding: 24px 22px; }
  .subpage-footer-logo { width: min(140px,39vw); }
}
