:root {
    /* input style */
    /* --input-padding-x: 16px; */
    /* --input-padding-y: 12px; */

    /* input_title font-size */
    /* --input-title-size: 14px; */

    /* input font-size */
    /* --input-font-size: 16px; */

    /* --input-border-color: #E1E1E1; */

    /* input[checkbox] icon */
    /* --check-default-img:url(); */
    /* --check-active-img:url(); */

    /* input[radio] icon */
    /* --radio-default-img:url(); */
    /* --radio-active-img:url(); */

    /* input icon크기 */
    /* --input-icon-size: 20px; */

    /* 프로젝트 style */
    --main-color: #013367;
    --error-color: #F64E60;
    --success-color: #1A9D40;
    --sub-01-color: #05223F;
    --sub-02-color: #055F7D;

}


/* pc */
#base_wrap {
    position: relative;
    width: 100%;
    /* height: 100vh;
    overflow-y: auto; */
}

body.scroll-lock {
    overflow: hidden;
}

.scroll-lock {
    overflow-y: hidden;
}

.inner {
    max-width: 1164px;
    padding: 0 16px;
    margin: 0 auto;
}

/* 일시적인 숨김, 일시적인 표시 일때 control class */
.hide {
    display: none !important;
}

/* 웹접근성 hide */
.edk_WAI {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    clip-path: polygon(0 0, 0 0, 0 0, 0 0);
    z-index: -1;
    border: none;
    padding: 0;
    margin: 0;
}

/* 반응형 display control */
.is_mobile {
    display: none;
}

.scroll-no {
    /* 인터넷 익스플로러 스크롤바 삭제 */
    -ms-overflow-style: none;
    /* 파이어폭스 스크롤바 삭제 */
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

/* ( 크롬, 사파리, 오페라, 엣지 ) 스크롤바 삭제 */
.scroll-no::-webkit-scrollbar {
    /* 가로 스크롤바 숨기기 */
    width: 0;
    /* 세로 스크롤바 숨기기 */
    height: 0;
    display: none;
}

/* 텍스트 ... 처리 */
.text_reduce {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* btn */
.btn_default {
    border: 1px solid #BBBBBB;
    background-color: transparent;
    color: #222;
    border-radius: 4px;
}

.btn_default.border_main {
    border-color: var(--main-color);
    color: var(--main-color);
}

.btn_default.border_main:disabled {
    border-color: #BBBBBB;
    color: #BBBBBB;
}

.btn_default.fill_main {
    border-color: var(--main-color);
    background-color: var(--main-color);
    color: #FFF;
}

.btn_default.fill_main:disabled {
    border-color: #BBBBBB;
    background-color: #BBBBBB;
}

.btn_default.fill_sub {
    border-color: var(--sub-02-color);
    background-color: var(--sub-02-color);
    color: #FFF;
}

.btn_default.fill_gray {
    border-color: #9E9E9E;
    background-color: #9E9E9E;
    color: #FFF;
}

.btn_default.full {
    width: 100%;
    text-align: center;
}

/* btn group */
.btn_group {
    display: flex;
    gap: 8px 12px;
}

.btn_group.column {
    flex-wrap: wrap;
}

.btn_group.center {
    justify-content: center;
}

.btn_group.right {
    justify-content: flex-end;
}

/* 박스 레이아웃 그림자 */
.box_shadow {
    box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.1);
}

/* 내역 없음 */
.empty_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 120px 0 300px;
}

.empty_wrap .empty_text {
    font-size: 20px;
    font-weight: 400;
    color: #5E5E5E;
}

/* 페이지메뉴 */
.pagemenu_box {
    max-width: 1164px;
    padding: 0 16px;
    margin: 0 auto;
}

.pagemenu_list {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #E1E1E1;
    border-top: none;
    background-color: #fff;
}

.pagemenu_list li.pc_borderb {
    border-bottom: 1px solid #E1E1E1;
}

.pagemenu_list.page_4 li {
    width: 25%;
}

.pagemenu_list.page_3 li {
    width: 33.33%;
}

.pagemenu_list.page_4 li:not(:nth-child(4n)),
.pagemenu_list.page_3 li:not(:nth-child(3n)) {
    border-right: 1px solid #E1E1E1;

}

.pagemenu_list .menu_item {
    padding: 29px 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 22px;
    transition: all 0.3s ease;
}

.pagemenu_list .menu_item:hover,
.pagemenu_list .menu_item.active {
    background-color: var(--main-color);
    color: #fff;
    font-weight: 500;
}

.pagemenu_list .menu_item .img_wrap {
    position: relative;
    width: 28px;
    overflow: hidden;
}

