html {
    overflow: hidden;
}

.header.active {
    background-color: #413d3c;
}

.sec {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    height: 100%;
}

.ctrWrap {
    display: flex;
    align-items: center;
    gap: 0 20px;
}

.ctrWrap .numWrap {
    display: flex;
    align-items: center;
    color: #000;
    gap: 0 5px;
}

.ctrWrap .numWrap p {
    font-family: 'MontB';
    font-size: 16px;
}

.ctrWrap.blk .leftWrap>p {
    color: #000;
}

.ctrWrap.blk .leftWrap .proWrap {
    background-color: #00000042;
}

.ctrWrap.blk .leftWrap .proWrap .pro {
    background-color: #000000;
}

/* 공통 */

.header.scroll {
    background-color: #000;
}

.header.sub .topWrap .menu a,
.header.scroll .topWrap .menu a,
.header.active .topWrap .menu a {
    color: #fff;
}

.introWrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
    cursor: none;
    background: url(../images/main/bg_intro.png) no-repeat center/cover;
}

.introWrap .bgWrap {
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    position: relative;
}

.introWrap .bgWrap video {
    max-width: 100%;
    width: 100%;
}

.introWrap .bgWrap .introLogo {
    position: absolute;
    top: -100px;
}

.introWrap .txtWrap {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 100px;
}

.introWrap .txtWrap hr {
    width: 180px;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.2);
}

.introWrap .csWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    display: none;
}

.introWrap .csWrap .c1 {
    animation: rotateLoop 5s infinite linear;
}

.introWrap .csWrap .c2 {
    position: absolute;
    box-shadow: 0px 20px 20px 0px rgba(0, 0, 0, 0.4);
    border-radius: 100%;
}

.mainWrap {
    height: 100%;
}

.visualWrap {
    z-index: 100;
}

.visualWrap .bgWrap {
    width: 100%;
    height: 100%;
    /* background-color: #000; */
}

.visualWrap .bgWrap .swiper-container {
    height: 100%;
}

.visualWrap .bgWrap .swiper-slide img {
    transform: scale(1.1);
}

.visualWrap .bgWrap .swiper-slide img.active {
    transition: all 4s;
    transform: scale(1);
}

.visualWrap .textWrap {
    position: absolute;
    top: 150px;
    width: 100%;
}

.visualWrap .textWrap .swiper-slide {
    display: flex;
    justify-content: center;
    opacity: 0 !important;
    transition: all 1s;
    /* margin-top: -30px; */
}

.visualWrap .textWrap .swiper-slide-active {
    opacity: 1 !important;
    margin-top: 0;
}

.visualWrap .ctrWrap {
    position: absolute;
    left: 160px;
    bottom: 50px;
    display: flex;
    gap: 0 30px;
    z-index: 10;
}

.visualWrap .ctrWrap .arrowsWrap {
    display: flex;
    align-items: center;
    gap: 0 10px;
}

.visualWrap .ctrWrap .posWrap {
    display: flex;
    align-items: center;
    gap: 0 30px;
}

.visualWrap .ctrWrap .posWrap a {
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #fff;
    opacity: .2;
    transition: all 1s;
}

.visualWrap .ctrWrap .posWrap a.active {
    opacity: 1;
}

.visualWrap .ptBtn {
    position: absolute;
    right: 60px;
    top: 130px;
    z-index: 10;
}

.qkWrap {
    position: fixed;
    bottom: 70px;
    right: 60px;
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    gap: 20px 0;
    z-index: 10;
}

.qkWrap .scroll {
    margin-right: 20px;
}

.qkWrap .btnsWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    gap: 15px 0;
}

.qkWrap .btnsWrap a {
    display: flex;
    border-radius: 300px;
    overflow: hidden;
    width: 54px;
    height: 54px;
    transition: all .5s;
    flex-flow: row nowrap;
    justify-content: flex-end;
}

.qkWrap .btnsWrap a:not(.noHover):hover {
    width: 160px;
}

.qkWrap .btnsWrap a p {
    flex: none;
    display: flex;
    align-items: center;
    width: 160px;
    justify-content: flex-end;
    height: 54px;
    background-color: #fff;
    border-radius: 300px;
}

.qkWrap .btnsWrap a p span:last-child {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .5s;
}

.qkWrap .btnsWrap a.active span {
    transform: rotate(180deg);
}

.sec1Wrap {
    justify-content: space-between;
    align-items: center;
}

.sec1Wrap>div {
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 1s;
}

.sec1Wrap>div.rightWrap {
    right: 0;
}

.sec1Wrap>div.active {
    width: 100%;
}

.sec1Wrap>div .tt {
    position: absolute;
    z-index: 10;
}

.sec1Wrap>div .swiper-container {
    height: 100%;
}

.sec1Wrap>div .swiper-container .swiper-slide .bgWrap {
    height: 100%;
}

