html,
body{
    margin:0;
    padding:0;
    width:100%;
    scroll-behavior:smooth;
}
body {
    overflow-x: hidden;
}

div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
ul,
ol,
button {
    margin: 0;
    padding: 0;
    font-size: 16px;
    font-family: 'spoqaHanSansNeo', 'sans-serif';
    color: #262626;
    box-sizing: border-box;
    letter-spacing: -1px;
    font-weight: 400;
    line-height:1.3;
    word-break: keep-all;
}

a {
    text-decoration: none;
}

ol,
ul {
    list-style: none;
}

button {
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer
}
i{
    font-size:20px
}
#wrapper{
    position:relative;
    width:100%;
    overflow-x: hidden;
}
img{
    width:100%;
    height:100%;
    object-fit: cover;
}

.font_pop{
    font-family: "poppins", sans-serif;
}

/* common */


.mo_br{
    display:none;
}
.pc_br{
    display:block
}

.sec {
    position: relative;
    padding:15.5vh 0;
}

.sec .inner {
    max-width: 1440px;
    margin: auto;
}

h2{
    font-size:2.125rem;
    line-height:1.3;
}
.info{
    font-size:20px;
    color:#767676;
    line-height:1.6;
} 
.title_en{
    font-family: "poppins", sans-serif;
    font-size: 18px;
    line-height:1.5;
    color: #a4a4a4;
    letter-spacing: 0;
}
.serif_m{
    font-family: "NotoSerifKr";
    font-weight:500;
    letter-spacing: -3px;
}

.font_w{
    color:#fff;
}

/* button */
.btn_wrap {
    text-align: center;
    gap:24px;
}

.btn_wrap a {
    padding: 18px 48px;
    border: 2px solid #262626;
    border-radius: 50px;
    display: inline-block
}
.btn_wrap a i{
    transition:all .3s ease-in-out;
}
.btn_wrap a:hover i{
    margin-left:20px;
}

.btn_wrap a span {
    font-size: 20px;
    line-height: 24px;
    margin-right: 10px;
}

/* icon img */
.icon_img{
    width:30px;
    height:30px;
    padding:2px;
    margin:0 auto;
}

.pc{
    display:block;
}
.mobile{
    display:none;
}

/* margin */
.mt_80{
    margin-top:80px;
}
.mt_72{
    margin-top:72px;
}
.mt_50{
    margin-top:50px;
}
.mt_48{
    margin-top:48px;
}
.mt_38{
    margin-top:38px;
}
.mt_32{
    margin-top:32px;
}
.mt_24{
    margin-top:24px;
}
.mt_16{
    margin-top:16px;
}
.mt_8{
    margin-top:8px;
}

.ft_20{
    font-size:20px;
}
.ft_22{
    font-size:22px;
}
.ft_32{
    font-size:32px;
}
.ft_48{
    font-size:48px;
}
.point{
    color:#36C0FF
}
.point_black{
    color:#262626;
}

.title_wrap {
    margin-bottom: 72px;
    text-align: center
}


.title_wrap h2{
    font-size:48px;
    line-height:1.3;
    text-align:center;
    font-weight:600;
    letter-spacing: -2px;
}

.text_center{
    text-align:center;
}

.flex_box{
    display:flex;
}

.flex_type01{
    display:flex;
    flex-direction: column;
    gap:120px;
}
.flex_type01 .flex_box .img_area{
    width:696px;
    height:360px;
    overflow: hidden;
}
.flex_type01 .flex_box .text_area{
    width: calc(100% - 696px);
    display:flex;
    flex-direction: column;
    justify-content: center;
    gap:24px;
    padding-right:72px;
}
.flex_type01 .flex_box:nth-child(odd) .img_area{
    border-bottom-right-radius: 80px;
}
.flex_type01 .flex_box:nth-child(even) .img_area{
    border-bottom-left-radius: 80px;
}
.flex_type01 .flex_box:nth-child(odd) .text_area{
    padding-left:72px;
    padding-right:0;
}

.flex_type02{
    display:flex;
    flex-direction: column;
    gap:120px;
}
.flex_type02 .flex_box{
    align-items: center;
}
.flex_type02 .flex_box .img_area{
    width:610px;
    height:540px;
    background:#E2EAF2;
    border-radius:0 0 0 80px;
    overflow:hidden;
    aspect-ratio: auto 1 / 1;
}
.flex_type02 .flex_box .text_area{
    width:calc(100% - 610px);

    padding-right:100px;
}
.flex_type02 .flex_box .text_area:nth-child(even){
    padding-left:100px;
    padding-right:0;
} 

