@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Noto+Serif+TC:wght@200..900&family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;500;700&display=swap");

html,
body,
main {
    margin: 0;
    height: 100dvh;
    width: 100dvw;
    overflow: hidden;
    /* font-family: "Noto Sans TC", serif; */
    /* font-family: "Noto Sans", serif; */
    font-family: "Noto Serif TC", serif;
    font-weight: 400;
    position: relative;
    letter-spacing: 1px;
}

section {
    display: flex;
    align-items: center;
    width: 100vw;
    height: 100dvh;

}

img {
    display: block;
    position: absolute;
}

video {
    position: absolute;
    object-fit: contain;
    /* 確保視頻等比縮放 */
}

p {
    user-select: none;
}

a {
    text-decoration: none;
    color: white;
}

/* 語言介面 */

.lang {
    background-color: black;
    flex-direction: column;
    position: absolute;

}

.setting {
    /* width: 7.5%; */
    width: 146px;
    height: 5.5%;
    border: 1px solid;
    border-color: white;
    /* position: absolute;
    left: 46vw; */
    justify-content: center;
    align-items: center;
    position: relative;
    display: flex;
    margin-bottom: 2vh;
    /* padding-bottom: 1vh; */
    padding-bottom: 10px;
    z-index: 50;
    top: 41vh;
}

.setting-text {
    color: white;
    font-size: 34px;
}

.lang-btns {
    color: white;
    display: flex;
    font-size: 34px;
    width: 590px;
    align-items: center;
    margin-top: 6vh;
    z-index: 3;
    position: absolute;
    top: 48vh;
    padding-right: 28px;
}

.lang-btn {
    margin-left: 5%;
    margin-right: 5%;
    position: relative;
    opacity: 1;
    transition: opacity 0.3s ease;
    cursor: pointer;
    margin: 0;
    margin-left: 5%;
    margin-right: 5%;
    /* font-family: "Noto Sans", serif; */
    font-family: "Noto Serif TC", serif;
    font-weight: 400;
}


/* 當滑鼠懸停在某個 lang-btn 上時，其他 lang-btn 變淡 */
.lang-btns:hover .lang-btn {
    opacity: 0.5;
}

.lang-btn:hover {
    opacity: 1 !important;
    /* 懸停的按鈕維持不變 */
}

.lang-btn::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    /* 可以根據需要調整底線的粗細 */
    background-color: white;
    /* 底線顏色 */
    transition: width 0.3s ease;
    /* 動畫效果，從左到右 */
}

.lang-btn:hover::after {
    width: 100%;
    /* 當滑鼠懸停時，底線展開 */
}



/* 動畫 */
@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}


.lang.fade-out {
    animation: fadeOut 1s 1s ease-in forwards;
    /* animation: fadeOut 1s 5.5s ease-in forwards; */
}

.setting.fade-out {
    animation: fadeOut 2s 1s forwards;
}

.lang-btns.fade-out {
    animation: fadeOut 2s 1s forwards;
}


.index.fade-out {
    animation: fadeOut 1s forwards;
}



/* @keyframes fadeOut {
    0% {
        opacity: 1;
        transform: translateX(0);
      
    }

    100% {
        opacity: 0;
        transform: translateX(20px);
      
    }
}


.lang-btn-zh.fade-out,
.lang-btn-en.fade-out,
.lang-btn-ja.fade-out,
.setting.fade-out {
    animation: fadeOut 3s ease-out forwards;
}

@keyframes fadeOut2 {
    0% {
        opacity: 1;
        clip-path: inset(0 0 0 0);
    }

    100% {
        opacity: 0;
        clip-path: inset(0 0 0 100%);
    }
}

.lang-btn-zh.fade-out2,
.lang-btn-en.fade-out2,
.lang-btn-ja.fade-out2,
.setting.fade-out2 {
    animation: fadeOut2 3s ease-out forwards;
} */

/* 首頁 */
.videobg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    object-fit: cover;
    /* opacity: 0; */
    z-index: 2;
}

.bg_pc {
    top: -1.5vh;
    left: -1.5vw;
    width: 105%;
    /* 寬度設定為 100%，以保持滿版 */
    height: 105%;
    /* 高度設定為 100%，以保持滿版 */
    object-fit: cover;
    /* 使圖片保持滿版顯示，並且不會變形 */
    /* visibility: hidden; */
    /* 初始隱藏圖片 */
    /* transition: transform 2s ease; */
    opacity: 1;
    /* 初始為透明 */
    transition: transform 2s ease;
    z-index: -1;
}

