@charset "utf-8";
/* CSS Document */


/* Main Visual */
.main-viaual{
    height: 100vh;
    position: relative;
    /* background: #eee url("../images/mImg_bg.jpg") no-repeat 0 0 / cover; */
    overflow: hidden;
}

.main-viaual .container{
    height: 100%;
    position: relative;
}

.main-viaual .visual-txt{
    display: flex;
    margin: auto 0 0;
}

.main-viaual .txt-wrap{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;    
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9;
}

.main-viaual .txt-wrap .ttl{
    font-family: 'SUIT';
    text-align: center;
    font-size: 10rem;
    font-weight: 800;
    color: var(--bs-white);
    line-height: 12rem;
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.main-viaual .txt-wrap .desc{
    margin: 30px 0 0;
    font-size: 2.8rem;
    color: var(--bs-white);
}

.main-viaual .scroll-btn.hide-scrollBtn{
    opacity: 0;
}

.main-viaual .scroll-btn{
    transition: transform 0.3s ease-in-out;
}

.main-viaual .scroll-btn{
    width: fit-content;
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: -45px;
    transition: opacity 0.6s ease-in-out;
    cursor: pointer;
    opacity: 1;
    z-index: 2;
}

.main-viaual .scroll-btn .scroll-line_wrap{
    padding: 0 0 25px;
}

.main-viaual .scroll-btn .scroll-line_wrap .scroll-line{
    width: 1px;
    height: 60px;
    position: relative;
    margin-left: 50%;
    background: var(--bs-white);
}

.main-viaual .scroll-btn .scroll-line:after{
    content: "";
    width: 16px;
    height: 25px;
    position: absolute;
    left: 50%;
    bottom: -25px;
    transform: translate(-50%, 0);
    background: url("../images/icon_scroll.svg") no-repeat 0 0 / 16px;
}

.main-viaual .scroll-btn .scroll-txt{
    margin: 16px 0 0;
    font-family: 'SUIT';
    font-size: 1.4rem;
    color: var(--bs-white);
    letter-spacing: 6px;
}



.wrapper.intro-On .intro{
    visibility: visible;
    opacity: 1;
}

.intro{
    visibility: hidden;
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    padding: 100px 0 0;
    transition: all 0.4s ease-in-out;
    opacity: 0;
    z-index: 9;
}

.wrapper.days-on .intro{
    background: var(--bs-white);
}

.wrapper.days-on .navbar-nav .nav-link{
    color: var(--main-color2) !important;
}

.wrapper.intro-On.mask-on .intro{
    background: var(--main-color4);
}

.wrapper.days-on .logo-light,
.wrapper header.show-header .logo-light{
    display: block !important;
}
.wrapper.days-on .logo-dark,
.wrapper header.show-header .logo-dark{
    display: none !important;
}

.intro .days{
    visibility: hidden;
    opacity: 0;
    background: var(--bs-white);
}

.wrapper.intro-On.days-on .days{
    visibility: visible;
    opacity: 1;
}

.wrapper.intro-On.mask-on .intro{
    background: none;
}

.intro .days .container{
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    top: -50px;
    text-align: center;
}

.intro .days h2{
    font-size: 7.2rem;
    font-weight: 800;
    color: var(--main-color2);
    line-height: 1.4;
}

.intro .days h2 strong{
    font-weight: 800;
    color: var(--main-color1);
}

.intro .days .day-acc{
    font-family: 'SUIT';
    font-size: 12rem;
    font-weight: 700;
    color: var(--main-color1);
    letter-spacing: -0.5rem;
}

.intro .days .day-acc #dayCounter{
    font-size: 24rem;
    font-weight: 900;
}




.mask{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    /* background: rgba(255,255,255,0.4); */
    /* background: url("../images/unidocs_mask2.svg") no-repeat 50% 50% / cover; */
    transition: transform 1s ease-in-out;
    z-index: 9;
}
.mask_section{
    flex-grow: 1;
    display: flex;
}
.mask_section-main{
    flex-grow: 0;
}
.mask_block{
    width: calc(100% + 2px);
    height: calc(100% + 2px); 
    margin: 0;
    background: var(--main-color4);
}
.mask_block.mask_block-side{
    width: calc(30% + 2px);
}
.mask_logo{
    width: 100%;
    height: 100vh;
    background: url("../images/unidocs_mask.svg") no-repeat 50% 50% / cover;
    z-index: 1;
}


