/* 字體 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Serif+TC:wght@200;300;400;500;600;700;900&display=swap");


@font-face {
    font-family: "Futura-Std-Light";
    src: url(../fonts/Futura-Std-Light.otf);
}

@font-face {
    font-family: "Century-Gothic";
    src: url(../fonts/CenturyGothic.ttf);
}


.Futura-Std-Light {
    font-family: "Futura-Std-Light";
}

.Century-Gothic {
    font-family: "Century-Gothic";
}




/*
font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 400;
font-style: normal;

font-family: "fot-tsukuardgothic-std", sans-serif;
font-weight: 700;
font-style: normal;

font-family: "hiragino-kaku-gothic-pron", sans-serif;
font-weight: 300;
font-style: normal;

font-family: "hiragino-kaku-gothic-pron", sans-serif;
font-weight: 600;
font-style: normal;


font-family: "futura-pt", sans-serif;
font-weight: 300;
font-style: normal;

font-family: "futura-pt", sans-serif;
font-weight: 400;
font-style: normal;

font-family: "futura-pt", sans-serif;
font-weight: 700;
font-style: normal;

font-family: "futura-pt-bold", sans-serif;
font-weight: 700;
font-style: normal;

font-family: "futura-pt-condensed", sans-serif;
font-weight: 400;
font-style: normal;

font-family: "futura-pt-condensed", sans-serif;
font-weight: 700;
font-style: normal;
*/







* {
    box-sizing: border-box;
}

body,
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #000;
    --vw-base: calc(100vw / 1920);
    scroll-behavior: smooth;
}



a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
}

img {
    width: 100%;
    height: 100%;
    display: block;
}

.visibility {
    visibility: visible !important;
}

.all {
    width: 100%;
    height: auto;
    overflow: hidden;
}

.opacity {
    opacity: 0;
    transition: all 0.3s linear;
}

.opacity1 {
    opacity: 1;
    transition: all 0.3s linear;
}

/* 將這段加入你的 CSS */
html,
body {
    margin: 0;
    padding: 0;
    /* 強制禁止在載入時觸發任何過渡動畫 */
    scroll-behavior: auto !important;
}

body.loading-active {
    overflow: hidden !important;
    /* 徹底鎖定捲軸 */
    height: 100vh !important;
    /* 限制高度防止捲動 */
}


/**/
.swiper-button-prev {
    background-image: url(../img/arrow-l.png);
    width: 2.5vw !important;
    height: 2.7vw !important;
    z-index: 9999 !important;
    left: 1vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.5));
}

.swiper-button-next {
    background-image: url(../img/arrow-r.png);
    width: 2.5vw !important;
    height: 2.7vw !important;
    z-index: 9999 !important;
    right: 30vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.5));
}

.swiper-button-prev.bla {
    background-image: url(../img/arrow-l-b.png);
    width: 2.5vw !important;
    height: 2.7vw !important;
    z-index: 9999 !important;
    left: 1vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    /*transition: all 0.5s linear;*/
}

.swiper-button-next.bla {
    background-image: url(../img/arrow-r-b.png);
    width: 2.5vw !important;
    height: 2.7vw !important;
    z-index: 9999 !important;
    right: 1vw;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    /*transition: all 0.5s linear;*/
}

.swiper-pagination {
    width: 50vw !important;
    position: absolute;
    left: 25vw !important;
    bottom: 1.5vw !important;
    z-index: 2;
}

.swiper-pagination-bullet {
    display: inline-block;
    width: 0.6vw;
    height: 0.6vw;
    margin: 0 0.5vw 0 0 !important;
    opacity: 1;
    border: none;
    background-color: rgba(255, 255, 255, 0.4);
    transition: all 0.3s linear;
}

.swiper-pagination-bullet-active {
    background-color: rgba(255, 255, 255, 1);
    width: 0.6vw;
    height: 0.6vw;
    margin: 0 0.5vw 0 0 !important;
    transition: all 0.3s linear;
}



.pic-txt {
    position: absolute;
    right: 1vw;
    bottom: 0.5vw;
    font-family: "Noto Sans TC";
    font-size: calc(14*var(--vw-base));
    line-height: calc(20*var(--vw-base));
    letter-spacing: 0.05vw;
    line-height: 1vw;
    font-weight: 100;
    color: #fff;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 1);
    z-index: 11;
}

