/* 字體 */
@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-Medium-Oblique";
    src: url(../fonts/FuturaStdMediumOblique.otf);
}

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

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

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

@font-face {
    font-family: "Didot-Regular";
    src: url(../fonts/Didot Regular.ttf);
}
@font-face {
    font-family: "Futura-LT-Medium";
    src: url(../fonts/Futura LT Medium.ttf);
}



.Futura-LT-Medium {
    font-family: "Futura-LT-Medium";
}
.Futura-Std-Book {
    font-family: "Futura-Std-Book";
}

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

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

.Futura-Std-Medium-oblique {
    font-family: "Futura-Std-Medium-Oblique";
}

[data-aos="fade-rotate"] {
    opacity: 0;
    transform: rotate(0deg);
    transition: opacity 0.4s linear 0.2s;
    /* 進場淡入一次 */
    transform-origin: 50% 50%;
    will-change: transform, opacity;
}

/* 觸發(AOS加上 .aos-animate)後：先轉一次，再每3秒轉一次 */
[data-aos="fade-rotate"].aos-animate {
    opacity: 1;
    /* 1) 立刻轉一圈，耗時1s，只跑一次
     2) 循環：每3s轉一圈（最後1s轉，前2s停），從第1s開始接續 */
    animation:
        spin-once 2s ease 0.4s 1;
    /* spin-interval 6s ease 3s infinite; */
}

/* 立刻轉一圈 */
@keyframes spin-once {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/* 每3秒轉一圈（前 2/3 保持 0deg，最後 1/3 轉到 360deg）*/
@keyframes spin-interval {

    0%,
    66.666% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

[data-aos="fade-filter"] {
    opacity: 0.8;
    filter: brightness(0.2);
}

[data-aos="fade-filter"].aos-animate {
    opacity: 1;
    filter: brightness(1);
}

* {
    box-sizing: border-box;
}

body,
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    background-color: #fff;
    --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;
    position: relative;
}

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

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


.nav {
    position: absolute;
    left: 0;
    bottom: 2vw;
    width: 100%;
    height: 3vw;
    z-index: 999;
    transition: all 0.6s ease;
}
.nav-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.nav-contain {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.nav-items {
    position: relative;
    display: flex;
    flex-direction: row; 
    justify-content: center; /* 改為 center 讓圖文組合緊密，靠間距排列 */
    align-items: center; 
    
    /* 這裡的高度與寬度建議根據您的圖文寬度調整 */
    height: 100%;
    padding: 0 calc(50 * var(--vw-base)); /* 給予內部圖文一點點呼吸空間 */
    gap: calc(10 * var(--vw-base)); 
}
.nav-items.tel {
    padding: 0 calc(50 * var(--vw-base)) 0 calc(10 * var(--vw-base));

}
/* 分隔線邏輯：確保只有項目之間有線，最後一項沒有 */
.nav-items:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10%;
    right: 0;
    width: 1px;
    height: 90%;
    opacity: 0.8;
    background-color: #00959a;
}
.nav-items:last-child::after {
    display: none;
}
.nav-items img {
    object-fit: contain;
}
.nav-icon {
    position: relative;
    height: calc(30*var(--vw-base));
}

.nav-txt {
    position: relative;
    color: #00959a;
    font-size: calc(25 * var(--vw-base));
    font-family: "Didot-Regular";
    line-height: calc(30 * var(--vw-base));
    letter-spacing: 0.15em;
    white-space: nowrap; /* 確保文字不會因為寬度不夠而換行 */

}

/**/
.swiper-button-prev {
    background-image: url(../img/arrow-l.png);
    width: 4vw !important;
    height: 4.2vw !important;
    z-index: 9999 !important;
    left: 0;
    margin-top:0;
    top: 45%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}

.swiper-button-next {
    background-image: url(../img/arrow-r.png);
    width: 4vw !important;
    height: 4.2vw !important;
    z-index: 9999 !important;
    right: 0;
    top: 45%;
    margin-top: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}


.swiper-pagination {
    position: absolute;
    bottom: 1vw !important;
    z-index: 20;
}

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

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



.main {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
    z-index: 5;
    background-color: #fff;
}

.t1 {
    position: relative;
    font-size: calc(27*var(--vw-base));
    line-height: calc(45*var(--vw-base));
    letter-spacing: 0.05em;
    font-weight: 500;
    margin: 0;
    text-align: left;
    font-family: "Noto Sans TC";
    color: #fff;
}
.t2 {
    position: relative;
    font-size: calc(21 * var(--vw-base));
    letter-spacing: 0.05em;
    line-height: calc(30 * var(--vw-base));
    font-weight: 400;
    text-align: left;
    margin: 0 0 1.4vw 0;
    font-family: "Noto Sans TC";
    padding: 0;
    color: #fff;
}
.t3 {
    position: relative;
    font-size: calc(15*var(--vw-base));
    letter-spacing: 0em;
    line-height: calc(30*var(--vw-base));
    font-weight: 300;
    text-align: left;
    font-family: "Noto Sans TC";
    padding: 0;
    margin: 0;
    color: #fff;
}
.t1.white {
    color: #000;
}
.t2.white {
    color: #000;
}
.t3.white {
    color: #000;
}
.boldtxt{
    font-weight: 500;
}
.pic-txt {
    position: absolute;
    right: 0.5vw;
    bottom: 0.5vw;
    font-family: "Noto Sans TC";
    font-size: calc(10*var(--vw-base));
    letter-spacing: 0.1vw;
    line-height: calc(20*var(--vw-base));
    font-weight: 100;
    color: #fff;
    text-shadow: 2px 2px 10px rgba(0, 0, 0, 0.6);
    z-index: 20;
}
.pic-txt-mask{
    background-image: url(../img/pic-txt-mask.png);
    width: calc(155*var(--vw-base));
    height:calc(24*var(--vw-base));
    position: absolute;
    right: 0;
    bottom: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
    mix-blend-mode: multiply;
    z-index: 19;
}



.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, -30px, 0);
}



