
.hero {
    position: relative;
    display: block;
    width: 100%;
    height:auto;
    aspect-ratio: 16 / 9;
}
.hero .video {
    position:absolute;
    top:0;
    left:50%;
    width:100%;
    transform: translate(-50%, 0%);
    overflow:hidden;
    z-index:1;
}
.hero .video .bg {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0, 0, 0, 0.5);
    z-index:2;
}
.hero .video iframe,
.hero .video video {
    position:relative;
    width:100%;
    aspect-ratio: 16 / 9;
    scale:1.5;
    transform-origin: center;
}

.hero .content {
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    z-index:3;
    display:flex;
    flex-direction: column;
    align-items: center;
    white-space: nowrap;
}
.hero .content h2 {
    font-weight: 600;
    font-size: 3.25em;
    line-height: 140%;
    letter-spacing:-0.02em;
    text-align: center;
    color:rgba(255, 255, 255, 1);
    margin-bottom:1.875rem;
}

.hero .content p {
    font-weight: 500;
    font-size: 1.25em;
    line-height: 1.6em;
    letter-spacing:-0.02em;
    text-align: center;
    color:rgba(255, 255, 255, 1);
}

.main_section {
    position:relative;
    display: block;
    width: 100%;
    padding: 0;
    margin:0 auto;
    height:auto;
}

.main_section h2 {
    font-weight: 600;
    font-size: 2.875em;
    line-height: 160%;
    letter-spacing:-0.02em;
}
.main_section small.h2_small {
    display:block;
    font-weight: 600;
    font-size: 1.125em;
    line-height: 100%;
    letter-spacing: 0;
    color:rgba(29, 78, 216, 1);
    margin-bottom:1.25rem;
    margin-top:1.25rem;
}

.main_section.service {
    background:rgba(255,255,255,1);
    padding:7.5em 0;
}
.main_section.service h2,
.main_section.service small.h2_small {
    text-align:center;
}
.main_section.service .wrapper {
    max-width:1440px;
    display: block;
    width: 100%;
    padding: 0;
    margin:0 auto;
}
.main_section.service .wrapper h2 {
    margin-bottom:4.375rem;
}
.main_section.service .wrapper .content {
    display:flex;
    gap:1.5625em;
    justify-content: space-between;
    color:rgba(255, 255, 255, 1);
}
.main_section.service .wrapper .content li {
    position:relative;
    width: 100%;
    border-radius:0.875em;
    overflow:hidden;
    transition: width 0.3s ease;
    height: auto;
}
.main_section.service .wrapper .content li.on {
    width:44%;
}
.main_section.service .wrapper .content li.on_other {
    width:26%;
}
.main_section.service .wrapper .content li .bg {
    position:relative;
    width:100%;
    height:100%;
    overflow:hidden;
    z-index:1;
}
.main_section.service .wrapper .content li .bg img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition: all 0.3s ease;
}
.main_section.service .wrapper .content li .info {
    display:flex;
    flex-direction: column;
    align-items: center;
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
    z-index:2;
    transition: all 0.3s ease;
}
.main_section.service .wrapper .content li .info small {
    font-weight: 500;
    font-size: 1em;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom:1.25rem;
}
.main_section.service .wrapper .content li .info h3 {
    font-weight: 600;
    font-size: 2.25em;
    line-height: 100%;
    letter-spacing:-0.02em;
    text-align: center;
    margin-bottom:1.25rem;
}
.main_section.service .wrapper .content li .info p {
    display:none;
    font-weight: 400;
    font-size: 1.125em;
    line-height: 150%;
    letter-spacing: -0.02em;
    margin-bottom:1.875rem;
    white-space: nowrap;
}
.main_section.service .wrapper .content li .info a {
    display:none;
    font-weight: 400;
    font-size: 1em;
    line-height: 100%;
    letter-spacing: 0;
    border: 1px solid rgba(255, 255, 255, 1);
    color:rgba(255, 255, 255, 1);
    padding:1em 2em;
    border-radius:5em;
}
.main_section.service .wrapper .content .tags {
    display:flex;
    gap:0.375em;
    position:absolute;
    bottom:4.375em;
    right:3.125em;
    z-index:3;
    opacity:0;
    transform: translate(0, 1.25em);
    transition: all 0.3s ease;
}
.main_section.service .wrapper .content li.on .info {
    left:3.125em;
    top:4.375em;
    transform: translate(0, 0);
    text-align:left;
    align-items: flex-start;
}
.main_section.service .wrapper .content li.on .info p,
.main_section.service .wrapper .content li.on .info a {
    display:block;
}
.main_section.service .wrapper .content li.on .tags {
    opacity:1;
    transform: translate(0, 0);
}
.main_section.service .wrapper .content li.on .tags span {
    font-weight: 400;
    font-size: 1.125em;
    line-height: 100%;
    letter-spacing: -0.02em;
    background:rgba(0, 0, 0, 0.5);
    border-radius:4px;
    padding:0.375em 0.875em;
}


