@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: "Pr6N-M";
    src: url(../fonts/小塚明朝\ Pr6N\ M.otf);
}

[data-aos="opacity-up"] {
    opacity: 0;
    clip-path: inset(100% 0 0% 0);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-down"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}

[data-aos="opacity-down"] {
    opacity: 0;
    clip-path: inset(0% 0 100% 0);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-down"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}

[data-aos="opacity-y"] {
    opacity: 0;
    clip-path: inset(50% 0 50% 0);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-y"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}

[data-aos="opacity-left"] {
    opacity: 0;
    clip-path: inset(0% 100% 0% 0%);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-left"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}


[data-aos="opacity-right"] {
    opacity: 0;
    clip-path: inset(0% 0 0% 100%);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-right"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}


.dot-left {
    display: inline-block;
    margin-left: -0.6vw;
}


body,
html {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    /* scroll-behavior: smooth; */
    --vw-base: calc(100vw / 1920);
}

body>* {}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
    padding: 0;
}

a:link,
a:visited,
a:hover,
a:active {
    text-decoration: none;
}

button,
input,
textarea,
select,
option {
    margin: 0;
    padding: 0;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    border-radius: 0;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pic-txt {
    position: absolute;
    bottom: calc(20* var(--vw-base));
    right: calc(20* var(--vw-base));
    color: #fff;
    font-size: calc(15* var(--vw-base));
    font-family: "Noto Sans TC";
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: calc(20* var(--vw-base));
    z-index: 10;
    text-shadow: #4e484698 1px 1px 1px;
}

/*nav*/
.nav {
    position: fixed;
    top: calc(0*var(--vw-base));
    right: 0;
    width: 100%;
    height: calc(60*var(--vw-base));
    background-color: rgba(255, 255, 255, 0.65);
    display: flex;
    opacity: 0;
    transform: translateY(-100%);
    transition: all 0.4s ease;
    z-index: 9999;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #000;
    user-select: none;
    pointer-events: none;
    box-sizing: border-box;
    padding: 0 calc(60*var(--vw-base)) 0 calc(60*var(--vw-base));
}

.nav.show {
    display: flex;
    opacity: 1;
    z-index: 999;
    user-select: auto;
    pointer-events: all;
    transform: translateY(0%);
}

.nav-logo {
    width: 7%;
    position: relative;
}

.nav-box {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-item {
    position: relative;
    width: calc(200*var(--vw-base));
    height: 100%;
    color: #343434;
    font-size: calc(28*var(--vw-base));
    letter-spacing: 0.075em;
    transition: all 0.3s ease;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: calc(5*var(--vw-base)) calc(5*var(--vw-base));
}

.nav-item-bg {
    width: 100%;
    height: 100%;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2vw;
}

.nav-item:hover .nav-item-bg {
    background-color: rgba(225, 225, 225, 0.4);
}


.nav-item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1px;
    height: 60%;
    background-color: #343434;
}

.nav-item:last-child::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1px;
    height: 60%;
    background-color: #343434;
}

.nav-icon {
    position: relative;
    background-color: transparent;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    transition: all 0.4s ease;
    /* padding-right: 0.5vw; */
}

.nav-item:hover .nav-icon {
    opacity: 0.81;
}



.nav-pen {
    background-image: url(../img/nav-pen.png);
    -webkit-background-image: url(../img/nav-pen.png);
    width: calc(25 * var(--vw-base));
    height: calc(25 * var(--vw-base));
}

.nav-fb {
    background-image: url(../img/nav-fb.png);
    -webkit-background-image: url(../img/nav-fb.png);
    width: calc(25 * var(--vw-base));
    height: calc(38 * var(--vw-base));
}

.nav-location {
    background-image: url(../img/nav-location.png);
    -webkit-background-image: url(../img/nav-location.png);
    width: calc(24 * var(--vw-base));
    height: calc(32 * var(--vw-base));
}

.nav-icon img {
    object-fit: contain;
}

.nav-txt {
    position: relative;
    color: #343434;
    font-size: 1vw;
    line-height: 1.2vw;
    font-family: "Noto Sans TC";
    font-weight: 400;
    transition: all 0.4s ease;

}

.nav-item:hover .nav-txt {
    opacity: 0.81;
}


/*內容*/
.container {
    position: relative;
    width: 100%;
    height: auto;
    background-image: url(../img/container-bg.jpg);
    background-repeat: repeat-y;
    background-position: 0 0;
    background-size: cover;
}

.simpleParallax {
    overflow: visible !important;
}

.swiper-zoom .swiper-slide img {
    transform: scale(1.15);
    /* 初始状态 1.3 倍 */
    transition: transform 4s ease-in-out;
    /* 动画效果，1 秒内完成缩放 */
}

.sw-control-r {
    position: absolute;
    right: 0;
    bottom: -2.8vw;
    z-index: 100;
    display: flex;
    gap: 1.5vw;
    cursor: pointer;
}

.sw-control-l {
    position: absolute;
    left: 0;
    bottom: -2.8vw;
    z-index: 100;
    display: flex;
    gap: 1.5vw;
    cursor: pointer;
}

.sw-prev-in {
    position: relative;
    width: 2.3vw !important;
    height: 2.3vw !important;
    background-image: url(../img/arr-l.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}

.sw-next-in {
    position: relative;
    width: 2.3vw !important;
    height: 2.3vw !important;
    background-image: url(../img/arr-r.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    overflow: hidden;
}


.main1 {
    position: relative;
    width: 100%;
    height: calc(950*var(--vw-base));
    overflow: clip;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #000;
}

.main1-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.main2 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: end;

}

.main2-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.main2 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(250*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main2 .banner .gallery-top {
    position: relative;
}

.main2 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    gap: calc(12*var(--vw-base));
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.main2 .banner .main-pic {
    position: relative;
    flex-shrink: 0;
    width: calc(966*var(--vw-base));
    height: 100%;
}

.main2 .small_bt_slide {
    flex-grow: 1;
    /* height: 100%; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* gap: calc(20*var(--vw-base)); */
}

.main2 .slide_btn {
    position: relative;
    width: 100%;
    height: calc(202*var(--vw-base));
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
}


.main2 .title {
    position: absolute;
    left: calc(170*var(--vw-base));
    top: calc(221*var(--vw-base));
    width: calc(71*var(--vw-base));
}

.main2 .title img {
    width: 100%;
    object-fit: contain;
}

.main2-txt {
    position: absolute;
    left: calc(200*var(--vw-base));
    top: calc(774*var(--vw-base));
}

.main2-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(36*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.5em;
}

.main2 .line {
    position: absolute;
    left: calc(179*var(--vw-base));
    top: calc(642*var(--vw-base));
    width: 1px;
    height: calc(235*var(--vw-base));
    z-index: 9;
}

.main2-txt .line img {
    height: 100%;
    object-fit: contain;
}

.dotintxt {
    position: relative;
    margin-left: calc(5*var(--vw-base));
    margin-right: calc(-10*var(--vw-base));
}

.nosee {
    opacity: 0;
    user-select: none;
    /* 禁止文字選取 */
    pointer-events: none;
}

.main3 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: start;

}

.main3 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main3 .banner .gallery-top {
    position: relative;
    height: 100%;
}

.main3 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(12*var(--vw-base));
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.main3 .banner .main-pic {
    position: relative;
    flex-shrink: 0;
    width: calc(966*var(--vw-base));
    height: 100%;
}

.main3 .small_bt_slide {
    flex-grow: 1;
    /* height: 100%; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* gap: calc(20*var(--vw-base)); */
}

.main3 .slide_btn {
    position: relative;
    width: 100%;
    height: calc(202*var(--vw-base));
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
}

.main3-txt {
    position: absolute;
    left: calc(1336*var(--vw-base));
    top: calc(430*var(--vw-base));
    height: calc(152*var(--vw-base));
}

.main3-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(36*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.5em;
}


.main3 .line {
    position: absolute;
    left: calc(0*var(--vw-base));
    bottom: calc(0*var(--vw-base));
    width: calc(529*var(--vw-base));
    /* height: 1px; */
    z-index: 9;
}

.main3-txt .line img {
    width: 100%;
    object-fit: contain;
}

.main4 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: end;

}

.main4 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main4 .banner .gallery-top {
    position: relative;
}

.main4 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    gap: calc(12*var(--vw-base));
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.main4 .banner .main-pic {
    position: relative;
    flex-shrink: 0;
    width: calc(966*var(--vw-base));
    height: 100%;
}

.main4 .small_bt_slide {
    flex-grow: 1;
    /* height: 100%; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* gap: calc(20*var(--vw-base)); */
}

.main4 .slide_btn {
    position: relative;
    width: 100%;
    height: calc(310*var(--vw-base));
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
}

.main4-txt {
    position: absolute;
    left: calc(123*var(--vw-base));
    top: calc(415*var(--vw-base));
    height: calc(100*var(--vw-base));
    width: calc(450*var(--vw-base));
}

.main4-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(36*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.5em;
}


.main4 .line {
    position: absolute;
    right: calc(0*var(--vw-base));
    bottom: calc(0*var(--vw-base));
    width: calc(500*var(--vw-base));
    /* height: 1px; */
    z-index: 9;
}

.main4-txt .line img {
    width: 100%;
    object-fit: contain;
}

.main5 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: start;

}

.main5 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main5 .banner .gallery-top {
    position: relative;
}

.main5 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    gap: calc(12*var(--vw-base));
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.main5 .banner .main-pic {
    position: relative;
    flex-shrink: 0;
    width: calc(966*var(--vw-base));
    height: 100%;
}

.main5 .small_bt_slide {
    flex-grow: 1;
    /* height: 100%; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* gap: calc(20*var(--vw-base)); */
}

.main5 .slide_btn {
    position: relative;
    width: 100%;
    height: calc(202*var(--vw-base));
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
}


.main5 .title {
    position: absolute;
    left: calc(1407*var(--vw-base));
    top: calc(280*var(--vw-base));
    width: calc(68*var(--vw-base));
}

.main5 .title img {
    width: 100%;
    object-fit: contain;
}

.main5-txt {
    position: absolute;
    left: calc(1432*var(--vw-base));
    top: calc(710*var(--vw-base));
}

.main5-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(36*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.5em;
}

.main5 .line {
    position: absolute;
    left: calc(1418*var(--vw-base));
    top: calc(542*var(--vw-base));
    width: 1px;
    height: calc(235*var(--vw-base));
    z-index: 9;
}


.main5-txt .line img {
    height: 100%;
    object-fit: contain;
}

.main6 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: end;

}

.main6 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main6 .banner .gallery-top {
    position: relative;
}

.main6 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    gap: calc(12*var(--vw-base));
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
}

.main6 .banner .main-pic {
    position: relative;
    flex-shrink: 0;
    width: calc(966*var(--vw-base));
    height: 100%;
}

.main6 .small_bt_slide {
    flex-grow: 1;
    /* height: 100%; */
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* gap: calc(20*var(--vw-base)); */
}

.main6 .slide_btn {
    position: relative;
    width: 100%;
    height: calc(310*var(--vw-base));
    box-sizing: border-box;
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    -webkit-filter: brightness(50%);
    filter: brightness(50%);
}

.main6-txt {
    position: absolute;
    left: calc(115*var(--vw-base));
    top: calc(415*var(--vw-base));
    height: calc(145*var(--vw-base));
    width: calc(500*var(--vw-base));
}

.main6-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(42*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.5em;
}


.main6 .line {
    position: absolute;
    right: calc(0*var(--vw-base));
    bottom: calc(0*var(--vw-base));
    width: calc(500*var(--vw-base));
    /* height: 1px; */
    z-index: 9;
}

.main6-txt .line img {
    width: 100%;
    object-fit: contain;
}

.main7 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
}

