/* ========================================
   フッター（Laravel版準拠 — 黒背景）
   ======================================== */

#footer {
  margin-top: 110px;
}

/* ページトップに戻る（右下固定／スクロール連動表示） */
#pageTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 900;
  margin: 0;
}

#pageTop a {
  display: block;
  cursor: pointer;
  border-bottom: none;
}

#pageTop a:hover {
  opacity: 0.7;
  border-bottom: none;
}

#pageTop img {
  display: block;
  width: 50px;
  height: auto;
}

/* スクロール連動でゆっくり出現（Scroll-driven Animations 対応ブラウザ） */
@supports (animation-timeline: scroll()) {
  #pageTop {
    opacity: 0;
    transform: translateY(1rem);
    pointer-events: none;
    animation: pageTopReveal linear both;
    animation-timeline: scroll(root block);
    /* スクロール 100px 地点から出始め、400px 地点で完全表示 */
    animation-range: 100px 400px;
  }
}

@keyframes pageTopReveal {
  from {
    opacity: 0;
    transform: translateY(1rem);
    pointer-events: none;
  }
  to {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }
}

@media (max-width: 767px) {
  #pageTop {
    right: 12px;
    bottom: 12px;
  }

  #pageTop img {
    width: 42px;
  }
}

/* フッターコンテンツ */
.footer-content {
  background: var(--color-bg-dark);
  color: var(--color-text-white);
  padding: 20px 0;
  min-height: 130px;
}

/* フッターメニュー */
.footer-content ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-content ul li {
  margin: 0 10px;
  padding: 0 10px;
  border-right: 1px solid var(--color-text-white);
}

.footer-content ul li:last-child {
  border-right: none;
}

.footer-content ul li a {
  color: var(--color-text-white);
  font-size: var(--text-sm);
  text-decoration: none;
  border-bottom: none;
  display: flex;
  align-items: center;
}

.footer-content ul li a:hover {
  opacity: 0.7;
  border-bottom: none;
  color: var(--color-text-white);
}

/* コピーライト */
.footer-content small {
  display: block;
  text-align: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--color-text-white);
  font-size: var(--text-xs);
}

/* ========================================
   レスポンシブ: SP
   ======================================== */

@media (max-width: 767px) {
  #footer {
    margin-top: 100px;
  }

  .footer-content ul {
    flex-direction: column;
    align-items: center;
  }

  .footer-content ul li {
    border-right: none;
    margin: 4px 0;
  }
}