/* 버튼 효과 */
.circle_btn {
    background: #36C0FF;
    width: 100%;
    height: 100%;
    box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    transition:all 0.4s ease;
}
.circle_btn:hover{
    box-shadow: none;
}
.circle_btn p{
    height:100%;
    align-content: center;
}
.circle_btn span {
    color: #fff;
    font-size: 13px;
    transition: 0.4s;
}

.btn{
    position: relative;
    overflow: hidden;
}
.btn .button_on_circle {
    background-color: #000;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    pointer-events: none;
    animation-timing-function: ease-in-out;
}

.btn .desplode-circle {
    animation: desplode 0.5s forwards;
}

.btn .explode-circle {
    animation: explode 0.5s forwards;
}

@keyframes explode {
    0% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(0, 0, 0, 0.15);
    }
    100% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
        background-color: rgba(0, 0, 0, 0.15);
    }
}

@keyframes desplode {
    0% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
        background-color: rgba(0, 0, 0, 0.15);
    }

    100% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(0, 0, 0, 0.15);
    }
}



/* header */
header{
    position:absolute;
    width:100%;
    top:0;
    left:0;
    z-index: 99;
}
.header_wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:27px 0;
    max-width:1742px;
    margin:auto;
    transition:.3s ease-in-out;
}

.logo{
    width:153px;
}
.logo img{
    display:block;
}
.logo .logo_fixed{
    display:none;
}

.nav_wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.gnb > ul{
    display:flex;
    align-items: flex-start;
}