.pagemenu_list .menu_item .img_wrap::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

.pagemenu_list .menu_item .img_wrap img {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    object-fit: cover;
}

.pagemenu_list .menu_item .img_wrap img.active {
    z-index: 2;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.pagemenu_list .menu_item:hover .img_wrap img.active,
.pagemenu_list .menu_item.active .img_wrap img.active {
    opacity: 1;
}

/* 페이지메뉴 end */


/* ===== shop 레이아웃 ===== */
.shop_cont {
    padding: 70px 0;
}

.shop_head {
    margin-bottom: 50px;
}

.shop_head .title {
    font-size: 38px;
    font-weight: 500;
    color: #222;
    text-align: center;
}

.shop_head .desc {
    font-size: 20px;
    font-weight: 400;
    color: #5E5E5E;
    text-align: center;
    margin-top: 12px;
}

.order_wrap:not(:last-child) {
    margin-bottom: 40px;
}

.order_head {
    padding-bottom: 18px;
    border-bottom: 1px solid #9E9E9E;
}

.order_head .title {
    font-size: 22px;
    font-weight: 500;
    color: #222;
}

/* 주문 상품 리스트 */
.order_wrap .thead {
    display: flex;
    background-color: #F8FAFF;
    padding: 0 36px;
    border-bottom: 1px solid #E1E1E1;
    margin-bottom: 10px;
}

.order_wrap .thead .th {
    padding: 14px 0;
    font-size: 16px;
    font-weight: 500;
    color: #222;
    text-align: center;
}


.order_wrap .thead .th.long,
.product_list .pr_info.long {
    width: 60%;
}

.order_wrap .thead .th.short,
.product_list .pr_info.short {
    width: 20%;
}

.product_wrap:not(:last-child) {
    margin-bottom: 16px;
}

.product_wrap {
    background-color: #F8F8F8;
    padding: 20px;
}


.product_type {
    font-size: 20px;
    font-weight: 500;
    color: #222;
    margin-bottom: 18px;
}

.product_list .list_item:not(:last-child) {
    border-bottom: 1px solid #E1E1E1;
}

.product_list .list_item {
    display: flex;
    background-color: #fff;
    padding: 15px 16px;
}

.product_list .pr_info {
    display: flex;
    gap: 20px;
    align-items: center;
}

.product_list .pr_info.short {
    justify-content: center;
    font-size: 16px;
    font-weight: 400;
    color: #222222;
}

.product_list .img_wrap {
    display: flex;
    width: 120px;
    aspect-ratio: 1/1;
    overflow: hidden;
    flex-shrink: 0;
}

.product_list .img_wrap img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.product_list .product_text {
    width: calc(100% - 140px);
}

.product_list .product_text .desc {
    font-size: 14px;
    font-weight: 400;
    color: #9E9E9E;
    margin-bottom: 3px;
}

.product_list .product_text .title {
    font-size: 16px;
    font-weight: 400;
    color: #222222;
    text-overflow: ellipsis;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product_list .mo_info {
    display: none;
    margin-top: 6px;
    gap: 8px;
    align-items: center;
}

.product_list .mo_info p {
    font-size: 14px;
    font-weight: 400;
    color: #222;
    display: flex;
    align-items: center;
    gap: 8px;
}

.product_list .mo_info p:not(:last-child)::after {
    content: '';
    display: block;
    height: 10px;
    border-right: 1px solid #EBEBEB;
    margin-bottom: -2px;
}

.product_list .mo_info p.price {
    font-weight: 700;
}

/* 결제 예정금액 */
.total_wrap {
    padding: 30px;
    display: flex;
    justify-content: space-between;
    background-color: #F8F8F8;
    gap: 24px 0;
}

.total_wrap .title {
    font-size: 22px;
    font-weight: 500;
    color: #222;
}

.total_wrap .total_box {
    width: 50%;
}

.total_wrap .total_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.total_wrap .total_item:not(:last-child) {
    margin-bottom: 16px;
}

.total_wrap .total_item.total_price {
    margin-top: 16px;
    border-top: 1px solid #E1E1E1;
    padding-top: 16px;
}

.total_wrap .total_item .item_title {
    font-size: 18px;
    font-weight: 400;
    color: #5E5E5E;
}

.total_wrap .total_item .item_desc {
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

.total_wrap .total_item strong.item_desc {
    font-size: 22px;
}

.total_wrap .total_item .item_desc mark {
    color: #FF5757;
}

/* 안내 팝업 리스트 */
.info_popup_list li:not(:last-child) {
    margin-bottom: 12px;
}

.info_popup_list .list_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: #F8F8F8;
    padding: 16px;
    font-size: 16px;
    font-weight: 400;
    color: #5E5E5E;
}

.info_popup_list .list_item::after {
    content: '';
    display: flex;
    width: 22px;
    height: 22px;
    background: url(/static/app_www/base/img/icon_arrow_right.png) no-repeat center/contain;
}


/* ===== shop 레이아웃 end ===== */

/* 페이지상단 타이틀 영역(page_header_section) */
.page_header_section {
    position: relative;
}

.page_header_section .title_wrap {
    position: absolute;
    left: 0;
    top: 25%;
    /* top: 170px; */
    z-index: 5;
    width: 100%;
    color: #fff;
}

.page_header_section .title_area {
    margin-bottom: 24px;
}

.page_header_section .title_sub {
    font-size: 16px;
    margin-bottom: 12px;

    letter-spacing: 4px !important;
}

.page_header_section .title_main {
    font-size: 60px;
    font-weight: 700;
}

.page_header_section .text_area {
    font-size: 24px;
}

.page_header_section .bg_dim {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 3;
    width: 100%;
    height: 100%;
    /* background:
        linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.255521) 62.5%, rgba(0, 0, 0, 0.35) 100%),
        linear-gradient(0deg, rgba(8, 29, 25, 0.2), rgba(8, 29, 25, 0.2)); */

}

.page_header_section .bg_wrap {
    position: relative;
    z-index: 1;
    aspect-ratio: 1/0.354;
}

.page_header_section.main_header .bg_wrap {
    aspect-ratio: 1/0.38;
}

.page_header_section .bg_wrap img {
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* 페이지상단 타이틀 영역(page_header_section) end */


/* 컨설턴트 swiper + 상담신청 section */
.consultant_link_sect {
    position: relative;
    background-color: var(--main-color);
}

.consultant_link_sect .consultant_link_wrap {
    padding: 100px 0;
    background-color: var(--main-color);
    position: relative;
    z-index: 11;
    opacity: 1;
    visibility: visible;
    transition: all 0.5s ease;
}

.consultant_link_sect .consultant_link_wrap.off {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
}

.consultant_link_sect .consultant_list_area {
    max-width: 1312px;
    padding: 0 46px;
    margin: 0 auto 50px;
    position: relative;

}

.consultant_link_sect .btn_swiper {
    width: 46px;
    display: flex;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.consultant_link_sect .btn_swiper.swiper_prev {
    left: 0;
}

.consultant_link_sect .btn_swiper.swiper_next {
    right: 0;
}

#consultantSwiper .swiper-wrapper {
    align-items: stretch;
}

#consultantSwiper .consultant_area {
    background: url("/static/app_www/base/img/bg_consultant.png") left bottom / 252px 258px no-repeat;
    background-color: #fff;
    border-top: 8px solid #5E5E5E;
    border-radius: 4px;
    height: initial;
    padding: 40px 20px 30px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
}

#consultantSwiper .consultant_content {
    width: 100%;
}

#consultantSwiper .profile_box {
    max-width: 180px;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 50%;
    margin: 0 auto 24px;
    background-color: #D8D8D8;
}