.scaleUp{
    animation: scaleUpAnimation 0.5s ease-in-out forwards;
}
@keyframes scaleUpAnimation{
    from {
        transform: scale(1);
        background: rgba(255, 255, 255, 0.4);
    }
    to {
        transform: scale(15);
        background: rgba(255, 255, 255, 0.318);
    }
}



.video-background{
    position: absolute;
    width: 100%;
    height: 100vh; /* 화면 전체 높이 */
    overflow: hidden;
    z-index: 1;
}

.video-background::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 30, 74, 0.2);
    z-index: 2;
}

.video-background video{
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}





.section-wrap{
    position: relative;
}

.section-wrap > section{
    /* height: 100vh; */
    position: relative;
    padding: 120px 0;
    /* overflow: hidden; */
}

/* .section-wrap > section .content{
    height: calc(100% - 150px);
} */

.s-tit{
    position: relative;
    margin: 0 0 50px;
    z-index: 9;
}

.s-tit h2{
    margin: 0 0 25px;
    font-family: 'SUIT';
    font-size: 6.4rem;
    font-weight: 800;
}

.s-tit p{
    margin: 0 0 25px;
    font-size: 2.8rem;
}

.s-tit p strong{
    font-weight: 800;
    color: var(--main-color1);
}

.s-tit .btn,
.sec-5 .company-background .bg-2 .btn{
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 16px 70px 16px 40px;
    border-radius: 100px;
    border: 1px solid var(--bs-white);
    position: relative;
    overflow: hidden;
    /* transition: border-color 0.35s; */
    font-size: 2.0rem;
    font-weight: 600;
}

.s-tit .btn::after,
.sec-5 .company-background .bg-2 .btn::after{
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translate(0, -50%);
    background: url("../images/btn_arrow.svg") no-repeat 0 0 / 16px;
}

.sec-2 .s-tit .btn::after,
.sec-4 .s-tit .btn::after{
    background-position-y: -16px;
}

.sec-1 .s-tit h2,
.sec-1 .s-tit p,
.sec-3 .s-tit h2,
.sec-3 .s-tit p,
.sec-1 .btn,
.sec-3 .btn,
.sec-5 .btn{
    color: var(--bs-white);
}

.sec-2 .s-tit h2,
.sec-2 .s-tit p,
.sec-4 .s-tit h2,
.sec-4 .s-tit p,
.sec-2 .btn,
.sec-2 .btn,
.sec-4 .btn,
.sec-4 .btn{
    color: var(--main-color2);
}

.sec-2 .btn,
.sec-2 .btn,
.sec-4 .btn,
.sec-4 .btn{
    border-color: var(--main-color2);
}





/* SECTION - 1 */
.sec-1{
    overflow: hidden;
}

.sec-1::before{
    content: "";
    position: absolute;
    inset: 0;
    background: url("../images/sec1_bg.jpg") no-repeat 0 0 / cover;
    transform-origin: center center;
    animation: pulse 10s ease-in-out infinite;
    z-index: -1;
}
@keyframes pulse {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.08); }
    100% { transform: scale(1); }
}

.sec-1 .container{
    position: relative;
}

.sec-1 .business{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
}

.sec-1 .business li{
    width: calc((100% - 150px) / 4);
}

.sec-1 .business li .item{
    min-height: 380px;
    position: relative;
    padding: 50px 30px;
    background: var(--main-color5);
    border-radius: 4.0rem;
    /* animation: scaleHighlight 4s ease-in-out infinite; */
    transition: transform 0.5s ease;
    cursor: pointer;
    overflow: hidden;
}

.sec-1 .business li .item::before{
    content: "";
    width: 100%;
    height: 60%;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: all 0.3s ease;
    /* z-index: -1; */
}

.sec-1 .business li:nth-child(1) .item::before{
    background: url("../images/business_1.png") no-repeat 50% 0 / cover;
}
.sec-1 .business li:nth-child(2) .item::before{
    background: url("../images/business_2.png") no-repeat 50% 0 / cover;
}
.sec-1 .business li:nth-child(3) .item::before{
    background: url("../images/business_3.png") no-repeat 50% 0 / cover;
}
.sec-1 .business li:nth-child(4) .item::before{
    background: url("../images/business_4.png") no-repeat 50% 0 / cover;
}

