@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

div, a, p, h1, h2, h3, h4, h5, label, input, textarea, select {
    font-family: 'Pretendard';
    color:#313131;
}

:root {
    --main-color: #012E82;
    --sub-color: #02574F;
    --hover-color : #0F45A8;
}

body {
    background: #fff;
}

.tnb {
    padding: 15px 0;
    background: var(--main-color);
}

.container {
    width: 1666px;
    margin: 0 auto;
}
.container img {
    width: 100%;
}
.header {
    width: 1640px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 120px;
    padding: 0 20px;
    /* border-bottom: 1px solid #eee; */
}


#logo img {
    width:340px;
}
#nav {
    display: flex;
    gap: 100px;
    height: 100%;
}
#nav > div {
    position: relative;
    height: 100%;
}
#nav > div > a {
    font-size: 20px;
    font-weight: 500;
    /* padding: 30px 0; */
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}


#nav > div > ul {
    opacity: 0;
    height: 0;
    position: absolute;
    top:40px;
    left:50%;
    background-color: #fff;
    z-index: 99;
    width: 170px;
    transform: translateX(-50%);
    overflow: hidden;
    border-radius: 10px;
    padding:0;
    box-shadow: 0 0 5px rgba(0,0,0,.3);
    transition: all 0.4s ease;
}
#nav > div:hover ul {
    opacity: 1;
    height: auto;

}
#nav > div > ul > li {
    height: 45px;
    line-height: 45px;
    padding: 0; 
    text-align: center;
    transition: all 0.4s ease;

}
#nav > div > ul > li a {
    font-size: 16px;
    text-align: center;
    color: #313131;
    display: block;

}

#nav > div > ul > li:hover {
    background: var(--main-color);
}
#nav > div > ul > li:hover a {
    color:#fff;
}

.login_area {

}
.login_area ul {
    display:flex;
    padding: 14px 30px;
    background: var(--main-color);
    border-radius: 40px;
    gap:20px;
}
.login_area ul li {
    position: relative;
}
.login_area ul li:last-child:after {
    display: none;
}
.login_area ul li:after {
    content: '';
    position: absolute;
    right:-11px;
    top:2px;
    width: 1px;
    height: 14px;
    background: #fff;
}

.login_area a {
    color:#fff;
    font-size: 16px;
    font-weight: 500;
    
}

.login_area a:hover {
    background: var(--hover-color);
}

.mobile_menu_btn {
    display: none;
}
#mv {

}
.mv {
    display: flex;
    height: 900px;
}
.mv > div {
    flex: 1;
}

.mv_left {
    box-sizing: border-box;
    padding-top: 110px;
    padding-left: calc((100% - 1680px) / 2 + 10px);
    h2 {
        padding-left: 40px;
        font-size: 100px;
        font-weight: 700;
        color: var(--main-color);

        span {
            font-size: 55px;
            font-weight: 400;
            color:#313131;
            display:block;
            margin-bottom: 15px;
            padding-left: 3px;
        }
    }
}

.mv_right {
    padding-right: calc((100% - 1680px) / 2 + 10px);
    position: relative;
}
.mv_img {
    position: absolute;
    top:0;
    right:0;
    width: 100%;
    height: 900px;
    border-radius: 900px 0 0 900px ;
    overflow: hidden;

    img {
        position: absolute;
        top:0;
        right:-110px;
        width: 115vw;
    }
}

.mv_mobile {
    display: none;
    background: url(../img/mv01.jpg) no-repeat;
    background-size: cover;
    padding: 22vw 5vw 11vw;
}
.mv_mobile p {
    font-size: 6vw;
    color:#fff;
    padding-left: 1vw;
    font-weight: 400;
    margin-bottom: 2vw;
    line-height: 1.1;
}
.mv_mobile h2 {
    font-size: 10vw;
    font-weight: 700;
    color:#fff;
}


.frequent-menu {
    position: relative;
    margin-top: 100px;

    h2 {
        color: var(--sub-color);
        position: relative;
        font-size: 25px;
        font-weight: 600;

        
    }
    h2::after {
        content: '';
        position: absolute;
        bottom:-12px;
        left:40px;
        width: 200px;
        height: 2px;
        background: var(--sub-color);
    }

}