.sec1Wrap>div .swiper-container .swiper-slide .bgWrap img {
    object-position: -710px;
    transition: all 1s;
}

.sec1Wrap>div.active .swiper-container .swiper-slide .bgWrap img {
    object-position: 0px;
}

.sec1Wrap>div .swiper-container .swiper-slide>img {
    position: absolute;
}

.sec1Wrap>div .swiper-container .swiper-slide>img.t1 {
    left: 160px;
    top: 305px;
}

.sec1Wrap>div .swiper-container .swiper-slide>img.t2 {
    left: calc(50% + 200px);
    bottom: 170px;
}

.sec1Wrap>div .posWrap {
    position: absolute;
    left: 160px;
    bottom: 60px;
    display: flex;
    align-items: center;
    gap: 0 40px;
    z-index: 10;
    opacity: 0;
    transition: all .5s;
}

.sec1Wrap>div .posWrap.active {
    opacity: 1;
}

.sec1Wrap>div .posWrap a {
    width: 6px;
    height: 6px;
    border-radius: 100%;
    background-color: #fff;
    opacity: .2;
    transition: all .5s;
}

.sec1Wrap>div .posWrap a.active {
    opacity: 1;
}

.sec1Wrap>div>.t {
    position: absolute;
}

.sec2Wrap {
    justify-content: space-between;
    align-items: center;
}

.sec2Wrap>div {
    width: 50%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 1s;
}

.sec2Wrap>div.rightWrap {
    right: 0;
    z-index: 10;
}

.sec2Wrap>div.active {
    width: 100%;
}

.sec2Wrap>div .tt {
    position: absolute;
    z-index: 10;
    transition: all 1s;
}

.sec2Wrap>div.active .tt {
    opacity: 0;
}

.sec2Wrap>div>.t {
    position: absolute;
    opacity: 0;
    transition: all 1s;
    align-self: flex-end;
}

.sec2Wrap>div.active>.t {
    opacity: 1;
}

.sec3Wrap {
    background: url(../images/main/bg_sec3.png) no-repeat center/cover;
}

.sec3Wrap .t1 {
    /* opacity: 0; */
}

.sec3Wrap .contWrap {
    position: absolute;
    top: 0;
    display: flex;
    flex-flow: column;
    align-items: center;
    width: 100%;
    padding-top: 165px;
}

.sec3Wrap .contWrap .rowWrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.sec3Wrap .contWrap .rowWrap.r1 {
    align-items: center;
    padding-left: 220px;
    padding-right: 160px;
    margin-bottom: 130px;
}

.sec3Wrap .contWrap .rowWrap.r2 {
    padding-left: 160px;
    padding-right: 100px;
}

.sec3Wrap .contWrap .rowWrap.r2 img:first-child {
    margin-top: 110px;
}

.sec3Wrap .contWrap .rowWrap.r3 {
    justify-content: center;
    margin-top: -220px;
}

.sec3Wrap {
    display: flex;
    align-items: center;
    padding-top: 110px;
}

.sec3Wrap .leftWrap {
    padding: 0 150px;
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: 50px 0;
}

.sec3Wrap .leftWrap .arrowsWrap {
    display: flex;
    gap: 0 20px;
}

.sec3Wrap .rightWrap {
    width: calc(100% - 735px);
    overflow: hidden;
}

.sec3Wrap .rightWrap .swiper-slide {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
}

.sec4Wrap {
    background: url(../images/main/bg_sec4.png) no-repeat center/cover;
}

.sec4Wrap a {
    position: relative;
    display: flex;
    cursor: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.sec4csWrap {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    display: none;
}

.sec4csWrap .c1 {
    animation: rotateLoop 5s infinite linear;
}

.sec4csWrap .c2 {
    position: absolute;
    border-radius: 100%;
    box-shadow: 0px 20px 20px 0px rgba(53, 60, 91, 0.4);
}

.sec5Wrap>div {
    width: 50%;
    height: 100%;
    padding-top: 110px;
}

.sec5Wrap .leftWrap {
    background: url(../images/main/bg_sec5.png) no-repeat center/cover;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}

.sec5Wrap .leftWrap .t1 {
    margin-bottom: 52px;
}

.sec5Wrap .leftWrap a {
    margin-bottom: 70px;
}

.sec5Wrap .rightWrap {
    background-color: #e8ecef;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sec5Wrap .rightWrap .contWrap {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
}

.sec5Wrap .rightWrap .contWrap .imageWrap {
    display: flex;
    gap: 0 30px;
    margin: 50px 0;
}

.sec5Wrap .rightWrap .contWrap .rowWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    border-bottom: 1px solid #fff;
    width: 100%;
}

.sec5Wrap .rightWrap .contWrap .rowWrap .btnsWrap {
    display: flex;
    align-items: center;
    gap: 0 50px;
}