#mv {
  position: relative;
  height: 695px;
  overflow: clip;
  margin-top: 84px;
}

@media screen and (max-width: 999px) {
  #mv {
    margin-top: 48px;
    height: 615px;
  }
  
  .mv__slideItemsWrapper {
    height: 615px;
  }
  
  .mv__slideItems.slick-list {
    height: 615px;
  }
  
  .mv__slideItems.slick-track {
    height: 615px;
  }
}

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

.mv__container {
  width: 91.009%;
}

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

.mv__slideItemsWrapper {
  position: relative;
  width: 100%;
  height: 695px;
  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: 695px;
}

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

.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;
  border-radius: 0 60px 0 0;
}

/* フェード効果のための追加スタイル */
.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: 17.5px;
  position: absolute;
  top: 11%;
  left: 4.6%;
}

@media screen and (max-width: 999px) {
  .mv__text {
    top: 8%;
    gap: 13px;
  }
}

.mv__text h2 {
  font-family: "Noto Serif JP";
  font-weight: 500;
  font-size: 30px;
  letter-spacing: 0.14em;
  line-height: 1.66666666667;
  color: #fff;
}

@media screen and (max-width: 999px) {
  .mv__text h2 {
    font-family: "Noto Serif JP";
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.14em;
    line-height: 1.65;
    text-align: left;
    color: #fff;
  }
}

.mv__text p {
  font-family: Inter;
  font-weight: normal;
  font-size: 14px;
  letter-spacing: 0.12em;
  line-height: 2.14285714286;
  text-align: left;
  color: #fff;
}

@media screen and (max-width: 999px) {
  .mv__text p {
    font-family: Inter;
    font-weight: normal;
    font-size: 9px;
    letter-spacing: 0.12em;
    line-height: 2.11111111111;
    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: 0%;
    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%, -80%);
  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: 60px;
  height: 60px;
}


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

.mv__circle svg circle {
  position: relative;
  fill: none;
  stroke-width: 1;
  stroke: transparent;
  stroke-dasharray: 182.2;
  stroke-dashoffset: 182.2;
  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: 182.2;
  stroke-dashoffset: 182.2;
}

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

.mv__circle--active svg circle.line {
  stroke: red;
  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: red;
  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;
}

