/* 字體 */

@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-Oblique";
    src: url(../../fonts/Futura-Std-Light-Oblique.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: "GOTHICB";
    src: url(../../fonts/GOTHICB.TTF);
}

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

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

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

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

.GOTHICB {
    font-family: "GOTHICB";
    font-weight: normal;
}

[data-aos="opacity-x"] {
    opacity: 1;
    clip-path: inset(0% 100% 0 100%);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-x"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}

[data-aos="opacity-down"] {
    opacity: 1;
    clip-path: inset(0% 0% 100% 0%);
    /* 初始状态下完全隐藏 */
}

[data-aos="opacity-down"].aos-animate {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    /* 显示全部图片 */
}

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

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

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

/*LOADING START*/

.loading {
    width: 100%;
    height: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 9999999;
    background-color: #000;
}

.la-square-loader,
.la-square-loader>div {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.la-square-loader {
    display: block;
    font-size: 0;
    color: #fff;
}

.la-square-loader.la-dark {
    color: #fff;
}

.la-square-loader>div {
    display: inline-block;
    float: none;
    background-color: currentColor;
    border: 0 solid currentColor;
}

.la-square-loader {
    width: 32px;
    height: 32px;
}

.la-square-loader>div {
    width: 100%;
    height: 100%;
    background: transparent;
    border-width: 2px;
    border-radius: 0;
    -webkit-animation: square-loader 3s infinite ease;
    -moz-animation: square-loader 3s infinite ease;
    -o-animation: square-loader 3s infinite ease;
    animation: square-loader 3s infinite ease;
}

.la-square-loader>div:after {
    display: inline-block;
    width: 100%;
    vertical-align: top;
    content: "";
    background-color: currentColor;
    -webkit-animation: square-loader-inner 3s infinite ease-in;
    -moz-animation: square-loader-inner 3s infinite ease-in;
    -o-animation: square-loader-inner 3s infinite ease-in;
    animation: square-loader-inner 3s infinite ease-in;
}

.la-square-loader.la-sm {
    width: 16px;
    height: 16px;
}

.la-square-loader.la-sm>div {
    border-width: 1px;
}

.la-square-loader.la-2x {
    width: 40px;
    height: 40px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.la-square-loader.la-2x>div {
    border-width: 2px;
}

.la-square-loader.la-3x {
    width: 96px;
    height: 96px;
}

.la-square-loader.la-3x>div {
    border-width: 6px;
}


/*
 * Animations
 */
@-webkit-keyframes square-loader {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }

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

@-moz-keyframes square-loader {
    0% {
        -moz-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -moz-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -moz-transform: rotate(360deg);
        transform: rotate(360deg);
    }

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

@-o-keyframes square-loader {
    0% {
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }

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

@keyframes square-loader {
    0% {
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    25% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    50% {
        -webkit-transform: rotate(180deg);
        -moz-transform: rotate(180deg);
        -o-transform: rotate(180deg);
        transform: rotate(180deg);
    }

    75% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }

    100% {
        -webkit-transform: rotate(360deg);
        -moz-transform: rotate(360deg);
        -o-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@-webkit-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@-moz-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@-o-keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

@keyframes square-loader-inner {
    0% {
        height: 0;
    }

    25% {
        height: 0;
    }

    50% {
        height: 100%;
    }

    75% {
        height: 100%;
    }

    100% {
        height: 0;
    }
}

/*LOADING END*/
.all {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    opacity: 0;
}

.opacity1 {
    opacity: 1;
}



/*footer-nav*/
.footer-nav {
    width: 100%;
    position: fixed;
    height: auto;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    box-sizing: border-box;
    display: none;
    background-image: url("../img/nav.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.footer-nav2 {
    width: 100%;
    height: auto;
    position: relative;
    clear: both;
    margin: 0 0 6vw 0;
}

.footer-nav:after,
.footer-nav2:after {
    content: "";
    clear: both;
    display: block;
}

.footer-nav-li {
    width: 25%;
    float: left;
    position: relative;
}

.footer-nav-li::after {
    content: "";
    position: absolute;
    width: 0.5px;
    height: 15vw;
    right: 0;
    top: 31%;
    background-color: #595757;
}

.icon4-line::after {
    background-color: transparent;
}

.icon5-line::after {
    background-color: transparent;
}

.icon1 {
    max-width: 7%;
    height: auto;
    display: block;
    margin: 23% auto 5% auto;
}

.icon2 {
    max-width: 16%;
    height: auto;
    display: block;
    margin: 23% auto 5% auto;
}

.icon3 {
    max-width: 11%;
    height: auto;
    display: block;
    margin: 26% auto 0 auto;
}

.icon4 {
    max-width: 11%;
    height: auto;
    display: block;
    margin: 27% auto 0 auto;
}


.icon-content {
    width: 25%;
    height: auto;
    line-height: 4vw;
    font-size: 2.8vw;
    font-family: "Futura-Std-Book";
    color: #bcbcbc;
    text-align: center;
    float: left;
    letter-spacing: 0.3vw;
    position: relative;
    margin: 0 0 0 0;
}

.icon-content a {
    color: #bcbcbc;
}

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

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


.pen {
    width: 6.5vw;
    position: fixed;
    height: 25vw;
    bottom: 50vw;
    left: auto;
    right: 0;
    z-index: 998;
    box-sizing: border-box;
    /*    display: none;*/
    background-color: rgba(0, 0, 0, 0.7);
}

.book {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.footer-nav-li.book {
    width: 3.5vw;
    float: left;
    position: absolute;
    right: 1.5vw;
    top: 3.5vw;
}

.icon-content.book {
    width: 100%;
    height: auto;
    line-height: 4.5vw;
    font-size: 2.7vw;
    font-family: 'Noto Sans JP';
    color: #bcbcbc;
    text-align: center;
    float: left;
    letter-spacing: 0.5vw;
    position: absolute;
    right: 1.25vw;
    bottom: 2.5vw;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}


/*頁面1*/
/*
.main1 {
    width: 100%;
    height: auto;
    position: relative;
    overflow: hidden;
    color: #002d49;
    background-color: #fff;
}

.main1>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.5);
    animation: main1 7s ease;
    animation-fill-mode: forwards;
}

@keyframes main1 {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}
*/
.main1 {
    width: 100%;
    height: auto;
    position: relative;
    background: #000;
}

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

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

.swiper-slide-active .main1-img img {
    animation: img0 7s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

.swiper-slide-active .main1-img.main1-img-1 img {
    animation: img0 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}



/*
.swiper-slide-active .main1-img.zoomin img {
    animation: img0-zoomin 8.5s linear;
    animation-fill-mode: forwards;
    transform: scale(1);
}*/
@keyframes img0 {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

/*
@keyframes img0-zoomin {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.1);
    }
}*/
.logo-mask {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
}

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

.logo-txt {
    width: calc(480*var(--vw-base));
    position: absolute;
    bottom: calc(250*var(--vw-base));
    left: 50%;
    transform: translateX(-50%);
    z-index: 6;
}

.end-txt {
    width: calc(480 * var(--vw-base));
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: calc(250 * var(--vw-base));
    z-index: 6;
}

.last-txt {
    width: calc(400 * var(--vw-base));
    position: absolute;
    left: 24.5vw;
    bottom: calc(135 * var(--vw-base));
    /* color: #002d49; */
    color: #fff;
    font-family: 'Noto Sans JP';
    line-height: 6vw;
    text-align: center;
    font-size: 4.5vw;
    font-weight: 300;
    letter-spacing: 0.5vw;
    z-index: 6;
}

.last-txt .t1 {
    transform: scale(1, 0.85);
}

/*
.scroll {
    width: 4.7vw;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

.scroll-li {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

.scroll {
    animation: scroll 0.6s infinite alternate;
    transition-timing-function: ease-out;
}

@keyframes scroll {
    0% {
        bottom: 17vw;
    }

    100% {
        bottom: 16vw;
    }
}

.scroll1 {
    animation: scroll1 0.6s ease;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes scroll1 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.scroll2 {
    animation: scroll2 0.6s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.6s;
    opacity: 0;
}

@keyframes scroll2 {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}
*/

/*頁面2*/

.main2 {
    width: 100%;
    height: auto;
    position: relative;
    background: #000;
}

.banner {
    width: 100%;
    position: relative;
    margin: 0;
    overflow: hidden;
}

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

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

.pic-txt {
    position: absolute;
    right: 4vw;
    bottom: 4vw;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 3vw;
    font-weight: 300;
    color: #fff;
}

.pic-txt .bolder {
    font-weight: 500;
}

.pic-txt.center {
    right: 4vw;
    bottom: 60vw;
}

.pic-txt-m {
    width: 100%;
    position: absolute;
    right: 0vw;
    bottom: 3vw;
    height: 6vw;
    background-image: url(../img/bg1-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.pic-txt-m2 {
    width: 30vw;
    position: absolute;
    right: 0vw;
    bottom: 3vw;
    height: 6vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.pic-txt-m5 {
    width: 50vw;
    position: absolute;
    right: 0vw;
    bottom: 3vw;
    height: 6vw;
    background-image: url(../img/bg5-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.pic-txt-m5.center {
    right: 0vw;
    bottom: 58vw;
}



.main2-txt {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 17.5vw;
    /*transform: translateX(-50%);*/
    top: 20vw;
}


.swiper-slide-active .main2-txt {
    animation: txtfadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txtfadein {
    0% {
        top: 25vw;
        opacity: 0;

    }

    100% {
        top: 20vw;
        opacity: 1;
    }
}


.main2-txt h2 {
    position: relative;
    font-size: 4.4vw;
    letter-spacing: 0.35vw;
    font-weight: normal;
    margin: 0 0 2vw 0;
    text-align: left;
    transform: scale(1, 0.85);
}

.main2-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0.25vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.main2-txt .line {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
}

.main2-txt .line2 {
    position: absolute;
    left: -2vw;
    top: 0.5vw;
    width: 1px;
    height: 95%;
    background-color: rgba(255, 255, 255, 0.5);
}



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

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

.swiper-slide-active .main2-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

.img-no {
    animation: none;
}

.img-ani {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

@keyframes img {
    0% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

.main2-txt2 {
    top: 20vw;
}

.swiper-slide-active .main2-txt2 {
    animation: txt2fadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt2fadein {
    0% {
        top: 25vw;
        opacity: 0;
    }

    100% {
        top: 20vw;
        opacity: 1;
    }
}





/*頁面3*/
.main3 {
    width: 100%;
    height: auto;
    position: relative;
}

.main3-txt {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 17.5vw;
    top: 15vw;
    opacity: 0;
}

.main3-txt .line {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
}

.main3-txt .line2 {
    position: absolute;
    left: -2vw;
    top: 0.5vw;
    width: 1px;
    height: 95%;
    background-color: rgba(255, 255, 255, 0.5);
}


.main3-txt h2 {
    position: relative;
    font-size: 4.4vw;
    letter-spacing: 0.35vw;
    font-weight: normal;
    margin: 0 0 2vw 0;
    text-align: left;
    transform: scale(1, 0.85);
}

.main3-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0.25vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.swiper-slide-active .main3-txt {
    animation: txt3fadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt3fadein {
    0% {
        top: 20vw;
        opacity: 0;

    }

    100% {
        top: 15vw;
        opacity: 1;
    }
}

.main3-txt2 {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 17.5vw;
    top: 132vw;
    opacity: 0;
}

.swiper-slide-active .main3-txt2 {
    animation: txt3fadein2 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt3fadein2 {
    0% {
        top: 137vw;
        opacity: 0;

    }

    100% {
        top: 132vw;
        opacity: 1;
    }
}



.main3-txt3 {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 17.5vw;
    top: 30vw;
    opacity: 0;
}

.swiper-slide-active .main3-txt3 {
    animation: txt3fadein3 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt3fadein3 {
    0% {
        top: 35vw;
        opacity: 0;

    }

    100% {
        top: 30vw;
        opacity: 1;
    }
}


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

.main3-img img,
.main3-img-no img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide-active .main3-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

.swiper-slide-active .main3-img-no img {
    animation: none;
}

.pic-txt.topr {
    position: absolute;
    left: auto;
    right: 3vw;
    bottom: 103vw;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 4vw;
    font-weight: 300;
    color: #fff;
}

.pic-txt.bttr {
    position: absolute;
    left: auto;
    right: 3vw;
    bottom: 3vw;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 4vw;
    font-weight: 300;
    color: #fff;
}

.pic-txt-m2-t {
    width: 50vw;
    position: absolute;
    right: 0vw;
    bottom: 101.8vw;
    height: 7vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.pic-txt-m2-d {
    width: 50vw;
    position: absolute;
    right: 0vw;
    bottom: 1.5vw;
    height: 7vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.pic-txt-m2.m13 {
    width: 50vw;
}

.m13-pic-txt1 {
    position: absolute;
    right: 0%;
    top: 42%;
    width: 45vw;
    height: 6vw;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    box-sizing: border-box;
    padding-right: 3vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 3vw;
    font-weight: 300;
    color: #fff;
}

.m13-pic-txt2 {
    position: absolute;
    right: 0%;
    top: 0%;
    width: 45vw;
    height: 6vw;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    box-sizing: border-box;
    padding-right: 3vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 3vw;
    font-weight: 300;
    color: #fff;
}

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

.main4-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: hidden;
    overflow-x: scroll;
}

.main4 .bg-contain {
    position: relative;
    height: 100%;
    width: calc(990 * var(--vw-base));
}

.main4 .bg-contain img {
    position: relative;
    height: 100%;
    width: calc(990 * var(--vw-base));
}

.main4 .bg-contain .shine {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: logoshine 1s ease 0.5s infinite;
}

@keyframes logoshine {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

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

.main4 .bg-contain.bg2 img {
    position: absolute;
    left: 0;
    top: 0;
    width: 130%;
    height: 130%;
    object-fit: cover;
}

.main4 .main4-txt {
    color: #fff;
    position: absolute;
    left: calc(100 * var(--vw-base));
    top: calc(55 * var(--vw-base));
    width: calc(580 * var(--vw-base));
}

.main4 .main4-txt h2 {
    font-size: 5vw;
    letter-spacing: 0.25vw;
    line-height: 6vw;
    font-weight: 600;
    text-align: left;
    margin-bottom: 2vw;
    transform: scale(1, 0.85);
}

.main4 .main4-txt h2 .lighter {
    font-weight: 300;
}

.main4 .main4-txt h4 {
    font-size: 3.5vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: left;
    /* text-align: justify; */
    text-align-last: left;
    text-justify: inter-ideograph;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.main4-txt .line {
    position: relative;
    width: 96%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
}

.nvidia-site {
    position: absolute;
    top: 78vw;
    left: 51vw;
    width: 3.3vw;
    height: 30.1vw;
    /* background: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-top: 0.8vw;
    color: #333333;
    font-family: "Noto Sans TC";
    font-weight: 400;
    font-size: 2.4vw;
    letter-spacing: 0.12em;
    writing-mode: vertical-rl;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 50% 100%, 0 90%); */
    transform: translate(-50%, 5%);
    animation: site-jump 1s ease 0.5s infinite;
}

.nvidia-site img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}


@keyframes site-jump {
    0% {
        transform: translate(-50%, 5%);
    }

    50% {
        transform: translate(-50%, 0%);
    }

    100% {
        transform: translate(-50%, 5%);
    }
}



.main-scroll {
    position: absolute;
    left: calc(266*var(--vw-base));
    bottom: calc(57*var(--vw-base));
    width: calc(194*var(--vw-base));
    height: calc(54*(var(--vw-base)));
    filter: drop-shadow(1px 1px 5px rgba(0, 0, 0, 0.8));

}

.main-scroll>div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    animation: m2-light 5s ease 0.5s infinite;
}

.main-scroll .s1 img {
    --move: -10px;
}

@keyframes scroll-arrow {
    0% {
        transform: translateX(0);
    }

    35% {
        transform: translateX(calc(var(--move) * 1));
    }

    70% {
        transform: translateX(0);
    }
}

.main-scroll .s3 img {
    --move: 10px;
}

.main-scroll .s1 img,
.main-scroll .s3 img {
    animation: scroll-arrow 2s ease infinite;
}

.main-scroll img {
    object-fit: contain;
}







/*頁面5*/
.main5 {
    width: 100%;
    height: auto;
    position: relative;
}

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

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

.swiper-slide-active .main5-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

/*
.swiper-slide-active .main5-img-1 img {
    animation: none;
    transform: scale(1);
}*/
.main5-txt-icon {
    width: 49vw;
    position: absolute;
    left: 3vw;
    top: 29vw;
}

.main5-txt-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: lighten;
}

.main5-txt-title {
    width: 50vw;
    position: relative;
    margin: 0 auto 5vw auto;

}

.main5-txt-title img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main5-txt {
    width: 55vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 22.5vw;
    top: 18vw;
    opacity: 0;
}

.swiper-slide-active .main5-txt {
    animation: txt5fadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt5fadein {
    0% {
        top: 23vw;
        opacity: 0;

    }

    100% {
        top: 18vw;
        opacity: 1;
    }
}


.main5-txt h2 {
    position: relative;
    font-size: 8.5vw;
    letter-spacing: 0.5vw;
    font-weight: 500;
    margin: 0;
    text-align: center;
    transform: scale(1, 0.85);
}

.main5-txt h3 {
    position: relative;
    font-size: 6vw;
    letter-spacing: 0.2vw;
    line-height: 6vw;
    font-weight: normal;
    text-align: center;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.8);
}

.main5-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.main5-txt .line {
    position: absolute;
    left: -2vw;
    top: 1vw;
    width: 1px;
    height: 92%;
    background-color: #ffffff;
}


/*頁面6*/
.main6 {
    width: 100%;
    height: auto;
    position: relative;
}

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

.main6-img img,
.main6-img-no img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide-active .main6-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

.swiper-slide-active .main6-img-no img {
    animation: none;
}


.main6-txt-title {
    width: 51vw;
    position: relative;
    margin: 0 auto 5vw auto;

}

.main6-txt-title img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main6-txt1 {
    width: 55vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 22.5vw;
    top: 18vw;
    opacity: 0;
}

.swiper-slide-active .main6-txt1 {
    animation: txt6fadein1 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt6fadein1 {
    0% {
        top: 23vw;
        opacity: 0;

    }

    100% {
        top: 18vw;
        opacity: 1;
    }
}

.main6-txt2 {
    width: 53vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 23vw;
    top: 138vw;
    opacity: 0;
}

.swiper-slide-active .main6-txt2 {
    animation: txt6fadein2 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt6fadein2 {
    0% {
        top: 117vw;
        opacity: 0;

    }

    100% {
        top: 112vw;
        opacity: 1;
    }
}

.main6-txt3 {
    width: 53vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 23vw;
    top: 138vw;
    opacity: 0;
}

.swiper-slide-active .main6-txt3 {
    animation: txt6fadein3 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt6fadein3 {
    0% {
        top: 117vw;
        opacity: 0;

    }

    100% {
        top: 112vw;
        opacity: 1;
    }
}



.main6-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: -0.065vw;
    line-height: 7vw;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.pic-txt.topr2 {
    position: absolute;
    left: auto;
    right: 3vw;
    bottom: 118vw;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 4vw;
    font-weight: 300;
    color: #fff;
}

.pic-txt-m2-t2 {
    width: 50vw;
    position: absolute;
    right: 0vw;
    bottom: 116.8vw;
    height: 7vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}




/*頁面7*/
.main7 {
    width: 100%;
    height: auto;
    position: relative;
}

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

.main7-img img,
.main7-img-no img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide-active .main7-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}

.swiper-slide-active .main7-img-no img {
    animation: none;
}

.main7-txt-title {
    width: 70vw;
    position: relative;
    margin: 0 auto 5vw auto;

}

.main7-txt-title img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main7-txt1 {
    width: 80vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 10vw;
    top: 110vw;
    opacity: 0;
}

.swiper-slide-active .main7-txt1 {
    animation: txt7fadein1 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt7fadein1 {
    0% {
        top: 115vw;
        opacity: 0;

    }

    100% {
        top: 110vw;
        opacity: 1;
    }
}

.main7-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    padding: 0;
    margin: 2vw 0;
    transform: scale(1, 0.85);
}

.main7-txt h4.first {
    letter-spacing: 0.15vw;
    text-align: center;
    text-align-last: center;
    text-justify: inter-ideograph;
}

.pic-txt.topr3 {
    position: absolute;
    left: auto;
    right: 4vw;
    top: 3vw;
    font-family: 'Noto Sans JP';
    font-size: 3vw;
    letter-spacing: 0.15vw;
    line-height: 4vw;
    font-weight: 300;
    color: #fff;
}

.pic-txt-m2-t3 {
    width: 50vw;
    position: absolute;
    right: 0vw;
    top: 1.5vw;
    height: 7vw;
    background-image: url(../img/bg3-mask.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 100% 50%;
}

.main7-txt2 {
    width: 62vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 19.5vw;
    top: 125vw;
    opacity: 0;
}

.swiper-slide-active .main7-txt2 {
    animation: txt7-2fadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt7-2fadein {
    0% {
        top: 130vw;
        opacity: 0;

    }

    100% {
        top: 125vw;
        opacity: 1;
    }
}

.main7-txt3 {
    width: 58vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 20.5vw;
    top: 130vw;
    opacity: 0;
}

.swiper-slide-active .main7-txt3 {
    animation: txt7-3fadein 0.5s linear;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes txt7-3fadein {
    0% {
        top: 135vw;
        opacity: 0;

    }

    100% {
        top: 130vw;
        opacity: 1;
    }
}







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

.main8-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: hidden;
    overflow-x: scroll;
}

.main8 .bg-contain {
    position: relative;
    height: 100%;
    width: calc(1536 * var(--vw-base));
}

.main8 .bg-contain .title {
    width: 55vw;
    position: absolute;
    bottom: 22vw;
    left: 22.5vw;
}

.main8 .bg-contain .main8-txt {
    width: 75vw;
    padding: 5vw;
    position: absolute;
    bottom: 8vw;
    right: 10vw;
    color: #fff;
    overflow: hidden;
}

.main8 .bg-contain .main8-txt .lef {
    width: 10%;
    float: left;

}

.main8 .bg-contain .main8-txt .rig {
    width: 90%;
    float: left;

}

.main8 .bg-contain .main8-txt h4 {
    font-size: 3.5vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
    font-weight: 300;
    margin: 0;
    margin-bottom: 1vw;
}

.main8 .bg-contain .main8-txt .lef h4 {
    font-size: 3.8vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
}




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

.main9-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow-y: hidden;
    overflow-x: scroll;
}

.main9 .bg-contain {
    position: relative;
    height: 100%;
    width: calc(1536 * var(--vw-base));
}




/*頁面10*/
.main10 {
    width: 100%;
    /*    height: calc(1360*var(--vw-base));*/
    position: relative;

}

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

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

.swiper-slide-active .main10-img img {
    animation: img 6s linear;
    animation-fill-mode: forwards;
    transform: scale(1.2);
}




/*頁面11*/
.main11 {
    width: 100%;
    /*    height: calc(1360*var(--vw-base));*/
    position: relative;
}

.main11-txt {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

.main11-txt.main11-txt1 {
    width: 65vw;
    color: #ffffff;
    font-family: 'Noto Sans JP';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 73vw;
    opacity: 0;
}

.main11-txt.main11-txt2 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 81vw;
    opacity: 0;
}

.main11-txt.main11-txt3 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 81vw;
    overflow: hidden;
    opacity: 0;
}

.main11-txt.main11-txt4 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 95vw;
    opacity: 0;
}

.swiper-slide-active .main11-txt.main11-txt1 {
    animation: main11-txt1 1s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes main11-txt1 {
    0% {
        opacity: 0;
        top: 78vw;
    }

    100% {
        opacity: 1;
        top: 73vw;
    }
}

.swiper-slide-active .main11-txt.main11-txt2 {
    animation: main11-txt2 1s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes main11-txt2 {
    0% {
        opacity: 0;
        top: 86vw;
    }

    100% {
        opacity: 1;
        top: 81vw;
    }
}

.swiper-slide-active .main11-txt.main11-txt3 {
    animation: main11-txt3 1s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes main11-txt3 {
    0% {
        opacity: 0;
        top: 86vw;
    }

    100% {
        opacity: 1;
        top: 81vw;
    }
}


.swiper-slide-active .main11-txt.main11-txt4 {
    animation: main11-txt4 1s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.3s;
    opacity: 0;
}

@keyframes main11-txt4 {
    0% {
        opacity: 0;
        top: 100vw;
    }

    100% {
        opacity: 1;
        top: 95vw;
    }
}


.main11-txt.main11-txt3 .lef {
    width: 30%;
    float: left;

}

.main11-txt.main11-txt3 .rig {
    width: 70%;
    float: left;

}

.main11-txt .line {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.5);
    margin: 2.5vw 0;
}


.main11-txt h2 {
    position: relative;
    font-size: 4.5vw;
    letter-spacing: 0.35vw;
    font-weight: normal;
    margin: 0 0 4vw 0;
    text-align: left;
    font-family: 'Noto Sans JP';
    transform: scale(1, 0.85);
}

.main11-txt h2 .lighter {
    font-weight: 100;
    position: relative;
}

.main11-txt h2 .lighter::after {
    content: "";
    width: 1px;
    height: 5vw;
    background-color: #fff;
    transform: rotate(15deg);
    -moz-transform: rotate(15deg);
    position: absolute;
    right: -0.8vw;
    top: -0vw;
}

.main11-txt h3 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0.15vw;
    line-height: 6vw;
    font-weight: 400;
    text-align: left;
    margin: 0;
    padding-top: 1vw;
    font-family: 'Noto Sans JP';
    transform: scale(1, 0.85);
}

.main11-txt h4 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0vw;
    line-height: 6vw;
    font-weight: 400;
    font-family: 'Noto Sans JP';
    text-align: left;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    margin: 0;
    padding: 0;
    transform: scale(1, 0.85);
}

.main11-txt h5 {
    position: relative;
    font-size: 3.5vw;
    letter-spacing: 0vw;
    line-height: 6vw;
    font-weight: 100;
    font-family: 'Noto Sans JP';
    text-align: left;
    text-align: justify;
    text-align-last: left;
    text-justify: inter-ideograph;
    margin: 0;
    padding: 0;
    transform: scale(1, 0.85);
}

.main11-txt h4 .dis {
    opacity: 0;
}

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

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

/*
.swiper-slide-active .main11-img img {
    animation: img 5s linear;
    animation-fill-mode: forwards;
    transform: scale(1.1);
}
*/
.main11-img .man-txt {
    position: absolute;
    left: 0vw;
    top: 0vw;
    font-family: 'Noto Sans JP';
    font-size: 2.6vw;
    letter-spacing: 0.1vw;
    line-height: 4vw;
    font-weight: 300;
    color: #fff;

}

.swiper-slide-active .main11-img .man-txt {
    animation: man-st 1s ease;
    animation-fill-mode: forwards;
    animation-delay: 0.5s;
    opacity: 0;
}

@keyframes man-st {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}



.main11-img .man-txt.man1 {
    position: absolute;
    left: 4.5vw;
    top: 24vw;
}

.main11-img .man-txt.man2 {
    position: absolute;
    top: 9vw;
    left: 25.5vw;
    text-align: right;
}

.main11-img .man-txt.man3 {
    position: absolute;
    top: 60vw;
    left: 22vw;
}

.main11-img .man-txt.man4 {
    position: absolute;
    top: 57.5vw;
    left: 67vw;
}

.main11-img .man-txt.man5 {
    position: absolute;
    top: 65vw;
    left: 18vw;
}

.main11-img .man-txt.man6 {
    position: absolute;
    top: 58vw;
    left: 60vw;
}

.main11-img .man-txt.man7 {
    position: absolute;
    top: 74vw;
    left: 18vw;
}

.main11 .job {
    font-weight: 100;
}

.m11-con {
    position: relative;
    width: 100%;
}






/*頁面12*/
.main12 {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 0 22vw 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.m12-title1 {
    position: relative;
    width: calc(609 * var(--vw-base));
    margin-top: calc(63*var(--vw-base));
}

.m12-line {
    position: relative;
    width: calc(609 * var(--vw-base));
    margin-top: calc(20*var(--vw-base));
}

.m12-line-in {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transform: scale(1, 0.7);
    opacity: 0.7;
}

.m12-title2 {
    position: relative;
    /* width: calc(370 * var(--vw-base)); */
    /* margin-top: calc(20*var(--vw-base)); */
}

.m12-title2 .t1 {
    color: #fff;
    font-family: 'Noto Sans TC';
    line-height: 8vw;
    text-align: center;
    font-size: 6vw;
    font-weight: 500;
    letter-spacing: 0.05vw;
    transform: scaleX(1) scaleY(0.7);
}

.m12-shine {
    position: relative;
    width: 60vw;
    margin-top: calc(70*var(--vw-base));
}

.m12-shine img.shine {
    position: absolute;
    top: 0;
    left: 0;
    animation: mapshine 1s ease infinite;
    opacity: 0;
}

@keyframes mapshine {
    0% {
        opacity: 0;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

.main12 .main12-txt {
    position: relative;
    width: 61vw;
    margin-top: 10vw;
    color: #fff;
    font-family: 'Noto Sans JP';
}

.main12 .main12-txt h4 {
    font-size: 3.2vw;
    letter-spacing: 0.1vw;
    line-height: 6vw;
    font-weight: 300;
    text-align: left;
    margin: 0;
    transform: scale(1, 0.85);
}

.main12 .main12-txt h4 a {
    color: #fff;
    text-decoration: none;
}

.dot {
    position: relative;
    display: inline-block;
    margin: 0 -0.3vw 0 -2vw;
}




.form {
    margin-top: 10vw;
    width: 60vw;
    position: relative;
    font-family: 'Noto Sans JP' !important;
    color: #fff;
}

.form-title {
    width: 100%;
    margin: 0 0 5vw 0;
    font-family: 'Noto Sans JP' !important;
    text-align: center;
    color: #fff;
    height: 6vw;
    line-height: 6vw;
    letter-spacing: 0.7vw;
    font-size: 3vw;
    font-weight: 300;
}

.form select {
    width: 100%;
    box-sizing: border-box;
    height: 6vw;
    line-height: 6vw;
    font-size: 3.2vw;
    color: #fff;
    padding-left: 2%;
    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: 3.5%;
    outline: none;
    border: none;
    cursor: pointer;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    letter-spacing: 0.2vw;
    position: relative;
    padding: 0 0 0 19vw;
    display: block;
}

.select {
    width: 100%;
    position: relative;
    height: 6vw;
    line-height: 6vw;
    margin-bottom: 3vw;
    font-weight: 300;
}


.input {
    width: 100%;
    position: relative;
    height: 6vw;
    line-height: 6vw;
    margin-bottom: 2vw;
    font-weight: 300;
}

.input::before,
.select::before {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -2px;
    background-color: rgba(255, 255, 255, 0.5);
}

.input.first::after {
    content: "";
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    top: -8px;
    background-color: rgba(255, 255, 255, 0.5);
}

.input.last {
    margin-bottom: 3vw;
}

.check-item-sex {
    position: absolute;
    right: -1.7vw;
    top: 0;
    height: 8vw;
    line-height: 8vw;
    font-size: 3.2vw;
    letter-spacing: 0.2vw;
    font-family: 'Noto Sans JP';
    display: block;
    color: #040000;
    z-index: 1;
}

.check-item-sex label {
    width: 13.5vw;
    height: 8vw;
    line-height: 8vw;
    cursor: pointer;
    display: block;
    float: left;
}

.check-item-sex label input[type="radio"] {
    width: 3vw;
    height: 3vw;
    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: 3vw 3vw;
    border: none;
    cursor: pointer;
}

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

.input-title {
    position: absolute;
    left: 0vw;
    top: 0;
    height: 6vw;
    line-height: 6vw;
    letter-spacing: 0.7vw;
    font-size: 3.2vw;
    font-family: 'Noto Sans JP';
    font-weight: 300;
    z-index: 1;
}

.form input[type="text"],
.form input[type="tel"],
.form input[type="email"] {
    width: 100%;
    height: 6vw;
    line-height: 6vw;
    font-size: 3.2vw;
    border: none;
    background-color: transparent;
    color: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    -moz-appearance: none;
    outline: none;
    letter-spacing: 0.2vw;
    padding: 0 0 0 19vw;
    position: relative;
    box-sizing: border-box;
    display: block;
    font-weight: 300;
}

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

.check-item {
    width: 100%;
    height: 6vw;
    line-height: 6vw;
    font-size: 2.9vw;
    color: #fff;
    margin: 0vw auto 3vw auto;
    vertical-align: middle;
    font-weight: 300;
    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: #fff;
}

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

.check-label {
    width: 24%;
    height: 6vw;
    line-height: 6vw;
    float: left;
}

.check-item label {
    height: 6vw;
    line-height: 6vw;
    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: 6vw;
    float: left;
}

.openTxtBtn {
    display: inline-block;
    height: 6vw;
    line-height: 6vw !important;
    cursor: pointer;
}

.form input[type="submit"],
.form input[type="button"] {
    width: 100%;
    height: 7vw;
    letter-spacing: 0.2vw;
    border: none;
    background-color: #595757;
    font-size: 3vw;
    font-weight: 300;
    color: #fff;
    box-sizing: border-box;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    outline: none;
    position: relative;
    font-family: 'Noto Sans JP';
    display: block;
    cursor: pointer;
}

.infor {
    width: 100vw;
    position: absolute;
    height: auto;
    left: 0;
    bottom: 20vw;
    letter-spacing: 0;
    font-family: 'Noto Sans JP';
    color: #fff;
    font-size: 2.2vw;
    text-align: center;
    font-weight: lighter;
}

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

.dropdown-dark {
    background: #000;
    border-color: #000;
    text-align: left;
    width: 100%;
    text-align: center;
}

.dropdown-dark:before {
    border-bottom-color: #000;
}

.dropdown-dark:after {
    border-top-color: #000;
}

.dropdown-dark .dropdown-select {
    color: #fff;
    width: 100%;
    background: #000;
    padding: 0 0 0 19vw !important;
    text-align: left;
    background-image: url(../img/select.png);
    background-position-x: 97%;
    background-position-y: 54%;
    background-repeat: no-repeat;
    background-size: 3.5%;
}

.dropdown-dark .dropdown-select:focus {
    color: #fff;
    background: transparent !important;
}

.dropdown-dark .dropdown-select>option {
    background: #000 !important;
    text-align: left;
    line-height: calc(80*var(--vw-base));
    color: #fff !important;
}

option:hover,
option:focus,
option:active,
option:checked {
    color: #fff !important;
    background: #000 !important;
}

.verify {
    position: absolute;
    bottom: 8%;
    right: 0;
    width: calc(120*var(--vw-base));
    background-color: #353535;
    box-sizing: border-box;
    padding: calc(0*var(--vw-base)) calc(3*var(--vw-base));
}

.verify img {
    position: relative;
    object-fit: contain;
    width: 100%;
    height: 100%;
}


/*同意書照片預覽*/

.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 JP', 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: calc(50* var(--vw-base));
    height: calc(50* var(--vw-base));
    position: absolute;
    top: calc(50* var(--vw-base));
    right: calc(50* var(--vw-base));
    ;
    background-image: url(../img/close.png);
    background-size: contain;
    cursor: pointer;
    transition: ease-in-out 0.4s 0.6s;
}