.banner {
    width: 100%;
    height: 100%;
    /*height: calc(950* var(--vw-base));*/
    position: relative;
    margin: 0;
    overflow: hidden;
}


.chg-pic {
    overflow: hidden;
}

.chg-pic img {
    /*filter: brightness(0.7);*/
    transform: scale(1.2);
    transition: all 6s ease;
}

.active-bg {
    opacity: 1;
    transform: scale(1) !important;
    /*filter: brightness(1) !important;*/
}


[data-aos=fade-left] {
    transform: translate3d(-50px, 0, 0);
}

[data-aos=fade-right] {
    transform: translate3d(50px, 0, 0);
}

[data-aos=fade-down] {
    transform: translate3d(0, 50px, 0);
}

[data-aos=fade-up] {
    transform: translate3d(0, -50px, 0);
}



.main {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(950*var(--vw-base));
}





/*頁面1*/
.m1-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* filter: brightness(0.2); */
}

.m1-logo {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 20;
}

.m1-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main1>video {
    width: 100%;
    height: calc(950*var(--vw-base));
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}




/*頁面2*/
.m2-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.m2-txt-top {
    width: 100%;
    position: absolute;
    left: 0;
    top: 4vw;
    box-sizing: border-box;
}

.m2-txt-top .t1 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #cf5f21;
}

.m2-txt-top .t2 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #cf5f21;
}

.m2-txt-mid {
    width: 100%;
    position: absolute;
    left: 0;
    top: 10vw;
    box-sizing: border-box;
    z-index: 10;
}

.t-line {
    width: 8vw;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    left: 45.5vw;
    top: 4.2vw;
}

.m2-txt-mid .t-left {
    width: 30vw;
    position: absolute;
    top: 3vw;
    right: 54vw;
    text-align: right;
}

.m2-txt-mid .t-right {
    width: 30vw;
    position: absolute;
    top: 3vw;
    left: 54vw;
    text-align: left;
}

.m2-txt-mid .t-eng {
    font-size: calc(32.851*var(--vw-base));
    line-height: calc(50*var(--vw-base));
    letter-spacing: 0.2vw;
    font-family: "Futura-Std-Light";
    color: #fff;
}

.m2-txt-mid .t-cht {
    font-size: calc(18*var(--vw-base));
    line-height: calc(30*var(--vw-base));
    letter-spacing: 0.1vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #fff;
}

.m2-txt-down {
    width: 100%;
    position: absolute;
    left: 0;
    top: 40.25vw;
    box-sizing: border-box;
    z-index: 10;
}

.m2-txt-down .t3 {
    font-size: calc(18*var(--vw-base));
    line-height: calc(33*var(--vw-base));
    letter-spacing: 0.1vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #231815;
    text-align: center;
}

/* --- 圖片基礎設定 --- */
.m2-pic {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    /* 確保在背景之上 */
}

.m2-pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */

    /* 核心修改：使用 300% 寬度確保遮罩完全覆蓋 */
    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: -webkit-mask-position 2s ease-out, mask-position 2s ease-out;
}

/* --- 1. 從右往左刷 (RTL) --- */
/* 原理：顯示區初始在左邊(0%)，移動到中間(50%)，視覺上圖片會從右側邊界「刷」出來 */
[data-aos="brush-rtl"] img {
    -webkit-mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);
    mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);

    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;

    /* 修正：初始位置設為 0%，讓顯示區在左邊等待 */
    -webkit-mask-position: 0% 0;
    mask-position: 0% 0;
}

/* --- 2. 從左往右刷 (LTR) --- */
/* 原理：顯示區初始在右邊(100%)，移動到中間(50%)，視覺上圖片會從左側邊界「刷」出來 */
[data-aos="brush-ltr"] img {
    -webkit-mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);
    mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);

    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;

    /* 修正：初始位置設為 100%，讓顯示區在右邊等待 */
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
}