.gnb ul li{
    font-size:18px;
    line-height:24px;
}
.gnb > ul > li > a{
    color:#fff;
}
.gnb ul .depth01{
    position:relative;
    padding:20px 50px;
    text-align: center;
}
.gnb ul .depth01 a{
    position:relative;
}
.gnb ul .depth01 > a:after{
    content:'';
    position:absolute;
    width:0%;
    height:40%;
    background:#36C0FF;
    top:60%;
    left:-10%;
    opacity: .2;
    transition:width .5s
}
.depth02{
    position:absolute;
    padding:20px 0 20px 30px;
    background:#fff;
    height:0;
    top:calc(100% - 5px);
    left:50%;
    transform:translateX(-50%);
    max-height:0;
    border-top:2px solid #36C0FF;
    text-align: left;
    will-change: opacity;
    box-shadow:2px 2px 15px rgba(0,0,0,.1) ;
    opacity: 0;
    visibility: hidden;
    transition:max-height .5s;
}
.depth02 li{
    display:block;
}
.depth02 li a{
    line-height:40px;
    padding:10px 80px 10px 0;
    color:#262626;
    white-space: nowrap;
}
.depth02 li a i{
    position:absolute;
    margin-left:10px;
    top:50%;
    right:45px;
    transform: translateY(-50%);
    color:#2e3030;
    transition:right 0.5s cubic-bezier(0.77, 0, 0.175, 1) ,opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

.gnb ul .depth01:hover > a:after{
    width:120%
}
.gnb ul .depth01:hover a + .depth02{
    opacity: 1;
    visibility: visible;
    height:auto;
    max-height:500px
}
.depth02 li a:hover i{
    opacity: 1;
    visibility: visible;
    right:35px;
}

/*  로그인 버튼 */
.login_menu ul{
    display:flex;
    align-items: center;
    gap:24px
}
.login_menu ul li{
    height:46px;
    display:inline-block;
    align-content: center;
}
.login_menu ul li a{
    background:#E0E0E0;
    border-radius:50px;
    padding:11px 28px;
    font-size:16px;
    line-height: 24px;
    color:#767676;
}
.login_menu ul li.join a{
    background:#36C0FF;
    color:#fff
}

/* header fixed */
.header.fixed{
    position:fixed;
    width:100%;
    top:0;
    left:0;
    background:#fff;
    box-shadow: 0px 0px 15px rgba(0,0,0,.1) ;
}
.header.fixed .header_wrap{
    padding:15px;
}
.header.fixed .gnb ul .depth01 a{
    color:#262626
}
.header.fixed .logo .logo_default{
    display:none;
}
.header.fixed .logo .logo_fixed{
    display:block;
}
.header.fixed .login_menu ul li a{
    padding:8px 28px;
}

/* 햄버거 버튼 */
.hamb_btn {
    display:none;
}
.hamb_btn button{
    display:flex;
    align-items:flex-end;
    justify-content: center;
    flex-direction: column;
    width:35px;
    height:52px;
    position: relative;
    transition:width .5s;
}
.hamb_btn button span{
    position:relative;
    width:35px;
    height:3px;
    top:-2px;
    background:#fff;
    transition: background-color .35s ease, top .35s ease;
}
.hamb_btn button span:before,
.hamb_btn button span:after{
    content:'';
    position:absolute;
    right:0;
    width:100%;
    height:3px;
    background:#fff;
    transition: transform .35s ease, top .35s ease, bottom .35s ease, background-color .35s ease;
}
.hamb_btn button span:before{
    top:-10px;
}
.hamb_btn button span:after{
    bottom:-10px;
}
.header.fixed .hamb_btn button span,
.header.fixed .hamb_btn button span:before,
.header.fixed .hamb_btn button span:after{
    background:#262626
}

@media(max-width:1440px){
    /* common */
    .sec .inner{
        width:100%;
        padding:0 40px;
    }

    /* header */
    .header_wrap{
        width:100%;
        padding:15px;
    }
    .logo a{
        width:150px;
    }
    .nav_wrap{
        padding-left:0;
    }
    .gnb ul .depth01{
        padding:15px 25px;
    }
    .header.fixed .gnb ul .depth01 a,
    .login_menu ul li a{
        font-size:0.875rem;
    }
    .login_menu ul li{
        padding:8px 25px;
    }
    .header.fixed .login_menu ul li a{
        padding:8px 20px;
    }

    /* font */
    .title_en{
        font-size:clamp(.75rem, 2vw, 18px)
    }
    .title_wrap h2{
        font-size:clamp(1.375rem, 3vw, 3rem)
    }
    
    /* button */
    .btn_wrap a span{
        font-size:clamp(0.875rem, 2vw, 20px)
    }


        
    .flex_type01{
        gap:80px;
    }
    .flex_type01 .flex_box .text_area {
        width: 60%;
        gap: 1rem;
    }
    .flex_type01 .flex_box:nth-child(even) .text_area{
        padding-right:40px;
        padding-left:15px;
    }
    .flex_type01 .flex_box:nth-child(odd) .text_area{
        padding-left:40px;
        padding-right:15px;
    }
    
    .flex_type01 .flex_box .img_area {
        width: 45%;
        height: auto;
    }
    .flex_type01 .flex_box:nth-child(odd) .img_area{
        border-bottom-right-radius:40px;
    }
    .flex_type01 .flex_box:nth-child(even) .img_area{
        border-bottom-left-radius:40px;
    }
    
    .flex_type02{
        gap:80px;
    }
    .flex_type02 .flex_box .text_area {
        width: 60%;
        gap: 1rem;
    }
    .flex_type02 .flex_box:nth-child(even) .text_area{
        padding-right:40px;
        padding-left:15px;
    }
    .flex_type02 .flex_box:nth-child(odd) .text_area{
        padding-left:40px;
        padding-right:15px;
    }
    
    .flex_type02 .flex_box .img_area {
        width: 45%;
        height: auto;
    }
    
    
}

@media(max-width:1024px){
    .pc{
        display:none;
    }
    .mobile{
        display:block;
    }
    .mo_br{
        display:block;
    }
    .pc_br{
        display:none
    }
    .header_wrap{
        max-width:100%;
        padding:27px 15px;
    }
    .hamb_btn {
        display:block;
        z-index:999
    }
    h2{
        font-size:1.75rem;
    }

    .sec{
        padding:5rem 0;
    }
    .sec .inner {
        max-width: 100%;
        padding: 0 15px;
    }
    
    .title_en{
        font-size:.75rem;
    }
    .title_wrap {
        margin-bottom: 40px;
    }

    .title_wrap .sec_sub_title{
        font-size:1rem;
        line-height: 1.3
    }
    .title_wrap h3{
        font-size:1.875rem;
    }

    .info{
        font-size:1rem;
    }

        
    .flex_type01{
        gap:80px;
    }
    .flex_type01 .flex_box .text_area {
        width: 60%;
        gap: 1rem;
    }
    .flex_type01 .flex_box:nth-child(even) .text_area{
        padding-right:40px;
        padding-left:15px;
    }
    .flex_type01 .flex_box:nth-child(odd) .text_area{
        padding-left:40px;
        padding-right:15px;
    }
    
    .flex_type01 .flex_box .img_area {
        width: 45%;
        height: auto;
    }
    .flex_type01 .flex_box:nth-child(odd) .img_area{
        border-bottom-right-radius:40px;
    }
    .flex_type01 .flex_box:nth-child(even) .img_area{
        border-bottom-left-radius:40px;
    }
    
    .flex_type02{
        gap:80px;
    }
    .flex_type02 .flex_box .text_area {
        width: 60%;
        gap: 1rem;
    }
    .flex_type02 .flex_box:nth-child(even) .text_area{
        padding-right:40px;
        padding-left:15px;
    }
    .flex_type02 .flex_box:nth-child(odd) .text_area{
        padding-left:40px;
        padding-right:15px;
    }
    .flex_type02 .flex_box:nth-child(odd) .img_area{
        border-bottom-right-radius:80px;
    }
    .flex_type02 .flex_box:nth-child(even) .img_area{
        border-bottom-left-radius:80px;
    }
    
    .mt_32{
        margin-top:16px;
    }
    .ft_22{
        font-size:1.125rem;
    }
    .ft_48{
        font-size:1.5rem
    }
    .mt_50{
        margin-top:30px;
    }
    .mt_72{
        margin-top:30px;
    }
    .mt_80{
        margin-top:40px;
    }
    .btn_wrap a{
        padding:10px 20px;
    }

    /* margin */
    .mt_72{
        margin-top:2.5rem
    }

    /* 메뉴 열림: 햄버거 → X */
    .header_wrap:has(.nav_wrap.open) .hamb_btn button span,
    .hamb_btn button.open span{
        position: absolute;
        left: 0;
        top: 50%;
        margin-top: -1.5px;
        background: transparent;
    }
    .header_wrap:has(.nav_wrap.open) .hamb_btn button span:before,
    .header_wrap:has(.nav_wrap.open) .hamb_btn button span:after,
    .hamb_btn button.open span:before,
    .hamb_btn button.open span:after{
        background:#262626;
        top: 0;
        bottom: auto;
    }
    .header_wrap:has(.nav_wrap.open) .hamb_btn button span:before,
    .hamb_btn button.open span:before{
        transform: rotate(45deg);
    }
    .header_wrap:has(.nav_wrap.open) .hamb_btn button span:after,
    .hamb_btn button.open span:after{
        transform: rotate(-45deg);
    }
    /* 오프캔버스 슬라이드 (display 전환 없이 transform만 애니메이션) */
    .nav_wrap{
        position: fixed;
        top: 0;
        right: 0;
        z-index: 998;
        display: flex;
        width: 80vw;
        height: 100vh;
        flex-direction: column-reverse;
        align-items: flex-start;
        justify-content: flex-end;
        padding: 80px 20px 20px;
        background: #fff;
        box-shadow: 0 0 8px rgba(0,0,0,.3);
        transform: translateX(100%);
        visibility: hidden;
        pointer-events: none;
        transition: transform .65s ease-in-out, visibility 0s linear .65s;
    }
    .nav_wrap.open{
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
        transition: transform .65s ease-in-out, visibility 0s;
    }
    
    .gnb{
        margin-top:20px;
        width:100%;
        height:76vh;
        overflow:auto;
    }
    .gnb > ul{
        flex-direction: column;
    }
    .gnb ul .depth01{
        padding:8px 0;
        width:100%;
        text-align:left;
    }
    .gnb > ul > li > a{
        color:#262626;
        display:block;
        padding:5px 0;
    }
    .gnb ul .depth01 > a:after{
        display:none;
    }
    .gnb ul .depth01 a{
        display:block;
        padding:5px 0;
    }

    /* depth02: 클릭으로 펼침 (슬라이드) */
    .gnb .depth02{
        position: relative;
        top: auto;
        left: auto;
        transform: none;
        max-height: 0;
        height: auto;
        opacity: 0;
        visibility: hidden;
        overflow: hidden;
        padding: 0 12px;
        margin: 0;
        border: 0;
        box-shadow: none;
        background: #f8f8f8;
        transition: max-height .4s ease, opacity .3s ease, padding .4s ease;
    }
    .depth02 li a i{
        display:none;
    }
    
    .gnb ul .depth01.is-open > .depth02{
        max-height: 800px;
        opacity: 1;
        visibility: visible;
        padding: 12px 12px 16px;
    }
    .gnb ul .depth01:not(.is-open):hover a + .depth02{
        max-height: 0;
        opacity: 0;
        visibility: hidden;
        padding: 0 12px;
    }

    .gnb ul .depth01:has(.depth02) > a{
        position: relative;
        padding-right: 28px;
    }
    .gnb ul .depth01:has(.depth02) > a::before{
        content: '';
        position: absolute;
        right: 4px;
        top: 50%;
        width: 8px;
        height: 8px;
        margin-top: -6px;
        border-right: 2px solid #262626;
        border-bottom: 2px solid #262626;
        transform: rotate(45deg);
        transition: transform .3s ease;
        pointer-events: none;
    }
    .gnb ul .depth01.is-open:has(.depth02) > a::before{
        margin-top: -2px;
        transform: rotate(-135deg);
    }

    .depth02 li a{
        white-space: normal;
        line-height: 1.45;
        padding: 10px 8px 10px 0;
    }

    .login_menu{
        width:100%;
    }
    .login_menu ul{
        gap:8px;
    }
    .login_menu ul li{
        width:100%;
        text-align:center;
        padding:0;
    }
    .login_menu ul li a{
        display:block;
        font-size:.875rem;
    }

}
@media(max-width:780px){
    .header_wrap,
    .header.fixed .header_wrap{
        padding:8px 15px;
    }
    .logo img{
        width:120px;
    }

    h2{
        font-size:1.5rem;
    }
    .title_wrap{
        margin-bottom:30px;
    }
    .title_wrap h3{
        font-size:1.5rem;
    }
    .info{
        font-size:0.875rem;
    }
    .flex_box{
        flex-direction: column;
    }
    .flex_colum_revert{
        flex-direction:column-reverse
    }
    .ft_22{
        font-size:1rem;
    }
    .ft_48{
        font-size:1.125rem
    }
    .mt_24{
        margin-top:1rem;
    }
    .mt_38{
        margin-top:1.125rem
    }
    .mt_48{
        margin-top:1.5rem;
    }
    .mt_72{
        margin-top:1.875rem;
    }
    .btn_wrap{
        gap:8px;
    }

    .title_wrap h2{
        font-size:1.125rem
    }

    .flex_type01 .flex_box:nth-child(odd) .text_area,
    .flex_type01 .flex_box:nth-child(even) .text_area{
        padding:0;
    }
    
    
    .flex_type01 .flex_box .img_area{
        width:100%;
    }
    .flex_type01 .flex_box .text_area{
        width:100%;
        gap:8px;
        padding:0;
        margin-top:20px;
    }
    
    .flex_type02 .flex_box:nth-child(odd) .text_area,
    .flex_type02 .flex_box:nth-child(even) .text_area{
        padding:0;
    }
    .flex_type02 .flex_box:nth-child(odd) .img_area{
        border-radius:0 0 0 40px;
    }
    .flex_type02 .flex_box:nth-child(even) .img_area{
        border-radius:0 0 0 40px;
    }
    .flex_type02 .flex_box .img_area{
        width:100%;
    }
    .flex_type02 .flex_box .text_area{
        width:100%;
        gap:8px;
        padding:0;
        margin-top:20px;
    }

}

/* footer */
.footer{
    background:#2A2929;
    padding:120px 0;
}
.footer .inner{
    max-width:1440px;
    margin:auto;
}
.footer p,
.footer a,
.footer strong,
.footer span{
    color:#fff;
    font-size:16px;
    line-height:28px;
}
.foot_wrap{
    display:flex;
    align-items: flex-start;
}
.foot_wrap .foot_left p{
    font-size:30px;
    line-height:28px;
    font-weight:600;
    margin-top:25px;
}
.foot_wrap .foot_middle{
    margin-left:48px;
}
.foot_wrap .foot_middle li{
    display:flex;
    align-items:center;
    gap:10px;
}
.foot_wrap .foot_middle p{
    font-weight: 300;
    letter-spacing: 0;
}
.foot_wrap .foot_middle p.date{
    font-weight:500
}
.foot_wrap .foot_middle p.info_txt{
    color:#a4a4a4
}
.foot_wrap .foot_right{
    margin-left:auto;
}
.foot_wrap .foot_right p,
.foot_wrap .foot_right strong,
.foot_wrap .foot_right span{
    font-size:16px;
    line-height:28px;
}
.foot_wrap .foot_right .foot_nav{
    display:flex;
    align-items:center;
}
.foot_wrap .foot_right .foot_nav li + li{
    margin-left:50px
}
.foot_wrap .foot_right .foot_info{
    margin:16px 0;
}
.foot_wrap .foot_right .foot_info li{
    display:flex;
    align-items:center;
}
.foot_wrap .foot_right .foot_info li p{
    position:relative;
    padding-right:15px;
}
.foot_wrap .foot_right .foot_info li p + p{
    padding-left:15px;
}
.foot_wrap .foot_right .foot_info li p:before{
    content:'';
    position: absolute;
    width:1px;
    height:15px;
    right:0;
    top:8px;
    background:#fff;
}
.foot_wrap .foot_right .foot_info li p:last-child:before{
    display:none;
}

.foot_wrap .foot_right .foot_info li p strong{
    font-weight:600
}
.foot_wrap .foot_right .foot_info li p span{
    font-weight: 300;
    margin-left:5px;
}
.foot_wrap .foot_right .copy{
    color:#a4a4a4
}

@media(max-width:1024px){
    .footer{
        padding:5rem 15px;
    }
    .foot_wrap{
        flex-wrap: wrap;
    }
    .foot_wrap .foot_left p{
        font-size:25px;
    }
    .foot_wrap .foot_middle{
    }
    .foot_wrap .foot_right{
        width:100%;
        margin-top:20px;
        border-top:1px solid rgba(255,255,255,.1);
        padding-top:20px;
    }
    .foot_wrap .foot_right .foot_info{
        margin:12px 0;
    }
    .foot_wrap .foot_right .foot_nav{
        flex-wrap: wrap;
    }
    .foot_wrap .foot_right .foot_nav li{
        width:auto;
        margin-right:10px;
    }
}
@media(max-width:780px){
    .footer p,
    .footer a,
    .footer strong,
    .footer span{
        font-size:.875rem;
        line-height:1.5;
    }
    .foot_wrap > div{
        width:100%;
    }
    .foot_wrap .foot_left .logo{
        width:150px;
    }
    .foot_wrap .foot_left .logo img{
        width:100%;
    }
    .foot_wrap .foot_left p{
        margin-top:8px;
        font-size:20px;
    }
    .foot_wrap .foot_middle{
        margin-left:0;
        margin-top:20px;
    }
    .foot_wrap .foot_right p, 
    .foot_wrap .foot_right strong, 
    .foot_wrap .foot_right span{
        font-size:.875rem;
        line-height:1.5
    }

    .foot_wrap .foot_right .foot_nav li + li{
        margin-left: 0;
    }
    .foot_wrap .foot_right .foot_nav li a{
        font-size:.75rem
    }
    .foot_wrap .foot_right .foot_info li{
        flex-direction: column;
        align-items: flex-start;
    }
    .foot_wrap .foot_right .foot_info li p{
        
    }
    .foot_wrap .foot_right .foot_info li p + p{
        padding-left:0;
    }
    .foot_wrap .foot_right .foot_info li p:before{
        display:none;
    }
}

/* sidebar */
aside{
    position:fixed;
    top:50%;
    right:30px;
    transform:translateY(-50%);
    z-index: 99;
}
.sidebar{
    background:#fff;
    border-radius:100px;
    box-shadow: 2px 2px 15px rgba(0,0,0,.1);
    overflow:hidden;
}
.sidebar li{
    position:relative;
    padding:15px;
    text-align:center;
    transition:.3s
}
.sidebar li:before{
    content:'';
    position: absolute;
    width:70%;
    height:2px;
    background:#E3E3E3;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
}
.sidebar li:first-child{
    padding-top:26px;
}
.sidebar li:last-child{
    padding-bottom:26px;
}
.sidebar li:last-child::before{
    display:none;
}
.sidebar li a{
    display:block;
}

.sidebar li .icon_img img:last-child{
    display:none;
}
.sidebar li:hover .icon_img img:first-child{
    display:none;
}
.sidebar li:hover .icon_img img:last-child{
    display:block;
}
.sidebar li p{
    color:#767676;
    margin-top:8px;
    font-size:15px;
}
.sidebar li:hover{
    background:#36C0FF;
}
.sidebar li:hover p{
    color:#fff;
}
.top {
    display:flex;
    justify-content: center;
    margin-top:24px;
}
.top a{
    width:80px;
    height:80px;
    display:block;
    text-align: center;
    align-content: center;
    background: #36C0FF;
    border-radius: 100%;
    box-shadow: 2px 2px 15px rgba(0,0,0,.1);
}
.top a i{
    color:#fff;
}

@media(max-width:1440px){
    /* sidebar */
    .sidebar li{
        padding:10px;
    }
    .sidebar li .icon_img{
        width:20px;
        margin:auto;
    }
    .sidebar li p{
        font-size:0.875rem;
    }
}
@media(max-width:1024px){
    aside{
        display:none;
    }
}


/* 오시는길 */
.main_map {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #E3E3E3;
}

#naverMap {
    height: 550px;
}