.fm_cont {
    position: absolute;
    top:0;
    left: 115px;
    display: flex;    
    flex-direction: row;
    flex-wrap: wrap;
    gap:25px;
    width:575px;
    
    div {
        width: 175px;
        height: 150px;
        border: 1px solid #ddd;
        border-radius: 23px;
        padding-top: 24px;
        text-align: center;
        transition: all 0.4s ease;
        
        img {
            display: inline-block;
            margin-bottom: 12px;
        }

        p {
            font-size: 18px;
            font-weight: 500;
            text-align: center;
        }
    }
    div:nth-child(1) {
        opacity: 0;
    }
    div:hover {
        background:#F1F6FF ;
        border-color: var(--main-color);
    }
}


#main01 {
    background: #F1F6FF;
}

.main01 {
    padding: 110px 0;
    display: flex;
}


.main01_title {
    width: 295px;

    h2 {
        font-size: 50px;
        font-weight: 900;
        margin-bottom: 30px;
    }

    a {
        font-size: 16px;
        color: var(--main-color);
        background: #DAE4F5;
        display: inline-block;
        border-radius: 30px;
        padding: 15px 20px;
    }
}
.main01_cont {
    flex:1;
}
.main01_cont_wrap {    
    
}

.main01_cont_wrap div {
    position: relative;
    border-radius: 23px;
    overflow: hidden;
    height: 430px;

    img {
        width: 110%;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        transition: all 0.4s ease;
    }
}
.main01_cont_wrap div:hover {
    img {
        transform: translateX(-50%) scale(1.1);
    }
}





#notice_group {
    padding: 110px 0;
}

.notice_group {
    display: flex;
    gap:75px;
    align-items: start;
}

.notice_list {
    flex:1;
    

    .notice_list_top {

        display: flex;
        margin-bottom: 20px;
        justify-content: space-between;
        align-items: end;

        ul {
            padding-left: 12px;
            display: flex;
            gap: 17px;
            li {
                
                a {
                    font-size: 40px;
                    font-weight: 800;
                    color:#ddd;

                    
                }
                a.on {
                    color: var(--main-color);
                }


                
            }
            
        }
    }

    .notice_list_cont {
        > div {
            display: flex;
                justify-content: space-between;
            padding:35px 35px;
            background: #F1F6FF;
            margin-bottom: 15px;
            border-radius: 20px;

            > div {
                
                font-size: 18px;
                font-weight: 500;

                em {
                    display: inline-block;
                    font-size: 14px;
                    font-weight: 400;
                    color:#fff;
                    padding: 5px 10px;
                    background: var(--main-color);
                    border-radius: 5px;
                    margin-right: 18px;
            
                }
            }
            .notice_date {
                color:#a7a7a7;
                display: flex;
                align-items: center;
            }
        }
        > div:last-child {
            margin-bottom: 0;
        }
    }
}

.notice_banner {
    width: 643px;    
    border-radius: 23px;
    overflow: hidden;

    div {

        div {

             img {
                width:100%;
             }
        }
    }
}



#field_list {
    padding: 40px 0 110px 0;
    background-image: url(../img/field_bg.png);
    background-repeat: no-repeat;
    background-position: calc(100% + 35px) calc(50% - 150px);
}


.field_list h2 {
    font-size: 50px;
    font-weight: 800;
    margin-bottom: 40px;
}

.field_list_cont {
    display: flex;    
    align-items: end;
    gap: 34px;  
    margin-left: calc((100% - 1920px) / 2 + 120px);
    margin-left: 15px;
    flex-wrap: nowrap;
    flex-direction: row;
    /* overflow-x: hidden; */
}



.field_list_cont > div {
    position: relative;
    width: 480px;
    height: 350px;
    border-radius: 30px;
    overflow: hidden;
    flex-shrink: 0; 
    background: #ddd;

}

.field_list_cont > div.swiper-slide-active {
    width: 830px !important;
    height: 560px;
}

.field_list_cont > div img {
    position: absolute;
    top:0;
    left:50%;
    transform: translateX(-50%);
    width: 110%;
    z-index: 99;
}

.field_list_cont > div h2 {
    position: absolute;
    top:50%;
    left: 50%;
    color:#fff;
    transform: translate(-50%, -50%);
    font-size: 40px;
    font-weight: 600;
    z-index: 99;
}


.field_list_cont > div .field_info {
    display: none;
    background: transparent;
}


.field_list_cont > div.swiper-slide-active h2 {
    position: absolute;
    top:50px;
    left: 45px;
    transform: none;
    
}

