@charset "utf-8";
@import url("common.css");

/*********** VISUAL **********/
#visual {
    position: relative;
}

#visual:after {
    display: block;
    content: '';
    width: 100%;
    height: 320px;
    background: var(--whiteColor);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.visual_bg {
    opacity: 0;
    display: block;
    content: '';
    width: 100%;
    height: 0;
    background: var(--blue100);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
}

.visual_in {
    padding-top: 280px;
}

.visual_txtBox {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 100px;
}

.visual_txtBox h6,
.visual_txtBox h1,
.visual_txtBox p,
.visual_txtBox .moreBtn {
    opacity: 0;
    top: 100px;
    position: relative;
    /*transform: translateY(-30px);*/
    transition: all 1s 0.1s ease;
}

/*.visual_txtBox h1 {*/
/*    transition: all 0.8s ease;*/
/*}*/

/*.visual_txtBox p {*/
/*    transition: all 1.2s ease;*/
/*}*/

/*.visual_txtBox .moreBtn {*/
/*    transition: all 1.6s ease;*/
/*}*/

/*.visual_list.active .visual_txtBox h6,*/
/*.visual_list.active .visual_txtBox h1,*/
/*.visual_list.active .visual_txtBox p,*/
/*.visual_list.active .visual_txtBox .moreBtn {*/
/*    opacity: 1;*/
/*    transform: translateY(0);*/
/*}*/

.visual_txt h6 {
    color: var(--blue600);
    font-weight: var(--fw700);
    font-family: var(--eng);
    line-height: var(--lh1_3);
    font-size: 1rem;
}

.visual_txt h1 {
    color: var(--gray900);
    font-weight: var(--fw700);
    line-height: var(--lh1_3);
    font-size: var(--font60);
    margin: 16px 0 20px;
}

.visual_txt p {
    font-size: var(--font20);
}

.visual_img {
    opacity: 0;
    overflow: hidden;
    border-radius: var(--bradius60) var(--bradius60) var(--bradius200) var(--bradius60);
    height: 640px;
    background: url('/assets/img/main/visual_img1.jpg') center center/cover no-repeat;
}

.visual_img.two {
    background-image: url('/assets/img/main/visual_img2.jpg');
}

.visual_img.three {
    background-image: url('/assets/img/main/visual_img3.jpg');
}

.visual_img img {
    width: 100%;
    display: block;
}

#visual .swiper-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    position: absolute;
    bottom: 46px;
    top: auto;
    left: 50%;
    transform: translate(-50%, 0);
}

#visual .swiper-pagination span {
    font-size: var(--font14);
    color: var(--whiteColor);
    display: flex;
    align-items: center;
    font-family: var(--eng);
    line-height: 1;
    opacity: 0.7;
}

#visual .swiper-pagination .current {
    font-weight: var(--fw700);
    opacity: 1;
}

#visual .swiper-pagination .current:after {
    display: block;
    content: '';
    width: 1px;
    height: 12px;
    background: var(--whiteColor);
    opacity: 0.3;
    margin: 0 12px;
    line-height: 1;
}

#visual .swiper-button-prev,
#visual .swiper-button-next {
    display: block;
    position: absolute;
    top: auto;
    bottom: 41px;
    left: 50%;
    margin: 0 0 0 -65px;
    width: auto;
    height: auto;
    right: auto;
    font-size: 0;
    color: var(--whiteColor);
    line-height: 1;
    z-index: 999;
}

#visual .swiper-button-next {
    left: auto;
    right: 50%;
    margin: 0 -65px 0 0;
}

#visual .swiper-button-prev svg,
#visual .swiper-button-next svg {
    display: none;
}

#visual .swiper-button-prev:after,
#visual .swiper-button-next:after {
    display: block;
    content: '\e5cb';
    font-size: var(--font24);
    font-weight: var(--fw300);
    font-family: var(--icon);
    color: var(--whiteColor);
    line-height: 1;
}

#visual .swiper-button-next:after {
    content: '\e5cc';
}

/*********** CONTENTS **********/
#contents .tit_con .m_tit {
    color: var(--gray900);
}

#contents .tit_con .m_txt {
    color: var(--gray600);
}

/*********** 사업안내 **********/
#business {
    position: relative;
}

#business:after {
    display: block;
    content: '';
    background: var(--gray100);
    width: 62%;
    height: 100%;
    border-radius: var(--bradius100) 0 0 var(--bradius100);
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.business_in {
    position: relative;
}

.business_tit {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
}

.business_list {
    display: flex;
    align-items: start;
    gap: 8%;
    color: var(--whiteColor);
}

