section, section *{ 
    box-sizing:border-box; 
}
*{ 
    box-sizing:border-box; 
}
section{ 
    overflow:hidden; 
}
section:last-child{ 
    padding-bottom:150px !important; 
}

.sect-tit{
    text-align: center;
    color: #000;
    padding: 0 15px;
}
.sect-tit > h3{
    font-size: 70px;
    font-weight: 900;
}
.sect-tit > p{
    font-size: 26px;
    font-weight: 300;
    margin-top: 1rem;
}

/* ld */
.ld{ position:fixed; z-index:99999999999999; top:0; left:0; width:100%; height:100%; background-color:#fff; display:flex; align-items:center; justify-content:center; }
.ld, .ld *{ box-sizing:border-box; }
.ld_lg{ position:absolute; top:50%; left:50%; transform:translate(0, 0) translate(-50%, -50%); opacity:0; width: 100%; max-width: 300px;}
.ld.act .ld_lg{ animation:2.5s fadeinout 0.5s forwards; }
.ld_txt{ position:absolute; top:50%; left:50%; width:100%; padding:0 30px; transform:translate(0, 0) translate(-50%, -50%); opacity:0; }
.ld.act .ld_txt{ animation:4.5s fadeinout2 3s forwards; }
.ld_txt > p{font-size:26px; font-weight:500; color:#000; text-align:center; line-height: 1.8;}

@keyframes fadeinout{
	0%{ transform:translate(0, 50px) translate(-50%, -50%); opacity:0 }
	47%{ transform:translate(0, 0) translate(-50%, -50%); opacity:1 }
	53%{ transform:translate(0, 0) translate(-50%, -50%); opacity:1 }
	100%{ transform:translate(0, -50px) translate(-50%, -50%); opacity:0 }
}

@keyframes fadeinout2{
	0%{ transform:translate(0, 50px) translate(-50%, -50%); opacity:0 }
	30%{ transform:translate(0, 0) translate(-50%, -50%); opacity:1 }
	70%{ transform:translate(0, 0) translate(-50%, -50%); opacity:1 }
	100%{ transform:translate(0, -50px) translate(-50%, -50%); opacity:0 }
}

.mc-con{ 
    max-width:1430px; 
    width:100%; 
    margin:0 auto; 
    padding: 0 15px;
    position: relative;
    z-index: 3;
}

.main_sc{
    width: 100%; 
    position: relative; 
    background-repeat: no-repeat; 
    background-position: center; 
    background-size: cover;
}

.mb-0{
    margin-bottom: 0 !important;
}

/* 메인 섹션 */
#sc01{ 
    background-color:#333; 
    height: 100vh; 
    position: relative; 
    overflow: hidden;
}
#sc01::after{
    content: ""; 
    width: 100%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 2;
}
#sc01::before{
    content: "";
    width: 1px;
    height: 100%;
    position: absolute;
    bottom: 0;
    right: 130px;
    background-color: rgba(255, 255, 255, 0.4);
    z-index: 3;
}

.main-caption{
    width: 100%; 
    padding: 0 130px; 
    position: absolute; 
    top: 50%; 
    left: 0; 
    transform: translateY(-50%); 
    z-index: 99; 
    color: #fff;
    text-align: left;
}
.main-caption > h2{
    font-size: 65px; 
    font-weight: 900;
    line-height: 1;
    margin-bottom: 15px;
}
.main-caption > h2 > span{
    font-weight: 300;
}
.main-caption > h5{
    font-size: 24px;
    font-weight: 300;
    margin-bottom: 2rem;
}
.main-caption > a{
    display: inline-block;
    padding: 1rem 4rem;
    border: 1px solid #fff;
    color: #fff;
    font-size: 16px;
    font-weight: 300;
    position: relative;
    transition: .3s;
    overflow: hidden;
}
.main-caption > a::before{
    content: "";
    width: 100%;
    height: 100%;
    background-color: #00AF19;
    position: absolute;
    top: 0;
    left: -101%;
    transition: .3s;
    z-index: -1;
}
.main-caption > a:hover{
    border-color: #00AF19;
}
.main-caption > a:hover::before{
    left: 0;
}