/* --- AOS 觸發後的狀態 --- */
/* 兩者統一回到 50% 定位，達成對向刷出的效果 */
[data-aos="brush-rtl"].aos-animate img,
[data-aos="brush-ltr"].aos-animate img {
    -webkit-mask-position: 50% 0 !important;
    mask-position: 50% 0 !important;
    /* 加入 transition 確保刷出的平滑感 */
    transition: -webkit-mask-position 2s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        mask-position 2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 線條從中間向外展開 */
[data-aos="line-expand"] {
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 1.2s ease-out;
}

[data-aos="line-expand"].aos-animate {
    transform: scaleX(1);
}

/* 文字從中間往左/右 */
[data-aos="center-to-left-text"] {
    transform: translateX(50px);
    opacity: 0;
    transition-property: transform, opacity;
}

[data-aos="center-to-left-text"].aos-animate {
    transform: translateX(0);
    opacity: 1;
}

[data-aos="center-to-right-text"] {
    transform: translateX(-50px);
    opacity: 0;
    transition-property: transform, opacity;
}

[data-aos="center-to-right-text"].aos-animate {
    transform: translateX(0);
    opacity: 1;
}

.main2 .pic-txt.left {
    position: absolute;
    right: auto;
    left: 1vw;
    bottom: auto;
    top: 37vw;
}

.main2 .pic-txt.right {
    position: absolute;
    right: 1vw;
    bottom: auto;
    top: 37vw;
}






/*頁面3*/
.main3-txt {
    width: 100%;
    height: 100%;
    color: #ffffff;
    font-family: "Noto Sans TC";
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
}

.main3 .pic-txt {
    position: absolute;
    right: 30vw;
}

.main3 .pic-txt.bt1 {
    position: absolute;
    left: 1vw;
}

.main3 .pic-txt.bt2 {
    position: absolute;
    left: 29.5vw;
}

.main3 .pic-txt.bt3 {
    position: absolute;
    left: 52.5vw;
}

.main3 .pic-txt.bt4 {
    position: absolute;
    left: auto;
    bottom: auto;
    right: 30vw;
    top: 29vw;
}

.main3-txt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.m3-cent {
    width: 25vw;
    position: absolute;
    right: 2vw;
    top: 20vw;
    box-sizing: border-box;
    z-index: 20;
}

.m3-cent .t1 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #cf5f21;
}

.m3-cent .t2 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #cf5f21;
    margin-bottom: 4vw;
}

.m3-cent .t3 {
    font-size: calc(18*var(--vw-base));
    line-height: calc(33*var(--vw-base));
    letter-spacing: 0.01vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #231815;
    text-align: center;
    margin-top: 2.5vw;
}


.swiper-container {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    height: 100%;
}

.swiper-slide-active .main3-txt .im1-1 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-2 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.6s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-3 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.7s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-4 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.8s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-5 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.9s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-6 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-7 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.1s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-8 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.2s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-9 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.3s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-10 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.4s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-11 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.5s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im1-12 {
    animation: txtfadeUp 0.5s ease;
    animation-fill-mode: forwards;
    animation-delay: 1.6s;
    opacity: 0;
}

@keyframes txtfadeUp {
    0% {
        top: 5%;
        opacity: 0;

    }

    100% {
        top: 0%;
        opacity: 1;
    }
}

.main3-img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    overflow: hidden;
}

.main3-img img.im {
    display: block;
    width: 100%;
    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);
    mask-image: linear-gradient(to right, transparent 33.33%, black 33.33%, black 66.66%, transparent 66.66%);

    /* 讓遮罩位移有平滑轉場 */
    transition: -webkit-mask-position 1s cubic-bezier(0.215, 0.61, 0.355, 1),
        mask-position 1s cubic-bezier(0.215, 0.61, 0.355, 1);
}

/* im1, im3 (原本是 Right 進場 -> 遮罩從左往右刷) */
.main3-txt .im1 img,
.main3-txt .im3 img {
    -webkit-mask-position: 100% 0;
    mask-position: 100% 0;
}

/* im2, im4 (原本是 Left 進場 -> 遮罩從右往左刷) */
.main3-txt .im2 img,
.main3-txt .im4 img {
    -webkit-mask-position: 0% 0;
    mask-position: 0% 0;
}

/* --- 啟動狀態：Swiper 啟動時回到中間 (50%) --- */

.swiper-slide-active .main3-txt .im1 img {
    transition-delay: 0.5s;
    -webkit-mask-position: 50% 0;
    mask-position: 50% 0;
}

.swiper-slide-active .main3-txt .im2 img {
    transition-delay: 0.6s;
    -webkit-mask-position: 50% 0;
    mask-position: 50% 0;
}