.bg_ph {
    top: -1.5vh;
    left: -1.5vw;
    width: 105%;
    /* 寬度設定為 100%，以保持滿版 */
    height: 105%;
    /* 高度設定為 100%，以保持滿版 */
    object-fit: cover;
    /* 使圖片保持滿版顯示，並且不會變形 */
    /* visibility: hidden; */
    /* 初始隱藏圖片 */
    transition: transform 2s ease;
    display: none;
    opacity: 1;
    z-index: -1;
}

.bg_pc.visible {
    /* visibility: visible; */
    opacity: 1;
    /* 淡入 */
    /* 顯示圖片 */
}

.bg_ph.visible {
    visibility: visible;
    /* 顯示圖片 */
}

.title_pc {
    top: 0vh;
    left: 58vw;
    width: 40.4%;
    visibility: hidden;
}

.title_pc.visible {
    visibility: visible;
}

.title_ph {
    display: none;
}

.title_pc2 {
    top: 50vh;
    left: 96vw;
    width: 1.05%;
    visibility: hidden;
}

.title_pc2.visible {
    visibility: visible;
}

.logo_01_pc {
    bottom: 2vh;
    left: 2vw;
    width: 29%;
    /* visibility: hidden; */
}


.logo_02_pc {
    bottom: 2vh;
    left: 32vw;
    width: 50%;
    /* visibility: hidden; */
}


.logo_01_pc,
.logo_02_pc,
.enter-btn {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.logo_01_pc.visible,
.logo_02_pc.visible,
.enter-btn.visible {
    opacity: 1;
}


.enter-btn {
    position: absolute;
    color: white;
    top: 79vh;
    left: 79vw;
    font-size: 26px;
    visibility: hidden;
    cursor: pointer;
    z-index: 3;
    padding-right: 0.5vw;
    padding-left: 0.5vw;
}

.enter-btn-en {
    left: 80vw;
}

.enter-btn-ja {
    left: 80vw;
}

.enter-btn::before {
    /* 控制 border-top */
    content: "";
    position: absolute;
    height: 2px;
    width: 100%;
    top: -0.2vh;
    left: 0;
    background-color: white;
    transform-origin: right;
    transition: transform 0.3s ease;
}

.enter-btn:hover::before {
    transition-delay: 0s;
    transform: scaleX(0);
}


/* border-right效果 */
.enter-btn::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 107%;
    background-color: white;
    transform-origin: bottom;
    transition: transform 0.3s 0.3s ease;
}

.enter-btn:hover::after {
    transform: scaleY(0);
}




.enter-btn span::before {
    content: "";
    position: absolute;
    bottom: -0.5vh;
    left: 0;
    width: 0;
    height: 2px;
    background-color: white;
    transition: width 0.3s ease;
}

.enter-btn:hover span::before {
    width: 100%;
}



.enter-btn.visible {
    visibility: visible;
}


/* 導覽頁 */
.Overall {
    opacity: 0;
    transition: opacity 2s ease;
}

.intro_01 {
    top: 0vh;
    right: 0vw;
    /* width: 57%; */
    height: 100%;
    width: 1099.39px;
}

.intro_02-1 {
    top: 0vh;
    left: 0vw;
    height: 100%;
    width: 49px;
}

.intro_02-2 {
    top: 0vh;
    left: 782px;
    /* height: 933px; */
    height: 100%;
    width: 49px;
}

.overall {
    position: absolute;
    top: 0vh;
    left: 2vw;
    /* width: 40%; */
    width: 768px;
    height: 100vh;
    background-color: #8b6746;
    /* display: none; */
}

.title-zh {
    position: absolute;
    top: 10vh;
    /* left: 15vw; */
    /* left: 320px; */
    left: 82px;
    font-size: 60px;
    color: white;
    /* display: none; */
    width: 586px;
    text-align: center;
    padding-bottom: 2%;
    border-bottom: white 2px solid;
}

.title-en,
.title-jp {
    position: absolute;
    top: 10.5vh;
    /* left: 15vw; */
    left: 82px;
    font-size: 56px;
    color: white;
    width: 586px;
    text-align: center;
    padding-bottom: 2%;
    border-bottom: white 2px solid;
}