.field_list_cont > div.swiper-slide-active .field_info {
    display: block;
    position: absolute;
    bottom:50px;
    left: 45px;
    z-index: 99;
}
.field_list_cont > div.swiper-slide-active .field_info .field_info_address {
    color:#fff;
    font-size: 26px;
    font-weight: 400;
    margin-bottom: 10px;
}

.field_list_cont > div.swiper-slide-active .field_info .field_info_time {
    color:#fff;
    font-size: 20px;
    font-weight: 400;
    
}



/* .field-card {
  width: 80%; 
  transition: transform 0.3s ease;
} */


.swiper-slide-active {
  transform: scale(1.05); /* 활성 슬라이드 커지게 */
  z-index: 2;
}

.signup_guide {
    background: url(../img/signup_bg.png) no-repeat;
    background-size: cover;
    background-position: right;
    padding: 68px 95px;
    border-radius: 40px;

    h2 {
        font-size: 64px;
        font-weight: 600;
        color:#fff;
        margin-bottom: 24px;
    }

    p {
        font-size: 20px;
        font-weight: 300;
        color:#fff;
        line-height: 1.4;
        margin-bottom: 50px;
    }
    div {
        display: flex;
        gap: 18px;

    }
    div a {
        display: inline-block;
        color:#fff;
        font-size: 20px;
        padding: 14px 34px;
        background-color: var(--main-color);
        border-radius: 30px;
    }
    div a:nth-child(2) {
        background-color: var(--sub-color);
    }
}
.signup_mobile_br {
    display: none;
}


#sponsor {
    padding: 110px 0;
}

.sponsor {

}
.sponsor div {

}
.sponsor div img {
    width: 100%;
}


#ft {
    background:#F1F6FF;
}
.ft {
    padding: 20px 0 60px;
    display: flex; 
    justify-content: space-between;
}

.ft > div {
    /* flex: 1; */
}

.ft_right {
    width: 200px;
    margin-top: -60px;
}


.ft_left_top {
    gap: 45px;
}
.ft_left_top_img {
    text-align: left;
    margin-bottom: 30px;
}
.ft_left_top_img img {
    width: 344px;
}

.ft_left_top_txt {
    padding-top: 16px;
}
.ft_left_top_txt p {
    font-size: 16px;
    margin-bottom: 7px;
    color:#313131;
    text-align: left;
}
.ft_left_top_txt p span {
    color:var(--main-color);
}

.ft_left_top_txt p span {
    font-weight: 700;
    padding-right: 10px;

}

.ft_left_bottom {
    padding-top: 20px;
    color:#313131;
    font-weight: 500;
    a {
        color:#313131;
        
    }
}

.ft_quick_btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #ddd;

    
    > div:nth-child(1) {
        flex:1;
        ul {
            padding: 24px 10px 24px 10px;
            display:flex;
            gap: 50px;

            li {        
                list-style: none;
                a {
                    display: inline-block;
                    font-size: 16px;
                    color:#888;
                    transition: all 0.4s ease;
                }
                a:hover {
                    color:var(--main-color);
                    font-weight: 600;
                }
            }
        }
    }

    p {
        font-size: 24px;
        font-weight: 700;
        letter-spacing: -1px;

        span {
            font-weight: 300px;
            font-size: 16px;
            letter-spacing: normal;
        }
    }
    

    
}

.ft_right_sns {
    width:190px;
    display:flex;
    gap: 10px;
    justify-content: right;
    padding-top: 15px;
    margin-bottom: 20px;
}
.ft_mobile_br {
    display: none;
}


.sv {
    padding: 80px 20px;
}
.sv.status {
    padding: 20px 20px;
}

.sv_title_area {
    display: flex;
    justify-content: space-between;
    align-items: end;

    .sv_title {
        font-size: 58px;
        font-weight: 700;
        line-height: 1.2;
    }
    .gnb {
        display: flex;
        justify-content: right;
        gap: 20px;
    }
    .gnb > div {
        position: relative;
        color:#818181;
    }
    .gnb > div:after {
        content: '';
        position: absolute;
        top: 5px;
        right: -12px;
        width: 6px;
        height: 6px;
        border-top:1px solid #818181;
        border-right:1px solid #818181;
        transform: rotate(45deg);
    }
    .gnb > div:last-child::after {
        display:none;
    }
}

.sv_img {
    margin-top: 70px;
    max-width: 1680px;

    img {
        width: 100%;
    }
}




#sub_wrap {
    display: flex;
    /* gap: 120px; */
    justify-content: space-between;
    margin-top: -37px;
    padding: 40px 20px 100px;
}