.swiper-slide-active .main3-txt .im3 img {
    transition-delay: 0.7s;
    -webkit-mask-position: 50% 0;
    mask-position: 50% 0;
}

.swiper-slide-active .main3-txt .im4 img {
    transition-delay: 0.8s;
    -webkit-mask-position: 50% 0;
    mask-position: 50% 0;
}

/* 如果你還是想要一點點位移感，可以加在容器上 */
.swiper-slide-active .main3-txt .im1 {
    animation: slideMinor 1s ease forwards 0.5s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im2 {
    animation: slideMinor 1s ease forwards 0.6s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im3 {
    animation: slideMinor 1s ease forwards 0.7s;
    opacity: 0;
}

.swiper-slide-active .main3-txt .im4 {
    animation: slideMinor 1s ease forwards 0.8s;
    opacity: 0;
}

@keyframes slideMinor {
    0% {
        transform: translateX(10px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}








/*頁面4*/
.main4-txt {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
}

.main4-txt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.main4-txt img.im4-2 {
    animation: tag-show 1.5s ease-out infinite;
}


@keyframes tag-show {
    0% {
        top: 0;
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0)) drop-shadow(0 0 20px rgba(255, 255, 255, 0));
    }

    50% {
        top: -1vw;
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5)) drop-shadow(0 0 20px rgba(255, 255, 255, 0.5));
    }

    100% {
        top: 0;
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0)) drop-shadow(0 0 20px rgba(255, 255, 255, 0));
    }
}


.main4 .pic-txt.top {
    position: absolute;
    right: 30vw;
    bottom: auto;
    top: 1vw;
}

.m4-cent {
    width: 25vw;
    position: absolute;
    right: 2vw;
    top: 16vw;
    box-sizing: border-box;
    z-index: 20;
}

.m4-cent .t1 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #cf5f21;
}

.m4-cent .t2 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #cf5f21;
    margin-bottom: 4vw;
}

.m4-cent .t3 {
    font-size: calc(18*var(--vw-base));
    line-height: calc(30*var(--vw-base));
    letter-spacing: 0.01vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #231815;
    text-align: center;
    margin-top: 2.5vw;
}

.main4-img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
}

.main4-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}

.main4-img img.img-be {
    z-index: 1;
}

.main4-img img.img-af {
    z-index: 2;
    opacity: 0;
    animation: shine-show 1.5s ease-out infinite;
}

@keyframes shine-show {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}







/*頁面5*/
.m5-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.m5-txt-top {
    width: 100%;
    position: relative;
    left: 0;
    top: 7vw;
    box-sizing: border-box;
    margin: 0 auto;
    text-align: center;
}

.m5-txt-top .t1 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #cf5f21;
    display: inline-block;
}

.m5-txt-top .t2 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #cf5f21;
    display: inline-block;
}

.m5-txt-down {
    width: 100%;
    position: absolute;
    left: 0;
    top: 33.25vw;
    box-sizing: border-box;
    z-index: 10;
}

.m5-txt-down .t-left {
    width: 35vw;
    position: absolute;
    top: 3vw;
    right: 55vw;
    text-align: right;
}

.m5-txt-down .t-right {
    width: 35vw;
    position: absolute;
    top: 3vw;
    left: 55vw;
    text-align: left;
}

.m5-txt-down .t-cht {
    font-size: calc(25.145*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.1vw;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #cf5f21;
    text-align: center;
    margin-bottom: 0.25vw;
}

.m5-txt-down .t3 {
    font-size: calc(18*var(--vw-base));
    line-height: calc(33*var(--vw-base));
    letter-spacing: 0.05vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #231815;
    text-align: center;
}

.m5-pic {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    /* 確保在背景之上 */
}

.m5-pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */

    /* 核心修改：使用 300% 寬度確保遮罩完全覆蓋 */
    -webkit-mask-size: 300% 100%;
    mask-size: 300% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    transition: -webkit-mask-position 2s ease-out, mask-position 2s ease-out;
}

.main5 .pic-txt.left {
    position: absolute;
    left: 38.5vw;
    top: 33vw;
    bottom: auto;
}

.main5 .pic-txt.right {
    position: absolute;
    left: 81.5vw;
    top: 33vw;
    bottom: auto;
}







/*頁面6*/
.main6 {
    position: relative;
    width: 100%;
    height: calc(950 * var(--vw-base));
}