.overall-text {
    color: white;
    position: absolute;
    font-size: 19px;
    top: 28vh;
    left: 77px;
    width: 605px;
    overflow-y: scroll;
    /* height: 500px; */
    height: 53vh;
    z-index: 5;
    letter-spacing: 3px;
    line-height: 1.5;
    text-align: justify;
    word-break: break-all;
}


/* 自訂滾動條 */
p::-webkit-scrollbar {
    width: 3px;
    margin-right: 10px;
    /* 增加右側距離 */
    transform: translateX(10px);
}

/* p::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.05);
    border-radius: 10px;
} */

p::-webkit-scrollbar-thumb {
    background: #ffffff;
    border-radius: 10px;
    border: 3px solid rgba(#ffffff);
}

/* p::-webkit-scrollbar-thumb:hover {
    background: #51868a;
} */


/* 案紐 */
.enter-btn2 {
    position: absolute;
    color: white;
    top: 86vh;
    left: 547px;
    font-size: 26px;
    cursor: pointer;
    z-index: 3;
    padding-right: 0.5vw;
    padding-left: 0.5vw;

}

.enter-btn2::before {
    /* 控制 border-top */
    content: "";
    position: absolute;
    height: 2px;
    width: 100%;
    top: -0.2vh;
    left: 0;
    background-color: white;
    transform-origin: right;
    transition: transform 0.3s ease;
}

.enter-btn2:hover::before {
    transition-delay: 0s;
    transform: scaleX(0);
}


/* border-right效果 */
.enter-btn2::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    height: 107%;
    background-color: white;
    transform-origin: bottom;
    transition: transform 0.3s 0.3s ease;
}

.enter-btn2:hover::after {
    transform: scaleY(0);
}




.enter-btn2 a::before {
    content: "";
    position: absolute;
    bottom: -0.5vh;
    left: 0;
    width: 0;
    height: 2px;
    background-color: white;
    transition: width 0.3s ease;
}

.enter-btn2:hover a::before {
    width: 100%;
}



.Overall.visible {
    opacity: 1;
}


.enter-btn2-en {
    left: 594px;
}

.enter-btn2-ja {
    left: 531px;
}

/* 消除手機模式點擊時的藍框 */
.lang-btn,
.enter-btn,
.enter-btn2 {
    outline: none;
    -webkit-tap-highlight-color: transparent;
    /* 移除手機點擊高亮 */
}


/* 平板 */
@media (max-width: 1024px) and (orientation: portrait) {

    /* 首頁 */
    .bg_pc {
        display: none;
    }

    .bg_ph {
        display: block;
    }

    .title_pc {
        display: none;
    }

    .title_ph {
        top: 3vh;
        left: 31vw;
        width: 75%;
        display: block;
        visibility: hidden;
    }

    .title_ph.visible {
        visibility: visible;
    }

    .title_pc2 {
        top: 46vh;
        width: 2%;
    }

    .enter-btn {
        top: 71vh;
        left: 72vw;
        font-size: 33px;
    }

    .logo_01_pc {
        width: 39%;
    }

    .logo_02_pc {
        left: 37vw;
        width: 62%;
    }

    /* 導覽頁 */
    .intro_01 {
        width: 100%;
        height: 100%;
    }

    .title-zh {
        top: 9vh;
    }

    .overall-text {
        top: 25vh;
    }

    .enter-btn2 {
        left: 540px;
        top: 84vh;
    }

    .enter-btn2-en {
        left: 590px;
    }

    .enter-btn2-ja {
        left: 535px;
    }
}

@media (max-width: 921px) {
    .title-zh {
        top: 8vh;
    }

    .overall-text {
        top: 25vh;
    }

    .enter-btn2 {
        top: 86vh;
    }
}

@media (max-width: 835px) {
    .overall {
        height: 100dvh;
        width: 100%;
    }

    .intro_02-2 {
        left: 94vw;
    }
}


@media (max-width: 800px) {
    .title-zh {
        left: 0;
        top: 7vh;
        width: 100%;
        text-align: center;
        font-size: 50px;
    }

    .title-en,
    .title-jp {
        width: 73.2%;
        left: 12.5vw;

    }

    .overall-text {
        height: 54.3dvh;
        width: 73%;
        left: 11.9vw;
        padding-right: 5px;
    }

    .enter-btn2 {
        top: 85vh;
        left: 70vw;
    }

    .enter-btn2-en {
        left: 74vw;
    }

    .enter-btn2-ja {
        left: 67vw;
    }
}

@media (max-width: 800px) and (orientation: portrait) {
    .title-zh {
        top: 9vh;
    }

    .overall-text {
        top: 27vh;
        height: 51.3dvh;
    }

}

