
/* ============================================
   FOOTER 強制調整 — 完全安定版（共通設定）
============================================ */

/* フッター本体：全デバイス共通で中央寄せレイアウト */
.site-footer {
  padding: 2rem 1.2rem 1.8rem;
  background: #020617;
  color: #e2e8f0;
  border-radius: 16px 16px 0 0;
  margin-top: 1.6rem;
  font-size: 0.85rem;
}

/* ★ 常に1カラム中央寄せ（PC/モバイル共通） */
.site-footer-inner {
  max-width: 720px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: 1.4rem !important;
}

/* ロゴ＋タイトル全体 */
.footer-brand-center {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.8rem !important;
  width: 100%;
}

/* ロゴとタイトル横並び */
.footer-brand-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.8rem !important;
  text-decoration: none;
  color: inherit;
}

/* ロゴ（HTML側サイズを無効化） */
.footer-logo {
  width: 48px !important;
  height: 48px !important;
  max-width: 48px !important;
  max-height: 48px !important;
  object-fit: cover !important;
  border-radius: 14% !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.30);
  display: block !important;
}

/* サイトタイトル（グラデ文字） */
.footer-brand-title {
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  background: linear-gradient(180deg, #ffffff, #dbeafe 40%, #93c5fd 100%);
  -webkit-background-clip: text;
  color: transparent;
  white-space: nowrap;
}

/* フッターメニュー（中央寄せ） */
.footer-nav {
  margin-top: 0.75rem;
}

.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0 auto !important;
  display: flex !important;
  flex-wrap: wrap;              /* スマホで折り返し OK */
  justify-content: center;
  gap: 1.2rem !important;
  text-align: center;
}

/* コピーライト */
.footer-copy {
  font-size: 0.78rem;
  opacity: 0.7;
  margin-top: 0.8rem;
  width: 100%;
  text-align: center !important;
}

/* ============================================
   PC 調整（768px 以上）
============================================ */
@media (min-width: 768px) {
  .site-footer {
    padding: 2.4rem 1.2rem 2rem;
    font-size: 0.9rem;
  }

  .site-footer-inner {
    max-width: 720px !important;
    gap: 1.4rem !important;
  }

  .footer-logo {
    width: 48px !important;
    height: 48px !important;
  }

  .footer-brand-title {
    font-size: 1rem !important;
  }
}

/* ============================================
   モバイル最適化（767px 以下）
============================================ */
@media (max-width: 767px) {

  .site-footer {
    padding: 1.8rem 1rem 1.6rem;
    font-size: 0.8rem;
  }

  .site-footer-inner {
    max-width: 90% !important;
    gap: 1.6rem !important;
  }

  .footer-logo {
    width: 42px !important;
    height: 42px !important;
  }

  .footer-brand-title {
    font-size: 0.9rem !important;
  }

  /* メニューは少し間隔を詰める */
  .footer-menu {
    gap: 0.9rem !important;
  }
}

/* フッターメニュー：liの癖を消す */
.footer-menu > li {
  margin: 0 !important;
  padding: 0 !important;
}

/* フッターメニュー：リンクの見た目 */
.footer-menu a {
  color: #e2e8f0;
  text-decoration: none;
  opacity: 0.9;
  display: inline-block;
  padding: 0.15rem 0.1rem;
  border-radius: 10px;
}

/* hover */
.footer-menu a:hover {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

/* キーボード操作時（アクセシビリティ） */
.footer-menu a:focus-visible {
  outline: 2px solid rgba(147, 197, 253, 0.9);
  outline-offset: 3px;
  opacity: 1;
}

/* 現在ページ */
.footer-menu .current-menu-item > a,
.footer-menu .current_page_item > a {
  opacity: 1;
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