.lnb {
    width: 265px;
}

.sub_cont {
    width: 1250px;
    /* flex:1; */
    min-height: 500px;
}

.lnb_title {
    width: 100%;
    height: 160px;
    background: #031F52;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.lnb_title h2 {
    display: inline-block;
    font-size: 29px;
    font-weight: 700;
    color:#fff;
    margin-bottom: 10px;
}

.lnb_title p {
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 1px;
    color:#fff;
}

.lnb_list {
    border: 1px solid #ddd;
    border-top: none;
    transition: all 0.4s ease;
}

.lnb_list a {
    display:block;
    padding: 20px 25px;
    font-size: 16px;
    color:#818181;
    position: relative;
    transition: all 0.4s ease;
}
.lnb_list a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 25px;
    border-top: 1px solid #ababab;
    border-right: 1px solid #acacac;
    width: 10px;
    height: 10px;
    transform: translateY(-50%) rotate(45deg);
    transition: all 0.4s ease;
}

.lnb_list a.drop:after {
    transform: translateY(-50%) rotate(135deg);
}
.lnb_list.active a.drop:after {
    transform: translateY(-50%) rotate(45deg);
}

.lnb_list.on {
    background: var(--main-color);
    border-color: var(--main-color);
}
.lnb_list.on > a,
.lnb_list:hover.on > a {
    color:#fff !important;
}
.lnb_list.on a:after, 
.lnb_list:hover.on a:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
}

.lnb_list:hover > a,
.lnb_list.active > a {
    color: var(--main-color);
    font-weight: 600;
}

.lnb_list:hover > a:after,
.lnb_list.active > a:after {
    border-top: 1px solid var(--main-color);
    border-right: 1px solid var(--main-color);
}

.lnb_list:last-child {
    border-bottom: 1px solid #ddd;
}

.lnb_list ul {
    background: #f0f5ff;
    display:none;
    border-top: 1px solid #ddd;
    padding: 7px 0;

    li {
        position: relative;
        padding-left: 20px;    
        a {
            padding: 15px 25px;
        }
        a:after {
            display:none;
        }
        a.on {
            color:var(--main-color);
            font-weight: 600;
        }
    }
    li::after {
        content: '';
        position: absolute;
        top:49%;
        left:28px;
        width: 8px;
        height: 1px;
        background: #818181;
    }
    li:hover a {
        color: var(--main-color);
        font-weight: 600;
    }
}

.lnb_list.active ul {
    display:block;
}


.lb_cont {
    margin-bottom: 30px;
}
.lb_cont > div {
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color:#818181;
    padding-left: 31px;
    margin-bottom: 10px;
}
.lb_cont_tel {
    background: url(../img/lb_cont_img_tel.png) no-repeat;
    letter-spacing: -1px;
}
.lb_cont_kakao {
    background: url(../img/lb_cont_img_kakao.png) no-repeat;
}
.lb_cont_insta {
    background: url(../img/lb_cont_img_insta.png) no-repeat;
}


.lb_bottom_txt p:nth-child(1) {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 10px;
}
.lb_bottom_txt p:nth-child(2) {
    font-size: 16px;
    color:#818181;
    letter-spacing: -1px;
    line-height: 1.4;
}


.frm_input {
    padding: 15px;
    height: auto;
}


.quick {
    position: fixed;
    left: 30px;
    bottom: 30px;
    z-index: 99999;
}

.quick .quick_btn {
    width: 110px;
    transition: bottom 0.3s ease;
    z-index: 1000;

    img {
        width:100%;
        animation: rolling 15s linear infinite;
        animation-play-state: running; /* 기본 실행 상태 */
    }
}
.quick .quick_btn:hover img {
    animation-play-state: paused; /* 마우스를 올리면 멈춤 */
}

@keyframes rolling {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(-360deg);
    }
}


.all_menu_wrap {
    display:none;
    position: absolute;
    top: 150px;
    left:0px;
    width: 100%;
    z-index: 99;
}
.all_menu_wrap.show {
  display: block;
}

.all_menu {
    display: none;
    background: #f2f2f2;
    box-shadow: 0 5px 5px rgba(0,0,0,.15);
    padding: 20px;
    justify-content: center;
    gap: 50px;
    border-top: 1px solid #ddd;

    div a {
        color:#888;
        transition: all 0.4s ease;
    }
    div a:hover {
        color:#031F52;
        font-weight: 600;
        font-size: 16px;
    }
}
.all_menu_wrap .all_menu.active {
  display: flex;
}