.sec-1 .business li .item::after{
    content: "";
    width: 90px;
    height: 90px;
    position: absolute;
    left: 50%;
    bottom: 50px;
    transform: translate(-50%, 0);
    background: url("../images/ico_circle_more.svg") no-repeat 0 0 / 90px;
}

/* .business li:nth-child(1) .item { animation-delay: 0s; }
.business li:nth-child(2) .item { animation-delay: 1s; }
.business li:nth-child(3) .item { animation-delay: 2s; }
.business li:nth-child(4) .item { animation-delay: 3s; }

@keyframes scaleHighlight {
    0% { transform: scale(1); }
    15% { transform: scale(1.1); }
    30% { transform: scale(1); }
    100% { transform: scale(1); }
} */


.sec-1 .business li .item .txt-group{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
}

.sec-1 .business li .item .txt-group .case{
    font-size: 2.4rem;
    color: var(--main-color3);
}

.sec-1 .business li .item .txt-group .txt{
    min-height: 80px;
    display: flex;
    align-items: center;
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--main-color3);
    text-align: center;
}







/* SECTION - 2 */
.section-wrap > section.sec-2{
    padding: 120px 0 0;
    background: linear-gradient(107deg,rgba(255, 255, 255, 1) 50%, rgba(229, 255, 255, 1) 100%);
}

.sec-2 .arrows{
    height: 610px;
    position: relative;
    right: 180px;
}

.sec-2 .arrows img{
    position: absolute;
    bottom: 0;
    filter:  drop-shadow(20px 30px 5px rgba(0, 0, 0, 0.1));
}

.sec-2 .arrows img:nth-child(1){
    width: 344px;
    right: 45px;
}
.sec-2 .arrows img:nth-child(2){
    width: 500px;
    right: 488px;
}
.sec-2 .arrows img:nth-child(3){
    width: 752px;
    right: 0;
}





/* SECTION - 3 */
.section-wrap > section.sec-3{
    height: 250dvh;
    padding: 0;
    background: var(--bs-black);
}

.sec-3 .sec-content{
    width: 100%;
    height: 100dvh;
    position: sticky;
    top: 0;
}

.sec-3 .sec-content .sec-scroll{
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
}

.sec-3 .sec-content .s-tit{
    width: 100%;
    position: absolute;
    top: 120px;
    left: 0;
}

.sec-3 .ai-video-background{
    height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: sticky;
    top: 0;
}

.sec-3 .ai-video-background video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}



/* SECTION - 4 */
.sec-4{
    background: var(--sec-color1);
}

.sec-4 .content{
    padding: 50px 0 0;
}

.sec-4 .expSwiper > div{
    padding: 0 0 20px;
}

.sec-4 .expSwiper .owl-dots{
    padding: 0;
}

.sec-4 .expSwiper a{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 30px 50px;
    background: var(--bs-white);
    border-radius: 40px;
    box-shadow: 0 6px 10px rgba(0, 0, 0, 0.1) !important;
}

.sec-4 .expSwiper img{
    width: 75%;
    height: auto;
    object-fit: cover;
    transition: all 0.3s ease;
}

.sec-4 .expSwiper .txt{
    width: 100%;
    margin: 10px 0 0;
    font-size: 2.8rem;
    font-weight: 700;
    color: var(--bs-gray-700);
}

.sec-4 .expSwiper .txt span{
    display: block;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--bs-gray-600);
}





/* SECTION - 5 */
.sec-5{
    height: 250dvh !important;
    padding: 0 !important;
    background: var(--bs-black);
}

.sec-5 .sec-content{
    width: 100%;
    height: 100dvh;
    position: sticky;
    top: 0;
}

.sec-5 .sec-content .sec-scroll{
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: 100dvh;
    overflow: hidden;
}

.sec-5 .sec-content .s-tit{
    width: 100%;
    display: flex;
    align-items: end;
    gap: 100px;
    position: absolute;
    top: 180px;
    left: 0;
    color: var(--bs-white);
    z-index: 99;
}

.sec-5 .sec-content .s-tit .container{
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 0 100px;
}

.sec-5 .sec-content .s-tit .btn{
    height: fit-content;
    margin: 0 0 25px;
}