.main-txt {
    width: 100%;
    position: absolute;
    margin: 0 auto;
    z-index: 10;
    overflow: hidden;
}
.title_eng {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    overflow: hidden;
    pointer-events: none;
}
.title_eng img{
    width: 100%;
    object-fit: cover;
    display: block;
}



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

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

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

.m1-bg>video {
    width: 100%;
    height: calc(1080*var(--vw-base));
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}
.m1-logo-t {
    opacity: 0; /* 預設隱藏 */
}




/*頁面2*/
.main2 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}

.dragscroll {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
.dragscroll img {
    width: auto !important;
    height: 100% !important;
}
.m2-logo {
    position: absolute;
    left: 0;
    top: 0;
    animation: m2logo 1s infinite alternate;
    transition-timing-function: linear;
}
@keyframes m2logo {
    0% {
        top: 0;
    }

    50% {
        top: -1%;
    }

    100% {
        top: 0;
    }
}
.m2-tag {
    position: absolute;
    left: 0;
    top: 0;
}
.m2-bd-shine {
    position: absolute;
    left: 0;
    top: 0;
    /* 改用 ease-in-out 讓變化更柔和 */
    animation: m2logoshine 1.2s infinite ease-in-out;
}

@keyframes m2logoshine {
    0%, 100% {
        opacity: 0.2; /* 改為 0.2，避免完全消失，閃爍會更高級 */
    }
    50% {
        opacity: 1;
    }
}
.main2-txt{
    width: 50vw;
    position: absolute;
    left: calc(1180*var(--vw-base));
    top: calc(85*var(--vw-base));;
    overflow: visible;
}
.main2-txt::before{
    content: "";
    width: 1px;
    height: 91%;
    background-color: rgba(255, 255, 255, 0.3);
    position: absolute;
    left: -3vw;
    top: 0.5vw;
}




/*頁面3*/
.main3 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}