.business_list_in {
    position: relative;
    overflow: hidden;
    border-radius: var(--bradius40) var(--bradius40) var(--bradius100) var(--bradius40);
    background: url('/assets/img/main/business_img1.jpg') center center/cover no-repeat;
    width: 100%;
    padding: 460px 48px 80px;
}

.business_list_in.offline {
    background-image: url('/assets/img/main/business_img2.jpg');
    padding-top: 250px;
    margin-top: 400px;
}

.business_list_txt h6 {
    position: relative;
    z-index: 2;
    font-weight: var(--fw700);
    font-size: 1rem;
    font-family: var(--eng);
    line-height: var(--lh1_1);
    opacity: 0.7;
    font-weight: var(--fw700);
}

.business_list_txt strong {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    line-height: var(--lh1_1);
    color: var(--whiteColor);
    margin: 12px 0 20px;
    transition: var(--transition);
}

.business_list_txt strong {
    font-size: var(--font40);
    font-weight: var(--fw700);
    z-index: 2;
}

.business_list_txt a:before {
    display: block;
    content: '';
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: var(--mainBlack);
    opacity: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: var(--transition);
    z-index: 1;
}

.business_list_txt a:after {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    content: '\e5c8';
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    font-size: var(--font24);
    font-family: var(--icon);
    font-weight: var(--fw300);
    padding: 8px;
    line-height: 1;
    transition: var(--transition);
}

.business_list_txt p {
    position: relative;
    z-index: 2;
    opacity: 0.7;
}

.business_list_txt a:hover {
    gap: 26px;
}

.business_list_txt a:hover:before {
    opacity: 0.3;
    transform: scale(100);
}

.business_list_txt a:hover:after {
    background: var(--whiteColor);
    color: var(--mainBlack);
}

.business_link {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 40px;
}

.business_link a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    padding-bottom: 12px;
    line-height: var(--lh1_1);
    color: var(--whiteColor);
    transition: var(--transition);
}

.business_link a:before {
    display: block;
    content: '';
    width: 100%;
    height: 2px;
    background: var(--whiteColor);
    position: absolute;
    bottom: 0;
    left: 0;
    transition: var(--transition);
}

.business_link a:after {
    display: block;
    content: '\e89e';
    font-size: 1rem;
    font-family: var(--icon);
    font-weight: var(--fw300);
    line-height: 1;
}

.business_link a:hover:before {
    width: 0;
    left: auto;
    right: 0;
}

/*********** PR센터 **********/
#pr .tit_con {
    text-align: center;
}

.pr_list {
    display: flex;
    align-items: stretch;
    gap: 30px;
}

.pr_list_in {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    width: 460px;
    height: 100%;
    overflow: hidden;
}

.pr_list_in a {
    display: block;
    overflow: hidden;
    transition: var(--transition);
}

.pr_list_in .pr_thumnail {
    border-radius: var(--bradius40) var(--bradius40) 0 0;
    height: 260px;
    position: relative;
    overflow: hidden;
    background: url('/assets/img/pr/no_img.jpg') center center/cover no-repeat;
    border: 1px solid var(--gray300);
}

.pr_list_in .pr_thumnail:after {
    display: block;
    content: '';
    width: 100%;
    height: 0;
    background: rgba(51,108,250,0.4);
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: var(--transition);
}

.pr_list_in .pr_thumnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.pr_list_in .pr_txt {
    border: 1px solid var(--gray300);
    border-top: none;
    padding: 36px 28px;
    border-radius: 0 0 var(--bradius100) var(--bradius40);
}