@media (max-width: 1180px) and (orientation: landscape) {

    .title-zh,
    .title-en,
    .title-jp {
        top: 6.5vh;
    }
}

@media (max-width: 680px) {
    .enter-btn2 {
        left: 66vw;
    }
}

@media (max-width: 580px) {
    .enter-btn2 {
        left: 68vw;
    }
}

@media (max-width: 480px) {
    .enter-btn2 {
        left: 58vw;
    }
}

/* 手機板 */
@media (max-width: 430px) {
    .setting {
        width: 93px;
        height: 4.5dvh;
        margin-left: 4vw;
        padding-bottom: 5px;
        top: 42dvh;
    }

    .setting-text {
        font-size: 20px;
    }

    .lang-btns {
        font-size: 23px;
        width: 100vw;
        justify-content: center;
        position: relative;
        top: 42dvh;
        padding-right: 0px;
    }



    /* 首頁 */
    .bg_pc {
        display: none;
    }

    .bg_ph {
        display: block;
    }

    .title_pc {
        display: none;
    }

    .title_ph {
        top: 3dvh;
        left: 8vw;
        width: 87%;
        display: block;
        visibility: hidden;
    }

    .title_ph.visible {
        visibility: visible;
    }

    .enter-btn {
        top: 70dvh;
        left: 61vw;
        font-size: 23px;
    }

    .enter-btn span {
        padding-right: 4px;
    }

    .title_pc2 {
        width: 3%;
        top: 48dvh;
        left: 93vw;
    }

    .logo_01_pc {
        bottom: 5vh;
        left: 2vw;
        width: 43%;
    }

    .logo_02_pc {
        bottom: 1vh;
        left: 2vw;
        width: 95%;
    }

    .enter-btn-ja {
        left: 53vw
    }

    /* 導覽頁 */

    .title-zh {
        font-size: 26px;
        top: 14dvh;
        left: 12.5%;
        width: 73%;
    }

    .title-en,
    .title-jp {
        font-size: 26px;
        top: 14dvh;
    }

    .intro_02-1 {
        left: -5vw;
    }

    .overall-text {
        top: 23dvh;
        height: 52.3dvh;
        font-size: 17px;
    }

    a {
        padding-right: 4px;
    }

    .enter-btn2 {
        left: 63vw;
        top: 81dvh;
        font-size: 18px;
    }

    .enter-btn2-en {
        left: 67vw;
    }

    .enter-btn2-ja {
        left: 59vw;
    }
}

@media (max-width: 390px) {
    .lang-btns {
        font-size: 21px;
    }

    .title-zh {
        top: 13dvh;
    }

    .enter-btn {
        font-size: 20px;
    }

    /* 導覽頁 */
    .overall-text {
        height: 51.3dvh;
    }

    .enter-btn2 {
        left: 61vw;

    }

    .enter-btn2-en {
        left: 65vw;
    }

    .enter-btn2-ja {
        left: 57vw;
    }
}

@media (max-width: 375px) {
    .lang-btns {
        font-size: 20px;
    }

    /* 首頁 */
    .enter-btn {
        font-size: 18px;
    }

    /* 導覽頁 */
    .title-zh {
        top: 14dvh;
    }

    .overall-text {
        top: 26dvh;
        height: 47.3dvh;
    }

    .enter-btn2 {
        left: 61vw;
        font-size: 18px;
    }

    .enter-btn2-en {
        left: 65vw;
    }

    .enter-btn2-ja {
        left: 56vw;
    }

}

@media (max-width: 370px) {
    .setting {
        height: 6dvh;
        padding-bottom: 6px;
    }

    .intro_02-1 {
        left: -9vw;
    }

    .setting-text {
        font-size: 19px;
    }

    .lang-btns {
        font-size: 18px;
    }

    /* 首頁 */
    .enter-btn {
        font-size: 16px;
    }

    /* 導覽頁 */
    .title-zh {
        top: 11dvh;
    }

    .title-en,
    .title-jp {
        font-size: 26px;
        top: 10dvh;
    }

    .overall-text {
        top: 24dvh;
        height: 51.3dvh;
    }

    .enter-btn2 {
        top: 82dvh;
        left: 57vw;
    }

    .enter-btn2-en {
        left: 61vw;
    }

    .enter-btn2-ja {
        left: 52vw;
    }
}

.lang-div {
    position: absolute;
    top: -3%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}