
.case-study {
  padding-top: 3rem;
  padding-bottom: 2rem;

  & .title {
    color: #000;
    text-align: center;
    font-size: 2.6rem;
    margin-bottom: 1.6rem;

    &::after {
    content: '';
    display: block;
    width: 4rem;
    height: 0.2rem;
    margin-top: 2.2rem;
    margin-inline: auto;
    background: #000;
    }
  }

  & .subtitle {
    color: #02298B;
    text-align: center;
    font-size: 1.8rem;
    line-height: 1.3;
    font-weight: 700;
  }
}

.company-logos {
  margin-top: 4rem;
  margin-left: -4.4rem;
  margin-right: -4.4rem;
}

.marquee {
  overflow: hidden;
  position: relative;
}

.marquee-inner {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.marquee-line {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.marquee-line img {
  width: 133px;
  max-width: none;
}

#marqueeLeft {
  margin-top: 1rem;
}

/* Animation for leftward scrolling */
@keyframes marquee-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
/* Animation for rightward scrolling */
@keyframes marquee-right {
  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0%);
  }
}

/* Apply animation depending on direction */
.animate-left {
  animation: marquee-left 80s linear infinite 0.5s both;
}

.animate-right {
  animation: marquee-right 60s linear infinite 0.5s both;
}

@media (width < 472px) {
  .is_sp_block {
    display: block;
  }
}

@media (width >= 769px) {
  .case-study {
    padding-bottom: 4rem;

    & .title {
      font-size: 3.2rem;
      margin-bottom: 4rem;
    }

    & .subtitle {
      font-size: 2.6rem;
    }
  }

  .company-logos {
    margin-left: 0;
    margin-right: 0;
  }
  
  .marquee {
    width: 100vw;
  }

  .marquee-line img {
    width: 177px;
  }
}
