#components-users-voice {
  width: 100%;
	background-color: #382A7C;
	padding-block: 64px;

	@media (max-width: 768px) {
		padding-block: 56px 80px;
	}

  .-wrapper {
    max-width: 1200px;
    margin-inline: auto;

    hgroup.heading-component {
      padding-top: 125px;
      
      @media (max-width: 768px) {
          padding-top: 55px;
      }
  }

    &.white {
      .english {
        background: linear-gradient(90deg, rgba(0, 161, 255, 0.20) -6.62%, rgba(255, 48, 206, 0.20) 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;

        @media (max-width: 768px) {
          font-size: 88px;
          top: 0;
      }
      }
  
      .heading {
        color: #ffffff;
        position: relative;
			  z-index: 50;
  
        &::after {
          background-color: #ffffff;
        }
      }
  
      .section-description {
        color: #ffffff;
      }
    }
  }
}

.splide.splide--voice {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  @media (max-width: 768px) {
    margin-top: calc(100vw * (24 / 375));
  }

  .splide__track {
    position: relative;

    .splide__list {
      align-items: flex-end;

      .splide__slide {
        width: min(75%, 384px);
        overflow: hidden;
        cursor: pointer;
        transition: opacity 0.5s;
        opacity: 0.5;

        @media (max-width: 768px) {
          /* width: calc(100vw * (231 / 375)); */
        }

        &.is-active,
        &.is-prev,
        &.is-next {
          width: min(85%, 427px);
          opacity: 1;
          & img {
            border-radius: 20px;
            @media (max-width: 768px) {
              border-radius: 8px;
            }
          }
        }
        &.is-prev,
        &.is-next {
          @media (max-width: 768px) {
            width: min(85%, 308px);
          }
        }
        &.is-active {
          @media (max-width: 768px) {
            & img {
              animation: scaleUp 0.5s forwards;
            }
          }
        }

        & img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          border-radius: 15px;
          transform-origin: center bottom;
          @media (max-width: 768px) {
            border-radius: 8px;
          }
        }
      }
    }
  }
  .splide__arrows {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    gap: 20px;
    order: 3;
    @media (max-width: 768px) {
      margin-top: calc(100vw * (20 / 375));
    }

    .splide__arrow {
      display: none;
      width: 12px;
      height: 12px;
      &.splide__arrow--prev {
        order: -1;
        transform: scaleX(-1);
      }
      & svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
        path {
          fill: #fff;
        }
      }
    }

    .splide__pagination {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      transform: translateY(-1px);
      & li {
      }
      & button {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: solid 1px #fff;
        cursor: pointer;

        &.is-active {
          background-color: #fff;
        }
      }
    }
  }
}

#voice .note-wrapper {
  color: #fff;
  width: 100%;
  max-width: 1080px;
  margin-inline: auto;
}
@media (width < 1280px) {
  #voice .note-wrapper {
    padding-inline: 20px;
  }
}
@media (width < 769px) {
  #voice .note-wrapper {
    width: calc(100vw * (335 / 375));
  }
}
#voice .note-wrapper .note {
  text-align: left;
  font-size: 10px;
  margin-top: 20px;
  @media (width < 769px) {
    text-align: left;
    font-size: calc(100vw * (10 / 375));
  }
}

  
  #voice .card {
    background-color: white;
    border-radius: 1rem;
    box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.05);
    overflow: hidden;
  }
  
  #voice .top {
    display: flex;
    gap: 1.6rem;
    align-items: flex-start;
  }
  
  #voice .top > div {
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
  }
  
  #voice .summary {
    font-weight: 700;
    font-size: 1.4rem;
    line-height: 1.4em;
    color: #992453;
  }
  
  #voice .name {
    font-size: 1rem;
    line-height: 1.6;
  }
  
  #voice .strong {
    font-size: 1.2rem;
    font-weight: 700;
  }
  
  #voice .before_after img {
    width: 70px;
  }
  
  #voice .before p {
    font-size: 1.2rem;
    line-height: 1.6;
    margin-top: 10px;
  }
  
  #voice .before p span {
    font-size: 1.4rem;
    font-weight: 700;
  }
  
  #voice .before {
    position: relative;
    margin-bottom: 2.4rem;
  }
  
  #voice .before:after {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    content: '';
    display: block;
    width: 3.6rem;
    height: 1rem;
    background-color: #dedede;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    transform: translateY(1.6rem);
  }
  
  #voice .after p {
    font-size: 1.2rem;
    line-height: 1.6em;
    margin-top: 10px;
    font-weight: 700;
  }
  
  #voice .after p span {
    font-size: 1.4rem;
    font-weight: 700;
    color: #992453;
  }
  
  #voice .comment::before {
    content: '';
    display: block;
    width: 100%;
    height: 2px;
    background-color: #eee;
    margin-bottom: 1.6rem;
  }
  
  #voice .before_after .strong {
    font-size: 1.2em;
  }
  
  #voice .comment {
    font-size: 1.2rem;
    line-height: 1.8em;
  }
  
  #voice > div > p {
    width: 100%;
    text-align: left;
    margin-top: -2em;
    font-size: 1.2rem;
  }
  
  #voice .note-wrapper {
    width: 100%;
    max-width: 1200px;
    margin-inline: auto;
  }
  @media (width < 1280px) {
    #voice .note-wrapper {
      padding-inline: 20px;
    }
  }
  @media (width < 769px) {
    #voice .note-wrapper {
      width: 100%;
      padding: 0 32px;
    }
  }
  #voice .note-wrapper .note {
    text-align: left;
    font-size: 10px;
    @media (width < 769px) {
      text-align: left;
    }
  }

  #voice .voice-arrows {
    position: absolute;
    margin: auto;
    inset: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1415px;
    height: fit-content;
  
    button {
      width: 64px;
      height: 64px;
  
      @media (width < 769px) {
        width: calc(100vw * (40 / 375));
        height: calc(100vw * (40 / 375));
      }
  
      svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
      }
    }
  }