.main7-man {
    position: absolute;
    right: calc(-210*var(--vw-base));
    top: calc(100*var(--vw-base));
    width: calc(1517*var(--vw-base));
    height: calc(572*var(--vw-base));
}

.main7 .banner {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    margin: calc(600*var(--vw-base)) 0 calc(60*var(--vw-base)) 0;
    width: 100%;
    height: calc(770*var(--vw-base));
}

.main7 .banner .gallery-top {
    position: relative;
}

.main7 .banner .swiper-container.gallery-top {
    position: relative;
    height: 100%;
}

.main7 .banner .swiper-container.gallery-top .swiper-slide {
    height: 100%;
    box-sizing: border-box;
    padding: 0 calc(50*var(--vw-base)) 0 calc(50*var(--vw-base));
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    position: relative;
    margin: 0;
}

.main7-txt {
    position: absolute;
    left: calc(110*var(--vw-base));
    top: calc(340*var(--vw-base));
}

.main7-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(28*var(--vw-base));
    line-height: calc(46*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.68em;
    text-align: left;
}

.main7-txt .intxt.mg20 {
    margin-top: calc(20*var(--vw-base));
    margin-bottom: calc(5*var(--vw-base));
}

.main7-txt .intxt2 {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(42*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.3em;
    text-align: left;
}

.main7 .pic-txt {
    right: calc(70*var(--vw-base));
}

.main7 .line {
    position: absolute;
    right: calc(70*var(--vw-base));
    top: calc(49*var(--vw-base));
    width: calc(435*var(--vw-base));
}

.main8 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
}