.pr_list_in .pr_txt_top {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pr_list_in .pr_txt .pr_cate {
    display: block;
    font-weight: var(--fw700);
    color: var(--blue600);
    line-height: 1;
}

.pr_list_in .pr_txt .pr_tit {
    display: block;
    font-weight: var(--fw400);
    color: var(--gray900);
    font-size: var(--font20);
    line-height: 1;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    word-wrap: normal !important;
    margin: 15px 0;
    transition: var(--transition);
}

.pr_list_in .pr_txt .pr_date {
    color: var(--gray400);
    display: flex;
    align-items: center;
    line-height: 1;
    transition: var(--transition);
}

.pr_list_in .pr_txt .pr_date:before {
    display: block;
    content: '\e8b5';
    font-size: var(--font20);
    color: var(--gray400);
    font-weight: var(--fw300);
    font-family: var(--icon);
    margin-right: 4px;
    line-height: 1;
    transition: var(--transition);
}

.pr_list_in .pr_txt_top .pr_date {
    display: none;
}

.pr_list_in.last {
    border: 1px solid var(--gray300);
    padding: 16px 28px;
    border-radius: var(--bradius40) var(--bradius40) var(--bradius100) var(--bradius40);
    height: auto;
}

.pr_list_in.last a {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    width: 100%;
    justify-content: center;
    border-bottom: 1px solid var(--gray300);
}

.pr_list_in.last a:last-child {
    border-bottom: none;
}

.pr_list_in.last .pr_thumnail {
    display: none;
}

.pr_list_in.last .pr_txt {
    border: none;
    padding: 0;
    min-height: 100%;
    max-height: 100%;
    display: flex;
    justify-content: center;
    flex-direction: column;
}

.pr_list_in.last .pr_txt .pr_tit {
    margin: 12px 0 0;
}

.pr_list_in.last .pr_txt .pr_date {
    display: none;
}

.pr_list_in.last .pr_txt_top .pr_date {
    display: flex;
}

.pr_list_in a:hover .pr_thumnail:after {
    height: 100%;
    opacity: 1;
}

.pr_list_in a:hover .pr_thumnail img {
    transform: scale(1.1);
}

.pr_list_in a:hover .pr_txt .pr_tit,
.pr_list_in a:hover .pr_txt .pr_date,
.pr_list_in a:hover .pr_txt .pr_date:before {
    color: var(--blue600);
}

/*********** QUICK **********/
#quick .w_1440 {
    display: flex;
    align-items: stretch;
    gap: 30px;
}

#quick a {
    position: relative;
    top: 0;
    display: block;
    padding: 60px 40px 168px;
    border-radius: var(--bradius40) var(--bradius40) var(--bradius100) var(--bradius40);
    background: var(--blue700);
    width: 100%;
    transition: var(--transition);
}

#quick a:nth-child(2) {
    background: var(--blue800);
}

#quick a:nth-child(3) {
    background: var(--blue900);
}

#quick a:after {
    display: block;
    content: '';
    width: 100px;
    height: 100px;
    background: url('/assets/img/main/quick_icon1.png') center center/cover no-repeat;
    position: absolute;
    bottom: 36px;
    right: 36px;
    opacity: 0.7;
    transition: var(--transition);
}

#quick a:nth-child(2):after {
    background-image: url('/assets/img/main/quick_icon2.png');
}

#quick a:nth-child(3):after {
    background-image: url('/assets/img/main/quick_icon3.png');
}

#quick .m_stit {
    opacity: 0.7;
    color: var(--whiteColor) !important;
    display: block;
    transition: var(--transition);
}

#quick .m_tit {
    font-size: var(--font36);
    color: var(--whiteColor) !important;
    display: block;
    transition: var(--transition);
}

#quick .m_txt {
    color: var(--whiteColor) !important;
    opacity: 0.7;
    transition: var(--transition);
}

#quick .arrow {
    margin-top: 40px;
    font-style: normal;
    display: inline-block;
    transition: var(--transition);
}

#quick .arrow:after {
    display: block;
    content: '\e5c8';
    font-size: var(--font24);
    font-weight: var(--fw300);
    color: var(--whiteColor);
    line-height: 1;
    font-family: var(--icon);
    background: rgba(255,255,255,0.2);
    border-radius: 50%;
    padding: 16px;
    transition: var(--transition);
}

#quick a:hover {
    top: var(--bradius40);
    box-shadow: 0 0 50px rgba(6,74,244,0.5);
}

#quick a:nth-child(2):hover {
    box-shadow: 0 0 50px rgba(5,59,194,0.5);
}

#quick a:nth-child(3):hover {
    box-shadow: 0 0 50px rgba(4,45,149,0.5);
}

#quick a:hover:after {
    opacity: 1;
}

#quick a:hover .arrow:after {
    background-color: var(--whiteColor);
    color: var(--blue700);
}

#quick a:nth-child(2):hover .arrow:after {
    color: var(--blue800);
}

#quick a:nth-child(3):hover .arrow:after {
    color: var(--blue900);
}

/*********** Layer popup **********/
.popup_modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    padding: 20px 3%;
    z-index: 100000;
}

.popup_content {
    max-width: 420px;
    position: relative;
    text-align: center;
    display: flex;
    flex-direction: column;
    max-height: 80vh;
    min-height: 0;
}

.notice_swiper {
    width: 100%;
    flex-shrink: 1;
    max-height: 80vh;
    min-height: 0;
    overflow: hidden;
    display: block;
    background: var(--whiteColor);
    border-radius: var(--bradius20) var(--bradius20) 0 0;
}

.notice_swiper,
.notice_swiper .swiper-wrapper,
.notice_swiper .swiper-slide {
    /*height: auto !important;*/
}