.m6-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.m6-logo {
    width: calc(228 * var(--vw-base));
    height: calc(139 * var(--vw-base));
    position: absolute;
    left: 41.3vw;
    top: 17.5vw;
    z-index: 10;
}

.m6-logo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */
    position: absolute;
    left: 0;
    top: 0;
}

.m6-txt {
    width: 40vw;
    position: absolute;
    right: 0;
    top: 18.85vw;
    box-sizing: border-box;
    text-align: center;
    z-index: 10;
    filter: drop-shadow(2px 2px 10px rgba(0, 0, 0, 0.5));
}

.m6-txt .t1 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.01vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #fff;
}

.m6-txt .t2 {
    font-size: calc(36*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.01vw;
    margin: 0;
    text-align: center;
    font-family: "Noto Sans TC";
    font-weight: 500;
    color: #fff;
}

.m6-txt .t3 {
    font-size: calc(18*var(--vw-base));
    line-height: calc(33*var(--vw-base));
    letter-spacing: 0.01vw;
    font-family: "Noto Sans TC";
    font-weight: 300;
    color: #fff;
    text-align: center;
    margin-top: 2.5vw;
}

.main6>video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
}



/*頁面7*/
.main7 {
    position: relative;
    width: 100%;
    height: calc(950*var(--vw-base));
    overflow: hidden;
}

.main7-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.main7-pic {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.main7-bg img,
.main7-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */
    position: absolute;
    left: 0;
    top: 0;
}

.main7-contain {
    position: absolute;
    left: calc(275 * var(--vw-base));
    top: calc(290 * var(--vw-base));
    width: calc(392 * var(--vw-base));
    height: calc(413 * var(--vw-base));
    display: flex;
    flex-direction: column;
    align-items: center;
}

.m7-txt {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.m7-txt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */
    position: absolute;
    left: 0;
    top: 0;
}

.form-info {
    position: absolute;
    left: calc(916*var(--vw-base));
    top: calc(250*var(--vw-base));
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-bottom: calc(65*var(--vw-base));
}

.form {
    width: 41.5vw;
    position: relative;
    height: auto;
    font-family: 'Noto Serif TC', serif;
    font-weight: 500;
    color: #040000;
}

.form1 {
    padding: 3vw 3vw 3vw 3vw;
    background-color: rgba(234, 228, 233, 0.7);
}

.form select {
    width: 100%;
    box-sizing: border-box;
    height: 2.5vw;
    line-height: 2.5vw;
    letter-spacing: 0.2vw;
    font-size: 1.2vw;
    color: #040000;
    padding-left: 2%;
    font-family: 'Noto Serif TC', serif;
    background-color: transparent;
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
    -webkit-tap-highlight-color: transparent;
    background-image: url(../img/select.png);
    background-position-x: 97%;
    background-position-y: 54%;
    background-repeat: no-repeat;
    background-size: 0.8vw;
    outline: none;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    position: relative;
    padding: 0 0 0 7vw;
    display: block;
}

.select {
    width: 100%;
    position: relative;
    height: 2.5vw;
    line-height: 2.5vw;
    margin-bottom: 1.6vw;
    font-weight: 600;
}

.input {
    width: 100%;
    position: relative;
    height: 2.5vw;
    line-height: 2.5vw;
    margin-bottom: 1.6vw;
    font-weight: bold;
}

