#mv {
  position: relative;
  height: 630px;
  overflow: clip;
  margin-top: 64px;
}

@media screen and (max-width: 999px) {
  #mv {
    margin-top: 48px;
    height: 530px;
  }

  .mv__slideItemsWrapper {
    height: 530px;
  }

  .mv__slideItems.slick-list {
    height: 530px;
  }

  .mv__slideItems.slick-track {
    height: 530px;
  }
}

#mv::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #f9f9f9;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 45.5%;
  z-index: -1;
}

.mv__container {
  width: 93.25%;
}

@media screen and (max-width: 999px) {
  .mv__container {
    width: 82.6%;
  }
}

.mv__slideItemsWrapper {
  position: relative;
  width: 100%;
  height: 630px;
  overflow: hidden;
}

/* Slickスライダーのスタイル */
.mv__slideItems.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.mv__slideItems.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
  height: 630px;
}

.mv__slideItems.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  height: 630px;
}

.mv__slideItems .slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

.mv__slideItems .slick-slide.slick-active {
  display: block;
}

.mv__slideItems .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* フェード効果のための追加スタイル */
.mv__slideItems.slick-slider .slick-track,
.mv__slideItems.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.mv__slideItem {
  width: 100%;
}

.mv__text {
  display: flex;
  flex-direction: column;
  gap: 21.5px;
  position: absolute;
  top: 14.4%;
  left: 7.1%;
}

@media screen and (max-width: 999px) {
  .mv__text {
    top: 10.3%;
    gap: 12px;
    left: 5.1%;
  }
}

.mv__text h2 {
  font-family: "Zen Kaku Gothic Antique";
  font-weight: bold;
  font-size: 31px;
  letter-spacing: 0.1em;
  line-height: 1.48387096774;
  text-align: left;
  color: #fff;
}

@media screen and (max-width: 999px) {
  .mv__text h2 {
    font-family: "Zen Kaku Gothic Antique";
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 30px;
    text-align: left;
    color: #fff;    
  }
}

.mv__text p {
  font-family: Outfit;
  font-weight: normal;
  font-size: 16px;
  letter-spacing: 0.12em;
  text-align: left;
  color: #fff;
}

@media screen and (max-width: 999px) {
  .mv__text p {
    font-family: Outfit;
    font-weight: normal;
    font-size: 13px;
    letter-spacing: 0.12em;
    line-height: 17px;
    text-align: left;
    color: #fff;    
  }
}

.mv__textBar {
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.mv__circles {
  position: absolute;
  top: 3%;
  right: 2.5%;
  z-index: 4;
}

@media screen and (max-width: 767px) {
  .mv__circles {
    top: -1%;
    right: 2%;
    z-index: 4;
    scale: 0.55;
  }
}

.mv__circle {
  position: relative;
}
.mv__circle::before {
  position: absolute;
  display: block;
  content: "";
  background-color: #000;
  width: 5px;
  height: 5px;
  transform: translate(50%, -50%);
  top: 50%;
  right: 50%;
  border-radius: 50%;
}

.mv__circle svg {
  background-color: transparent;
  stroke: transparent;
}

.mv__circle svg circle {
  background-color: transparent;
  stroke: transparent;
}

.mv__circle svg {
  position: relative;
  width: 40px;
  height: 40px;
}

@media screen and (max-width: 767px) {
  .mv__circle svg {
    position: relative;
    width: 40px;
    height: 40px;
  }
}

.mv__circle svg circle {
  position: relative;
  fill: none;
  stroke-width: 1;
  stroke: transparent;
  stroke-dasharray: 119.38;
  stroke-dashoffset: 119.38;
  stroke-linecap: round;
}

/* 基本の円（背景） - 非アクティブ時は透明 */
.mv__circle svg circle.base {
  stroke: transparent;
  opacity: 0;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
}

/* プログレス円（進行状況） */
.mv__circle svg circle.line {
  stroke: transparent;
  opacity: 0;
  stroke-dasharray: 119.38;
  stroke-dashoffset: 119.38;
}

/* アクティブな円形プログレスバー */
.mv__circle--active svg circle.base {
  stroke: #a5a5a5;
  opacity: 0.3;
}

.mv__circle--active svg circle.line {
  stroke: #000;
  opacity: 1;
  transition: stroke-dashoffset 0.1s linear;
}

/* 1番目の円（特別な処理） */
.mv__circle--1--active svg circle.base {
  stroke: #a5a5a5;
  opacity: 0.3;
}

.mv__circle--1--active svg circle.line {
  stroke: #000;
  opacity: 1;
  transition: stroke-dashoffset 0.1s linear;
}

.p-mv1aScroll {
  width: 1.5rem;
  height: 16.7rem;
}

.p-mv1aScroll::before,
.p-mv1aScroll::after {
  content: "";
  position: absolute;
  left: 90%;
  transform: translateX(-50%);
}

.p-mv1aScroll::before {
  width: 1px;
  height: 95px;
  background-color: #fff;
  z-index: 1;
  bottom: 27px;
  left: 90%;
}

@media (min-width: 768px) and (max-width: 999px) {
  .p-mv1aScroll::before {
    height: 45px;
  }
}

.p-mv1aScroll::after {
  width: 7px;
  height: 7px;
  background-color: #fff;
  border-radius: 50%;
  z-index: 1;
}

.p-mv1aScroll::after {
  -webkit-animation: circleMoveMv1a 4s ease-in-out infinite;
  animation: circleMoveMv1a 4s ease-in-out infinite;
}

.mv__medals {
  position: absolute;
  bottom: 5.7%;
  left: 5.6%;
  width: 100%;
  max-width: 476px;
}

@media screen and (max-width: 999px) {
  .mv__medals {
    max-width: 273px;
    bottom: 7.2%;
    left: 5.1%;
  }
}

.mv__medals img {
  width: 100%;
  height: 100%;
}