.sc01Sli{ 
    position:relative; 
    z-index:1; 
    background-color:#333; 
    overflow:hidden; 
}
.sc01_bg{ 
    position:absolute; 
    z-index:1; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
    background-color:#333; 
    background-position:center; 
    background-size:cover; 
    background-repeat:no-repeat; 
}
.sc01_mbg{ 
    display:none; 
    position:absolute; 
    z-index:1; 
    top:0; 
    bottom:0; 
    left:0; 
    right:0; 
    background-color:#333; 
    background-position:center; 
    background-size:cover; 
    background-repeat:no-repeat; 
}
.sc01_fr{ 
    position:relative; 
    z-index:1; 
    min-height:max(600px,36.4583333vw); 
    padding:150px 70px; 
    display:flex; 
    align-items:center; 
    /*background-color:rgba(0,0,0,.35);*/ 
}

.sc01mw{ 
    position:relative; 
    z-index:1; 
    overflow:hidden; 
    background-color:#333; 
    width: 100%; 
    height: 100%;
}
.sc01mw > .sc01_bdo{ 
    position:absolute; 
    z-index:1; 
    top:50%; 
    left:50%; 
    min-width:100%; 
    height:155%; 
    transform:translate(-50%,-50%); 
}

.vimeo_player_wrapper{
    opacity: 1 !important;
}


/* mouse-s */
.mouse-s{
    width: 100%; 
    text-align: center; 
    z-index: 8; 
    color: #fff; 
    position: absolute; 
    left: 0; 
    bottom: 3rem;
}
.mouse{
    position: relative; 
    border: 2px solid rgba(255, 255, 255, 0.8); 
    width: 24px; 
    height: 40px; 
    border-radius: 30px; 
    margin: 0 auto;
}
.mouse .wheel{
    position: absolute; 
    left: 50%; 
    margin-left: -2px; 
    width: 4px; 
    height: 8px; 
    background-color: rgba(255, 255, 255, 0.9); 
    border-radius: 3px; 
    animation: wheel 1.5s ease infinite;
}

@keyframes wheel{
	0%{
        opacity: 0; 
        top: 2px;
    }
	100%{
        opacity: 1; 
        top: 10px;
    }
}


#sc02{
    padding: 100px 0;
    position: relative;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: #000700;
    min-height: 101vh;
    display: flex;
    align-items: center;
}
#sc02::after{
    content: ""; 
    width: 100%; 
    height: 100%; 
    position: absolute; 
    top: 0; 
    left: 0; 
    z-index: 1;
}
.sc02-con{
    width: 100%;
    padding: 0 130px;
    position: relative;
    z-index: 2;
}
.sc02-wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.sc02-box{
    width: 32%;
    text-align: center;
    color: #fff;
}
.sc02-box > h3{
    font-size: 36px;
    font-weight: 300;
    line-height: 1.6;
    opacity: 0;
    transition: 1.5s;
}
.sc02-box > h3 > span{
    font-weight: 700;
}
.sc02-box > h3.ani.act{
    opacity: 1;
}
.sc02-img{
    display: flex;
}
.sc02-img img{
    width: 100%;
}
.sc02-img.left{
    opacity: 0;
    transform: translateX(100px);
    transition: 1s;
    transition-delay: .6s;
}
.sc02-img.right{
    opacity: 0;
    transform: translateX(-100px);
    transition: 1s;
    transition-delay: .6s;
}
.sc02-img.ani.act{
    opacity: 1;
    transform: translateX(0);
}

/*ad01*/

.ad01_con{ overflow:hidden; position:sticky; top:0; }
.ad01_hw{ display:flex; }
.ad01_hp{ height:100vh; }