.m3-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m3-bg img {
    width: 100% !important;
    height: 100% !important;
}
.m3-tag {
    position: absolute;
    left: 0;
    top: 0;
}
.m3-shine {
    position: absolute;
    left: 0;
    top: 0;
    /* 改用 ease-in-out 讓變化更柔和 */
    animation: m2logoshine 1.2s infinite ease-in-out;
}
.main3-txt{
    width: 50vw;
    position: absolute;
    right: calc(110*var(--vw-base));
    top: calc(720*var(--vw-base));;
    overflow: visible;
}
.main3-txt .t1 , .main3-txt .t2 , .main3-txt .t3{
    text-align: right;
}




/*頁面4*/
.main4 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}

.m4-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m4-bg img {
    width: 100% !important;
    height: 100% !important;
}
.m4-tag {
    width: calc(365*var(--vw-base));
    height: calc(347*var(--vw-base));
    position: absolute;
    left: calc(1385*var(--vw-base));
    top: calc(40*var(--vw-base));
    z-index: 20;
}
.m4-tag>img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
}
.main4-txt{
    width: 50vw;
    position: absolute;
    left: calc(160*var(--vw-base));
    top: calc(215*var(--vw-base));;
    overflow: visible;
}





/*頁面5*/
.main5 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}

.m5-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m5-bg img {
    width: 100% !important;
    height: 100% !important;
}
.m5-tag {
    width: calc(300*var(--vw-base));
    height: calc(190*var(--vw-base));
    position: absolute;
    z-index: 20;
}
.m5-tag.tg1 {
    position: absolute;
    left: calc(1250*var(--vw-base));
    top: calc(85*var(--vw-base));
}
.m5-tag.tg2 {
    position: absolute;
    left: calc(1550*var(--vw-base));
    top: calc(85*var(--vw-base));
}
.m5-bg>video {
    width: 100%;
    height: calc(1080*var(--vw-base));
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}
.main5-txt{
    width: 50vw;
    position: absolute;
    left: calc(560 * var(--vw-base));
    top: calc(150 * var(--vw-base));
    overflow: visible;
}
.main5-txt::before{
    content: "";
    width: 1px;
    height: 91%;
    background-color: rgba(255, 255, 255, 0.3);
    position: absolute;
    left: -1.45vw;
    top: 0.5vw;
}
.main5-txt-left{
    width: 20vw;
    position: absolute;
    left: calc(115 * var(--vw-base));
    top: calc(165*var(--vw-base));;
    overflow: visible;
}
.main5-txt-left .t1 , .main5-txt-left .t2{
    text-align: right;
}
.main5-txt-left .t2{
    margin: 0 0 0.3vw 0;
}
.main5-txt .t3{
    letter-spacing: -1px;
}




/*頁面6*/
.main6 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}

.m6-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m6-bg img {
    width: 100% !important;
    height: 100% !important;
}
.m6-tag {
    position: absolute;
    left: 0;
    top: 0;
}
.m6-logo {
    position: absolute;
    left: 0;
    top: 0;
    animation: m6logo 1s infinite alternate;
    transition-timing-function: linear;
}
@keyframes m6logo {
    0% {
        top: 0;
    }

    50% {
        top: -1%;
    }

    100% {
        top: 0;
    }
}
.m6-shine {
    position: absolute;
    left: 0;
    top: 0;
    /* 改用 ease-in-out 讓變化更柔和 */
    animation: m2logoshine 1.2s infinite ease-in-out;
}
.main6-txt{
    width: 50vw;
    position: absolute;
    left: calc(54*var(--vw-base));
    top: calc(610*var(--vw-base));;
    overflow: visible;
}
.main6-txt .t3{
    letter-spacing: -0.5px;
}





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

.m7-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m7-bg img {
    width: 100% !important;
    height: 100% !important;
}
.m7-bg>video {
    width: calc(1257*var(--vw-base));
    height: calc(1080*var(--vw-base));
    object-fit: cover;
    object-position: 50% 50%;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 10;
}
.main7-txt{
    width: 50vw;
    position: absolute;
    left: calc(105*var(--vw-base));
    top: calc(450*var(--vw-base));;
    overflow: visible;
}