.sec-5 .sec-content .s-tit h2{
    font-size: 4.2rem;
    font-weight: 400;
}

.sec-5 .sec-content .s-tit h2 strong{
    font-weight: 800;
}

.sec-5 .company-background{
    width: 100%;
    height: 200dvh;
    position: relative; /* 겹치게 놓기 위해 필요 */
}

.sec-5 .company-background > div{
    height: 100dvh;
    width: 100%;
}

.sec-5 .company-background .bg-1{
    position: relative;
    z-index: 9;
}

.sec-5 .company-background .bg-2{
    position: absolute;
    top: 0;
}

.sec-5 .company-background .bg-1{
    background: url("../images/company_1.jpg") no-repeat 0 0 / cover;
    animation: pulse 10s ease-in-out infinite;
}
.sec-5 .company-background .bg-2{
    background: url("../images/company_2.jpg") no-repeat 0 0 / cover;
}

.sec-5 .company-background .bg-2 ul{
    display: flex;
    position: absolute;
    right: 190px;
    bottom: 150px;
}

.sec-5 .company-background .bg-2 li{
    position: relative;
    font-size: 24.2rem;
    font-weight: 800;
    color: rgba(0, 50, 108, 0.6);
}

.sec-5 .company-background .bg-2 li:nth-child(even){
    top: 100px;
}

.sec-5 .company-background .bg-2 li::after{
    width: 100%;
    position: absolute;
    left: 50%;
    bottom: 10px;
    transform: translate(-50%, 0);
    font-size: 3.2rem;
    color: var(--main-color3);
    text-align: center;
}

.sec-5 .company-background .bg-2 li:nth-child(1)::after{
    content: "고객사가";
}
.sec-5 .company-background .bg-2 li:nth-child(2)::after{
    content: "필요한 게 무엇이든";
}
.sec-5 .company-background .bg-2 li:nth-child(3)::after{
    content: "지체 없이 수행하고";
}
.sec-5 .company-background .bg-2 li:nth-child(4)::after{
    content: "뒤탈 없이 안심할 수 있도록";
}


.sec-5 .company-background .bg-2 .button-group{
    width: 100%;
    position: absolute;
    bottom: 100px;
}
.sec-5 .company-background .bg-2 .button-group .btn{
    color: var(--main-color3);
    border-color: var(--main-color3);
}

.sec-5 .company-background .bg-2 .button-group .btn::after{
    background-position-y: -32px;
}





/* side-nav */
#side-nav{
    position: sticky;
    top: 190px;
    z-index: 99;
}

#side-nav .affix{
    width: 120px;
    position: fixed;
    top: 204px;
    right: 50px;
    z-index: 999 !important;
}

#side-nav .nav.affix{
    position: fixed !important;
}

#side-nav ul li {
    position: relative;
}

#side-nav li:has(.nav-link.active) {
    /* li에 적용할 active 스타일 */
    background: rgba(0,0,0,0.05);
}




.side-nav{
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
}
.side-nav ul{
    height: 100dvh;
    position: sticky;
    right: 0;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
    gap: 30px;
    padding-right: 40px;
}

.side-nav ul li.on button{
    opacity: 1;
}
.side-nav ul li.on button .side-nav__text{
    font-weight: 700;
}
.side-nav ul li.on button .side-nav__icon{
    height: 14px;
    opacity: 1;
    background-color: transparent;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: 12px solid var(--bs-white);
    border-radius: 0;
}
.side-nav ul li button{
    cursor: pointer;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 18px;
    opacity: 0.8;
    transition: opacity 0.25s;
}
.side-nav ul li button .side-nav__text{
    font-size: 1.6rem;
    color: var(--bs-white);
}
.side-nav ul li button .side-nav__icon{
    transition: height 0.25s;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 4px;
    opacity: 0.8;
    background-color: var(--bs-white);
}


.side-nav.black ul li button .side-nav__text{
    color: var(--main-color8);
}
.side-nav.black ul li button .side-nav__icon{
    background-color: var(--main-color8);
}
.side-nav.black ul li.on button .side-nav__icon{
    background-color: transparent;
    border-right-color: var(--main-color8);
}

















#side-nav ul li.active a {
    background: none;
    color: #0469ff;
}

