/* ========== ロゴセクション ========== */
.logo-section {
  background-color: #f9f9f9;
  padding: 1.5rem 0;
  color: #fff;
  overflow: hidden;
  margin-bottom: 0;
}

.logo-section h2 {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 2rem;
  color: #333;
}

/* スライダー全体ラッパー */
.logo-slider-wrapper {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0.5rem 0;
}

/* 各スライダー行（共通） */
.logo-slider-row {
  display: flex;
  list-style: none;
  padding: 0.25rem 0;
  margin: 0;
  min-width: 200%;
  animation-duration: 40s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

/* アニメーション設定 */
.scroll-left {
  animation-name: scrollLeft;
}

.scroll-right {
  animation-name: scrollRight;
}

@keyframes scrollLeft {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes scrollRight {
  0%   { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

/* ロゴアイテム */
.logo-item {
  flex: 0 0 auto;
  margin-right: 1.5rem;
}

.logo-item:last-child {
  margin-right: 0;
}

/* ロゴボックス（白背景・中央寄せ） */
.logo-box {
  width: 120px;
  height: 70px;
  background-color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);
}

/* ロゴ画像（中央＋余白あり） */
.logo-box img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
}

/* ========== モバイル対応 ========== */
@media (max-width: 640px) {
  .logo-section {
    padding: 1rem 0;
  }

  .logo-slider-wrapper {
    gap: 0.5rem;
    padding: 0.25rem 0;
  }

  .logo-item {
    margin-right: 0.75rem;
  }

  .logo-box {
    width: 80px;
    height: 50px;
  }

  .logo-box img {
    max-width: 80%;
    max-height: 80%;
  }
}
