/* 全ページ共通ハンバーガーメニュー。項目色とアイコンをデスクトップと揃える。 */
@media (max-width: 900px) {
 body.top-mobile-menu-open .site-header { z-index: 101; }
 body .mobile-menu {
  position: fixed; inset: 142px 12px auto; width: auto;
  max-height: calc(100vh - 158px); max-height: calc(100dvh - 158px);
  overflow-y: auto; overscroll-behavior: contain; padding: 12px;
  background: #fff; border: 1px solid #dbe3e8; border-radius: 14px;
  box-shadow: 0 12px 36px rgba(17, 39, 52, .22); z-index: 1001;
 }
 body .mobile-menu.active { display: block; }
 body .mobile-menu ul { padding: 0; margin: 0; list-style: none; }
 body .mobile-menu ul > li {
  position: static; flex: none; max-width: none; margin: 0 0 8px;
  padding: 0; border: 0; text-align: left;
 }
 body .mobile-menu ul > li:last-child { margin-bottom: 0; }
 body .mobile-menu .top-mobile-link {
  display: flex; align-items: center; gap: 14px; min-height: 58px;
  padding: 12px 14px; box-sizing: border-box; border-radius: 9px;
  background: var(--mobile-row-bg); color: #243540;
  text-align: left; text-decoration: none;
  font-family: var(--rishiri-jp, "Noto Sans JP", sans-serif); font-size: 16px; font-weight: 700; line-height: 1.55;
 }
 body .mobile-menu .top-mobile-icon {
  display: block; flex: 0 0 30px; width: 30px; height: 30px; color: var(--mobile-icon-color);
 }
 body .mobile-menu .top-mobile-label { margin: 0; display: block; white-space: normal; font-size: inherit; line-height: inherit; }
 body .mobile-menu .top-mobile-link:focus-visible { outline: 3px solid var(--mobile-icon-color); outline-offset: -3px; }
 body .mobile-menu .top-mobile-link:active { filter: brightness(.96); }
}