.root_daum_roughmap {
    width: 100% !important
}

.root_daum_roughmap .cont,
.root_daum_roughmap .wrap_controllers {
    display: none;
}

.main_map .map_info {
    position: absolute;
    height: 100%;
    margin: auto;
    top: 0;
    left: 16%;
    transform: translateX(-16%);
    z-index: 1;
}

.main_map .map_info .inner {
    width: 536px;
    height: 100%;
    background: #fff;
    padding: 48px 72px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: 0 0 30px rgba(16, 16, 16, .15);
    border-top: 1px solid #E3E3E3;

}

.main_map .map_info h3 {
    font-size: 32px;
    line-height: 48px;
    color: #36C0FF;
    font-weight: 600;
    margin-bottom: 16px;
}

.main_map .map_info .com_map_location p {
    color: #767676;
    font-size: 20px;
    line-height: 24px;
}

.main_map .map_info .map_time ul {
    margin-bottom: 8px;
}

.main_map .map_info .map_time ul li {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.main_map .map_info .map_time p {
    font-size: 20px;
    line-height: 32px;
    color: #767676
}

.main_map .map_info .map_time ul li p.date {
    color: #262626;
    font-weight: 500
}

.main_map .map_info .map_center .center_lst {
    display: flex;
    align-items: center;
    gap: 24px;
}

.main_map .map_info .map_center .center_lst span {
    font-size: 20px;
    line-height: 32px;
    margin-left: 8px;
}

/* 상담신청 */
.contact .title_wrap p {
    font-size: 24px;
    line-height: 40px;
    color: #767676;
    font-weight: 400;
    margin-top: 16px;
}

.contact .contact_inp {
    display: flex;
    gap: 48px;
}

.contact .contact_inp .inp_box {
    width: calc(100% - 240px);
    display: flex;
    flex-direction: column;
    gap: 48px;
}

.contact .contact_inp span {
    font-size: 20px;
    line-height: 24px;
    font-weight: 500
}

.contact .contact_inp p {
    padding: 23px 20px;
    border-bottom: 1px solid #262626;
}

.contact .contact_inp .inp_form label {
    width: calc(100% - 110px)
}

.contact .contact_inp .inp_form p {
    width: 50%;
    display: flex;
    align-items: center;
    gap: 40px;
}

.contact .contact_inp .inp_form+.inp_form p {
    width: 100%;
}

.contact .contact_inp .inp_form p+p {
    margin-left: 48px;
}

.contact .contact_inp .inp_form input {
    border: none;
    outline: none;
    width: 100%;
    height: 24px;
    line-height: 24px;
    font-size: 16px;
}

.contact .contact_inp span {
    width:80px;
    font-size: 16px;
    line-height: 24px;
    text-align:center;
}

.contact .contact_inp button {
    margin-top: 17px;
    width: 100%;
    padding: 59px 68px;
    background: #36C0FF;
    color:#fff;
}


/* main_bottom */
.main_bottom {
    overflow: hidden;
}
.main_bottom .bottom_wrap {
    display: flex;
}

.main_bottom .bottom_wrap>div {
    position: relative;
    width: 25%;
    height: 600px;
    background-size:cover;
    background-position:center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    text-align: center;
}


.main_bottom .bottom_wrap>div::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .6);
    left: 0;
    top: 0;
    z-index: 0;
    transition: .3s
}