.input::before,
.select::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -2px;
    background-image: url(../img/input-border.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.check-item-sex {
    position: absolute;
    right: 0vw;
    top: 0;
    height: 2.5vw;
    line-height: 2.5vw;
    letter-spacing: 0.2vw;
    font-size: 1.05vw;
    font-family: 'Noto Serif TC', serif;
    display: block;
    color: #040000;
    z-index: 1;
}

.check-item-room {
    position: absolute;
    right: 0vw;
    top: 0;
    height: 2.5vw;
    line-height: 2.5vw;
    letter-spacing: 0.2vw;
    font-size: 1.05vw;
    font-family: 'Noto Serif TC', serif;
    display: block;
    color: #040000;
    z-index: 1;
}


.check-item-sex label,
.check-item-room label {
    width: 6.5vw;
    height: 2.5vw;
    line-height: 2.5vw;
    cursor: pointer;
    display: block;
    float: left;
    text-align: right;
}

.check-item-sex label input[type="radio"],
.check-item-room label input[type="radio"] {
    width: 1.2vw;
    height: 1.2vw;
    margin: 0% 7% -2.8% 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0px;
    background: url(../img/check.png) no-repeat top center;
    background-size: 1.2vw 1.2vw;
    border: none;
    cursor: pointer;
}

.check-item-sex label input:checked,
.check-item-room label input:checked {
    background: url("../img/checked.png") no-repeat top center;
    background-size: 1.2vw 1.2vw;
}

.input-title {
    position: absolute;
    left: 0;
    top: 0;
    height: 2.5vw;
    line-height: 2.5vw;
    letter-spacing: 0.2vw;
    font-size: 1.2vw;
    font-family: 'Noto Serif TC', serif;
    font-weight: 600;
    z-index: 1;
}

.form input[type="text"] {
    width: 100%;
    height: 2.5vw;
    line-height: 2.5vw;
    letter-spacing: 0.2vw;
    font-size: 1.2vw;
    border: none;
    background-color: transparent;
    color: #040000;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    -moz-appearance: none;
    outline: none;
    font-family: 'Noto Serif TC', serif;
    padding: 0 0 0 7vw;
    position: relative;
    box-sizing: border-box;
    display: block;
    font-weight: 600;
}

.form input::placeholder {
    color: #040000 !important;
}

.check-item {
    width: 100%;
    height: 2.5vw;
    line-height: 2.5vw;
    color: #040000;
    margin: 0vw auto 0 auto;
    vertical-align: middle;
    font-weight: 600;
    letter-spacing: 0.2vw;
    font-size: 1.05vw;
    position: relative;
}

.check-item::after {
    content: "";
    clear: both;
    display: block;
}

.check-item a:link,
.check-item a:visited,
.check-item a:hover,
.check-item a:active {
    color: #040000;
}

.check-label {
    width: 18%;
    height: 2.5vw;
    line-height: 2.5vw;
    float: left;
}

.check-item label {
    height: 2.5vw;
    line-height: 2.5vw;
    cursor: pointer;
}

.check-item label input {
    width: 1.2vw;
    height: 1.2vw;
    margin: 0% 1% -2.5% 0;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    -moz-appearance: none;
    appearance: none;
    background: url(../img/check.png) no-repeat top center;
    background-size: 1.2vw 1.2vw;
    border: none;
}

.check-item label input:checked {
    background: url("../img/checked.png") no-repeat top center;
    background-size: 1.2vw 1.2vw;
}

.agreeBtn {
    height: 2.5vw;
    float: left;
    margin-left: 1.5vw;
}

.openTxtBtn {
    display: inline-block;
    height: 2vw;
    line-height: 2vw !important;
    border-bottom: 1px solid #a47a3d;
    cursor: pointer;
}

.form input[type="submit"],
.form input[type="button"] {
    height: 2vw;
    line-height: 2vw;
    border: none;
    background-color: transparent;
    border-bottom: 1px solid #a47a3d;
    font-weight: 600;
    letter-spacing: 0.2vw;
    text-indent: 0.2vw;
    font-size: 1.05vw;
    color: #040000;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    outline: none;
    position: absolute;
    right: 9vw;
    top: 0.28vw;
    font-family: 'Noto Serif TC', serif;
    display: block;
    padding: 0 0;
    cursor: pointer;
}


input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #040000;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    transition: background-color 5000s ease-in-out 0s;
}



.nav {
    position: relative;
    margin-top: calc(60*var(--vw-base));
    height: calc(70*var(--vw-base));
    display: flex;
    align-items: center;
}

.nav-items {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: calc(156*var(--vw-base));
    gap: calc(10*var(--vw-base));
}

.nav-items::after {
    content: "";
    position: absolute;
    top: 0%;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #f3d7b9;
    opacity: 0.5;
}

.nav-items:last-child::after {
    display: none;
}

.nav-items img {
    object-fit: contain;
}

.nav-icon {
    position: relative;
    height: calc(44*var(--vw-base));
}


.nav-txt {
    position: relative;
    color: #fff;
    font-size: calc(13*var(--vw-base));
    font-family: "Century-Gothic";
    line-height: calc(15*var(--vw-base));
    letter-spacing: 0.1em;
}

.form-bottom {
    width: calc(792*var(--vw-base));
    height: calc(58*var(--vw-base));
    position: absolute;
    left: calc(165*var(--vw-base));
    top: calc(800*var(--vw-base));
}