#side-nav ul li a {
    padding: 36px 15px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #aaa;
}

#side-nav ul li a:hover,
#side-nav ul li a:focus,
#side-nav ul li a:active {
    background: none;
}

#side-nav ul li + li {
    margin: 0;
}

#side-nav ul li:before {
    content: "";
    width: 1px;
    height: 100%;
    background: #ccc;
    position: absolute;
    top: 0;
    right: 0;
}

#side-nav ul li.active:before {
    content: "";
    width: 1px;
    height: 100%;
    background: #0469ff;
    position: absolute;
    top: 0;
    right: 0;
}

#side-nav ul li:after {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #ccc;
    position: absolute;
    top: calc(50% - 6px);
    right: -4px;
}

#side-nav ul li.active:after {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #0469ff;
    position: absolute;
    top: calc(50% - 6px);
    right: -4px;
}








.delay-01s{
    animation-delay: 0.1s;
}
.delay-015s{
    animation-delay: 0.15s;
}
.delay-02s{
    animation-delay: 0.2s;
}
.delay-025s{
    animation-delay: 0.25s;
}
.delay-03s{
    animation-delay: 0.3s;
}
.delay-04s{
    animation-delay: 0.4s;
}
.delay-05s{
    animation-delay: 0.5s;
}
.delay-1s{
    animation-delay: 1s;
}
.delay-1_05s{
    animation-delay: 1.5s;
}
.delay-2s{
    animation-delay: 2s;
}
.delay-2_05s{
    animation-delay: 2.5s;
}
.delay-2_01s{
    animation-delay: 2.1s;
}
.delay-3s{
    animation-delay: 3s;
}
.delay-3_05s{
    animation-delay: 3.5s;
}
.delay-3_07s{
    animation-delay: 3.7s;
}
.delay-4s{
    animation-delay: 4s;
}
.delay-4_05s{
    animation-delay: 4.5s;
}
.delay-4_07s{
    animation-delay: 4.7s;
}
.delay-5s{
    animation-delay: 5s;
}
.delay-5_05s{
    animation-delay: 5.5s;
}
.delay-5_07s{
    animation-delay: 5.7s;
}
.delay-6s{
    animation-delay: 6s;
}
.delay-6_02s{
    animation-delay: 6.2s;
}




/*------------------------------------ ONLY PC ------------------------------------*/
@media(hover: hover) and (pointer: fine) {
    .wrapper.intro-On .navbar-nav .nav-link:hover{
        color: var(--main-color1);
    }

    .sec-1 .btn:hover,
    .sec-3 .btn:hover,
    .sec-5 .s-tit .btn:hover{
        color: var(--main-color2);
        background: var(--bs-white);
        border-color: var(--bs-white);
    }

    .sec-1 .btn:hover::after,
    .sec-3 .btn:hover::after,
    .sec-5 .s-tit .btn:hover::after{
        background-position-y: -16px;
    }

    .sec-2 .btn:hover,
    .sec-4 .btn:hover,
    .sec-5 .company-background .bg-2 .btn:hover{
        background: var(--main-color2);
        border-color: var(--main-color2);
    }

    .sec-2 .btn:hover,
    .sec-4 .btn:hover,
    .sec-5 .company-background .bg-2 .btn:hover{
        color: var(--bs-white);
    }

    .sec-2 .btn:hover::after,
    .sec-4 .btn:hover::after,
    .sec-5 .company-background .bg-2 .btn:hover::after{
        background-position-y: 0;
    }

    .sec-1 .business li .item:hover::before{
        height: 70%;
        background-position: 50% 50%;
    }

    .side-nav ul li:hover button{
        opacity: 1;
    }
    .side-nav ul li:hover button .side-nav__text{
        font-weight: 700;
    }
    .side-nav ul li:hover button .side-nav__icon{
        opacity: 1;
    }
}

/*------------------------------------ ONLY Tablet --------------------------------*/
@media (hover: none) and (pointer: coarse) {
    /* .section-wrap > section{
        height: 100%;
    } */
}

/* ----------------------------------- Only Phone ---------------------------------*/
@media(max-width: 991px) and (hover: none) and (pointer: coarse) {

}

@media(max-width: 1690px){

}

@media(max-width: 1520px){
    .sec-4 .expSwiper .txt{
        font-size: 2.4rem;
    }
}

