body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-image: url('../asset/img/_common/bg001.jpg');
    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;
}

.image-row {
    display: flex;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    width: 100%; /* Set the width to 100% */
    padding: 0;
    margin: 0;
    position: relative; /* Ensure that the overlay images are positioned relative to this row */
}

.image-row:first-of-type {
    margin-top: 9.8%; /* Margin-top moved from inline style */
}

.full-width-image {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}

.half-width-image {
    width: 100%;
    height: 100%; /* Ensure images have the same height */
    margin: 0;
    padding: 0;
    position: relative;
    object-fit: contain; /* Maintain aspect ratio */
}

.overlay-image-pure, .overlay-image-frutia, .overlay-image-ev, .overlay-image-olive, .overlay-image-spicy {
    position: absolute;
    height: auto;
}

/* Specific overlay positioning */
.overlay-image-pure {
    left: 0;
    top: 50%;
    transform: translate(50%, -60%);
    z-index: 3;
    width: 7.4%;
}

.overlay-image-frutia {
    left: 48.2%;
    top: 53%;
    transform: translate(320%, -62%);
    z-index: 3;
    width: 4.6%;
}

.overlay-image-ev {
    left: 0;
    top: 50%;
    transform: translate(64%, -58%);
    z-index: 3;
    width: 6.8%;
}

.overlay-image-olive {
    left: 8%;
    top: 53%;
    transform: translate(68%, -60%);
    z-index: 4;
    width: 6.9%;
}

.overlay-image-spicy {
    left: 50%;
    top: 50%;
    transform: translate(154%, -59%);
    z-index: 3;
    width: 5.2%;
}

/* Adjust the page_title image */
.image-row img.full-width-image.page-title {
    position: fixed;
    top: 0;
    left: 0;
    width: 92%;
    z-index: 2;
    margin: 0;
    margin-left: 2%;
}

/* Add margin to the top of btn_whattype.png */
.image-row img.full-width-image.btn-whattype {
    margin-top: 30px;
    width: 100%; /* Set the width to 90% */
    height: auto; /* Maintain aspect ratio */
    pointer-events: none;
}

/* Add margin to the top of btn_howtokeep.png */
.image-row img.full-width-image.btn-howtokeep {
    margin-top: 30px;
    width: 100%; /* Set the width to 90% */
    height: auto; /* Maintain aspect ratio */
}

/* Add margin to the top of btn_SGP.png */
.image-row img.full-width-image.btn-sgp {
    margin-top: 20px;
    width: 100%; /* Set the width to 90% */
    height: auto; /* Maintain aspect ratio */
}

.image-row img.full-width-image.bg-image1 {
    margin-top: 20px;
    width: 100%; /* Set the width to 90% */
    height: auto; /* Maintain aspect ratio */
    opacity: 40%;
    pointer-events: none;
}


/* -------------------------------
Swiper
------------------------------- */
/* Swiper Container and Slide Styling */
.swiper-container {
    width: 100%;
    height: 100%; /* Adjust the height as needed */
}

.swiper-slide {
    background-size: cover;
    background-position: center;
}
.swiper-slide img {
    height: auto;
    width: 100%;
}
/* プログレスバーの高さ変更 */
.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;
}

@keyframes zoomUp {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.15);
    }
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
    animation: zoomUp 12s linear 0s normal both;
}
.swiper-slide img {
    height: auto;
    width: 100%;
}

/* Swiper Navigation Buttons */
.swiper-button-next, .swiper-button-prev {
    background-size: 100% 100%; /* 画像をボタンサイズに合わせる */
    background-repeat: no-repeat; /* 画像が繰り返されないようにする */
    width: 150px !important; /* ボタンの幅を150pxに指定 */
    height: 150px !important; /* ボタンの高さを150pxに指定 */
    background-color: transparent; /* 背景色を透明に設定 */
    position: absolute; /* 位置を絶対配置に設定 */
    top: 50%; /* 垂直方向の中央に配置 */
    transform: translateY(-50%); /* ボタンを中央に調整 */
    z-index: 10; /* ボタンを他の要素の上に表示 */
}

/* デフォルトの矢印を非表示にする */
.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: 10%; /* ディスプレイの右端から10%の位置に配置 */
}

.swiper-button-prev {
    background-image: url('../asset/img/btn_return.png'); /* 戻るボタンの画像 */
    left: 10%; /* ディスプレイの左端から10%の位置に配置 */
}

/* -------------------------------
[function] Page Fadeout.
------------------------------- */
.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; /* Adjust the duration as needed */
}

/* Swiper Navigation Buttons */
.swiper-button-next, .swiper-button-prev {
    background-size: 100% 100%; /* 画像をボタンサイズに合わせる */
    background-repeat: no-repeat; /* 画像が繰り返されないようにする */
    width: 150px !important; /* ボタンの幅を150pxに指定 */
    height: 150px !important; /* ボタンの高さを150pxに指定 */
    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倍に拡大 */
}

/* 画像を配置するためのオーバーレイ */
.image-overlay {
    position: absolute;
    z-index:10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    pointer-events: auto; /* 背景画像へのクリックを防ぐ */
}

  /* オーバーレイ画像共通スタイル */
.overlay-image {
    position: absolute;
    width: 28%; /* 画像サイズを調整 */
    height: auto; /* アスペクト比を維持 */
    z-index: 10; /* 背景画像の上に表示 */
    margin-left: 0px;
}

/* 画像位置の指定 */
.overlay-image.top-left {
    top: 24%;
    left: 18%; /* 左側の画像を少し中央寄りに配置 */
}

.overlay-image.top-right {
    top: 24%;
    right: 18%; /* 右側の画像を少し中央寄りに配置 */
}

.overlay-image.bottom-left {
    bottom: 9%;
    left: 5%;
}

.overlay-image.bottom-center {
    bottom: 9%;
    left: 50%;
    transform: translateX(-50%);
}

.overlay-image.bottom-right {
    bottom: 9%;
    right: 5%;
}

.left-image {
    left: 0; /* 左端に配置 */
    top: 30%; /* 垂直方向中央 */
    width: 18%;
    transform: translateY(-50%); /* 縦の中央に調整 */
  }

  .right-image {
    right: 0; /* 右端に配置 */
    top: 24%; /* 垂直方向中央 */
    width: 20%;
    transform: translateY(-50%); /* 縦の中央に調整 */
  }