.form-bottom img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 確保圖片撐滿容器 */
    position: absolute;
    left: 0;
    top: 0;
}

.check-gre {
    position: relative;
    display: inline-block;
    margin-left: 8vw;
    line-height: 2vw;
    letter-spacing: 0.2vw;
    font-size: 1.05vw;
    font-family: 'Noto Serif TC', serif;
    font-weight: 600;
    /* 改變底線顏色 */
    cursor: pointer;
}

.check-gre::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0.2vw;
    background-color: #a47a3d;
}


.gre-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, .6);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
    z-index: 9999;
}

.gre-popup.active {
    opacity: 1;
    visibility: visible;
}


.gre-content {
    background: #fff;
    padding: 25px;
    border-radius: 5px;
    position: relative;
}

.gre-close {
    position: absolute;
    top: 5px;
    right: 10px;
    cursor: pointer;
    font-size: 16px;
}

.form-loading {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.55);
    display: none;
    z-index: 9999;
}

.form-loading-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-family: "Noto Sans TC";
    color: #fff;
    font-size: 16px;
    letter-spacing: 0.08em;
}

.spinner {
    width: 48px;
    height: 48px;
    border: 4px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto 10px;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.one-point-zero {
    display: inline-block;
    margin-right: -0.1vw;
}



/*同意書照片預覽*/
.black {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0px;
    top: 0px;
    background-color: rgba(0, 0, 0, 0.9);
    z-index: 11111;
    font-family: 'Noto Sans TC', sans-serif;
}

.closeBtn {
    width: 30px;
    position: absolute;
    right: 5%;
    top: 4%;
    cursor: pointer;
}

.infoWrap {
    width: 100%;
    margin: 0 auto;
    max-width: 65%;
    position: relative;
    height: 100vh;
    overflow: auto;
}

.infoWrap ul {
    list-style: none;
    font-size: 1vw;
    padding-inline-start: 2vw;
}

.infoWrap ul>li>ul {
    list-style: none;
    font-size: 1vw;
    padding-inline-start: 1vw;
}

.li1::before {
    content: "一、";
    position: absolute;
    left: 0vw;
}

.li2::before {
    content: "二、";
    position: absolute;
    left: 0vw;
}

.li3::before {
    content: "三、";
    position: absolute;
    left: 0vw;
}

.li4::before {
    content: "四、";
    position: absolute;
    left: 0vw;
}

.li5::before {
    content: "五、";
    position: absolute;
    left: 0vw;
}

.li1-li::before {
    content: "（１）";
    position: absolute;
    left: 0vw;
}

.li2-li::before {
    content: "（２）";
    position: absolute;
    left: 0vw;
}

.li3-li::before {
    content: "（３）";
    position: absolute;
    left: 0vw;
}

.li4-li::before {
    content: "（４）";
    position: absolute;
    left: 0vw;
}

.infoBox {
    width: 100%;
    height: calc(100% - 20vw);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: #fff;
    text-align: left;
}

.infoBox h3 {
    font-size: 1.2vw;
    line-height: 180%;
    margin-bottom: 25px;
    text-align: center;
}

.infoBox h4 {
    font-size: 1vw;
    line-height: 180%;
    margin-bottom: 1vw;
}

.infoBox h5 {
    font-size: 1.2vw;
    line-height: 180%;
    margin-bottom: 1vw;
}

.infoBox p {
    font-size: 1vw;
    line-height: 180%;
}

/*以下為崁入廣告*/
.black2 {
    width: 100%;
    position: absolute;
    z-index: 1000;
    display: none;
}

.black2 .index_pop {
    width: 100%;
    position: fixed;
    height: 100vh;
    left: 0px;
    top: 0px;
    overflow: hidden;
    transition: opacity 0.5s ease-in-out;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    background-color: rgba(0, 0, 0, 0.9);
}

.black2 .index_pop a {
    position: relative;
    width: 80%;
    height: 80%;
    object-fit: contain;
    cursor: pointer;
}

.black2 .box_close {
    width: 2vw;
    height: 2vw;
    position: absolute;
    top: 30px;
    right: 30px;
    background-image: url(../img/close.png);
    background-size: contain;
    cursor: pointer;
    transition: ease-in-out 0.4s 0.6s;
}