/**
 * Footer リニューアル専用スタイル
 * .l-footer--renewal を付与したフッターにのみ適用
 * テーマの他のスタイルより優先して反映させるため専用ファイルで管理
 */

.l-footer.l-footer--renewal {
  background-color: #000000 !important;
  color: #ffffff !important;
  padding: 48px 32px !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal {
    padding: 48px 64px !important;
  }
}
@media (min-width: 1024px) {
  .l-footer.l-footer--renewal {
    padding: 48px 96px !important;
  }
}
@media screen and (max-width: 767px) {
  .l-footer.l-footer--renewal {
    padding: 32px 24px !important;
  }
}

.l-footer.l-footer--renewal .l-footer__container {
  max-width: 1800px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* ロゴ + ナビゲーションエリア */
.l-footer.l-footer--renewal .l-footer__top {
  display: flex !important;
  flex-direction: column;
  gap: 32px;
  margin-bottom: 48px;
}
@media (min-width: 1024px) {
  .l-footer.l-footer--renewal .l-footer__top {
    flex-direction: row !important;
    gap: 64px;
  }
}

.l-footer.l-footer--renewal .l-footer__logo {
  flex-shrink: 0 !important;
  width: 120px !important;
  height: auto !important;
  margin: 0 !important;
}
.l-footer.l-footer--renewal .l-footer__logo a {
  display: block !important;
}
.l-footer.l-footer--renewal .l-footer__logo img {
  width: 120px !important;
  height: auto !important;
  display: block !important;
}

.l-footer.l-footer--renewal .l-footer__navigation {
  flex-grow: 1 !important;
}

.l-footer.l-footer--renewal .l-footer__nav-primary,
.l-footer.l-footer--renewal .l-footer__nav-secondary {
  margin-bottom: 16px !important;
}
.l-footer.l-footer--renewal .l-footer__nav-secondary:last-child {
  margin-bottom: 0 !important;
}

.l-footer.l-footer--renewal .l-footer__nav-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.l-footer.l-footer--renewal .l-footer__nav-link {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: color 0.3s ease !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal .l-footer__nav-link {
    font-size: 16px !important;
  }
}
.l-footer.l-footer--renewal .l-footer__nav-link:hover {
  color: #cccccc !important;
}

/* 店舗一覧エリア */
.l-footer.l-footer--renewal .l-footer__stores {
  margin-bottom: 48px !important;
}

.l-footer.l-footer--renewal .l-footer__stores-title {
  font-size: 16px !important;
  font-weight: 500 !important;
  margin: 0 0 24px 0 !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal .l-footer__stores-title {
    font-size: 18px !important;
  }
}

.l-footer.l-footer--renewal .l-footer__store-area {
  margin-bottom: 32px !important;
}
.l-footer.l-footer--renewal .l-footer__store-area:last-child {
  margin-bottom: 0 !important;
}

.l-footer.l-footer--renewal .l-footer__store-area-header {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 16px !important;
}

.l-footer.l-footer--renewal .l-footer__location-icon {
  width: 16px !important;
  height: 20px !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

.l-footer.l-footer--renewal .l-footer__area-name {
  font-weight: 500 !important;
  font-size: 16px !important;
}

.l-footer.l-footer--renewal .l-footer__store-grid {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px 32px !important;
  padding-left: 24px !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal .l-footer__store-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (min-width: 1024px) {
  .l-footer.l-footer--renewal .l-footer__store-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

.l-footer.l-footer--renewal .l-footer__store-link {
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 14px !important;
  transition: color 0.3s ease !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal .l-footer__store-link {
    font-size: 16px !important;
  }
}
.l-footer.l-footer--renewal .l-footer__store-link:hover {
  color: #cccccc !important;
}

/* 法的リンク */
.l-footer.l-footer--renewal .l-footer__legal {
  margin-bottom: 32px !important;
  padding-bottom: 32px !important;
  border-bottom: 1px solid #333333 !important;
}

.l-footer.l-footer--renewal .l-footer__legal-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 16px 24px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.l-footer.l-footer--renewal .l-footer__legal-list a {
  color: #ffffff !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: color 0.3s ease !important;
}
@media (min-width: 768px) {
  .l-footer.l-footer--renewal .l-footer__legal-list a {
    font-size: 16px !important;
  }
}
.l-footer.l-footer--renewal .l-footer__legal-list a:hover {
  color: #cccccc !important;
}

/* コピーライト */
.l-footer.l-footer--renewal .l-footer__copyright {
  text-align: center !important;
}
.l-footer.l-footer--renewal .l-footer__copyright p {
  font-size: 12px !important;
  color: #ffffff !important;
  margin: 0 !important;
}