@media (min-width: 1400px) {

}

@media(max-width: 1399px){
    .main-viaual .txt-wrap .ttl{
        font-size: 9rem;
        line-height: 11rem;
    }

    .main-viaual .txt-wrap .desc{
        font-size: 2.6rem;
    }

    .sec-1 .business{
        gap: 20px;
    }

    .sec-1 .business li{
        width: calc((100% - 60px) / 4);
    }

    .sec-1 .business li .item{
        min-height: 350px;
        padding: 40px 20px;
    }

    .sec-1 .business li .item::before{
        height: 50%;
    }

    .sec-1 .business li .item:hover::before{
        height: 60%;
    }

    .sec-1 .business li .item .txt-group .case{
        font-size: 2.2rem;
    }

    .sec-1 .business li .item .txt-group .txt{
        font-size: 2.4rem;
    }

    .sec-2 .arrows{
        right: 100px;
    }

    .sec-4 .expSwiper a{
        padding: 30px 20px;
    }

    .sec-5 .sec-content .s-tit{
        top: 100px;
    }

    .sec-5 .company-background .bg-2 ul{
        right: 100px;
    }

    .sec-5 .company-background .bg-2 li{
        font-size: 17rem;
    }

    .sec-5 .company-background .bg-2 li::after{
        font-size: 2.2rem;
    }

    .sec-5 .company-background .bg-2 .button-group{
        bottom: 60px;
    }
}

@media(max-width: 1199px){
    .main-viaual .txt-wrap .ttl{
        font-size: 7rem;
        line-height: 9rem;
    }

    .main-viaual .txt-wrap .desc{
        font-size: 2.2rem;
    }

    .intro .days h2{
        font-size: 6rem;
    }

    .intro .days .day-acc #dayCounter{
        font-size: 18rem;
    }

    .s-tit h2{
        font-size: 5rem;
    }

    .s-tit p{
        font-size: 2.2rem;
    }

    .sec-1 .business li .item{
        min-height: 300px;
        padding: 30px 20px;
    }

    .sec-1 .business li .item::after{
        width: 70px;
        height: 70px;
        background-size: 70px;
    }

    .sec-1 .business li .item .txt-group{
        gap: 10px;
    }

    .sec-1 .business li .item .txt-group .txt{
        font-size: 2.0rem;
    }

    .sec-2 .arrows{
        height: 430px;
    }

    .sec-2 .arrows img:nth-child(1){
        width: 240px;
        right: 20px;
    }
    .sec-2 .arrows img:nth-child(2){
        width: 350px;
        right: 360px;
    }
    .sec-2 .arrows img:nth-child(3){
        width: 526px;
    }

    .sec-4 .expSwiper a{
        height: 250px;
    }

    .sec-4 .expSwiper .txt{
        height: 90px;
        margin: 20px 0 0;
    }

    .sec-4 .expSwiper .txt span{
        font-size: 1.6rem;
    }

    .s-tit .btn,
    .sec-5 .company-background .bg-2 .btn{
        padding: 14px 60px 16px 30px;
    }
}

@media(max-width: 991px){
    .side-nav ul{
        gap: 6px;
        padding-right: 10px;
    }

    .side-nav ul li button{
        padding: 10px;
    }

    .side-nav ul li button .side-nav__text{
        display: none;
    }

    .main-viaual .txt-wrap .ttl{
        font-size: 6rem;
        line-height: 8rem;
    }

    .main-viaual .txt-wrap .desc{
        font-size: 2rem;
    }

    .intro{
        padding: 60px 0 0;
    }

    .intro .days .container{
        top: -60px;
    }

    .intro .days h2{
        font-size: 4rem;
    }

    .intro .days .day-acc #dayCounter{
        font-size: 14rem;
    }

    .s-tit h2{
        font-size: 4rem;
    }

    .s-tit p{
        font-size: 2rem;
    }

    .s-tit .btn,
    .sec-5 .btn{
        font-size: 1.8rem;
    }

    .sec-1 .business li .item{
        min-height: 280px;
    }

    .sec-1 .business li .item::after{
        bottom: 30px;
    }

    .sec-2 .arrows{
        height: 300px;
    }

    .sec-2 .arrows img:nth-child(1){
        width: 168px;
    }
    .sec-2 .arrows img:nth-child(2){
        width: 245px;
        right: 250px;
    }
    .sec-2 .arrows img:nth-child(3){
        width: 368px;
    }

    .sec-4 .expSwiper a{
        height: auto;
        padding: 30px;
    }

    .sec-4 .expSwiper .txt{
        height: auto;
        text-align: center;
    }

    .sec-5 .sec-content .s-tit .container{
        gap: 0 50px;
    }

    .sec-5 .company-background .bg-2 li:nth-child(even){
        top: 50px;
    }

    .sec-5 .company-background .bg-2 .button-group .container{
        text-align: center;
    }

    .s-tit .btn,
    .sec-5 .company-background .bg-2 .btn{
        padding: 10px 60px 10px 30px;
        font-size: 1.8rem;
    }
}