.main8-man {
    position: absolute;
    left: calc(445*var(--vw-base));
    top: calc(100*var(--vw-base));
    width: calc(460*var(--vw-base));
    height: calc(788*var(--vw-base));
}

.main8 .banner {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    margin: calc(710*var(--vw-base)) 0 calc(60*var(--vw-base)) 0;
    width: 100%;
    height: calc(770*var(--vw-base));
}

.main8 .banner .gallery-top {
    position: relative;
}

.main8 .banner .swiper-container.gallery-top {
    position: relative;
    height: 100%;
}

.main8 .banner .swiper-container.gallery-top .swiper-slide {
    height: 100%;
    box-sizing: border-box;
    padding: 0 calc(50*var(--vw-base)) 0 calc(50*var(--vw-base));
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    position: relative;
    margin: 0;
}

.main8-txt {
    position: absolute;
    left: calc(1040*var(--vw-base));
    top: calc(380*var(--vw-base));
}

.main8-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(28*var(--vw-base));
    line-height: calc(56*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.68em;
    text-align: left;
}

.main8-txt .intxt.mg20 {
    margin-top: calc(20*var(--vw-base));
    margin-bottom: calc(5*var(--vw-base));
}

.main8-txt .intxt2 {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(42*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.3em;
    text-align: left;
}

.main8 .pic-txt {
    right: calc(70*var(--vw-base));
}

.main8 .line {
    position: absolute;
    left: calc(0*var(--vw-base));
    top: calc(55*var(--vw-base));
    width: calc(435*var(--vw-base));
}

.main9 {
    position: relative;
    width: 100%;
    /* height: calc(950*var(--vw-base)); */
    overflow: clip;
    display: flex;
    justify-content: end;

}

.main9 .banner {
    width: calc(1239*var(--vw-base));
    height: calc(629*var(--vw-base));
    overflow: visible;
    position: relative;
    margin: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main9 .banner .gallery-top {
    position: relative;
    height: 100%;
}

.main9 .banner .swiper.gallery-top .swiper-slide {
    position: relative;
    display: flex;
    transition: all 0.5s ease-in-out;
    cursor: pointer;
    height: 100%;
    box-sizing: border-box;
    padding-right: calc(53*var(--vw-base));
}


.main9-logo {
    position: absolute;
    left: calc(247*var(--vw-base));
    top: calc(270*var(--vw-base));
    width: calc(214*var(--vw-base));
    height: calc(374*var(--vw-base));
}

.main9-logo .logo1 {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.main9-logo .logo1 img {
    object-fit: contain;
}

.main9 .pic-txt {
    right: calc(73*var(--vw-base));
}

.main10 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
    padding: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
}

.main10-map {
    position: relative;
    width: calc(1063*var(--vw-base));
    height: calc(649*var(--vw-base));
}

.main10-info-box {
    /* width: 70vw; */
    position: relative;
    margin: calc(0*var(--vw-base)) 0 calc(0*var(--vw-base)) calc(110*var(--vw-base));
    padding: calc(137*var(--vw-base)) 0 calc(137*var(--vw-base)) 0;
    display: flex;
    flex-direction: column;
}

.main10-info-box .main10-info {
    width: 100%;
    position: relative;
    display: flex;
    gap: calc(30*var(--vw-base));
}

.main10-info-box .main10-info .title {
    color: #4d4d4d;
    font-size: calc(24 * var(--vw-base));
    font-family: 'Noto Serif TC', serif;
    line-height: calc(48 * var(--vw-base));
    letter-spacing: 0.3em;
    font-weight: 600;
    position: relative;
    margin-right: 0vw;
    /* width: 18.5vw; */
}

.main10-info-box .main10-info .intxt {
    color: #4d4d4d;
    font-size: calc(24 * var(--vw-base));
    font-family: 'Noto Serif TC', serif;
    line-height: calc(48 * var(--vw-base));
    letter-spacing: 0.3em;
    font-weight: 600;
    position: relative;
}

.main10 .line {
    position: absolute;
    left: calc(135*var(--vw-base));
    top: calc(120*var(--vw-base));
    width: 2px;
    height: calc(380*var(--vw-base));
}

.main10 .line img {
    height: 100%;
    object-fit: contain;
}

.main11 {
    position: relative;
    padding: calc(125*var(--vw-base)) 0 calc(125*var(--vw-base)) 0;
    overflow: hidden;
}

.form .form-select {
    position: relative;
    width: 100%;

    box-sizing: border-box;
    padding: 0 calc(302*var(--vw-base)) 0 calc(302*var(--vw-base));
}

.form-title {
    position: relative;
    width: 100%;
    text-align: center;
    color: #4d4d4d;
    font-family: "Pr6N-M";
    font-size: calc(24 * var(--vw-base));
    margin-bottom: calc(40*var(--vw-base));
}

.form-check {
    position: absolute;
    right: calc(302*var(--vw-base));
    top: calc(40*var(--vw-base));
    text-align: right;
    color: #4d4d4d;
    font-family: "Noto Serif TC", serif;
    font-weight: 400;
    font-style: italic;
    font-size: calc(26 * var(--vw-base));
}

.select-all {
    width: 100%;
    position: relative;
}

.select-all::after {
    content: "";
    display: block;
    clear: both;
}

.select-l {
    width: 49%;
    float: left;
}

.select-r {
    width: 49%;
    float: right;
}

.star {
    position: absolute;
    left: 6.9vw;
    top: -0.2vw;
    font-size: 1.1vw;
}

.text-input {
    width: 100%;
    height: 2.8vw;
    line-height: 2.8vw;
    color: #3e3a39;
    /* border: 1px solid #778896; */
    font-family: "Noto Serif TC", serif;
    font-weight: 400;
    background-color: rgba(239, 239, 239, 0.75);
    font-size: 1.1vw;
    margin-bottom: 0.5vw;
    position: relative;
    padding: 0 1vw;
    box-sizing: border-box;
}

.input-title {
    width: 14%;
    height: 2.8vw;
    line-height: 2.8vw;
    color: #3e3a39;
    float: left;
    letter-spacing: 0.2vw;
    font-family: 'Noto Serif TC', serif;
    box-sizing: border-box;
}

.input {
    width: 86%;
    float: left;
    position: relative;
    overflow: hidden;
}

.select-all .input-title {
    width: 24%;
}

.select-all .input {
    width: 76%;
}

.input input {
    width: 100%;
    height: 2.8vw;
    line-height: 2.8vw;
    padding: 0;
    border: none;
    color: #3e3a39;
    font-size: 1.1vw;
    background-color: transparent;
    font-family: 'Noto Serif TC', serif;
    outline: none;
    letter-spacing: 0.2vw;
}

.form input::placeholder {
    color: #3e3a39 !important;
}

.check-item {
    width: 42%;
    height: auto;
    line-height: 1.2vw;
    margin: 1.5vw auto 0 auto;
    vertical-align: middle;
    position: relative;
    color: #3e3a39;
    font-family: 'Noto Serif TC', serif;
}

.check-txt {
    width: 100%;
    font-size: 1vw;
    text-align: center;
    margin-bottom: 0.1vw;
    color: #3e3a39;
    font-family: 'Noto Serif TC', serif;
}

.check-item label {
    height: auto;
    line-height: 2vw;
    cursor: pointer;
    font-size: 1vw;
    text-align: center;
    width: 100%;
    display: block;
}

.check-item label input {
    width: 1vw;
    height: 1vw;
    margin: 0 0.5% -0.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: 1vw 1vw;
    border: none;
    cursor: pointer;
}

.check-item label input:checked {
    background: url("../img/checked.png") no-repeat top center;
    background-size: 1vw 1vw;
}

.form-btn {
    position: relative;
    margin-top: 1.5vw;
    width: 100%;
    height: 3vw;
}

.form-btn .submitbtn {
    width: 100%;
    height: 100%;
    line-height: 3vw;
    font-size: 1.3vw;
    text-align: center;
    color: #3e3a39;
    font-family: 'Noto Serif TC', serif;
    letter-spacing: 0.2em;
    font-weight: 500;
    background-color: rgba(239, 239, 239, 0.75);
    border: none;
    outline: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.form-btn .submitbtn:hover {
    background-color: rgba(225, 225, 225, 0.75);
    color: #3e3a39be;
}

.check-item-sex {
    position: absolute;
    right: 1vw;
    top: 0;
    height: 2.8vw;
    line-height: 2.8vw;
    color: #3e3a39;
    z-index: 1;
}

.check-item-time {
    position: absolute;
    left: 9.9vw;
    top: 0;
    height: 2.8vw;
    line-height: 2.8vw;
    color: #3e3a39;
    z-index: 1;
}

.check-select {
    position: absolute;
    left: 9.9vw;
    top: 0;
    height: 2.8vw;
    line-height: 2.8vw;
    color: #3e3a39;
    z-index: 1;
    white-space: nowrap;
}

.check-item-sex label {
    width: 5vw;
    height: 2.8vw;
    line-height: 2.8vw;
    cursor: pointer;
    font-size: 1.1vw;
    display: block;
    float: left;
}

.check-item-time label {
    width: 10vw;
    height: 2.8vw;
    line-height: 2.8vw;
    cursor: pointer;
    font-size: 1.1vw;
    display: block;
    float: left;
}

.check-select label {
    width: 9vw;
    height: 2.8vw;
    line-height: 2.8vw;
    cursor: pointer;
    font-size: 1.1vw;
    display: block;
    float: left;
}

.place label {
    width: 8vw;
}

.check-item-sex label input[type="radio"],
.check-item-time label input[type="radio"],
.check-select label input[type="radio"] {
    width: 1vw;
    height: 1vw;
    margin: 0 3% -1% 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-border-radius: 0px;
    background: url(../img/check.png) no-repeat top center;
    background-size: 1vw 1vw;
    border: none;
    cursor: pointer;
}

.check-item-sex label input:checked,
.check-item-time label input:checked,
.check-select label input:checked {
    background: url("../img/checked.png") no-repeat top center;
    background-size: 1vw 1vw;
}

.openTxtBtn {
    /* border-bottom: 1px solid #000000; */
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: #3e3a39;
    -webkit-box-shadow: 0 0 0px 1000px transparent inset;
    /*淡淡的白*/
    transition: background-color 5000s ease-in-out 0s;
    /*透明*/
}

.verification-code .input {
    width: 40vw;
    margin: 0 0 0 3%;
}

.verification-code .input-title {
    margin-top: 0;
    height: 100%;
    padding: 0.2% 0 0.2% 1%;
    box-sizing: border-box;
}

.verification-code .input-title img {
    width: auto;
    height: 100%;
}

.verification-code.text-input {
    padding: 0;
}

.main12 {
    position: relative;
    width: 100%;
    overflow: hidden;
    display: flex;
}

.main12-man {
    position: absolute;
    left: calc(0*var(--vw-base));
    top: calc(0*var(--vw-base));
    width: calc(1164*var(--vw-base));
    height: calc(757*var(--vw-base));
}

.main12-man img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.main12 .banner {
    position: relative;
    width: 100%;
    overflow-x: hidden;
    margin: calc(710*var(--vw-base)) 0 calc(60*var(--vw-base)) 0;
    width: 100%;
    height: calc(770*var(--vw-base));
}

.main12 .banner .gallery-top {
    position: relative;
}

.main12 .banner .swiper-container.gallery-top {
    position: relative;
    height: 100%;
}

.main12 .banner .swiper-container.gallery-top .swiper-slide {
    height: 100%;
    box-sizing: border-box;
    padding: 0 calc(50*var(--vw-base)) 0 calc(50*var(--vw-base));
    cursor: pointer;
    transition: all 0.5s ease-in-out;
    position: relative;
    margin: 0;
}

.main12-txt {
    position: absolute;
    left: calc(1330*var(--vw-base));
    top: calc(380*var(--vw-base));
}

.main12-txt .intxt {
    position: relative;
    color: #4d4d4d;
    font-size: calc(28*var(--vw-base));
    line-height: calc(56*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.68em;
    text-align: left;
}

.main12-txt .intxt.mg20 {
    margin-top: calc(20*var(--vw-base));
    margin-bottom: calc(5*var(--vw-base));
}

.main12-txt .intxt2 {
    position: relative;
    color: #4d4d4d;
    font-size: calc(24*var(--vw-base));
    line-height: calc(42*var(--vw-base));
    font-family: "Pr6N-M";
    letter-spacing: 0.3em;
    text-align: left;
}

.main12 .pic-txt {
    right: calc(70*var(--vw-base));
}

.main12 .line {
    position: absolute;
    left: calc(0*var(--vw-base));
    top: calc(55*var(--vw-base));
    width: calc(435*var(--vw-base));
}






















/*同意書照片預覽*/

.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";
}

.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%;
}