@charset "UTF-8";
body {
    font-family: "微軟正黑體", "Malgun Gothic", Dotum, Tahoma, sans-serif;
    background-color: #FFF;
    color: #fff;
}

body{
    overflow-y: scroll;
    overflow-x: hidden;
}

img{
    max-width: 100%;
}

ul,li,a{
    text-decoration: none;
    list-style: none;
    padding: 0px;
}


/* 側欄選單 */
aside{
    position: fixed;
    right: 0px;
    top: 30vh;
    width: 276px;
    height: 280px;
    z-index: 999;
}
aside{
    transform: translateX(0%);
    transition: .6s all;
}
aside.on{
    transform: translateX(120%);
    transition: .6s all;
}
aside ul a li{
    filter: brightness(100%);
    width: 276px;
    height: 54px;
    margin-bottom: 10px;

}

aside ul a li:hover,
.arrow:hover{
    filter: brightness(150%);

}
aside ul a:nth-of-type(1) li{
    position: relative;
    background-image: url('../images/aside_1.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
}
aside ul a:nth-of-type(2) li{
    position: relative;
    background-image: url('../images/aside_2.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
}
aside ul a:nth-of-type(3) li{
    position: relative;
    background-image: url('../images/aside_3.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
}
aside ul a:nth-of-type(4) li{
    position: relative;
    background-image: url('../images/aside_4.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center right;
    margin-bottom: 60px;
}
aside ul a:nth-of-type(5) li{
    position: relative;
    height: 78px;
    background-image: url('../images/aside_5.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}





.arrow{
    position: fixed;
    width: 71px;
    height: 56px;
    right: 0px;
    top: calc(30vh - 80px);
    background-image: url('../images/aside_arrow_off.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transition: 0.6s all;
    z-index: 100;
}
.arrow.on{
    background-image: url('../images/aside_arrow_on.png');
    transition: .6s all;
}






main, .section1{
    position: relative;
    min-height: 100vh;
    background-color: #000;
    overflow: hidden;
}


main{
    background:url('../images/main_bg.png') no-repeat center center;
    background-size: cover;
    min-height: 1050px;
    z-index: 1;
    overflow: hidden;
}

main .container::after{
    content:'';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background:url('../images/main_bg_after.png') no-repeat center bottom;
    background-size: cover;
    animation: ani_flash 3s ease-out 1s infinite;
    z-index: 1;
}
@keyframes ani_flash {
    0%,20%{
        opacity: 1;
    }
    60%{
        opacity: .3;
    }
}

.container div{
    position: relative;    
}
main .container{
    width: 100%;
}
main .bg_char_wrapper{
    position: relative;
    width: 110%;
    height: 110vh;
    
}

main .bg_char{
    position:absolute;
    background-size: cover;
    animation-fill-mode: backwards;
}
main .bg_char.char_1{
    width: 736px;
    height: 974px;
    left: -53%;
    margin-left: 50%;
    bottom: -80px;
    background: url('../images/main_char_1.png') no-repeat;
    background-size: contain;
}
main .bg_char.char_2{
    width: 1008px;
    height: 912px;
    left: -50%;
    margin-left: 50%;
    bottom: -60px;
    background: url('../images/main_char_2.png') no-repeat;
    background-size: contain;
}
main .bg_char.char_3{
    width: 545px;
    height: 825px;
    left: 75%;
    margin-left: -50%;
    bottom: -90px;
    background: url('../images/main_char_3.png') no-repeat;
    background-size: contain;
}
main .bg_char.char_4{
    width: 683px;
    height: 652px;
    left: -45%;
    margin-left: 50%;
    bottom: -80px;
    background: url('../images/main_char_4.png') no-repeat;
    background-size: contain;
}
main .bg_char.char_5{
    width: 660px;
    height: 795px;
    left: 100%;
    margin-left: -50%;
    bottom: -80px;
    background: url('../images/main_char_5.png') no-repeat;
    background-size: contain;
}
main .bg_char.char_6{
    width: 1076px;
    height: 999px;
    left: 75%;
    margin-left: -50%;
    bottom: -60px;
    background: url('../images/main_char_6.png') no-repeat;
    background-size: contain;
}
main .title_wrapper{
    width: 100%;
    height: 100vh;
    animation-fill-mode: backwards;
    mix-blend-mode: hard-light;
    z-index: 2;
}
main .title{
    top: 55vh;
    
    
}

main .title img,
main .title .bt{
    animation-fill-mode: backwards
}

main .bt{
    height: 59px;   
    transition: .3s all;
}
main .bt:hover{
    transition: .3s all;
    filter: brightness(130%);
}

main .bt a{
    position: absolute;
    width: 100%;
    height: 100%;
}
main .bt:nth-of-type(1){
    background:url('../images/main_btn_1.png') no-repeat center center;
    background-size: contain;
}
main .bt:nth-of-type(2){
    background:url('../images/main_btn_2.png') no-repeat center center;
    background-size: contain;
}

main .main_btn:active,
main .main_btn:focus,
main .main_btn:active:hover,
main .main_btn:active,
main .main_btn:hover{
    border: unset;
    background-color: unset;
    outline: unset;
}
main .main_btn:hover,
main .main_btn:active{
    filter: brightness(150%) drop-shadow(0px 0px 20px rgba(255, 182, 243,.8));
    transition: 0.3s all;
}
main .main_btn{
    position: relative;
    width: 145px;
    height: 151px;
    left: -8%;
    top: calc(65vh);
    background-color: unset;
    border: unset;
    background-image: url(../images/main_play_btn.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: 0.3s all;
}
.modal {
    position: fixed;
    top: 0px;
    width: 80vw;
    max-width: 100vw;
    margin: auto;
    overflow: hidden;
}
.modal.in .modal-dialog {
    width: 100%;
    margin-top: 8%
}
.modal .video_wrapper {
    position: relative;
    min-width: unset;
    height: 70vh;
    /* padding-bottom: 55%; */
}

.modal .btn {
    position: absolute;
    top: -80px;
    right: 0px;
    width: 80px;
    height: 80px;
    background: #0007;
}
.btn-default:hover {
    color: #333;
    background-color: #e6e6e6;
    border-color: #adadad;
}
.modal .btn::before {
    content: '';
    position: absolute;
    width: 70px;
    height: 2px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) rotate(45deg);
    background: #fff;
    transition: 0.6s all;

}
.modal .btn::after {
    content: '';
    position: absolute;
    width: 70px;
    height: 2px;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%) rotate(-45deg);
    background: #fff;
    transition: 0.6s all;
}
.modal .btn:hover::before {
    transform: translate(-50%,-50%) rotate(-45deg);
    transition: 0.6s all;
    background: rgb(189, 7, 7);
}
.modal .btn:hover::after {
    transform: translate(-50%,-50%) rotate(45deg);
    transition: 0.6s all;
    background: rgb(189, 7, 7);
}
.modal .video_wrapper {
    position: relative;
    min-width: unset;
    height: 80vh;
    /* padding-bottom: 55%; */
}
.modal .video_wrapper iframe {
    width: 100%;
    height: 100%;
}
/* section1 */
.section1{
    height: initial;
    background-image: url('../images/section1_bg.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 0;
    padding-bottom: 200px;
}
.section1 .title{
    margin-top: 60px;
}
.section1 .container{
    text-align: center;
    width: 1400px;
    max-width: 100%;
    
}
.section1 .info{
    position: relative;
    margin-top: 100px;
}
.section1 .comp_1{
    margin-top: 80px;
    
}
.section1 .comp_1 .nav-tabs{
    border: none;
    transform: rotate(-7deg);
}
.section1 .comp_1 li a,
.section1 .comp_1 li>a:hover,
.section1 .comp_1 li.active>a,
.section1 .comp_1 li.active>a:focus,
.section1 .comp_1 li.active>a:hover{
    border: none;
    background:none;
}
.section1 .comp_1 .char_tab{
    justify-content: center;
    display: flex;
}
.section1 .comp_1 .char_tab li a{
    width: 115px;
    max-width: 100%;
    height: 116px;
    transition: .3s .1s;
}
.section1 .comp_1 .char_tab li a:hover{
    filter: brightness(110%) drop-shadow(-2px -2px 10px #c7edff);
    transform: rotate(7deg);
    transition: .3s all;
}
.section1 .comp_1 .char_tab li:nth-of-type(1) a{
    background: url('../images/s1_char_1.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .char_tab li:nth-of-type(2) a{
    background: url('../images/s1_char_2.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .char_tab li:nth-of-type(3) a{
    background: url('../images/s1_char_3.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .char_tab li:nth-of-type(4) a{
    background: url('../images/s1_char_4.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .char_tab li:nth-of-type(5) a{
    background: url('../images/s1_char_5.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .char_tab li:nth-of-type(6) a{
    background: url('../images/s1_char_6.png') no-repeat;
    background-size: contain;
}



.section1 .comp_1 .type_tab{
    justify-content:flex-end;
    display: flex;
    margin-right: 160px;
    margin-top: 20px;
    padding-top: 50px;
}
.section1 .comp_1 .type_tab li{
    padding: 0px;
}
.section1 .comp_1 .type_tab li a{
    width: 95px;
    height: 34px;
    padding: 0px;
    margin: 0px;
    transition: .3s .1s;
}
.section1 .comp_1 .type_tab li a:hover{
    filter: brightness(110%) drop-shadow(-2px -2px 0px #334d58);
    transition: .3s all;
}
.section1 .comp_1 .type_tab li:nth-of-type(1) a{
    background: url('../images/type_a.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .type_tab li:nth-of-type(2) a{
    background: url('../images/type_b.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .type_tab li:nth-of-type(3) a{
    background: url('../images/type_c.png') no-repeat;
    background-size: contain;
}
.section1 .comp_1 .type_tab li:nth-of-type(4) a{
    background: url('../images/type_m.png') no-repeat;
    background-size: contain;
}


.section1 .comp_1 #s1_char_1{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_1_bg.png') no-repeat 95% center;
}
.section1 .comp_1 #s1_char_2{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_2_bg.png') no-repeat 85% center;
}
.section1 .comp_1 #s1_char_3{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_3_bg.png') no-repeat 90% center;
}
.section1 .comp_1 #s1_char_4{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_4_bg.png') no-repeat 90% center;
}
.section1 .comp_1 #s1_char_5{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_5_bg.png') no-repeat 90% center;
}
.section1 .comp_1 #s1_char_6{
    width: 100%;
    height: 800px;
    background-size: contain;
    background: url('../images/s1_char_6_bg.png') no-repeat 95% center;
}

.section1 .comp_1 .tab-content .tab-content .tab-pane img{
    display:flex;    
}


/* .footer */
.footer {
    text-align: center;
    background: #000;

    
}

.footer .container{
    position: relative;
    width:1200px;
    margin:auto;
    padding: 15px;
    vertical-align: middle;
    display: inline-block;
}

.footer li{
    display: inline-block;
    padding: 0px 15px;
    font-size: 12px;
    color: #fff;
    text-align: left;
    vertical-align: middle;
}
.footer li img{
    width: 100%;

}
.footer li:nth-of-type(1){
    width: 22%;
}
.footer li:nth-of-type(2){
    width: 20%;
}
.footer li:nth-of-type(3){
    width: 28%;
}
.footer li:nth-of-type(3) p{
    margin: 0%;
}
.footer li:nth-of-type(4){
    width: 30%;
    
}
.footer li:nth-of-type(4) img{
    display: inline-block;
    width: 20%;
    vertical-align: middle;
}
.footer li:nth-of-type(4) p{
    margin: 0px 0% 0% 2%;
    display: inline-block;
    width: 78%;
    vertical-align: middle;
}

@media screen and (max-width: 1200px){
    .section3 .info .content .wrapper{
        height: 68%;
    }
}


@media screen and (max-width: 768px){
    .footer li:nth-of-type(1){
        width: 30%;
    }
    .footer li:nth-of-type(2){
        width: 28%;
        margin-right: 42%;   
    }
    .footer li:nth-of-type(3){
        width: 50%;
    }
    .footer li:nth-of-type(4){
        width: 50%;
    }
    .footer li:nth-of-type(4) img{
        width: 15%;
    }    
    .section1{
        background-position: 23% center;
        margin-top: -50px;
        padding-top: 50px;
    }
    .section1 .comp_1{
        margin-top: 120px;
    }
    .section1 .comp_1 #s1_char_1,
    .section1 .comp_1 #s1_char_2,
    .section1 .comp_1 #s1_char_3,
    .section1 .comp_1 #s1_char_4,
    .section1 .comp_1 #s1_char_5,
    .section1 .comp_1 #s1_char_6{
        background: unset;
        height: 960px;
    }
    .section1 .comp_1 #s1_char_1::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_1_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 #s1_char_2::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_2_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 #s1_char_3::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_3_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 #s1_char_4::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_4_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 #s1_char_5::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_5_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 #s1_char_6::after{
        content: '';
        position: absolute;
        width: 100%;
        padding-bottom: 230%;
        right: 0px;
        top: 45px;
        background: url('../images/s1_char_6_bg_m.png') no-repeat right;
        background-size: contain;
    }
    .section1 .comp_1 .type_tab{
        margin-right: 0px;
        padding: 0px;
    }
    

    .section1 .comp_1 .type_tab li a{
        width: 85px;
    }
    
    
    .tab-content .tab-pane .tab-pane{
        margin-top: 70px;
    }
    .section1 .comp_1 .char_tab{
        flex-wrap: wrap;   
    }
    .section1 .comp_1 .char_tab li{
        width: 27%;
        padding: 0px;
    }
    .section1 .comp_1 .char_tab li:nth-of-type(3){
        margin-right: 15%;
    }
    .section1 .comp_1 .char_tab li:nth-of-type(4){
        margin-left: 15%;
    }
    .section1 .comp_1 .char_tab li a{
        height: 100px;
    }
    

}
@media screen and (max-width: 767px){
    .section1 .info .content::after,
    .section3 .info .content::after{
        content: unset;
    }


}
@media screen and (max-width: 991px){
    .container {
        width: 100vw;
    }   
}


@media (max-width:1200px) {
    .footer .container{
        width: 100%;
    }
}


@media (max-width: 480px){
    .home img{
        width: 170px;
        transform: translate(-45px,5px);
    }
    .fb{
        display: none;
    }    
    main{
        min-height: 100vh;
    }
    main .bg_char_wrapper{
        height: 100vh;
    }
    .section1{
        padding-bottom: 0px;
    }

   
    main .bg_char{
        max-width: 100%;
    }
    main .bg_char.char_1{
        left: -78%;
        bottom: unset;
        top: 0%;
    }
    main .bg_char.char_2{
        left: -38%;
        bottom: unset;
        top: 5%;
        max-width: 120%;
    }
    main .bg_char.char_3{
        left: 55%;
        bottom: unset;
        top: 22%;
        width: 70%;
    }
    main .bg_char.char_4{
        left: -75%;
        bottom: unset;
        top: 40%;
        max-width: 110%;
    }
    main .bg_char.char_5{
        left: 67%;
        bottom: unset;
        top: 20%;
    }
    main .bg_char.char_6{
        left: 26%;
        bottom: unset;
        top: 30%;
        max-width: 160%;
    }
    main .title{
        top: calc(100vh - 250px);
    }
    main .main_btn{
        left: 50%;
        top: calc(100vh - 150px);        
        transform: translateX(-50%);
        width: 100px;
        height: 100px;
    }
    .modal.in .modal-dialog{
        margin-top: 100px;
    }

    .footer li{
        margin-bottom: 15px;
    }
    .footer li:nth-of-type(1){
        width: 42%;
    }
    .footer li:nth-of-type(2){
        width: 40%;
        margin-right: 18%;   
    }
    .footer li:nth-of-type(3){
        width: 100%;
    }
    .footer li:nth-of-type(4){
        width: 100%;
    }
    .footer li:nth-of-type(4) img{
        width: 15%;
    }
    .section4::after, .section4::before{
        opacity: .4;
        pointer-events: none;
    }
    .section4 .container .grade li{
        width: 50%;
    }
 
    .fix_btn ul{
        transform: scale(.8) translate(-100px,5px);
    }
    .section1 .info .info_download{
        transform: scale(.6);
    }
    .section1 .info .info_download{
        right: -10px;
        bottom: 80px;
    }
    .section4 .modal .btn,
    .section2 .modal .btn{
        top: -50px;
        right: 10px;
        width: 50px;
        height: 50px;
    }
    .section4 .modal .btn::before,
    .section4 .modal .btn::after,
    .section2 .modal .btn::before,
    .section2 .modal .btn::after{
        width: 50px;
    }




}

