/* ==========================================================================
   共通フッターCSS（TOPページ・下層ページ共通）
   ・style.css の .site-footer 系クラスをベースに、内部構成のみを差し替える
   ・index.html / events.html / news.html すべてから読み込む
   ・#4E454A・既存フォント・style.cssのコンテナ幅トークンは変更しない
   ・.site-footer 自体（背景色・左右padding・ナビ分の余白相殺トリック）は
     style.css の定義を維持し、上下paddingのみここで上書きする
   ・固定ナビ・MENUボタンの終了トリガーはページによって異なるため、
     その制御ロジックはページ種別ごとのJSファイルに分けている
     （TOP：js/top-footer.js／下層：js/subpage-menu.js）
   ========================================================================== */

.site-footer {
  padding-top: 48px;
  padding-bottom: 28px;
}

/* --------------------------------------------------------------------------
   左：ロゴのみ（住所・電話番号は掲載しない）
   ・.site-footer__logo / .site-footer__logo-en は style.css の定義をそのまま使用
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   右：フッターナビゲーション（静かな2列）
   ・情報量は増えるが、大きな見出しにはせず、番号は名称を補助する程度の
     控えめなサイズ・トーンに留める
   -------------------------------------------------------------------------- */
.site-footer__nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 200px));
  grid-template-rows: repeat(3, auto);
  grid-auto-flow: column;
  column-gap: 44px;
  row-gap: 13px;
}

.site-footer__nav-link {
  display: inline-flex;
  align-items: baseline;
  gap: 9px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.78);
  font-family: var(--font-sans);
  font-size: 13px;
  letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
.site-footer__nav-number {
  font-family: var(--font-serif-en);
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.4);
  transition: color 0.2s ease;
}
.site-footer__nav-ext {
  font-size: 0.75em;
  color: rgba(255, 255, 255, 0.4);
  margin-left: 1px;
}
a.site-footer__nav-link:hover {
  color: #ffffff;
  text-decoration: none; /* style.css に残る旧フッター用ルール
                             .site-footer__nav a:hover { text-decoration: underline; }
                             が新しいリンクにも掛かってしまうため、詳細度を合わせて打ち消す */
}
.site-footer__nav-link:hover .site-footer__nav-number {
  color: rgba(255, 255, 255, 0.75);
}

/* 06 お問い合わせ：Googleフォームの正式URLが未確定の間は href を持たないため、
   クリック可能に見えないよう控える（情報としては表示する） */
.site-footer__nav-link[aria-disabled="true"] {
  cursor: default;
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   フッター下部：プライバシーポリシー（線の上・左揃え）→ 線 → Copyright（中央）
   -------------------------------------------------------------------------- */
.site-footer__bottom {
  max-width: var(--container-max);
  margin: 26px auto 0;
}
.site-footer__privacy-row {
  display: flex;
  justify-content: flex-start;
  margin-bottom: 10px;
}
.site-footer__bottom-line {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding-top: 14px;
  text-align: center;
}
.site-footer__copyright {
  font-family: var(--font-serif-en);
  font-size: 11px;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.45);
  margin: 0;
}
.site-footer__privacy {
  font-family: var(--font-sans);
  font-size: 12px;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.2s ease;
}
.site-footer__privacy:hover {
  color: #ffffff;
}

/* --------------------------------------------------------------------------
   右固定ナビゲーション・MENUボタン：フッター／Heroアクセント帯には残さない
   ・.side-nav（TOPのみ存在） / .menu-toggle は position:fixed のままだが、
     ページ種別ごとのJS（js/top-footer.js または js/subpage-menu.js）が
     終了タイミングで .is-released を付与し、position:absolute に切り替える
   -------------------------------------------------------------------------- */
.side-nav.is-released,
.menu-toggle.is-released {
  position: absolute;
}

/* --------------------------------------------------------------------------
   レスポンシブ：スマートフォン（〜767px）
   ・.site-footer__inner の縦積み（flex-direction: column）は
     style.css 側の既存レスポンシブ定義をそのまま使用する
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .site-footer__nav {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 20px;
  }
  .site-footer__bottom {
    margin-top: 30px;
  }
  .site-footer__privacy-row {
    margin-bottom: 18px;
  }
  .site-footer__bottom-line {
    padding-top: 18px;
  }
}