.c-brands-grid__section {
  margin-top: calc(var(--vw) * 80);
}

.c-brands-grid {
  width: 100%;
  padding-left: calc(var(--vw) * 16);
  padding-right: calc(var(--vw) * 16);
  transition: height 0.3s ease-in-out;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: calc(var(--vw) * 20);
  @media (min-width: 1024px) {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--vw) * 16);
    max-width: calc(var(--vw) * 1033);
    margin: auto;
  }
}

.c-brands-grid--margin-b {
  margin-bottom: calc(var(--vw) * 40);
}

.c-brands-grid--home {
  height: calc(var(--vw) * 74 * 2 + var(--vw) * 20); /* height * 2 rows + gap */
  @media (min-width: 1024px) {
    height: calc(var(--vw) * 97 * 2 + var(--vw) * 20); /* height * 2 rows + gap */
  }
  overflow: hidden;
}
.c-brands-grid--open {
  height: max-content;
}


.c-brands-grid__title {
  font-size: calc(var(--vw) * 40);
  line-height: calc(var(--vw) * 46);
  margin-bottom: calc(var(--vw) * 24);
}

.c-brands-grid__item {
  border: 1px solid var(--gray-200);
  border-radius: calc(var(--vw) * 8);
  width: calc(var(--vw) * 74);
  aspect-ratio: 1 / 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(var(--vw) * 9);
  justify-content: center;
  overflow: hidden;
  text-decoration: none;
  position: relative;
}

@media (min-width: 1024px) {
  .c-brands-grid__item {
    width: calc(var(--vw) * 97);
  }
}

.c-brands-grid__item-img {
  object-fit: contain;
  width: calc(var(--vw) * 32);
  height: calc(var(--vw) * 32);
  position: absolute;
  top: calc(var(--vw) * 14);
  left: 50%;
  transform: translateX(-50%);
  @media (min-width: 1024px) {
    top: calc(var(--vw) * 16);
    width: calc(var(--vw) * 40);
    height: calc(var(--vw) * 40);
  }
}

.c-brands-grid__item-text {
  font-size: calc(var(--vw) * 9);
  line-height: calc(var(--vw) * 10);
  text-decoration: none;
  text-align: center;
  position: absolute;
  bottom: calc(var(--vw) * 7);
  left: 50%;
  transform: translateX(-50%);
  @media (min-width: 1024px) {
    bottom: calc(var(--vw) * 16);
    font-size: calc(var(--vw) * 11);
    line-height: calc(var(--vw) * 17);
  }
}

.c-brands-grid__button {
  display: flex;
  justify-content: center;
  margin-top: calc(var(--vw) * 24);
}

@media (min-width: 1024px) {
  .c-brands-grid--margin-b {
    margin-bottom: calc(var(--vw) * 80);
  }
}

.c-brands-grid__show-more {
  margin-top: calc(var(--vw) * 24);
  display: none;
}
