/* 合格者の声 スライダー */
.episode {
  position: relative;
  /* width: 100vw; */
  width: 100%;
  /* margin: 0 calc(50% - 50vw); */
  margin: 0 auto;
  /* padding: clamp(1rem, 0.318rem + 2.91vw, 2.5rem) 0; */
  padding: 4px 0 clamp(1rem, 0.318rem + 2.91vw, 2.5rem);
  overflow-x: hidden;
}

.episode__swiper {
  /* width: calc(100% - 21.2vw); */
  width: 84%;
  max-width: 624px;
  margin: 0 auto;
}

.episode .voice-swiper {
  overflow: visible;
}

.episode .voice-swiper .voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: clamp(28.75rem, 16.226rem + 53.435vw, 41.875rem);
  padding: clamp(1rem, 0.523rem + 2.036vw, 1.5rem) clamp(1rem, -0.908rem + 8.142vw, 3rem);
  background-color: #fff;
  -webkit-box-shadow: 0px 0px 6px 0px rgba(0, 167, 233, 0.2);
  box-shadow: 0px 0px 6px 0px rgba(0, 167, 233, 0.2);
}

@media (min-width: 768px) {
  .episode .voice-swiper .voice {
    padding: 25px 48px;
  }
}

.episode .voice-swiper .voice.swiper-slide-prev {
  visibility: hidden;
}

.episode .voice-swiper .voice.swiper-slide-hidden {
  visibility: hidden;
}

.episode .voice-swiper .voice__flex {
  display: grid;
  grid-template-columns: clamp(6.25rem, 3.566rem + 11.45vw, 9.0625rem) 1fr;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: clamp(0.625rem, -0.21rem + 3.562vw, 1.5rem);
  margin-bottom: 1rem;
}

.episode .voice-swiper .voice__info p {
  font-size: clamp(0.8125rem, 0.634rem + 0.763vw, 1rem);
}

.episode .voice-swiper .voice__info--university {
  margin-bottom: 0.8rem;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
}

.episode .voice-swiper .voice__info--university span {
  font-weight: 400;
}

.episode .voice-swiper .voice__score {
  width: 92%;
  margin: 0 auto 0.5rem;
  background-color: #eff4f6;
  text-align: center;
}

@media (min-width: 768px) {
  .episode .voice-swiper .voice__score {
    width: 100%;
  }
}

.episode .voice-swiper .voice__score p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.34rem;
  margin: 0 auto;
  color: #0c3186;
  font-size: clamp(0.75rem, 0.511rem + 1.018vw, 1rem);
}

.episode .voice-swiper .voice__score p .arrow {
  font-size: 6px;
}

.episode .voice-swiper .voice__score p span {
  font-size: clamp(0.875rem, 0.636rem + 1.018vw, 1.125rem);
  font-weight: 600;
}

.episode .voice-swiper .voice__title {
  width: 92%;
  margin: 0 auto;
  color: #0c3186;
  font-size: clamp(0.9375rem, 0.401rem + 2.29vw, 1.5rem);
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}

@media (min-width: 768px) {
  .episode .voice-swiper .voice__title {
    width: 100%;
    text-align: left;
  }
}

.episode .voice-swiper .voice__txt {
  width: 92%;
  margin: 1rem auto 0;
  font-size: clamp(0.8125rem, 0.634rem + 0.763vw, 1rem);
}

@media (min-width: 768px) {
  .episode .voice-swiper .voice__txt {
    width: 100%;
  }
}

.episode .voice-swiper .voice__txt p + p {
  margin-top: 1rem;
}

.episode .voice-swiper .voice__txt p {
  display: -webkit-box;
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: 5;
  /* 行数を制限 */
  overflow: hidden;
  /* はみ出た部分を非表示 */
}

@media (min-width: 768px) {
  .episode .voice-swiper .voice__txt p {
    -webkit-line-clamp: 8;
  }
}

.episode .voice-swiper .voice__txt p span {
  color: #0c3186;
  font-weight: 600;
  background-color: #fffd03;
  padding: 0 0.4rem;
}

.episode .voice-swiper .voice__more {
  text-align: center;
  margin: auto auto 0;
  cursor: pointer;
}

.episode .voice-swiper .voice__more img {
  width: clamp(3.4375rem, 2.841rem + 2.545vw, 4.0625rem);
  margin: 0.55rem auto 0;
  -o-object-fit: contain;
  object-fit: contain;
}

.episode .swiper-button-prev {
  background-image: url(https://dialo.jp/images/interview2024/swiper-button-prev.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(2rem, 1.523rem + 2.036vw, 2.5rem);
  height: clamp(2rem, 1.523rem + 2.036vw, 2.5rem);
  left: calc(clamp(1rem, 0.761rem + 1.018vw, 1.25rem) * -1);
}

.episode .swiper-button-prev.swiper-button-disabled {
  opacity: 0;
}

.episode .swiper-button-next {
  background-image: url(https://dialo.jp/images/interview2024/swiper-button-next.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: clamp(2rem, 1.523rem + 2.036vw, 2.5rem);
  height: clamp(2rem, 1.523rem + 2.036vw, 2.5rem);
  right: calc(clamp(1rem, 0.761rem + 1.018vw, 1.25rem) * -1);
}

.episode .swiper-button-next.swiper-button-disabled {
  opacity: 0;
}

.episode .swiper-pagination {
  position: relative;
  bottom: initial;
  margin-top: 10px;
}

.episode .swiper-pagination .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 12px;
  background-color: #fff;
  opacity: 1;
  border: solid 1px #0c3186;
}

@media (min-width: 768px) {
  .episode .swiper-pagination .swiper-pagination-bullet {
    margin: 0 10px;
  }
}

.episode .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #0c3186;
}

.episode__swiper {
  position: relative;
}

.episode .modal {
  display: none;
  place-items: center;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(51, 51, 51, 0.8);
}

.episode .modal .voice-swiper {
  display: grid;
  place-items: center;
  width: 86%;
  max-width: 624px;
  margin: 0 auto;
}

.episode .modal .voice-swiper .voice__scroll {
  height: 470px;
  overflow-y: scroll;
}

.episode .modal .voice-swiper .voice__txt p {
  display: block;
  /* 必須 */
  -webkit-box-orient: vertical;
  /* 必須 */
  -webkit-line-clamp: initial;
  /* 行数を制限 */
  overflow: auto;
  /* はみ出た部分を非表示 */
}

.episode .modal .voice-swiper .voice__txt p span {
  color: #0c3186;
  font-weight: 600;
  background-color: #fffd03;
  padding: 0 0.4rem;
}

.episode .close {
  position: absolute;
  top: 1%;
  right: 1%;
  color: #fff;
  float: right;
  font-size: clamp(1.375rem, 0.898rem + 2.036vw, 1.875rem);
  font-weight: bold;
}

@media (min-width: 768px) {
  .episode .close {
    top: 3%;
    right: 3%;
  }
}

.episode .close:hover,
.episode .close:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.episode .swiper-button-prev::after,
.episode .swiper-button-next::after {
  display: none;
}