/*頁面8*/
.main8 {
    width: 100%;
    position: relative;
    overflow: visible;
    height: calc(1080*var(--vw-base));
    background-color: #fff;
}
.m8-bg-pic{
    width: 100%;
    height:calc(1366*var(--vw-base));
    position: absolute;
    inset: 0;
}
.main8-swiper.top {
    position: absolute;
    left: calc(85*var(--vw-base));
    top: calc(490*var(--vw-base));
    width: calc(820*var(--vw-base));
    height: calc(520*var(--vw-base));
    overflow: hidden;
    z-index: 50;
}
.main8-swiper.down {
    position: absolute;
    left: calc(1005*var(--vw-base));
    top: calc(490*var(--vw-base));
    width: calc(820*var(--vw-base));
    height: calc(520*var(--vw-base));
    overflow: hidden;
    z-index: 50;
}
.main8-swiper .swiper-slide {
    width: 100%;
    height: 100%;
    position: relative;
}
.main8-swiper .sw-pic {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.swiper-slide-active .main8-img img {
    /* 靜態樣式只負責初始化動畫觸發，不要在這裡設定 scale */
    animation: img 6s linear forwards;
    
    /* 強制 GPU 加速與防抖動設定 */
    will-change: transform;
    backface-visibility: hidden;
    perspective: 1000px; /* 增加 perspective 有時能修正 CSS 變形造成的模糊與震動 */
}

@keyframes img {
    0% {
        transform: scale(1.2) translate3d(0, 0, 0);
    }
    100% {
        transform: scale(1.0) translate3d(0, 0, 0);
    }
}
.main8-txt{
    width: 50vw;
    position: absolute;
    left: calc(1010*var(--vw-base));
    top: calc(150*var(--vw-base));;
    overflow: visible;
}
.main8-txt::before{
    content: "";
    width: 1px;
    height: 91%;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    left: -3vw;
    top: 0.5vw;
}







/*頁面9*/
.main9 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height:height: calc(1080*var(--vw-base));
    background-color: #000;
}
.m9-bg {
    width: 100%;
    height: calc(1080*var(--vw-base));
    position: relative;
    overflow: hidden;
}
.m9-bg img {
    width: 100% !important;
    height: 100% !important;
}
.main9-txt{
    position: absolute;
    left: 0;
    top: 0;
}

.main9-txt-st{
    width: calc(200 * var(--vw-base));
    position: absolute;
    inset: 0;
    z-index: 20;
}
.main9-txt-st1{
    position: absolute;
    left: calc(145 * var(--vw-base));
    top: calc(680 * var(--vw-base));
}
.main9-txt-st2{
    position: absolute;
    left: calc(515 * var(--vw-base));
    top: calc(765 * var(--vw-base));
}
.main9-txt-st3{
    position: absolute;
    left: calc(855 * var(--vw-base));
    top: calc(780 * var(--vw-base));
}
.main9-txt-st4{
    position: absolute;
    left: calc(1136 * var(--vw-base));
    top: calc(585 * var(--vw-base));
}
.main9-txt-st5{
    position: absolute;
    left: calc(1410 * var(--vw-base));
    top: calc(595 * var(--vw-base));
}
.main9-txt-st6{
    position: absolute;
    left: calc(1663 * var(--vw-base));
    top: calc(350 * var(--vw-base));
}
.main9-txt-st .str1 {
    position: absolute;
    left: -2.25vw;
    top: 0.5vw;
    font-size: calc(11.5 * var(--vw-base));
    letter-spacing: 0.05em;
    line-height: calc(30 * var(--vw-base));
    font-weight: 400;
    text-align: left;
    font-family: "Noto Sans TC";
    padding: 0;
    color: #fff;
    writing-mode: vertical-rl;
    text-orientation: upright;
}
.main9-txt-st .str2 {
    position: relative;
    font-size: calc(11.5 * var(--vw-base));
    letter-spacing: 0em;
    line-height: calc(30 * var(--vw-base));
    font-weight: 300;
    text-align: left;
    font-family: "Noto Sans TC";
    padding: 0;
    margin: 0;
    color: #fff;
}
.namett{
    font-size: calc(16 * var(--vw-base));
    font-weight: 500;
    padding-left: 0.5vw;
}
.main9-txt-st .str3 {
    position: relative;
    font-size: calc(11.5 * var(--vw-base));
    letter-spacing: 0em;
    line-height: calc(21 * var(--vw-base));
    font-weight: 300;
    text-align: left;
    font-family: "Noto Sans TC";
    padding: 0;
    margin: 0;
    color: #fff;
}
.main9-txt-st .str4 {
    position: relative;
    font-size: calc(11.5*var(--vw-base));
    letter-spacing: 0em;
    line-height: calc(21*var(--vw-base));
    font-weight: 300;
    text-align: left;
    font-family: "Noto Sans TC";
    padding: 0;
    margin: 0;
    color: #fff;
}
.main9-txt-st .str2,
.main9-txt-st .str3,
.main9-txt-st .str4 {
    /* 讓元素具備變形能力 */
    display: inline-block; 
    
    /* 水平縮放至 85% */
    transform: scaleY(0.85);
    
    /* 設定變形的基準點為左側，避免文字縮放後向中間靠攏 */
    transform-origin: left center;
}