.notice_swiper .swiper-slide {
    width: 100% !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.notice_swiper .swiper-slide img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    display: block;
}

.notice_swiper .swiper-pagination {
    position: absolute;
    top: 20px;
    right: 3%;
    bottom: auto;
    left: auto;
    width: auto;
}

.notice_swiper .swiper-pagination .swiper-pagination-bullet {
    position: relative;
    background: rgba(0,0,0,0.3);
    opacity: 1;
    width: 6px;
    height: 6px;
    border: none;
    margin: 0 5px;
    line-height: 1;
    display: block;
    float: left;
}

.notice_swiper .swiper-pagination .swiper-pagination-bullet-active {
    background: var(--blue600);
}

.notice_swiper .swiper-pagination .swiper-pagination-bullet-active:after {
    display: block;
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 1px solid var(--blue600);
    position: absolute;
    top: -5px;
    left: -5px;
    z-index: -1;
}

.popup_btn {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 0 0 var(--bradius20) var(--bradius20);
    background: var(--whiteColor);
    border-top: 1px solid var(--gray300);
    padding: 18px 20px;
    background: var(--gray500);
}

.popup_btn button {
    line-height: 1;
    font-size: var(--font14);
    color: var(--whiteColor);
    font-weight: var(--fw400);
    display: flex;
    align-items: center;
    text-align: left;
    /*float: left;*/
}

.popup_btn button:after {
    display: none;
    content: '\e8f5';
    font-size: 1rem;
    color: var(--whiteColor);
    font-weight: var(--fw400);
    font-family: var(--icon);
    margin-left: 3px;
}

.popup_btn button:last-child {
    text-align: right;
    /*float: right;*/
}

.popup_btn button:last-child:after {
    display: block;
    content: '\e5cd';
    font-size: var(--font18);
}


/*******************************************************************************
	@media ~1480px
*******************************************************************************/
@media all and (max-width: 1480px) {
    /*********** VISUAL **********/
    .visual_in {
        padding: 280px 3% 0;
    }

    /*********** 사업안내 **********/
    .business_tit {
        left: 3%;
    }

    .business_list {
        gap: 3%;
    }

    .business_list_in {
        padding-left: 3%;
        padding-right: 3%;
    }

    /*********** PR센터 **********/
    .pr_list_in {
        width: calc((100% - 60px) / 3);
    }

    .pr_list_in .pr_thumnail {
        width: 100%;
        height: 100%;
        aspect-ratio: 4 / 2.27;
    }

    .pr_list_in .pr_thumnail img {
        min-width: 100%;
        min-height: 100%;
    }
}

/*******************************************************************************
	@media ~1024px
*******************************************************************************/
@media all and (max-width: 1024px) {
    /*********** VISUAL **********/
    #visual:after {
        height: 250px;
    }

    .visual_in {
        padding: 220px 3% 0;
    }

    .visual_txtBox {
        margin-bottom: 80px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
    }

    .visual_txt {
        text-align: center;
    }

    .visual_img {
        border-radius: var(--bradius40) var(--bradius40) var(--bradius100) var(--bradius40);
        height: 500px;
    }

    #visual .swiper-pagination {
        bottom: 25px;
    }

    #visual .swiper-button-prev,
    #visual .swiper-button-next {
        bottom: 21px;
    }

    /*********** 사업안내 **********/
    .business_list_in {
        padding: 360px 3% 50px;
    }

    .business_list_in.offline {
        padding: 200px 3% 50px;
        margin-top: 350px;
    }

    .business_list_txt strong {
        margin: 10px 0 16px;
        gap: 12px;
    }

    .business_list_txt a:after {
        padding: 6px;
    }

    .business_list_txt a:hover {
        gap: 20px;
    }

    .business_link {
        margin-top: 30px;
    }

    /*********** PR센터 **********/
    .pr_list {
        gap: 20px;
        flex-direction: column;
    }

    .pr_list_in {
        width: 100%;
    }

    .pr_list_in a {
        border: 1px solid var(--gray300) !important;
        border-radius: var(--bradius20) !important;
        padding: 30px 20px !important;
    }

    .pr_list_in .pr_thumnail {
        display: none;
    }

    .pr_list_in .pr_txt {
        padding: 0 !important;
        border: none !important;
        border-radius: 0;
    }

    .pr_list_in .pr_txt .pr_tit {
        margin: 12px 0 0 !important;
    }

    .pr_list_in .pr_txt .pr_date {
        display: none;
    }

    .pr_list_in .pr_txt_top {
        gap: 8px;
    }

    .pr_list_in .pr_txt_top .pr_date {
        display: flex;
    }

    .pr_list_in.last {
        padding: 0;
        border: none;
        gap: 20px;
        border-radius: 0;
    }

    /*********** QUICK **********/
    #quick .w_1440 {
        gap: 20px;
    }

    #quick a {
        padding: 50px 3% 120px;
    }

    #quick a:after {
        width: 75px;
        height: 75px;
    }

    #quick .m_txt {
        font-size: 1rem;
    }

    #quick .m_txt br {
        display: none;
    }

    #quick .arrow {
        margin-top: 30px;
    }

    #quick .arrow:after {
        padding: 12px;
    }
}