/*hp01*/
#hp01{ position:relative; z-index:1; display:flex; min-width:100%; }
.hp01_bg{ position:absolute; z-index:1; top:0; bottom:0; left:0; right:0; background-color:#333; background-position:0 50%; background-size:cover; background-repeat:no-repeat; }
.hp01_txt{ position:relative; z-index:1; width:100%; padding:100px 48px 60px; display:flex; align-items:flex-end; }
.hp01_tb > h2{ font-size:12vw; font-weight:700; color:#fff; line-height:1em; margin-bottom:20px; }
.hp01_tb > p{ font-size:20px; font-weight:400; line-height: 1.5; color:#fff; }

@media(max-width:1199px){
	.hp01_txt{ padding:100px 20px 100px; }
}
@media(max-width:850px){
	.hp01_tb > p{ font-size:16px; }
}
@media(max-width:500px){
	.hp01_tb > p{ line-height:1.3em; }
}


/*hp02*/
#hp02{ min-width:min(750px, 100%); border-right:1px solid #888; padding:150px 48px 60px; display:flex; flex-direction:column; justify-content:space-between; }

.hp02_tp{ width:100%; display:flex; justify-content:space-between; margin-bottom:50px; }
.hp02_tt > h3{ font-size:24px; font-weight:600; color:#000; }
.hp02_tt{ width:100%; }
.hp02_img{ min-width:50%; }
.hp02_img > div{ width:100%; padding-top:120%; background-color:#333; background-size:cover; background-position:center; background-repeat:no-repeat; }

.hp02_bt{ width:100%; }
.hp02_txt{ max-width:600px; width:100%; }
.hp02_txt > h3{ font-size:45px; font-weight:600; color:#000; line-height:1em; margin-bottom:15px; }
.hp02_txt > p{ font-size:14px; font-weight:400; color:#000; line-height:1.5em; }

@media(max-width:1199px){
	#hp02{ padding:100px 20px 100px; }
}


/*hp03*/
#hp03{ min-width:max(120%, 1100px); border-right:1px solid #888; padding:150px 48px 60px; display:flex; }
.hp03_pw{ width:calc(100% + 30px); display:flex; flex-flow:row wrap; margin:0 -15px; }
.hp03_pt{ width:33.33333333%; padding:0 15px; display:flex; }
.hp03_pb{ width:100%; display:flex; flex-direction:column; }
.hp03_pi{ width:100%; flex:1 1 50%; background-color:#333; background-position:center; background-size:cover; background-repeat:no-repeat; }
.hp03_px{ padding-top:20px; word-break:keep-all; }
.hp03_px > h3{ font-size:20px; font-weight:600; color:#000; line-height:1em; margin-bottom:5px; }
.hp03_px > p{ font-size:14px; font-weight:400; color:#000; line-height:1.5em; }

@media(max-width:1199px){
	#hp03{ padding:100px 20px 100px; }
}

#sc04{
    background-color: #fff;
    padding: 100px 0 50px;    
}
.sc04Swiper{
    position: relative;
    padding-top: 4rem;
    padding-bottom: 2rem;
}
.sc04-img{
    display: flex;
    position: relative;
}
.sc04-img img{
    width: 100%;
    border-radius: 30px;
}
.sc04-caption{
    width: 100%;
    padding: 2rem;
    color: #fff;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: .3s;
}
.sc04-caption > h5{
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
}
.sc04-caption > p{
    font-size: 18px;
    font-weight: 400;
}
.swiper-pagination.sc04pn{
    bottom: 0;
}
.swiper-pagination.sc04pn .swiper-pagination-bullet-active{
    background: #00AF19;
}
.sc04-img:hover .sc04-caption{bottom: 1rem;}

/* sc05 */
#sc05{width: 100%; padding: 50px 0; background-color: #000; position: relative;}
#sc05::after{content: ""; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); position: absolute; top: 0; left: 0; z-index: 1;}
.sc05-mq1{ width:3840px; display:flex; transform:translate(0, 0); animation:40s marquee infinite linear; -webkit-animation:40s marquee infinite linear; -moz-animation:40s marquee infinite linear; -o-animation:40s marquee infinite linear; }
.sc05-mq1 > li{padding: 0 0 2rem; margin: 0 1rem;}
.sc05-mq1 > li > img{ display:block; width:100%; height:auto; }
@keyframes marquee{
	from{ transform:translate(0, 0); }
	to{ transform:translate(-1280px, 0); }
}
.sc05-mq2{ width:3840px; display:flex; transform:translate(0, 0); animation:40s marquee2 infinite linear; -webkit-animation:40s marquee2 infinite linear; -moz-animation:40s marquee2 infinite linear; -o-animation:40s marquee2 infinite linear; }
.sc05-mq2 > li{padding: 0 0 2rem; margin: 0 1rem;}
.sc05-mq2 > li > img{ display:block; width:100%; height:auto; }
@keyframes marquee2{
	from{ transform:translate(-1280px, 0); }
	to{ transform:translate(0, 0); }
}
.sc05-mq3{ width:3840px; display:flex; transform:translate(0, 0); animation:40s marquee3 infinite linear; -webkit-animation:40s marquee3 infinite linear; -moz-animation:40s marquee3 infinite linear; -o-animation:40s marquee3 infinite linear; }
.sc05-mq3 > li{padding: 0; margin: 0 1rem;}
.sc05-mq3 > li > img{ display:block; width:100%; height:auto; }
@keyframes marquee3{
	from{ transform:translate(0, 0); }
	to{ transform:translate(-1280px, 0); }
}
.sc05-tit{width: 100%; padding: 0 15px; text-align: center; color: #fff; position: absolute; top: 50%; transform: translateY(-50%); left: 0; z-index: 2;}
.sc05-tit > h2{font-size: 70px;font-weight: 900;}
.sc05-tit > p{font-size: 26px; font-weight: 300; margin-top: 1rem;}

#sc06{
    padding: 100px 0;
    background-color: #F8F8F8;
}
.sc06-con{
    width: 100%;
    max-width: 1330px;
    padding: 4rem 15px 0;
    margin: 0 auto;
}
.sc06-wrap{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.sc06-box{
    width: 48%;
}
.sc06-wz{
    margin-bottom: 2rem;
}
.sc06-wz:last-child{
    margin-bottom: 0;
}
.wz-tit{
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    color: #000;
    border-bottom: 1px solid #ddd;
}
.wz-tit > h5{
    font-size: 22px;
    font-weight: 600;
}
.wz-tit > span{
    font-size: 20px;
    transition: .3s;
}
.wz-tit:hover > span{
    transform: rotate(90deg);
    color: #00AF19;
}
.mpr_table{ width:100%; table-layout:fixed; }
.mpr_table > caption{ display:none; }
.mpr_table > thead{ display:none; }
.mpr_table > tbody > tr > td{ font-size:15px; padding:2px 2px 10px; vertical-align:top; }
.mpr_table > tbody > tr > td.date{ text-align:right; }
.mpr_table > tbody > tr > td.cate{ padding:2px 10px 10px 2px; }
.mpr_table > tbody > tr > td.title{ padding:2px 10px 10px 2px; }
.mpr_table > tbody > tr > td > a{ display:block; white-space:nowrap; }
.mpr_table > tbody > tr > td.cate > span{ color:#666; }
.mpr_table > tbody > tr > td.title > a{ color:#333; overflow:hidden; text-overflow:ellipsis; }
.mpr_table > tbody > tr > td.title > a > span{display: none;}

.mpr_gl{ margin:0 -8px; display:flex; flex-flow:row wrap; }
.mpr_gl > li{ width:33.33333333%; padding:0 8px 15px; }
.mpr_gl > li > .tmb > a > img{ display:block; width:100%; height:auto; }
.mpr_gl > li > .txt{ word-break:keep-all; padding:0 2px; display: none;}
.mpr_gl > li > .txt > h4{ font-size:14px; font-weight:300; color:#666; }
.mpr_gl > li > .txt > h4 > a{ display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.mpr_gl > li > .txt > h3{ font-size:15px; font-weight:400; color:#333; }
.mpr_gl > li > .txt > h3 > a{ display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }

.sc06Swiper{
    position: relative;
    padding: 4rem 0 2rem;
    overflow: hidden;
}
.swiper-pagination.sc06pn{
    bottom: 0;
}
.swiper-pagination.sc06pn .swiper-pagination-bullet-active{
    background: #00AF19;
}
.sc06-img{
    display: flex;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background-color: #fff;
}


@media(min-width:1200px){
	.ms-img{
        display: block; 
        width: 100%; 
        height: 100vh; 
        background-repeat: no-repeat; 
        background-position: center; 
        background-size: cover;
    }
	.ms-img-m{
        display: none;
    }
   
	.ani.up.delay{
        transition: 1s opacity 0.2s, 1s transform 0.2s;
    }
    .ani.up.delay2{
        transition: 1s opacity 0.5s, 1s transform 0.5s;
    }
    .ani.up.delay3{
        transition: 1s opacity 0.8s, 1s transform 0.8s;
    }
    
}
@media(max-width:1399px){
    .main-caption{
        padding: 0 75px;
    }
    .sc02-con{
        padding: 0 75px;
    }
    .sc02-box > h3{
        font-size: 26px;
        line-height: 65px;
    }
    .sc06-con{
        max-width: 100%;
        padding: 4rem 75px 0;
    }
}
@media(max-width:1199px){
	.sc01_fr{ 
        padding:150px 15px; 
    }
	.sc01_nav{ 
        display:none; 
    }
   
    .mc-con{
        padding: 0 15px;
    }

    .sect-tit > h3{
        font-size: 30px;
    }
    .sect-tit > p{
        font-size: 16px;
    }

	.ms-img{
        display: none;
    }
	.ms-img-m{
        display: block; 
        width: 100%; 
        height: 100vh; 
        background-repeat: no-repeat; 
        background-position: center; 
        background-size: cover;
    }
    #sc01::before{
        display: none;
    }
    .mouse-s{
        display: none;
    }

    .main-caption > h2{
        font-size: 30px;
    }
    .main-caption > h5{
        font-size: 16px;
    }
    .main-caption > a{
        padding: 12px 2rem;
        font-size: 14px;
    }
    .main-caption{
        padding: 0 15px;
    }

    #sc02{
        padding: 50px 0;
    }
    .sc02-wrap{
        flex-direction: column;
    }
    .sc02-box{
        width: 100%;
        margin-bottom: 1.5rem;
    }
    .sc02-box:last-child{
        margin-bottom: 0;
    }
    .sc02-con{
        padding: 0 15px;
    }
    .sc02-box > h3{
        font-size: 20px;
        line-height: 1.5;
    }

    #sc04{
        padding: 50px 0 20px;
    }
    .sc04Swiper{
        padding-top: 2rem;
    }
    .sc04-caption > h5{
        font-size: 20px;
    }
    .sc04-caption > p{
        font-size: 14px;
    }

    .sc05-tit > h2{
        font-size: 30px;
    }
    .sc05-tit > p{
        font-size: 16px;
    }

    #sc06{
        padding: 50px 0;
    }
    .sc06-con{
        padding: 2rem 15px 0;
    }
    .sc06-wrap{
        flex-direction: column;
    }
    .sc06-box{
        width: 100%;
        margin-bottom: 1.5rem;
    }
    .sc06-box:last-child{
        margin-bottom: 0;
    }
    .sc06-wz{
        margin-bottom: 1.5rem;
    }
    .wz-tit{
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
    .wz-tit > h5{
        font-size: 18px;
    }
    .wz-tit > span{
        font-size: 18px;
    }
    .mpr_table > tbody > tr > td{
        font-size: 13px;
    }
    .sc06Swiper{
        padding: 2rem 0 1.5rem;
    }
    .mpr_gl > li{
        width: 50%;
        padding: 0 4px 8px;
    }

    .sc05-mq1 > li > img{max-width: 150px;}
	.sc05-mq2 > li > img{max-width: 150px;}
	.sc05-mq3 > li > img{max-width: 150px;}
	.sc05-mq1 > li{padding: 0 0 10px; margin: 0 5px;}
	.sc05-mq2 > li{padding: 0 0 10px; margin: 0 5px;}
	.sc05-mq3 > li{padding: 0 0 10px; margin: 0 5px;}

    
}

/* animation */

.ani.up{
    transform: translateY(100px);
    opacity: 0;
    transition: 1s;
}

.ani.up.act{
    transform: translateY(0);
    opacity: 1;
}

@keyframes blink{
    50% {
      opacity: 0;
    }
}

@keyframes rotate{
    0% {
      transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