#consultantSwiper .profile_box img {
    height: 100%;
    object-fit: contain;
    object-position: center;
}

#consultantSwiper .consultant_name {
    text-align: center;
    font-size: 26px;
    font-weight: 500;
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #E1E1E1;
}

#consultantSwiper .history_box {
    font-size: 16px;
    color: #5E5E5E;
    min-height: 75px;
}

#consultantSwiper .history_box li:not(:last-child) {
    margin-bottom: 6px;
}

.consultant_link_sect .btn_default {
    padding: 13px;
    font-size: 16px;
    font-weight: 700;
}

.consultant_link_sect .btn_movepage {
    padding: 14px 96px;
    text-align: center;
}

.consultant_link_sect .consult_apply_wrap {
    background-color: #fff;
    border-radius: 4px;
    padding: 50px 50px 40px;
    position: relative;
}

.consultant_link_sect .consult_apply_wrap .img_area {
    position: absolute;
    top: 50px;
    right: 50px;
    display: flex;
}

.consultant_link_sect .apply_title_area h3 {
    font-size: 36px;
}

.consultant_link_sect .apply_title_area .text_content {
    font-size: 16px;
}

.consultant_link_sect .apply_input_area .input_flex_area:not(:last-of-type) {
    max-width: 660px;
}

/* 컨설턴트 swiper + 상담신청 section end */