.main_bottom .bottom_wrap h4,
.main_bottom .bottom_wrap p {
    color: #fff;
    z-index: 1;
}

.main_bottom .bottom_wrap h4 {
    font-size: 32px;
    line-height: 1.5;
    font-weight: 600
}

.main_bottom .bottom_wrap p {
    font-size: 24px;
    line-height: 1.3;
    margin-top: 16px;
}

.main_bottom .bottom_wrap>div:nth-child(1) {
    background: url('/static/images/main/main_btm_img_01.jpg')no-repeat;
}

.main_bottom .bottom_wrap>div:nth-child(2) {
    background: url('/static/images/main/main_btm_img_02.jpg')no-repeat;
}

.main_bottom .bottom_wrap>div:nth-child(3) {
    background: url('/static/images/main/main_btm_img_03.jpg')no-repeat;
}

.main_bottom .bottom_wrap>div:nth-child(4) {
    background: url('/static/images/main/main_btm_img_04.jpg')no-repeat;
}

.main_bottom .bottom_wrap>div:hover:before {
    opacity: .3;
}
@media(max-width:1440px){
    .main_bottom .bottom_wrap>div{
        padding:0 5px;
    }
    .main_bottom .bottom_wrap h4{
        font-size:1.8rem;
    }
    .main_bottom .bottom_wrap p{
        font-size:1.25rem;
    }
}
@media(max-width:1024px){
    
    /* 오시는길 */
    #naverMap{
        height:450px;
    }
    .main_map .map_info .inner{
        gap: 16px;
        width:auto;
        padding:24px
    
    }
    .main_map .map_info h3{
        font-size:1.2rem;
        line-height:1.3;
        margin-bottom:10px;
        margin-right:5px;
    }
    .main_map .map_info .com_map_location p,
    .main_map .map_info .map_time p,
    .main_map .map_info .map_center .center_lst span{
        font-size:0.875rem;
        line-height:1.5
    }

    .root_daum_roughmap .wrap_map{
        min-height:300px !important;
        max-height:380px; 
    }

    /* 상담신청 */
    .contact .title_wrap p{
        font-size: 1rem;
        line-height: 1.3;
    }
    .contact .contact_inp .inp_box{
        gap:32px;
    }
    .contact .contact_inp .inp_form p{
        padding:15px;
    }
    .contact .contact_inp span,
    .contact .contact_inp .inp_form input{
        font-size:14px;
    }
    .contact .contact_inp span{
        font-size:14px;
    }
    .contact .contact_inp .btn{
        width:auto;
    }
    .contact .contact_inp button{
        padding:40px 30px
    }

    /* main_bottom */
    .main_bottom .bottom_wrap > div{
        max-height:350px;
        padding:20px 10px;
    }
    .main_bottom .bottom_wrap h4{
        font-size:1.25rem;
        line-height:1.5
    }
    .main_bottom .bottom_wrap p{
        font-size:.875rem;
        line-height:1.3
    }
}
@media(max-width:780px){
    /* 오시는길 */
    #naverMap{
        height:320px;
    }
    .main_map .map_info{
        position: relative;
        z-index: 0;
    }
    .main_map .map_info .inner{
        gap: 16px;
        box-shadow: none;
    }

    /* 상담신청 */
    .contact .title_wrap p{
        font-size:.75rem;
    }
    .contact .contact_inp{
        flex-direction: column;
    }
    .contact .contact_inp .inp_box{
        width:100%;
        gap:0;
    }
    .contact .contact_inp .inp_box .inp_form{
        flex-direction: column;
    }
    .contact .contact_inp .inp_box .inp_form p{
        width:100%;
        gap:10px
    }
    .contact .contact_inp .inp_box .inp_form p + p{
        margin-left:0;
    }
    .contact .contact_inp .btn{
        width:auto;
    }
    .contact .contact_inp button{
        padding:8px 20px;
    }
    
    /* main_bottom */
    .main_bottom .bottom_wrap{
        flex-wrap: wrap;
    }
    .main_bottom .bottom_wrap > div{
        width:50%;
        max-height:300px;
    }
    .main_bottom .bottom_wrap h4{
        font-size:1.125rem;
    }
    .main_bottom .bottom_wrap p{
        font-size:.75rem;
    }
}