.top-image-slider-wrap {
    position: relative;
    width: 100%;
    height: calc(var(--vh, 1vh) * 65); /* 動的に計算された高さを使用 */
    overflow: hidden;
}

.top-image-bg-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100%; /* 元の設定を維持 */
    z-index: 1;
}

.top-image-bg-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%; /* 元の比率を維持 */
    height: 100%; /* 元の比率を維持 */
    background-size: cover; /* 背景画像の見え方を維持 */
    background-position: center; /* 背景画像の位置を維持 */
    transition: opacity 1.2s; /* フェードイン・アウトのアニメーション */
    z-index: 1;
}

.top-image-bg-slide.active {
    opacity: 1;
    z-index: 2;
}

.top-image-fg-center {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.top-image-fg-center img {
    max-width: 480px;
    max-height: 70vh;
    width: 100%;
    height: auto;
}