/* 상담신청 영역(스와이퍼, 팝업) 공통사항 */
.consult_apply_wrap .apply_title_area {
    margin-bottom: 30px;
}

.consult_apply_wrap .apply_title_area h3 {
    font-weight: 700;
    margin-bottom: 12px;
}

.consult_apply_wrap .apply_title_area .text_content {
    color: #5E5E5E;
}

.consult_apply_wrap .apply_title_area .text_contentt>p:not(:last-child) {
    margin-bottom: 2px;
}

.consult_apply_wrap .apply_input_area {
    margin-bottom: 30px;
}

.consult_apply_wrap .apply_input_area .edk_input_area {
    margin-bottom: 16px;
}

.consult_apply_wrap .apply_input_area .input_flex_area:not(:last-of-type) {
    margin-bottom: 12px;
}

.consult_apply_wrap .apply_input_area .edk_input {
    border-radius: 4px;
}

.consult_apply_wrap .apply_input_area textarea.edk_input {
    height: 157px;
}

.consult_apply_wrap .apply_input_area .input_checkbox_wrap {
    align-items: center;
}

.consult_apply_wrap .apply_input_area .edk_WAI.checkbox+label {
    padding: 3px 0 4px 36px;
}

.consult_apply_wrap .apply_input_area .edk_WAI.checkbox+label:before {
    width: 28px;
    height: 28px;
    top: 0;
}

.consult_apply_wrap .apply_btn_group .btn_default {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 700;
    padding: 12px 0;
}

.consult_apply_wrap .btn_back {
    display: flex;
    background-color: transparent;
    align-items: center;
    gap: 0 8px;
    margin-left: auto;
    color: #9E9E9E;
    font-size: 16px;
    font-weight: 500;
}

.consult_apply_wrap .btn_back .icon_img {
    width: 20px;
    display: flex;
    overflow: hidden;
}

/* 상담신청 영역(스와이퍼, 팝업) 공통사항 end */

/* 각 페이지 내용 업로드 영역(컨설팅상품, 회사소개) */
.page_detail_sect {
    padding: 70px 0;
}

.page_detail_sect .img_wrap img {
    display: block;
    object-fit: contain;
    object-position: top center;
}

/* 각 페이지 내용 업로드 영역 end */

/* list disc 있는 li */

.has_disc_list li {
    padding-left: 22px;
    position: relative;
}

.has_disc_list li::before {
    content: "•";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0 8px;
}

/* list disc 있는 li end */

/* tablet */
@media screen and (max-width: 1023px) {

    /* 반응형 display control */
    .is_pc {
        display: none !important;
    }

    .is_mobile {
        display: block;
    }

    .is_mobile.flex {
        display: flex;
    }

    /* 내역 없음 */
    .empty_wrap {
        padding: 76px 0;
    }

    .empty_wrap .empty_text {
        font-size: 18px;
    }

    /* 페이지메뉴 */
    .pagemenu_box {
        padding: 0;
    }

    .pagemenu_list {
        border-left: none;
        border-right: none;
    }

    .pagemenu_list.page_4 li,
    .pagemenu_list.page_3 li {
        width: 50%;
    }

    .pagemenu_list li.pc_borderb {
        border-bottom: none;
    }

    .pagemenu_list li.mo_borderb {
        border-bottom: 1px solid #E1E1E1;
    }

    .pagemenu_list.page_4 li:not(:nth-child(4n)),
    .pagemenu_list.page_3 li:not(:nth-child(3n)) {
        border-right: none;
    }

    .pagemenu_list.page_4 li:not(:nth-child(2n)),
    .pagemenu_list.page_3 li:not(:nth-child(2n)) {
        border-right: 1px solid #E1E1E1;
    }

    /* 페이지메뉴 end */


    /* ===== shop 레이아웃 ===== */
    .shop_cont {
        padding: 50px 0;
    }

    .shop_head {
        margin-bottom: 30px;
    }

    .shop_head .title {
        font-size: 24px;
    }

    .shop_head .desc {
        font-size: 16px;
    }

    .order_head {
        padding-bottom: 16px;
    }

    .total_wrap .title,
    .order_head .title {
        font-size: 18px;
    }

    .order_wrap .thead {
        padding: 0 32px;
    }

    .order_wrap .thead .th {
        font-size: 14px;
    }

    .product_wrap:not(:last-child) {
        margin-bottom: 20px;
    }

    .total_wrap,
    .product_wrap {
        padding: 16px;
    }

    .product_type {
        font-size: 18px;
        margin-bottom: 22px;
    }

    .product_list .list_item {
        padding: 16px 16px 26px;
    }

    .product_list .pr_info {
        gap: 16px;
    }

    .product_list .img_wrap {
        width: 90px;
        height: 90px;
    }

    .product_list .product_text {
        width: calc(100% - 106px);
    }

    .product_list .product_text .desc {
        font-size: 12px;
        margin-bottom: 2px;
    }

    .product_list .pr_info.short,
    .product_list .product_text .title {
        font-size: 14px;
    }

    .total_wrap .total_item .item_title {
        font-size: 16px;
    }

    .total_wrap .total_item .item_desc {
        font-size: 16px;
    }

    .total_wrap .total_item strong.item_desc {
        font-size: 20px;
    }

    /* ===== shop 레이아웃 end ===== */

    /* 페이지상단 타이틀 영역(page_header_section) */
    .page_header_section .title_wrap {
        top: 50px;
        padding: 0 8px;
    }

    .page_header_section .bg_wrap,
    .page_header_section.main_header .bg_wrap {
        aspect-ratio: 1/1.173;
    }

    /* 페이지상단 타이틀 영역(page_header_section) end */

    /* 컨설턴트 swiper + 상담신청 section */
    .consultant_link_sect .consultant_list_area {
        padding: 0;
        margin-bottom: 30px;
    }

    .consultant_link_sect .btn_swiper {
        display: none;
    }

    /* 컨설턴트 swiper + 상담신청 section end */
}