.main_section.process,
.main_section.proven_expertise {
    overflow:hidden;
}
.main_section.process .wrapper {
    max-width:1440px;
    display: block;
    width: 100%;
    padding: 0;
    margin:0 auto;
    overflow:visible;
    padding:10em 0 6.25em 0;
}
.main_section.process .wrapper h2 {
    margin-bottom:4.375rem;
    color:rgba(255, 255, 255, 1);
}
.main_section.process .wrapper small.h2_small {
    color:rgba(96, 131, 228, 1);
}

.main_section.process .wrapper ul {
    display:flex;
    width:auto;
    cursor: none !important;
}
.main_section.process .wrapper ul * {
    cursor: none !important;
}
.main_section.process .wrapper ul li {
    margin-right:2.5em;
    display:flex;
    flex-direction: column;
    color:rgba(255, 255, 255, 1);
}
.main_section.process .wrapper ul li img {
    display:block;
    width:auto;
    height:auto;
    border-radius:0.875em;
    margin-bottom:1.875em;
}
.main_section.process .wrapper ul li span.step {
    display:block;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom:0.625em;
}
.main_section.process .wrapper ul li h3 {
    font-weight: 600;
    font-size: 1.5em;
    line-height: 100%;
    letter-spacing: 0;
    margin-bottom:0.9375em;
}
.main_section.process .wrapper ul li p {
    color:rgba(170, 170, 170, 1);
    font-weight: 400;
    font-size: 1.125em;
    line-height: 100%;
    letter-spacing: 0;
}
#process-cursor {
    position: fixed;
    top:0;
    left:0;
    width: 13.75em;
    height: 13.75em;
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    pointer-events: none;
    transform: translate(-50%, -50%);
    margin:0;
    padding:0;
    opacity: 0;
    transition: opacity 0.5s ease;
    display:flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 100%;
    letter-spacing: 0;
    color:#fff;
    backdrop-filter: blur(5px);
    z-index: 9999;
}

