body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url('../asset/img/_common/BG.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 共通のスタイルを適用 */
.top-page, .common-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 2048px; /* Original width */
    height: 1536px; /* Original height */
    transform-origin: top left; /* スケーリングの原点 */
    box-sizing: border-box;
    overflow: hidden;
    margin: 0;
    padding: 0;
    position: relative; /* 子要素の相対位置を維持 */
}

/* Center the top-page container horizontally with equal margins */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* Full viewport height */
    margin: 0;
    padding: 0;
}

/* 親要素の設定 */
.swiper-wrapper-container {
    position: relative;
    width: 100%; /* 親要素の横幅を100%に設定 */
    height: 100%; /* 親要素の高さも100%に設定 */
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Swiper Container */
.swiper-container {
    width: 84%; /* Swiper自体の横幅を90%に設定 */
    height: 84%; /* Swiperの高さも90%に設定 */
    background-size: cover;
    background-position: center;
    position: relative;
}

/* Swiper Slide */
.swiper-slide {
    background-size: contain; /* 画像が欠けないように調整 */
    background-position: center;
    background-repeat: no-repeat;
}

/* Swiper Slide 内の画像をサイズ調整 */
.swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* 画像がスライド内に収まりつつ、アスペクト比を保持 */
}

/* Swiper Navigation Buttons */
.swiper-button-next, .swiper-button-prev {
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: 60px !important; /* ボタンの幅 */
    height: 60px !important; /* ボタンの高さ */
    background-color: rgba(0, 0, 0, 0.5); /* 背景に透明度を追加 */
    border-radius: 50%; /* ボタンを円形にする */
    position: absolute;
    top: 50%; /* 垂直中央に配置 */
    transform: translateY(-50%);
    z-index: 10;
    transition: transform 0.2s ease;
    pointer-events: auto; /* クリック可能にする */
}

/* デフォルトの矢印を非表示にする */
.swiper-button-next::after, .swiper-button-prev::after {
    content: '' !important; /* デフォルトの矢印アイコンを非表示にする */
    display: none !important;
}

/* ボタンの配置調整 */
.swiper-button-next {
    background-image: url('../asset/img/btn_next.png'); /* カスタムの次へボタン画像 */
    right: -70px; /* swiper-containerの外に配置 */
}

.swiper-button-prev {
    background-image: url('../asset/img/btn_return.png'); /* カスタムの戻るボタン画像 */
    left: -70px; /* swiper-containerの外に配置 */
}

.swiper-button-next:active, .swiper-button-prev:active {
    transform: translateY(-50%) scale(1.1); /* クリック時にボタンを拡大 */
}

.swiper-button-prev {
    background-image: url('../asset/img/btn_return.png');
    left: -70px; /* swiper-containerの外に配置（外側に5%マージン分のスペースを取る） */
}

.swiper-button-next:active, .swiper-button-prev:active {
    transform: translateY(-50%) scale(1.1); /* クリック時にボタンを拡大 */
}

.swiper-button-next:active, .swiper-button-prev:active {
    transform: translateY(-50%) scale(1.1); /* クリック時にボタンを拡大 */
}

.swiper-button-next:active, .swiper-button-prev:active {
    transform: translateY(-50%) scale(1.1); /* クリック時にボタンを拡大 */
}

/* プログレスバーの高さ変更 */
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
    height: 10px;
}

.swiper-pagination-progressbar {
    background-color: #ffb6c1;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #c71585;
}

/* Fade-in effect for page */
.fade-in {
    opacity: 0;
    transition: opacity 0.2s ease-in;
}

.fade-in.show {
    opacity: 1;
}

.fade-out {
    opacity: 0;
    transition: opacity 0.9s ease-out;
}

/* Swiper Navigation Buttons */
.swiper-button-next, .swiper-button-prev {
    background-size: 100% 100%;
    background-repeat: no-repeat;
    width: 150px !important;
    height: 150px !important;
    background-color: transparent;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    transition: transform 0.2s ease;
}

.swiper-button-next:active, .swiper-button-prev:active {
    transform: translateY(-50%) scale(1.1); /* クリック時にボタンを1.1倍に拡大 */
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background-color: #3A8545; /* カラーコードでプログレスバーの色を指定 */
}

.back-to-top {
    position: fixed;
    bottom: 100px;
    left: 20px;
    width: 90px;
    height: 40px;
    z-index: 1000;
    cursor: pointer;
    display: block;
}
.back-to-top img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    transition: transform 0.2s ease;
}
.back-to-top img:hover {
    transform: scale(1.1);
}