@keyframes txtfadeDown {
    0% {
        transform: translate3d(0, -5%, 0);
        opacity: 0;

    }

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

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

    }

    100% {
        top: 0%;
        opacity: 1;
    }
}
@keyframes txtfadeinRight {
    0% {
        left: 5%;
        opacity: 0;

    }

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

@keyframes txtfadeinLeft {
    0% {
        left: -5%;
        opacity: 0;

    }

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






/*頁面10*/
.main10 {
    width: 100%;
    position: relative;
    overflow: hidden;
    height:height: calc(1080*var(--vw-base));
    background-color: #000;
}
.m10-bg {
    position: relative;
    width: 100%;
}

.m10-bg .m10-pic {
    width: 100%;
    height:height: calc(1080*var(--vw-base));
    position: absolute;
    left: 0;
    bottom: 0;
}

.main10-txt{
    width: 50vw;
    position: absolute;
    left: calc(145*var(--vw-base));
    top: calc(605*var(--vw-base));;
    overflow: visible;
}

.main10-txt .bttt{
    margin: 2vw 0 1.5vw 0;
}





/*頁面11*/
.main11{
    width: 100%;
    position: relative;
    overflow: hidden;
    height:calc(1080*var(--vw-base));
    background-color: #fff;
}
.m11-bg {
    position: absolute;
    inset: 0;
    width: 100%;
}
.m11-bg img{
    width: 100%;
    height:calc(1080*var(--vw-base));
    position: absolute;
    left: 0;
    bottom: 0;
}
.main11-txt {
    width: 50vw;
    position: absolute;
    left: calc(940*var(--vw-base));
    top: calc(65*var(--vw-base));;
    overflow: visible;
}
.main11-txt::before{
    content: "";
    width: 1px;
    height: 91%;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    left: -3vw;
    top: 0.5vw;
}





.form-info {
    width: 100%;
    position: relative;
    margin-top: calc(225*var(--vw-base));
}
.form {
    width: calc(1420*var(--vw-base));
    position: relative;
    margin: 0 auto;
    margin-top: 0;
    height: auto;
    font-family: 'Noto Serif TC', serif;
    color: #333333;
    background-color: transparent;
    overflow: hidden;
}
.form1 {
    padding: 0;
    overflow: hidden;
}

.form select {
    width: 100%;
    box-sizing: border-box;
    height: 3.8vw;
    line-height: 3.8vw;
    font-size: 1.25vw;
    color: #333333;
    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: 2.5%;
    outline: none;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    letter-spacing: 0.2vw;
    position: relative;
    padding: 0 0 0 10.5vw;
    display: block;
    font-weight: 600;
}

.select {
    width: 49%;
    display: inline-block;
    position: relative;
    height: 3.8vw;
    line-height: 3.8vw;
    margin-bottom: 1vw;
    font-weight: 600;
    border: 0.5px solid #00959a;
    background-color: #fff;
}

.input {
    width: 49%;
    position: relative;
    display: inline-block;
    height: 3.8vw;
    line-height: 3.8vw;
    margin-bottom: 1vw;
    font-weight: 600;
    border: 0.5px solid #00959a;
    background-color: #fff;
}

.input.msg {
    width: 100%;
}

.select.half , .input.half{
    float: right;
}

.input-title {
    position: absolute;
    left: 1.25vw;
    top: 0;
    height: 3.8vw;
    line-height: 3.8vw;
    letter-spacing: 0.1em;
    font-size: 1.25vw;
    font-family: 'Noto Serif TC', serif;
    font-weight: 500;
    z-index: 1;
}
.input-title.need {
    letter-spacing: 0.1em;
}
.form input[type="text"] {
    width: 100%;
    height: 3.8vw;
    line-height: 3.8vw;
    font-size: 1.25vw;
    border: none;
    background-color: transparent;
    color: #000;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    -moz-appearance: none;
    outline: none;
    letter-spacing: 0.15em;
    font-family: 'Noto Serif TC', serif;
    padding: 0 0 0 10.5vw;
    position: relative;
    box-sizing: border-box;
    display: block;
    font-weight: 500;
}

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


.check-item {
    width: 100%;
    height: 3.8vw;
    line-height: 3.8vw;
    font-size: 1.25vw;
    color: #000;
    margin: 0vw auto 0 auto;
    vertical-align: middle;
    font-weight: 600;
    letter-spacing: 0.2vw;
    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: 24%;
    height: 8vw;
    line-height: 8vw;
    float: left;
}

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

.check-item label input {
    width: 3vw;
    height: 3vw;
    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: 3vw 3vw;
    border: none;
}

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


.agreeBtn {
    height: 8vw;
    float: left;
}

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

.form input[type="submit"],
.form input[type="button"] {
    height: 4vw;
    line-height: 3vw;
    letter-spacing: 1em;
    border: none;
    background-color: #00959a;
    font-size: 1.3vw;
    font-weight: 600;
    color: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    outline: none;
    position: relative;
    width: 100%;
    font-family: 'Noto Serif TC', serif;
    display: block;
    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;
    /*透明*/
}

.check-gre {
    position: relative;
    top: -1vw;
    display: inline-block;
    height: 6vw;
    line-height: 6vw;
    font-size: 2.9vw;
    letter-spacing: 0.2vw;
    margin: 0 0 0 19vw;
    box-sizing: border-box;
    font-family: 'Noto Serif TC', serif;
    font-weight: 500;
    cursor: pointer;
}

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


.form-info-st{
    width: 100%;
    position: relative;
    margin:3vw auto;
}


/*同意書照片預覽*/

.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%;
    z-index: 1;
}

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

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

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

.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% - 150px);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    overflow-y: auto;
    color: #fff;
    text-align: left;
}

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

.infoBox h4 {
    font-size: 3.5vw;
    line-height: 130%;
    margin-bottom: 25px;
}

.infoBox h5 {
    font-size: 4vw;
    line-height: 130%;
    margin-bottom: 25px;
}

.infoBox p {
    font-size: 3.5vw;
    line-height: 150%;
}

/*廣告縮圖*/

.black2 {
    width: 100%;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    display: none;
}

.black2 .index_pop {
    width: 100%;
    height: 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 .open_bg {
    width: 100%;
    height: 100%;
    position: absolute;
    height: 100vh;
    left: 0px;
    top: 0px;
    opacity: 0;
    background-color: #000000;
}

.black2 .index_pop img {
    width: 80%;
    left: 0px;
    top: 0px;
    right: 0;
    bottom: 0;
    margin: auto;
    position: relative;
}

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