.layout_1440 {
    display: none;
}
.layout_1200 {
    display: none;
}
.layout_800_in {
    display:none;
}



.pc {
    display: block;
}
.mobile {
    display: none;
}





 .logo-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo-wrap img {
  max-height: 40px;
}

.close-btn {
  font-size: 20px;
  cursor: pointer;
  padding: 0.5rem;
  color: #333;
}


    .menu-toggle {
      font-size: 2rem;
      cursor: pointer;
      display: none;
    }

    .mobile-nav {
      position: fixed;
      top: 0;
      right: -100%;
      width: 80%;
      max-width: 320px;
      height: 100vh;
      background-color: #fff;
      display: flex;
      flex-direction: column;
      transition: right 0.3s ease;
      z-index: 1002;
      box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
    }

    .mobile-nav.active {
      right: 0;
    }

    .mobile-nav .logo-box {
      padding: 10px 0px 10px 10px;
      text-align: center;
      border-bottom: 1px solid #eee;
    }

    .mobile-nav .logo-box img {
      max-width: 180px;
      height: auto;
    }

    .mobile-nav .member-info {
      padding: 1rem;
      font-size: 0.95rem;
      border-bottom: 1px solid #eee;
      color: #333;
    }

    .mobile-nav .login-btn {
      background-color: var(--main-color);
      color: white;
      text-align: center;
      margin: 1rem;
      padding: 0.8rem;
      border-radius: 5px;
      text-decoration: none;
    }

    .menu-link {
      padding: 1rem;
      color: #222;
      text-decoration: none;
      border-bottom: 1px solid #f0f0f0;
      background-color: #f9f9f9;
      display: block;
      position: relative;
    }

    .menu-link:hover {
      background-color: var(--main-color);
      color:#fff;
    }
    .submenu-toggle {
        position:relative;
    }
    .submenu-toggle::after {
        content: '';
        position: absolute;
        top:50%;
        right:10px;
        background: url('../img/arrow.svg') no-repeat center;
        background-size: contain;
        background-position: right center;
        width: 12px;
        height: 12px;
        display: inline-block;
        transform: rotate(0deg) translateY(-50%); /* 기본: 아래 방향 */
    transition: transform 0.3s;
    }
    .submenu-toggle.open {
        background-color: var(--main-color);
        color:#fff;
    }
    .submenu-toggle.open::after {
      transform: rotate(180deg) translateY(50%);
      background: url('../img/arrow_w.svg') no-repeat center;
    }

    .submenu {
      display: none;
      flex-direction: column;
      background-color: #f1f1f1;
    }

    .submenu.open {
      display: flex;
    }
    
    .submenu a {
      padding: 1rem 1.5rem;
      color: #818181;
      font-size: 0.9rem;
      border-bottom: 1px solid #e0e0e0;
      background: #fdfdfd;
    }

    .overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.4);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.3s ease;
      z-index: 1000;
    }

    .overlay.active {
      opacity: 1;
      visibility: visible;
    }

    .arrow-icon {
  color: #007bff;
}


.mobile-frequent-menu {
    display:none !important;
    padding-top: 10vw !important;
    
    
    h2 {
        color: var(--sub-color);
        position: relative;
        font-size: 5vw;
        font-weight: 600;        
        padding-left: 15px;
        margin-bottom: 7vw;
    }
    h2::after {
        content: '';
        position: absolute;
        bottom:-12px;
        left:15px;
        width: 36vw;
        height: 2px;
        background: var(--sub-color);
    }

}

.mobile-fm_cont {
    margin-left: 15px;
    margin-bottom: 10vw;
    div {
        width: 30vw;
        height: 20.5vw;
        border: 1px solid #ddd;
        border-radius: 23px;
        padding-top: 24px;
        text-align: center;
        transition: all 0.4s ease;
        
        img {
            display: inline-block;
            margin-bottom: 1.8vw;
            height: 8vw; 
        }

        p {
            font-size: 2.4vw;
            font-weight: 500;
            text-align: center;
        }
    }
 
    div:hover {
        background:#F1F6FF ;
        border-color: var(--main-color);
    }
}

.empty_div {
    width:100%;
    height: 10vw;
    border-radius: 1vw;
    background: #F1F6FF;
    display: flex;
    align-items: center !important;
    justify-content: center !important;

    p {
        text-align: center;
    }
}