/* mobile */
@media screen and (max-width: 767px) {

    /* 페이지메뉴 */
    .pagemenu_list .menu_item {
        padding: 16px;
        font-size: 14px;
    }

    .pagemenu_list .menu_item .img_wrap {
        width: 18px;
    }

    /* 페이지메뉴 end */
    /* ===== shop 레이아웃 ===== */

    .order_wrap .thead,
    .product_list .pr_info.short {
        display: none;
    }

    .product_list .mo_info {
        display: flex;
    }

    .product_list .pr_info.long {
        width: 100%;
    }

    .total_wrap {
        flex-direction: column;
    }

    .total_wrap .total_box {
        width: 100%;
    }

    /* ===== shop 레이아웃 end ===== */

    /* 페이지상단 타이틀 영역(page_header_section) */

    .page_header_section .title_area {
        margin-bottom: 16px;
    }

    .page_header_section .title_sub {
        font-size: 13px;
        margin-bottom: 8px;
        letter-spacing: 2px !important;
    }

    .page_header_section .title_main {
        font-size: 24px;
    }

    .page_header_section .text_area {
        font-size: 16px;
    }


    /* 컨설턴트 swiper + 상담신청 section */
    .consultant_link_sect .consultant_link_wrap {
        padding: 50px 0;
    }

    #consultantSwiper .consultant_area {
        background-size: 231px 225px;
        padding: 30px 16px 24px;
        border-top-width: 6px;
        gap: 20px;
    }

    #consultantSwiper .profile_box {
        max-width: 123px;
        margin-bottom: 20px;
    }

    #consultantSwiper .consultant_name {
        font-size: 20px;
        padding-bottom: 14px;
        margin-bottom: 14px;
    }

    .consultant_link_sect .btn_movepage {
        width: 100%;
    }

    .consultant_link_sect .consult_apply_wrap {
        padding: 40px 16px 30px;
    }

    .consultant_link_sect .apply_input_area {
        margin-bottom: 40px;
    }


    /* 컨설턴트 swiper + 상담신청 section end */

    /* 상담신청 영역(스와이퍼, 팝업) 공통사항 */
    .consult_apply_wrap .apply_title_area h3 {
        font-size: 24px;
        margin-bottom: 14px;
    }

    .consult_apply_wrap .apply_input_area textarea.edk_input {
        height: 120px;
    }

    .consult_apply_wrap .apply_input_area .input_checkbox_wrap {
        flex-wrap: wrap;
        gap: 12px;
    }

    .consult_apply_wrap .apply_input_area .edk_checkbox_area {
        width: 100%;
    }

    .consult_apply_wrap .apply_input_area .edk_WAI.checkbox+label {
        padding: 2px 0 0 32px;
    }

    .consult_apply_wrap .apply_input_area .edk_WAI.checkbox+label:before {
        width: 24px;
        height: 24px;
    }

    .consult_apply_wrap .btn_back {
        gap: 0 6px;
    }

    /* 상담신청 영역(스와이퍼, 팝업) 공통사항 end*/

    /* 각 페이지 내용 업로드 영역(컨설팅상품, 회사소개) */
    .page_detail_sect {
        padding: 40px 0 50px;
    }

    /* 각 페이지 내용 업로드 영역 end */
}