.main_section.proven_expertise .wrapper {
    padding:15.625em 0;
    max-width:1440px;
    margin:0 auto;
}
.main_section.proven_expertise .wrapper .h2_small {
    text-align:center;
    color:rgba(96, 131, 228, 1);
}
.main_section.proven_expertise .wrapper h2 {
    text-align:center;
    color:rgba(255, 255, 255, 1);
    margin-bottom:5.625em;
}
.main_section.proven_expertise .wrapper ul {
    display:flex;
    justify-content: space-between;
}
.main_section.proven_expertise .wrapper ul li h3 {
    font-weight: 600;
    min-width:3em;
    font-size: 6.1875em;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    background: linear-gradient(70deg, #B5D101 0%, #31A8E1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    margin-bottom:0.25em;
}
.main_section.proven_expertise .wrapper ul li strong {
    display:block;
    font-weight: 600;
    font-size: 1.25em;
    line-height: 100%;
    letter-spacing: -0.02em;
    text-align: center;
    color:rgba(255, 255, 255, 1);
    margin-bottom:0.75em;
}
.main_section.proven_expertise .wrapper ul li span {
    display:block;
    font-weight: 400;
    line-height: 100%;
    letter-spacing: 0;
    text-align: center;
    text-transform: uppercase;
    color:rgba(255, 255, 255, 1);
}
.proven_expertise_and_process {
    background:rgba(41, 42, 46, 1);
}

.main_section.location {
    background:rgba(255, 255, 255, 1);
    padding:7.5em 0 11.25em 0;
}
.main_section.location .wrapper {
    max-width:1440px;
    display: block;
    width: 100%;
    padding: 0;
    margin:0 auto;
}
.main_section.location .wrapper p.info {
    color:rgba(17, 17, 17, 1);
    font-size: 1.125em;
    line-height: 200%;
    letter-spacing: 0%;
    margin-top:1em;
}
.main_section.location .wrapper p.info strong {
    font-weight: 600;
}
.main_section.location .wrapper p.info span {
    font-weight: 400;
    margin-left:0.8333em;
    margin-right:3.05555em;
}
.main_section.location .wrapper .map {
    border-radius:14px;
    width:100%;
    min-height:31.25em;
    background:rgba(0, 0, 0, 0.1);
    margin-top:1em;
}

.main_section.contact {
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position:relative;
    gap:1.875em;
    padding:6.875em 0;
}
.main_section.contact .bg {
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0, 0, 0, 0.5);
    z-index:1;
}
.main_section.contact .bg img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.main_section.contact h2 {
    color:rgba(255, 255, 255, 1);
    position:relative;
    z-index:2;
}
.main_section.contact a.btn_qa {
    color:rgba(255, 255, 255, 1);
    display:inline-block;
    position:relative;
    font-weight: 600;
    font-size: 1.125em;
    line-height: 100%;
    letter-spacing: -0.02em;
    z-index:2;
    padding:1rem 2rem;
    border-radius:5em;
    background: linear-gradient(69.68deg, #B5D101 0%, #31A8E1 100%);

}




/* 모바일 */
@media (max-width: 768px) {
    .hero {
        width:100%;
        height:100dvh;
    }
    .hero .content h2 {
        font-size:1.9em;
        white-space:nowrap;
    }
    .hero .video iframe,
    .hero .video video {
        aspect-ratio: auto;
        width:100%;
        height:100dvh;
        scale:4;
    }
    .main_section {
        padding-left:1em!important;
        padding-right:1em!important;
    }
    .main_section h2 {
        font-size:2em;
        line-height:130%;
    }
    .main_section.service .wrapper h2 {
        font-size:2em;
        margin-bottom:1em;
    }
    .main_section.service .wrapper .content {
        flex-direction: column;
        
    }
    .main_section.service .wrapper .content li.on {
        width:100%;
    }
    .main_section.service .wrapper .content li.on .info {
        left:1.5em;
        top:1.5em;
        right:1.5em;
    }
    .main_section.service .wrapper .content li .info small {
        margin-bottom:0.625em;
    }
    .main_section.service .wrapper .content li .info h3 {
        margin-bottom:0.3em;
        font-size:2em;
    }
    .main_section.service .wrapper .content li .info p {
        white-space: normal;
    }
    .main_section.service .wrapper .content .tags {
        bottom:1.5em;
        right:1.5em;
    }
    .main_section.service .wrapper .content li .info a {
        padding:0.5em 1em;
    }

    .main_section.process .wrapper {
        padding:5em 0;
    }
    .main_section.process .wrapper h2 {
        margin-bottom:1.5em;
    }
    .main_section.process .wrapper ul li {
        margin-right:3em;
    }
    .main_section.process .wrapper ul li img {
        width:80vw;
        height:auto;
        margin-bottom:1em;
    }
    .main_section.process .wrapper ul li span.step,
    .main_section.process .wrapper ul li h3,
    .main_section.process .wrapper ul li p {
        padding-left:1rem;
        margin-bottom:0.5rem;
    }
    .main_section.proven_expertise .wrapper {
        padding:5em 0;
    }
    .main_section.proven_expertise .wrapper h2 {
        margin-bottom:2em;
    }
    .main_section.proven_expertise .wrapper ul {
        flex-wrap:wrap;
        gap:1em;
    }
    .main_section.proven_expertise .wrapper ul li {
        width:calc(50% - 0.5em);
        background:rgba(0, 0, 0, 0.3);
        border-radius:1em;
        padding:1em;
        overflow:hidden;
        aspect-ratio: 1 / 1;
        display:flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
    .main_section.proven_expertise .wrapper ul li h3 {
        font-size:2.3em;
        font-weight:900;
    }

    .main_section.location {
        padding:5em 0;
    }
    .main_section small.h2_small {
        margin-top:1rem;
        margin-bottom:1rem;
    }
    .main_section.location .wrapper p.info {
        font-size:1em;
        line-height:130%;
        margin-top:0;
    }
    .main_section.location .wrapper p.info span {
        margin-right:1em;
        margin-left:0.5em;
    }
    

}