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; /* 子要素の相対位置を維持 */
}
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;
    align-items: center;
    width: 100%;
    padding: 0;
    margin: 0;
    position: relative;
}
.image-row:first-of-type {
    margin-top: 9.8%;
}
.full-width-image {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.half-width-image {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    object-fit: contain;
}
.image-row img.full-width-image.page-title {
    position: fixed;
    top: -10;
    left: 0;
    width: 90%;
    z-index: 2;
    margin: 0;
    margin-left: 2%;
}

/* === prbl product images =============================== */
.image-row img.full-width-image.banner_pure {
    width: 100%;
    /* padding-top: 1050px; */
    padding-left: 3%;
    padding-right: 1%;
    /* padding-bottom: 0px; */
    scale: 1.0;
    transform: translate(0%,773%);
}
.image-row img.full-width-image.banner_blend {
    width: 98%;
    /* padding-top: 995px; */
    padding-left: 1%;
    padding-right: 3%;
    /* padding-bottom: 0px; */
    scale: 0.9;
    transform: translate(0%,574%);
}
.image-row img.full-width-image.under-line_prbl {
    width: 98%;
    /* margin-top: 40px;
    margin-bottom: 0; */
    z-index: 10;
    transform: translate(0%,1820%);
}
.prbl_1-01 {
    /* margin-top: 504%;
    margin-left: -320%; */
    width: 104%;
    z-index: 10;
    transform: translate(-390%, 84%);
}
.prbl_1-07 {
    /* margin-top: 490%;
    margin-left: 310%; */
    width: 92%;
    z-index: 2;
    transform: translate(-218%, 131%);
}
.prbl_1-02 {
    /* margin-top: 496%;
    margin-left: -202%; */
    width: 90%;
    z-index: 10;
    transform: translate(-140%, 80%);
}
.prbl_1-03 {
    /* margin-top: 460%;
    margin-left: -66%; */
    width: 90%;
    z-index: 10;
    transform: translate(-20%, 108%);
}
.prbl_1-04 {
    /* margin-top: 380%;
    margin-left: 62%; */
    width: 84%;
    z-index: 10;
    transform: translate(108%, 109%);
}
.prbl_1-05 {
    /* margin-top: 466%;
    margin-left: 190%; */
    width: 86%;
    z-index: 20;
    transform: translate(252%, 91%);
}
.prbl_1-06 {
    /* margin-top: 490%;
    margin-left: 310%; */
    width: 88%;
    z-index: 2;
    transform: translate(370%, 84%);
}

/* === EVSt product images ==================================== */
.image-row img.full-width-image.under-line_EVSt {
    width: 98%;
    /* margin-top: 1270px; */
    /* margin-bottom: 0; */
    z-index: 10;
    transform: translate(0%,4530%);
}
.EVSt_1-01 {
    /* margin-top: 530%;
    margin-left: -250%; */
    width: 102%;
    z-index: 10;
    transform: translate(-264%, 85%);
}
.EVSt_1-02 {
    /* margin-top: 566%;
    margin-left: -100%; */
    width: 102%;
    z-index: 10;
    transform: translate(-82%, 86%);
}
.EVSt_1-03 {
    /* margin-top: 668%;
    margin-left: 82%; */
    width: 102%;
    z-index: 10;
    transform: translate(114%, 86%);
}
.EVSt_1-04a {
    /* margin-top: 550%;
    margin-left: 240%; */
    width: 110%;
    z-index: 30;
    transform: translate(272%, 89%);
}
/* .EVSt_1-04 {
    width: 98%;
    z-index: 30;
    transform: translate(246%, 86%);
} */

/* === EVFr product images ==================================== */
.image-row img.full-width-image.under-line_EVFr {
    width: 98%;
    /* margin-top: 1270px;
    margin-bottom: 0; */
    z-index: 10;
    transform: translate(0%,4380%);
}
.EVFr_1-01 {
    /* margin-top: 700%;
    margin-left: -700%;
    width: 96%; */
    width: 98%;
    z-index: 30;
    transform: translate(-648%, 89%);
}
.EVFr_1-06 {
    /* margin-top: 650%;
    margin-left: 210%;
    width: 96%; */
    width: 97%;
    z-index: 30;
    transform: translate(-354%, 92%);
}
.EVFr_1-07 {
    /* margin-top: 636%;
    margin-left: 352%;
    width: 96%; */
    width: 98%;
    z-index: 30;
    transform: translate(-110%, 88%);
}
.EVFr_1-08 {
    /* margin-top: 792%;
    margin-left: 620%;
    width: 95%; */
    width: 98%;
    z-index: 30;
    transform: translate(150%, 87%);
}
.EVFr_1-10 {
    /* margin-top: 1570%;
    margin-left: -680%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(350%, 91%);
}
.EVFr_1-11 {
    /* margin-top: 1306%;
    margin-left: -432%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(510%, 97%);
}
.EVFr_1-12 {
    /* margin-top: 1880%;
    margin-left: -450%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(-760%, 204%);
}
.EVFr_1-13 {
    /* margin-top: 1860%;
    margin-left: -276%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(-500%, 204%);
}
.EVFr_1-15 {
    /* margin-top: 1890%;
    margin-left: 120%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(-250%, 209%);
}
.EVFr_1-16 {
    /* margin-top: 1840%;
    margin-left: 286%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(0%, 209%);
}
.EVFr_1-17 {
    /* margin-top: 1460%;
    margin-left: 370%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(200%, 210%);
}
.EVFr_1-18 {
    /* margin-top: 1910%;
    margin-left: 670%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(520%, 210%);
}
.EVFr_1-19 {
    /* margin-top: 1730%;
    margin-left: 760%;
    width: 98%; */
    width: 98%;
    z-index: 30;
    transform: translate(680%, 210%);
}

/* === EVSp product images ==================================== */
.image-row img.full-width-image.under-line_EVSp {
    width: 98%;
    /* margin-top: 1270px;
    margin-bottom: 0; */
    z-index: 10;
    transform: translate(0%,4380%);
}
.EVSp_1-01 {
    /* margin-top: 520%;
    margin-left: -430%; */
    width: 66%;
    z-index: 30;
    transform: translate(-390%, 88%);
}
.EVSp_1-02 {
    /* margin-top: 510%;
    margin-left: -240%; */
    width: 98%;
    z-index: 30;
    transform: translate(-270%, 88%);
}
.EVSp_1-03 {
    /* margin-top: 690%;
    margin-left: -96%; */
    width: 98%;
    z-index: 30;
    transform: translate(-108%, 88%);
}
.EVSp_1-04 {
    /* margin-top: 700%;
    margin-left: 120%; */
    width: 98%;
    z-index: 30;
    transform: translate(144%, 88%);
}
.EVSp_1-05 {
    /* margin-top: 746%;
    margin-left: 360%; */
    width: 98%;
    z-index: 30;
    transform: translate(422%, 88%);
}
.EVSp_1-06 {
    /* margin-top: 600%;
    margin-left: 480%; */
    width: 98%;
    z-index: 30;
    transform: translate(562%, 88%);
}

.EVSp_1-08 {
    /* margin-top: 1320%;
    margin-left: -330%; */
    width: 101%;
    z-index: 30;
    transform: translate(-490%, 204%);
}
.EVSp_1-09 {
    /* margin-top: 1720%;
    margin-left: -200%; */
    width: 98%;
    z-index: 30;
    transform: translate(-384%, 200%);
}
.EVSp_1-10 {
    /* margin-top: 1850%;
    margin-left: 30%; */
    width: 98%;
    z-index: 30;
    transform: translate(-124%, 200%);
}
.EVSp_1-11 {
    /* margin-top: 1890%;
    margin-left: 280%; */
    width: 98%;
    z-index: 30;
    transform: translate(160%, 204%);
}
.EVSp_1-12 {
    /* margin-top: 1800%;
    margin-left: 510%; */
    width: 98%;
    z-index: 30;
    transform: translate(424%, 201%);
}
.EVSp_1-13 {
    /* margin-top: 1590%;
    margin-left: 670%; */
    width: 99%;
    z-index: 30;
    transform: translate(620%, 200%);
}

/* -------------------------------
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-row {
    position: relative;
    pointer-events: none; /* 子要素以外のクリックを無効化 */
}

/* リンク部分のクリックを有効化 */
.image-row a {
    position: absolute;
    display: block;
    pointer-events: none; /* リンク部分のみクリックを許可 */
    margin: 0;
    padding: 0;
    z-index: 10; /* 他の要素より上に配置 */
}

/* 画像自体はクリックイベントを受け取らず、親リンクに伝播させる */
.image-row a img {
    display: block;
    margin: 0;
    padding: 0;
    pointer-events: auto; /* 画像クリックを親の <a> タグに伝播 */
}