@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: 22vh;
    float: right;
}
main .title img,
main .title .bt{
    animation-fill-mode: backwards
}
main .row{
    width: 420px;
    max-width: 80%;
    left: 50%;
    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 .info{
    position: relative;
    margin-top: 100px;
}

.section1 .comp_2{
    margin-top: 120px;
}
.section1 .comp_3{
    margin-top: 350px;
}
.section1 .comp_3 img{
    position: relative;
    z-index: 1;
}
.section1 .comp_3:before{
    content: '';
    position: absolute;
    left: -20%;
    bottom: -180px;
    width: 783px;
    max-width: 100%;
    height: 657px;
    background: url('../images/section3_char1.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}
.section1 .comp_3:after{
    content: '';
    position: absolute;
    right: -28%;
    bottom: -180px;
    width: 617px;
    max-width: 100%;
    height: 698px;
    background: url('../images/section3_char2.png') no-repeat center center;
    background-size: contain;
    z-index: 0;
}






@media screen and (max-width: 1200px){
    .section3 .info .content .wrapper{
        height: 68%;
    }
}


@media screen and (max-width: 768px){
   
    .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;
    }
}
@media screen and (max-width: 991px){
    .container {
        width: 100vw;
    }   
}




@media (max-width: 480px){
    .home img{
        width: 170px;
        transform: translate(-45px,5px);
    }
    .fb{
        display: none;
    }    
    main{
        min-height: 100vh;
    }
    main .title{
        top: 35vh;
        position: absolute;
        left: 50%;
        transform: translate(-50%);
    }
    .section1{
        padding-bottom: 150px;
    }
    .section1 .comp_2{
        margin-top: 100px;
    }
    .section1 .comp_3{
        margin-top: 200px;
    }
    main .bg_char{
        background: url(../images/main_bg_char.png) no-repeat 36% center;
        background-size: cover;
    }

    .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;
    }


    .section1 .comp_3:before{
        display: none;
    }
    .section1 .comp_3:after{
        display: none;
    }

}

