@charset "UTF-8";
body {
    font-family: "微軟正黑體", "Malgun Gothic", Dotum, Tahoma, sans-serif;
    background-color: #FFF;
    color: #000;
}

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: 25px;
    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: 36px;

}
aside ul a li:after{
    content: '';
    position: absolute;
    width: 5px;
    height: 36px;
    left: 50%;
    bottom: -36px;
    background:url('../images/aside_arrow_s.png') no-repeat center center;
}
aside ul a:nth-of-type(4) li:after{
    height: 60px;
    bottom: -60px;
    background:url('../images/aside_arrow_l.png') no-repeat center center;
}
aside ul a:nth-of-type(5) li:after{
    content: unset;
}
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;
}
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;
}
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;
}
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;
    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: 25px;
    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;
}
/* 
main::before{
    content:'';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background:url('../images/main_bg_char.png') no-repeat center center;
    background-size: cover;

} */

.container div{
    position: relative;    
}
main .bg_char{
    position:absolute;
    width: 100%;
    height: 100%;
    left: 0px;
    top: 0px;
    background:url('../images/main_bg_char.png') no-repeat center center;
    background-size: cover;
    animation-fill-mode: backwards;
}
main .title{
    top: 25vh;
    float: left;
}

main .title img,
main .title .bt{
    animation-fill-mode: backwards
}
main .row{
    width: 420px;
    max-width: 80%;
    left: 50%;
    margin-top: 30px;
    transform: translate(-50%);
}
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;
}

/* section1 */
.section1{
    margin-top: -48px;
    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;
    
}
.section1 .info{
    position: relative;
    margin-top: 100px;
}
.section1 .comp_1{
    margin-top: 180px;
}

.section1 .comp_2{
    margin-top: 200px;
}
.section1 .comp_3{
    margin-top: 350px;
}
.section1 .comp_3 img{
    position: relative;
    z-index: 1;
}
.section1 .comp_1:before{
    content: '';
    position: absolute;
    left: -40%;
    bottom: -850px;
    width: 547px;
    max-width: 100%;
    height: 1052px;
    background: url('../images/section1_char.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}
.section1 .comp_2:before{
    content: '';
    position: absolute;
    right: -35%;
    bottom: -200px;
    width: 666px;
    max-width: 100%;
    height: 800px;
    background: url('../images/section2_char.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}

.section1 .comp_3:before{
    content: '';
    position: absolute;
    left: -18%;
    top: 300px;
    width: 281px;
    max-width: 100%;
    height: 925px;
    background: url('../images/section3_char_1.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}
.section1 .comp_3:after{
    content: '';
    position: absolute;
    right: -25%;
    top: 380px;
    width: 398px;
    max-width: 100%;
    height: 722px;
    background: url('../images/section3_char_2.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}








/* .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%;
    }    
    .section3 .info .content{
        background-image: unset;
    }
    .section3 .info .content .wrapper{
        width: 100%;

    }
    .section3 .info .content .wrapper{
        padding: 15px;
        box-shadow: 0px 0px 15px #afd6e2;
    }
    .section4 .container .tab-content .tab-content{
        left: -100px;
        width: calc(100% + 100px);
    }

}
@media screen and (max-width: 767px){
    .section1 .info .content::after,
    .section3 .info .content::after{
        content: unset;
    }
    .section1 .comp_1::before,
    .section1 .comp_2::before,
    .section1 .comp_3::before,
    .section1 .comp_3::after{
        display: none;
    }

}
@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 .title{
        top: 50vh;
        position: absolute;
        left: 50%;
        transform: translate(-50%);
    }
    .section1{
        padding-bottom: 150px;
    }
    .section1 .comp_1{
        margin-top: 100px;
    }
    .section1 .comp_2{
        margin-top: 100px;
    }
    .section1 .comp_3{
        margin-top: 200px;
    }
    main .bg_char{
        background: url(../images/main_bg_char.png) no-repeat 35% center;
        background-size: cover;
    }

    .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%;
    }
    .section4 .container .tab-content .tab-content{
        width: 100%;
        left: 0px;
    }
    .section4 .container .tab-content .tab-content{
        transform: translateY(-15px);
    }
    .section4 .container .tab-content .tab-content p{
        font-size: 16px;
        line-height: 22px;
    }
    .section4 .skill_wrapper{
        top: calc(72vh - 420px);
    }
    .section4 .container::before{
        top: 68vh;
    }
    .section4 .container .tab-content .tab-content h3{
        padding-right: 50px;
    }

    .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;
    }




}