@media (max-width: 991px) and (orientation: portrait){
    .sec-5 .company-background .bg-2 ul{
        right: 100px;
    }

    .sec-5 .company-background .bg-2 li{
        font-size: 14rem;
        font-weight: 900;
    }

    .sec-5 .company-background .bg-2 li::after{
        font-size: 1.8rem;
    }

    .sec-5 .company-background .bg-2 ul{
        right: 50%;
        bottom: 300px;
        transform: translate(50%, 0);
    }
}

@media (max-width: 991px) and (orientation: landscape){
    .sec-5 .company-background .bg-2 ul{
        right: 50px;
        bottom: 250px;
        transform: none;
    }

    .sec-5 .company-background .bg-2 li{
        font-size: 10rem;
        font-weight: 900;
    }

    .sec-5 .company-background .bg-2 li::after{
        font-size: 1.3rem;
    }
    
    .sec-5 .company-background .bg-2 .button-group{
        bottom: 30px;
    }
}

@media(max-width: 767px){
    .section-wrap > section{
        padding: 60px 0;
    }

    .main-viaual .txt-wrap .desc{
        font-size: 3vw;
    }

    .s-tit h2{
        font-size: 3rem;
    }

    .s-tit p{
        font-size: 1.8rem;
    }

    .s-tit .btn,
    .sec-5 .company-background .bg-2 .btn{
        font-size: 1.6rem;
    }

    .main-viaual .scroll-btn{
        margin-left: -36px;
    }

    .main-viaual .scroll-btn .scroll-line_wrap .scroll-line{
        height: 30px;
    }

    .main-viaual .scroll-btn .scroll-txt{
        margin: 10px 0 0;
        font-size: 1.2rem;
        font-weight: 700;
        letter-spacing: 4px;
    }

    .main-viaual .txt-wrap .desc{
        margin: 10px 0 0;
    }

    .side-nav{
        display: none;
    }

    .sec-1 .business li{
        width: calc((100% - 20px) / 2);
    }

    .sec-1 .business li .item{
        min-height: 320px;
    }

    .sec-1 .business li .item::before{
        height: 60%;
    }

    .section-wrap > section.sec-2{
        padding: 60px 0 0;
    }

    .sec-2 .arrows{
        right: 0;
    }

    .sec-2 .arrows{
        height: 210px;
    }

    .sec-2 .arrows img{
        right: 50%;
    }

    .sec-2 .arrows img:nth-child(1){
        width: 118px;
        right: 100px;
    }
    .sec-2 .arrows img:nth-child(2){
        width: 172px;
        right: 290px;
    }
    .sec-2 .arrows img:nth-child(3){
        width: 258px;
        right: 100px;
    }

    .sec-3 .sec-content .s-tit{
        top: 60px;
    }

    .sec-3 .ai-video-background video{
        object-fit: fill;
    }

    .sec-4 .content{
        padding: 0;
    }

    .sec-4 .expSwiper a{
        padding: 22px;
    }

    .sec-4 .expSwiper .owl-dots{
        margin: 40px 0 0;
    }

    .sec-4 .expSwiper .owl-dots .owl-dot{
        margin: 0 8px;
    }
}