/*******************************************************************************
	@media ~768px
*******************************************************************************/
@media all and (max-width: 768px) {
    /*********** VISUAL **********/
    #visual:after {
        height: 150px;
    }

    .visual_in {
        padding: 160px 3% 0;
    }

    .visual_txtBox {
        gap: 20px;
        margin-bottom: 50px;
    }

    .visual_txt h1 {
        margin: 12px 0 15px;
    }

    .visual_img {
        height: 300px;
    }

    #visual .swiper-button-prev {
        margin: 0 0 0 -55px;
    }

    #visual .swiper-pagination .current:after {
        height: 8px;
    }

    #visual .swiper-button-next {
        margin: 0 -55px 0 0;
    }

    /*********** 사업안내 **********/
    #business:after {
        width: 70%;
    }

    .business_tit {
        position: relative;
        left: 0;
    }

    .business_list {
        gap: 20px;
        flex-direction: column;
        align-items: end;
        margin-top: 40px;
    }

    .business_list_in {
        padding: 250px 15px 40px;
        margin-left: 40%;
        width: calc(100% - 40%);
    }

    .business_list_in.offline {
        padding: 120px 15px 40px;
        margin-top: 0;
        order: 2;
        margin: 0 10% 0 0;
        width: calc(100% - 10%);
    }

    .business_list_txt strong {
        margin: 8px 0 12px;
        gap: 8px;
        font-size: var(--font35);
    }

    .business_list_txt a:after {
        padding: 4px;
    }

    .business_list_txt a:hover {
        gap: 16px;
    }

    .business_link {
        margin-top: 25px;
        gap: 8px;
    }

    .business_link a {
        gap: 4px;
        padding-bottom: 8px;
    }

    /*********** PR센터 **********/
    .pr_list {
        gap: 10px;
    }

    .pr_list_in a {
        padding: 20px 15px !important;
    }

    .pr_list_in .pr_txt .pr_tit {
        margin: 10px 0 0 !important;
    }

    .pr_list_in.last {
        gap: 10px;
    }

    .pr_list_in.last a:not(:first-child) {
        display: none;
    }

    /*********** QUICK **********/
    #quick .w_1440 {
        gap: 10px;
        /*flex-direction: column;*/
    }

    #quick a {
        padding: 40px 15px;
    }

    #quick a:hover {
        top: 0;
    }

    #quick a:after {
        display: none;
    }

    #quick .m_tit {
        margin-bottom: 0;
        font-size: var(--font24);
    }

    #quick .m_txt {
        display: none;
    }

    #quick .arrow {
        /*margin: 0;*/
        /*position: absolute;*/
        /*top: 50%;*/
        /*right: 15px;*/
        /*transform: translate(0, -50%);*/
        margin: 20px 0 0;
    }

    #quick .arrow:after {
        padding: 8px;
    }

    /*********** Layer popup **********/
    .modal-content {
        padding: 20px;
        border-radius: 8px;
    }

    .popup_btn {
        padding: 15px
    }
}

/*******************************************************************************
	@media ~600px
*******************************************************************************/
@media all and (max-width: 600px) {
    #business:after {
        width: 100%;
        border-radius: 0;
    }

    .business_tit {
        text-align: center;
    }

    .business_tit .moreBtn {
        display: none;
    }

    .business_list {
        margin: 0;
    }

    .business_list_in {
        margin: 0 !important;
        width: 100% !important;
        padding: 150px 15px 40px !important;
    }
}

/*******************************************************************************
	@media ~420px
*******************************************************************************/
@media all and (max-width: 420px) {
    #visual:after {
        height: 120px;
    }

    .visual_img {
        height: 240px;
    }

    #quick .w_1440 {
        flex-direction: column;
    }

    #quick a {
        padding: 40px 75px 40px 15px;
    }

    #quick .arrow {
        margin: 0;
        position: absolute;
        top: 50%;
        right: 15px;
        transform: translate(0, -50%);
    }
}