/* トップMV専用。既存のサイズ・captionの位置を引き継ぎます。 */
.banner__image.lily-mv { position: relative; }
.banner__image.lily-mv > .lily-mv__stage { position: relative; overflow: hidden; isolation: isolate; }
.banner__image.lily-mv .lily-mv__slide { display: block; width: 100%; height: 100%; opacity: 0; position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.banner__image.lily-mv .lily-mv__slide:first-child { position: relative; }
.banner__image.lily-mv .lily-mv__slide.is-active { opacity: 1; z-index: 1; }
.banner__image.lily-mv .lily-mv__slide img { display: block; width: 100%; height: 100%; object-fit: cover; transform-origin: center; }
.banner__image.lily-mv .lily-mv__slide.is-running img { animation: lily-mv-zoom 25s linear both; }
.banner__image.lily-mv .lily-mv__slide.is-entering { z-index: 2; animation: lily-mv-reveal var(--lily-mv-transition, 3000ms) ease-in-out both; }
.banner__image.lily-mv .lily-mv__stage.is-paused .lily-mv__slide,
.banner__image.lily-mv .lily-mv__stage.is-paused img { animation-play-state: paused; }
.banner__image.lily-mv > .caption { z-index: 3; }
.banner__image.lily-mv .lily-mv__pause { position: absolute; bottom: 14px; right: 14px; z-index: 4; padding: 8px 12px; min-height: 44px; border: 1px solid rgba(255,255,255,.75); border-radius: 0; background: rgba(0,0,0,.45); color: #fff; font-size: 12px; cursor: pointer; }
.banner__image.lily-mv .lily-mv__pause[hidden] { display: none; }
.banner__image.lily-mv .lily-mv__pause:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
@keyframes lily-mv-zoom { from { transform: scale(1.02); } to { transform: scale(1.18); } }
@keyframes lily-mv-reveal { from { opacity: 0; filter: blur(8px); } to { opacity: 1; filter: blur(0); } }
@media (prefers-reduced-motion: reduce) {
    .banner__image.lily-mv .lily-mv__slide,
    .banner__image.lily-mv .lily-mv__slide img { animation: none !important; }
}
/* 初期表示をズーム開始時と同じ倍率にして、跳ねを防ぐ */
.banner__image.lily-mv .lily-mv__slide img {
    transform: scale(1.02);
}

/* 動きを減らす設定の場合は拡大しない */
@media (prefers-reduced-motion: reduce) {
    .banner__image.lily-mv .lily-mv__slide img {
        transform: none;
    }
}