@media (max-width: 767px) and (orientation: portrait){
    .intro .days h2{
        font-size: 8vw;
    }

    .intro .days .day-acc{
        font-size: 10vw;
    }

    .intro .days .day-acc #dayCounter{
        font-size: 20vw;
    }

    .main-viaual .txt-wrap .ttl{
        font-size: 8vw;
        line-height: normal;
    }

    .sec-5 .company-background .bg-2 ul{
        bottom: 250px;
    }

    .sec-5 .company-background .bg-2 li{
        font-size: 18vw;
        line-height: 1;
    }

    .sec-5 .company-background .bg-2 li::after{
        bottom: -10px;
        font-size: 2.4vw;
    }

    .sec-5 .company-background .bg-2 li:nth-child(even){
        top: 30px;
    }
}

@media (max-width: 767px) and (orientation: landscape){
    .intro .days h2{
        font-size: 6vw;
    }

    .intro .days .day-acc{
        font-size: 9vw;
    }

    .intro .days .day-acc #dayCounter{
        font-size: 18vw;
    }

    .main-viaual .txt-wrap .ttl{
        font-size: 7vw;
        line-height: normal;
    }

    .sec-5 .company-background .bg-2 ul{
        right: 30px;
        bottom: 250px;
    }

    .sec-5 .company-background .bg-2 li{
        font-size: 14vw;
        line-height: 1;
    }

    .sec-5 .company-background .bg-2 li::after{
        bottom: -10px;
        font-size: 1.8vw;
    }

    .sec-5 .company-background .bg-2 li:nth-child(even){
        top: 30px;
    }
}

@media(max-width: 575px){
    .sec-2 .arrows img:nth-child(1){
        right: 10px;
    }
    .sec-2 .arrows img:nth-child(2){
        right: 200px;
    }
    .sec-2 .arrows img:nth-child(3){
        right: 10px;
    }

    .sec-4 .expSwiper a{
        margin: 0 15px;
    }
}

@media(max-width: 480px){
    .sec-1 .business li{
        width: 100%;
    }

    .sec-1 .business li .item::before{
        height: 70%;
    }

    .sec-1 .business li .item::after{
        bottom: 70px;
    }
}



/*------------------------------------ DARK MODE ------------------------------------*/
:root {
	color-scheme: dark light;
}

@media (prefers-color-scheme: dark){
    .wrapper.days-on .logo-light,
    .wrapper header.show-header .logo-light{
        display: none !important;
    }

    .wrapper.days-on .logo-dark,
    .wrapper header.show-header .logo-dark{
        display: inline !important;
    }

    .intro .days,
    .wrapper.days-on .intro,
    header:has(.navbar-nav .nav-item.nav-on),
    #solution,
    #experience{
        background: var(--main-color14);
    }

    .intro .days h2,
    .wrapper.days-on .navbar-nav .nav-link,
    .sec-2 .s-tit h2, .sec-2 .s-tit p, .sec-4 .s-tit h2, .sec-4 .s-tit p, .sec-2 .btn, .sec-2 .btn, .sec-4 .btn, .sec-4 .btn,
    .side-nav.black ul li button .side-nav__text{
        color: var(--bs-white) !important;
    }

    .sec-2 .btn, .sec-2 .btn, .sec-4 .btn, .sec-4 .btn{
        border-color: var(--bs-white);
    }

    .side-nav.black ul li button .side-nav__icon{
        background-color: var(--bs-white);
    }

    .side-nav.black ul li.on button .side-nav__icon{
        border-right-color: var(--bs-white);
    }

    .sec-2 .s-tit .btn::after, .sec-4 .s-tit .btn::after{
        background-position-y: 0;
    }
}

@media (prefers-color-scheme: dark) and (hover: hover) and (pointer: fine){


    .sec-2 .btn:hover, .sec-4 .btn:hover, .sec-5 .company-background .bg-2 .btn:hover{
        background: var(--bs-white);
        border-color: var(--bs-white);
        color: var(--main-color14);
    }

    .sec-2 .s-tit .btn:hover::after, .sec-4 .s-tit .btn:hover::after,
    .sec-5 .company-background .bg-2 .button-group .btn:hover::after{
        background-position-y: -16px;
    }
}

@media (prefers-color-scheme: dark) and (max-width: 991px){
    .wrapper.days-on .logo-light, .wrapper header.show-header .logo-light,
    .navbar-brand .logo-light{
        display: none !important;
    }

    .wrapper.days-on .logo-dark, .wrapper header.show-header .logo-dark
    .navbar-brand .logo-dark{
        display: inline !important;
    }
}