﻿


/*전체 설정*/
.sec{
    max-width: 1200px;
    margin: 8rem auto;
    padding: 0 1rem;
}

/*#region section1*/
.sec1{
    width: 100%;
    max-width: none;
}

.banner{
    width: 100%;
    height: 650px;
    overflow: hidden;
}

.sec1 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

@media (max-width:1080px) {

    .banner{
        height: 500px;
    }

}

@media (max-width:984px) {

    .banner{
        height: 400px;
    }

}

@media (max-width:768px) {

    .banner{
        height: 300px;
    }

    .sec{
        margin: 5rem auto 8rem;
    }

}
/*#endregion*/


/*#region section2*/
.sec2{
    max-width: 1000px;
}

.intro{
    justify-content: space-between;
    gap: 2rem;
}
.intro_txt{
    flex: 1;
}
.intro_txt h3{
    max-width: 300px;
    margin: 0 0 1.5rem;
    font-size: 2rem;
    font-weight: 800;
}
.intro_txt p{
    margin: 0;
    font-size: 1.25rem;
    color: #777;
}
.intro_list{
    flex: 1.1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}
.intro_item{
    gap: 1rem;
    min-width: 220px;
    min-height: 120px;
    padding: 1.5rem;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

.intro_item:hover{
    border-color: transparent;
    box-shadow: 0 0 10px 0 #4090FF;
}

.intro_item img{
    width: 60px;
}
.intro_item strong{
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.13rem;
}
.intro_item span{
    display: block;
    font-size: .9rem;
    color: #777;
}

@media (max-width:984px) {

    .intro{
        gap: 1rem;
    }

    .intro_txt h3{
        font-size: 1.75rem;
    }

    .intro_txt p{
        font-size: 1.05rem;
    }

    .intro_item img{
        width: 50px;
    }

}

@media (max-width:768px) {

    .intro{
        flex-direction: column;
        gap: 2rem;
    }

    .intro_txt h3,
    .intro_txt p{
        text-align: center;
    }

    .intro_txt h3{
        max-width: unset;
        margin-bottom: 0.5rem;
    }

    .intro_item{
        min-width: unset;
    }

}

@media (max-width:480px) {

    .intro_item{
        min-height: 100px;
        padding: 1rem;
    }

    .intro_item img{
        width: 45px;
    }

    .intro_item strong{
        font-size: 1rem;
    }

    .intro_item span{
        font-size: 0.87rem;
    }

}

@media (max-width:380px) {

    .intro_list{
        width: 100%;
        grid-template-columns: repeat(1, 1fr);
    }

    .intro_item{
        width: 100%;
        gap: 0.5rem;
        padding-left: 1.5rem;
    }

    .intro_item div{
        display: inherit;
        align-items: center;
    }

    .intro_item img{
        width: 40px;
    }

    .intro_item strong{
        margin: 0 0.5rem 0 0;
    }

}
/*#endregion*/


/*#region section3*/
.invisible {
    position: absolute;
    z-index: -1;
    width: 0;
    height: 0;
    opacity: 0;
}

.service{
    display: flex;
    gap: 1.5rem;
    align-items: stretch;
}
.tab{
    width: 280px;
    display: grid;
    grid-template-rows: repeat(5, 1fr);
    gap: 1rem;
    flex-shrink: 0;
    align-items: stretch;
}

.radio_wrap{
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    cursor: pointer;
}

.radiobtn{
    width: 100%;
    height: 100%;
    min-height: 0;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 2px solid #e5e5e5;
    border-radius: 15px;
    background: #fff;
    text-align: left;
    font-size: 1.25rem;
    font-weight: 600;
    color: #777;
    cursor: pointer;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.radiobtn img{
    width: 60px;
    flex-shrink: 0;
}

/*선택 시*/
.radio_wrap input:checked + .radiobtn{
    border-color: var(--main-color);
    color: var(--main-color);
}

.radio_wrap:first-child input:checked + .radiobtn img{
    content: url(/common/img/company/sec3_1_on.svg);
}
.radio_wrap:nth-child(2) input:checked + .radiobtn img{
    content: url(/common/img/company/sec3_2_on.svg);
}
.radio_wrap:nth-child(3) input:checked + .radiobtn img{
    content: url(/common/img/company/sec3_3_on.svg);
}
.radio_wrap:nth-child(4) input:checked + .radiobtn img{
    content: url(/common/img/company/sec3_4_on.svg);
}
.radio_wrap:nth-child(5) input:checked + .radiobtn img{
    content: url(/common/img/company/sec3_5_on.svg);
}

/*우측 영역*/
.tab_cont{
    display: flex;
    flex: 1;
    min-width: 0;
}
.cont{
    width: 100%;
    display: none;
}
.cont.on{
    display: flex;
}
.cont_box{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 3rem;
    border-radius: 24px;
    background: #F5F9FE;
    box-sizing: border-box;
}

.cont_txt{
    position: relative;
    z-index: 2;
    margin-bottom: 1rem;
}

.cont_txt h3{
    margin: 0 0 .8rem;
    font-size: 2.13rem;
    font-weight: 800;
    color: #111;
}

.cont_txt h3 span{
    font-size: 1.75rem;
}

.cont_txt p{
    color: #555;
}
.bg_txt{
    position: absolute;
    right: 2.5rem;
    top: 2rem;
    z-index: 1;
    font-size: 5rem;
    font-weight: 900;
    color: #CDE2FB;
    letter-spacing: -.04em;
    white-space: nowrap;
}
.cont_img{
    width: 100%;
    position: relative;
    z-index: 2;
}

.cont_img img{
    display: block;
    max-height: 400px;
    margin: 0 auto;
}

.templatebtn {
    position: absolute;
    left: 3rem;
    bottom: 3rem;
    z-index: 9;
    color: var(--main-color);
    background: #fff;
    border-radius: 50px;
    box-shadow: 0 0 6px 0 #9FC7EF;
    padding: 1rem 2.5rem;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.templatebtn:hover{
    background: var(--main-color);
    color: #fff;
}

@media (max-width:1080px) {

    .tab{
        width: 250px;
    }

    .radiobtn{
        font-size: 1.13rem;
    }

    .radiobtn img{
        width: 50px;
    }

    .cont_txt h3{
        font-size: 1.88rem;
    }

    .cont_txt h3 span{
        font-size: 1.5rem;
    }

    .bg_txt{
        font-size: 4rem;
    }

}

@media (max-width:984px) {

    .tab{
        width: 210px;
    }

    .radiobtn img{
        width: 45px;
    }

    .cont_box{
        padding: 2rem;
    }

    .cont_txt h3{
        font-size: 1.5rem;
    }

    .cont_txt h3 span{
        font-size: 1.25rem;
    }

    .bg_txt{
        font-size: 3rem;
    }

    .templatebtn{
        left: 2rem;
        bottom: 2rem;
        padding: 0.8rem 2rem;
        font-size: 0.94rem;
    }

}

@media (max-width:850px) {

    .service{
        flex-direction: column;
    }

    .tab{
        display: flex;
        width: 100%;
    }

}

@media (max-width: 768px) {

    .tab{
        gap: 0.5rem;
    }

    .radio_wrap{
        height: unset;
    }

    .radiobtn{
        padding: 0.8rem;
        font-size: 1rem;
        gap: 0.5rem;
    }

    .radiobtn img{
        width: 35px;
    }

    .cont_txt p{
        font-size: 0.94rem;
    }

}

@media (max-width: 580px) {

    .tab{
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .tab::-webkit-scrollbar{
        display: none;
    }

    .radiobtn{
        font-size: 0.87rem;
    }

    .radiobtn img{
        width: 30px;
    }

    .bg_txt{
        top: 1.5rem;
        right: 1.5rem;
    }

    .templatebtn{
        padding: 0.5rem 1.5rem;
        font-size: 0.87rem;
    }

}


@media (max-width: 480px) {

    .cont_box{
        padding: 1.5rem;
    }

    .cont_txt h3{
        font-size: 1.25rem;
        margin-bottom: 0.5rem;
    }

    .cont_txt h3 span{
        font-size: 0.94rem;
    }

    .cont_txt p{
        font-size: 0.87rem;
    }

    .bg_txt{
        font-size: 2.5rem;
        top: 1rem;
        right: 1rem;
    }

    .templatebtn{
        left: 1.5rem;
        bottom: 1.5rem;
        font-size: 0.75rem;
    }

}
/*#endregion*/


/*#region section4*/
.guide{
    display: flex;
    gap: 1.5rem;
}
.guide_box{
    padding: 2rem;
    border: 1px solid #E5E5E5;
    border-radius: 18px;
    background: #fff;
    box-sizing: border-box;
    transition: all .3s ease;
    cursor: pointer;
}

.guide_head{
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.guide_head img{
    width: 80px;
    flex-shrink: 0;
}

.guide_head h3,
.guide_head p,
.guide_box li strong,
.guide_box li span{
    color: #999;
    transition: all 0.3s ease;
}

.guide_head h3{
    margin: 0 0 .35rem;
    font-size: 1.5rem;
    cursor: pointer;
}
.guide_head p{
    margin: 0;
    cursor: pointer;
}
.guide_box ul{
    padding: 2rem;
    background: #F6F6F6;
    border-radius: 15px;
    transition: all 0.3s ease;
}
.guide_box li{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    box-sizing: border-box;
}
.guide_box li:not(:last-child){
    margin-bottom: 1.5rem;
}
.guide_box li strong{
    display: flex;
    align-items: center;
    gap: .5rem;
    min-width: 130px;
    font-weight: 700;
    white-space: nowrap;
}
.guide_box li strong img{
    width: 22px;
    height: 22px;
    flex-shrink: 0;
}
.guide_box li span{
    flex: 1;
}

/*호버 기능*/
.guide_box:hover{
    border-color: transparent;
    box-shadow: 0 0 10px 0 var(--main-color);
}
.guide_box:hover h3{
    color: var(--main-color);
}
.guide_box:hover .guide_head p{
    color: #777;
}
.guide_box:hover strong,
.guide_box:hover span{
    color: #555;
}

.guide_box:hover ul{
    background: #E6F1FF;
}

@media (max-width:984px) {

    .guide_box{
        padding: 1.5rem;
    }

    .guide_head img{
        width: 70px;
    }

    .guide_box ul{
        padding: 1.5rem;
    }

    .guide_box li:not(:last-child){
        margin-bottom: 1rem;
    }

    .guide_head h3{
        font-size: 1.25rem;
    }

    .guide_head p{
        font-size: 0.87rem;
    }

    .guide_box li strong img{
        width: 20px;
    }

    .guide_box li strong{
        min-width: 120px;
        font-size: 0.94rem;
    }

    .guide_box li span{
        font-size: 0.87rem;
    }

}

@media (max-width:768px) {

    .guide{
        flex-direction: column;
    }

    .guide_box,
    .guide_box:hover{
        border-color: var(--main-color);
        box-shadow: none;
    }
    .guide_box h3{
        color: var(--main-color);
    }
    .guide_box .guide_head p{
        color: #777;
    }
    .guide_box strong,
    .guide_box span{
        color: #555 !important;
    }
    
    .guide_box ul{
        background: #E6F1FF;
    }

}

@media (max-width:480px) {

   .guide_box ul{
       padding: 1rem;
   }

   .guide_box li strong{
       font-size: 0.87rem;
   }

}
/*#endregion*/


/*#region section5*/
.sec5{
    max-width: 900px;
}

.skill{
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.skill_item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem 2.5rem;
    border-radius: 22px;
    border: 1px solid transparent;
    background: #F8FAFD;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.skill_txt{
    flex: 1;
}
.skill_txt h3{
    font-size: 1.25rem;
    font-weight: 800;
    color: #555;
    transition: all 0.3s ease;
}
.skill_txt .line{
    width: 80px;
    height: 1px;
    margin: 1rem 0;
    background: #555;
}
.skill_txt p{
    margin: 0;
    font-size: .94rem;
    color: #777;
}
.skill_item > img{
    width: 150px;
    flex-shrink: 0;
}

/*호버기능*/
.skill_item:nth-child(1):hover{
    border: 1px solid #FF8CC3;
    background: #FFF3F9;
}
.skill_item:nth-child(1):hover h3{
    color: #FF6DB4;
}
.skill_item:nth-child(1):hover .line{
    background: #FF8CC3;
}

.skill_item:nth-child(2):hover{
    border: 1px solid #3180FF;
    background: #EFF5FF;
}
.skill_item:nth-child(2):hover h3{
    color: #3180FF;
}
.skill_item:nth-child(2):hover .line{
    background: #3180FF;
}

.skill_item:nth-child(3):hover{
    border: 1px solid #FFC400;
    background: #FFFBEE;
}
.skill_item:nth-child(3):hover h3{
    color: #FFC400;
}
.skill_item:nth-child(3):hover .line{
    background: #FFCB1F;
}

.skill_item:nth-child(4):hover{
    border: 1px solid #4D3FD1;
    background: #F3F2FF;
}
.skill_item:nth-child(4):hover h3{
    color: #4D3FD1;
}
.skill_item:nth-child(4):hover .line{
    background: #4D3FD1;
}


@media (max-width:580px){

    .skill_item{
        padding: 1.5rem;
    }

    .skill_txt h3{
        font-size: 1.06rem;
    }

    .skill_txt p{
        font-size: 0.87rem;
    }

    .skill_txt .line{
        width: 50px;
    }

    .skill_item > img{
        width: 120px;
    }

}

@media (max-width:480px) {

    .skill_item{
        flex-direction: column;
    }

}
/*#endregion*/


/*#region section6*/
.work{
    width: 100%;
    overflow: hidden;
}

.work_track{
    display: flex;
    gap: 20px;
    width: max-content;
    animation: workRoll 35s linear infinite;
}

@keyframes workRoll{
    0%{
        transform: translateX(0);
    }
    100%{
        transform: translateX(calc(-50% - 10px));
    }
}

.work:hover .work_track{
    animation-play-state: paused;
}

.work_item{
    width: calc((1200px - 40px) / 3);
    flex: 0 0 auto;
    border-radius: 20px;
    overflow: hidden;
    box-sizing: border-box;
    position: relative;
}
.work_item::before{
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,.1), rgba(0,0,0,.72));
}
.work_txt{
    height: 380px;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: #fff;
    padding: 2rem;
}
.work_txt span{
    display: block;
    margin-bottom: auto;
    font-size: 2.5rem;
    font-weight: 800;
}

.work_txt h3{
    margin: 0 0 .5rem;
    font-size: 1.25rem;
}
.work_txt p{
    margin: 0;
    font-size: .94rem;
}
.work_item:nth-child(6n+1){background: url("/common/img/company/sec6_1.jpg") no-repeat center;}
.work_item:nth-child(6n+2){background: url("/common/img/company/sec6_2.jpg") no-repeat center;}
.work_item:nth-child(6n+3){background: url("/common/img/company/sec6_3.jpg") no-repeat center;}
.work_item:nth-child(6n+4){background: url("/common/img/company/sec6_4.jpg") no-repeat center;}
.work_item:nth-child(6n+5){background: url("/common/img/company/sec6_5.jpg") no-repeat center;}
.work_item:nth-child(6n+6){background: url("/common/img/company/sec6_6.jpg") no-repeat center;}


@media (max-width:984px) {

    .work_item{
        width: calc((1200px - 40px) / 4)
    }

    .work_txt{
        height: 320px;
        padding: 1.5rem;
    }

    .work_txt span{
        font-size: 2.2rem;
    }

}

@media (max-width:580px) {

    .work_item{
        width: calc((1200px - 40px) / 5)
    }

    .work_txt{
        height: 300px;
    }

    .work_txt h3{
        font-size: 1.13rem;
    }

    .work_txt p{
        font-size: 0.87rem;
    }

}
/*#endregion*/


/*#region section7*/
.partner{
    width: 100%;
    height: 60vh;
}

.part {
    height: 35%;
    width: 100%;
    background-repeat: repeat-x;
    background-position-y: center;
    background-size: cover 100%;
    position: relative;
}

.partners1 {
    background-image: url(/common/img/company/partners1.png);
    margin-left: 20px;
    left: -20px;
    animation: ani-part 40s linear infinite;
}

.partners2 {
    background-image: url(/common/img/company/partners2.png);
    animation: ani-part2 40s linear infinite;
}

.partners3 {
    background-image: url(/common/img/company/partners3.png);
    left: 0;
    animation: ani-part 40s linear infinite;
}

@keyframes ani-part {
    0% {
        background-position-x: -2000px;
    }

    100% {
        background-position-x: 0;
    }
}

@keyframes ani-part2 {
    0% {
        background-position-x: 2000px;
    }

    100% {
        background-position-x: 0;
    }
}

@media (max-width:768px) {

    .partner{
        height: 50vh;
    }

}

@media (max-width:580px) {

    .partner{
        height: 40vh;
    }

    .partners1,
    .partners2,
    .partners3 {
        background-size: 1400px;
    }

}
/*#endregion*/


/*#region section8*/
.map_area{
    height: 500px;
    border-radius: 24px;
    background: #EEF2F7;
    overflow: hidden;
}
.map_area iframe{
    width: 100%;
    height: 100%;
}
.map_info{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 3rem;
}
.info_item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    padding: 2rem;
}
.info_item img{
    width: 38px;
    margin-bottom: 1rem;
}
.info_item strong{
    display: block;
    margin-bottom: .5rem;
    color: #111;
}
.info_item p{
    margin: 0;
    font-size: 0.87rem;
    color: #666;
}

@media (max-width:984px) {

    .map_area{
        height: 350px;
    }

    .map_info{
        margin-top: 2rem;
    }

    .info_item{
        padding: 1.5rem;
    }

}

@media (max-width:480px) {

    .map_info{
        grid-template-columns: repeat(1, 1fr);
    }

    .info_item{
        padding: 1rem;
    }

}
/*#endregion*/


/*#region section9*/
.sec9{
    max-width: 1000px;
}

.cs{
    display: grid;
    grid-template-columns: .9fr 1.4fr;
    gap: 1rem;
    align-items: stretch;
}
.cs_call{
    padding: 2rem;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    box-sizing: border-box;
}
.cs_call span{
    display: block;
    margin-bottom: .5rem;
}
.cs_call strong{
    display: block;
    margin-bottom: 1rem;
    font-size: 2rem;
    font-weight: 800;
    color: var(--main-color);
}
.cs_call p{
    font-size: .94rem;
    color: #999;
}
.cs_list{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.cs_item{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 180px;
    padding: 2rem;
    border: 1px solid #e5e5e5;
    border-radius: 15px;
    background: #fff;
    text-decoration: none;
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.cs_item strong{
    display: block;
    margin-bottom: 0.5rem;
    font-size: 0.94rem;
    font-weight: 400;
    color: #999;
}
.cs_item span{
    display: block;
    font-size: 1.25rem;
    font-weight: 800;
}
.cs_item > div:last-child{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}
.cs_item > div:last-child > div{
    width: 100%;
    display: flex;
    align-items: center;
    gap: 0.3rem;
    font-size: .87rem;
    color: #686868;
}
.cs_item > div:last-child > div img{
    width: 13px;
    transition: all 0.3s ease;
}
.cs_item > div:last-child > img{
    width: 60px;
}

/*호버기능*/
.cs_item:hover{
    border: 1px solid var(--main-color);
    background: #E6F1FF;
}

.cs_item:hover div:last-child > div img{
    transform: translateX(8px);
}

@media (max-width:850px) {

    .cs_call,
    .cs_item{
        padding: 1.5rem;
    }

    .cs_call span{
        font-size: 0.94rem;
    }

    .cs_item strong{
        font-size: 0.87rem;
    }

    .cs_item span{
        font-size: 1.13rem;
    }

    .cs_item > div:last-child > img{
        width: 50px;
    }

}

@media (max-width:768px) {

   .cs{
       display: flex;
       flex-direction: column;
   }

}

@media (max-width:480px) {

    .cs_list{
        grid-template-columns: repeat(1, 1fr);
    }

}
/*#endregion*/


/*#region section10*/
.sec10{
    max-width: 900px;
}
.bottom{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
}
.bottom > p{
    font-size: 1.5rem;
    font-weight: 600;
}
.change_txt{
    position: relative;
    width: 100%;
    height: 60px;
    overflow: hidden;
}
.change_txt > div{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .9rem;
    font-size: 1.75rem;
    font-weight: 800;
    opacity: 0;
    transform: translateY(100%);
    transition: transform .55s ease, opacity .55s ease;
    cursor: pointer;
}

.change_txt > div.on{
    opacity: 1;
    transform: translateY(0);
}

.change_txt > div.on:hover{
    transform: translateY(0) scale(1.05);
}

.change_txt > div.prev{
    opacity: 0;
    transform: translateY(-100%);
}
.change_txt span{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1.5rem;
    border-radius: 50px;
    color: #fff;
    font-size: 1.88rem;
    font-weight: 600;
    white-space: nowrap;
}

.change_txt div:nth-child(1) span{
    background: #FFC240;
}
.change_txt div:nth-child(2) span{
    background: #FF4053;
}
.change_txt div:nth-child(3) span{
    background: #34E47D;
}
.change_txt div:nth-child(4) span{
    background: #125ADF;
}

.bottom > a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    padding: 0 1.4rem;
    border-radius: 999px;
    background: #FFB13B;
    color: #fff;
    font-size: .95rem;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}

@media screen and (max-width: 660px){

    .sec10 .change_txt{
        height: 130px;
    }

    .sec10 .change_txt > div{
        height: 130px;
        flex-direction: column;
        gap: 1rem;
    }
}

@media screen and (max-width: 480px){

    .bottom > p{
        font-size: 1.25rem;
    }

    .sec10 .change_txt > div{
        font-size: 1.5rem;
    }

    .change_txt span{
        font-size: 1.5rem;
    }

}
/*#endregion*/