/* ===== MV Slider ===== */
.mv-wrap { position: relative; overflow: hidden; background: #111; }
.mv-swiper { width: 100%; }
.mv-swiper .swiper-slide a { display: block; width: 100%; }
.mv-swiper .swiper-slide picture { display: block; width: 100%; line-height: 0; }
.mv-swiper .swiper-slide img { width: 100%; height: auto; display: block; }

.mv-catch {
  position: absolute;
  left: 8%;
  bottom: 18%;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
  z-index: 10;
  pointer-events: none;
  line-height: 1.3;
}

.mv-ui {
  position: absolute;
  bottom: 72px;
  display: flex;
  align-items: center;
  gap: 10px;
  z-index: 10;
  margin-left: 214px;
}

.mv-bars { display: flex; align-items: center; gap: 8px; }

.mv-bar-btn {
  background: none;
  border: none;
  padding: 6px 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.mv-bar-track {
  display: block;
  width: 124px;
  height: 5px;
  background: rgba(255, 255, 255, .3);
  position: relative;
  overflow: hidden;
}

.mv-bar-fill {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 100%;
  background: rgb(108, 179, 58);
}

.mv-bar-btn.is-done .mv-bar-fill { width: 100%; }

.mv-bar-btn.is-active .mv-bar-fill {
  animation: mvBarFill var(--mv-delay, 5s) linear forwards;
}


@keyframes mvBarFill {
  from { width: 0; }
  to   { width: 100%; }
}

.mv-toggle {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .7);
  background: rgba(0, 0, 0, .25);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}

.mv-toggle:hover { background: rgba(0, 0, 0, .45); }

#mvIconPlay { display: none; }

  /* 2nd MV slide: underline animation on hover */
  .mv-slide--article{position:relative;display:block;width:100%;}
  .mv-article-underline{
    position:absolute;bottom:56px;left:50%;transform:translateX(-50%);
    width:0;height:1px;background:#fff;
    pointer-events:none;z-index:5;
    transition:width .5s ease;
  }
  .mv-slide--article:hover .mv-article-underline{width:480px;}
  @media(max-width:900px){
    .mv-article-underline{bottom:44px;}
    .mv-slide--article:hover .mv-article-underline{width:80%;}
  }

.mv-slide--article:hover .mv-article-underline { width: 480px; }

@media (max-width: 900px) {
  .mv-catch { font-size: 1.5rem; bottom: 25%; }
  .mv-bar-track { width: 56px; }
  .mv-ui { bottom: 26px; margin-left: 24px;}
  .mv-article-underline { bottom: 44px; }
  .mv-slide--article:hover .mv-article-underline { width: 80%; }
}

.mv02-link { position: relative; display: block; }

.mv02-link::after {
    content: "";
    position: absolute;
    right: 1%;
    bottom: 2%;
    width: 40vw;
    max-width: 40%;
    height: 2px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform .45s ease;
}
.mv02-link:hover::after { transform: scaleX(1); }

