@charset "UTF-8";
:root {
    --scrollbarPadding: 0;
    --scrollTopVal: 0;
    --winHei: 0;
    --ctnTop: 0;
    --pageScale: 1;
    --layerWidth: 0;
    --maincolor: #006d57;
    --maincolor_dark: #004134;
    --maincolor_active: #004d3d;
    --subcolor01: #fe7e35;
    --redcolor01: #f93349;
    --greycolor01: #f5f5f5;
    --greycolor01_hover: #e1e1e1;
    --greycolor02: #f8f8f8;
    --popbg: #0055b7;
    --popbg_btn: #003675;
}
/***** S: 공통 *****/
[class*="overflow_hidden"] {
    overflow: hidden !important;
}

/* S: loading bar */
.lds-roller-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: transparent;
    z-index: 9999;
}

.lds-roller {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    transform: scale(0.7);
}

.lds-box {
    padding: 15px;
    width: 240px;
    background-color: rgb(255 255 255/ 95%);
    text-align: center;
    border-radius: 15px;
    border: solid 1px #eaeaea;
    box-shadow: 1px 1px 6px 3px rgb(0 0 0/ 5%);
}

.lds-box .txt {
    margin-top: 10px;
    font-size: 16px;
}

.lds-roller div {
    animation: lds-roller 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    transform-origin: 40px 40px;
}

.lds-roller div:after {
    content: " ";
    display: block;
    position: absolute;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #000;
    margin: -6px 0 0 -6px;
}

.lds-roller div:nth-child(1) {
    animation-delay: -0.036s;
}

.lds-roller div:nth-child(1):after {
    top: 63px;
    left: 63px;
    background-color: #6c61b4;
}

.lds-roller div:nth-child(2) {
    animation-delay: -0.108s;
}

.lds-roller div:nth-child(2):after {
    top: 71px;
    left: 48px;
    background-color: #ce5f5f;
}

.lds-roller div:nth-child(3) {
    animation-delay: -0.18s;
}

.lds-roller div:nth-child(3):after {
    top: 71px;
    left: 32px;
    background-color: #3da07a;
}

.lds-roller div:nth-child(4) {
    animation-delay: -0.252s;
}

.lds-roller div:nth-child(4):after {
    top: 63px;
    left: 17px;
    background-color: #009aae;
}
@keyframes lds-roller {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}
/* E: loading bar */

.overflow_hidden {
    overflow: hidden !important;
}
.flex_box {
    display: flex;
    align-items: center;
}
.flex_group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
}
.flex_none {
    flex: none !important;
}
.flex_full {
    flex: 1 !important;
}
.justify_start {
    justify-content: flex-start !important;
}
.justify_center {
    justify-content: center !important;
}
.justify_end {
    justify-content: flex-end !important;
}
.justify_between {
    justify-content: space-between !important;
}

.hr_line {
    width: 100%;
    height: 1px;
    background: #e6e6e6;
}
.hr_line.bg_darkgray {
    background: #babdc6;
}

/* width, height */
.w_full {
    width: 100% !important;
}
.maxw_maxcon {
    max-width: max-content !important;
}
.maxw_none {
    max-width: none !important;
}
.maxw35 {
    max-width: 42px !important;
}
.maxw42 {
    max-width: 42px !important;
}
.maxw58 {
    max-width: 58px !important;
}
.maxw68 {
    max-width: 68px !important;
}
.maxw76 {
    max-width: 76px !important;
}
.maxw84 {
    max-width: 84px !important;
}
.maxw96 {
    max-width: 96px !important;
}
.maxw113 {
    max-width: 113px !important;
}
.maxw130 {
    max-width: 130px !important;
}
.maxw140 {
    max-width: 140px !important;
}
.maxw180 {
    max-width: 180px !important;
}
.maxw240 {
    max-width: 240px !important;
}

.minw50 {
    min-width: 50px !important;
}
.minw80 {
    min-width: 80px !important;
}
.minw100 {
    min-width: 100px !important;
}
.minw110 {
    min-width: 110px !important;
}

/* margin, padding */
.mg_h_auto {
    margin-right: auto !important;
    margin-left: auto !important;
}
.mg_v_auto {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

.mgt0 {
    margin-top: 0 !important;
}
.mgt5 {
    margin-top: 5px !important;
}
.mgt7 {
    margin-top: 7px !important;
}
.mgt10 {
    margin-top: 10px !important;
}
.mgt15 {
    margin-top: 15px !important;
}
.mgt20 {
    margin-top: 20px !important;
}
.mgt25 {
    margin-top: 25px !important;
}
.mgt30 {
    margin-top: 30px !important;
}
.mgt35 {
    margin-top: 35px !important;
}
.mgt40 {
    margin-top: 40px !important;
}
.mgt45 {
    margin-top: 45px !important;
}
.mgt50 {
    margin-top: 50px !important;
}
.mgt55 {
    margin-top: 55px !important;
}
.mgt60 {
    margin-top: 60px !important;
}
.mgl_auto {
    margin-left: auto !important;
}
.mgl0 {
    margin-left: 0 !important;
}
.mgl5 {
    margin-left: 5px !important;
}
.mgl10 {
    margin-left: 10px !important;
}
.mgl15 {
    margin-left: 15px !important;
}
.mgl20 {
    margin-left: 20px !important;
}
.mgl30 {
    margin-left: 30px !important;
}
.mgl40 {
    margin-left: 40px !important;
}
.mgl50 {
    margin-left: 50px !important;
}
.mgr_auto {
    margin-right: auto !important;
}
.mgr0 {
    margin-right: 0 !important;
}
.mgr5 {
    margin-right: 5px !important;
}
.mgr10 {
    margin-right: 10px !important;
}
.mgr15 {
    margin-right: 15px !important;
}
.mgr20 {
    margin-right: 20px !important;
}
.mgb5 {
    margin-bottom: 5px !important;
}
.mgb20 {
    margin-bottom: 20px !important;
}
.mgb30 {
    margin-bottom: 30px !important;
}

.pd0 {
    padding: 0 !important;
}
.pd13 {
    padding: 13px !important;
}
.pd15 {
    padding: 15px !important;
}
.pd20 {
    padding: 20px !important;
}

.pdt0 {
    padding-top: 0 !important;
}
.pdt5 {
    padding-top: 5px !important;
}
.pdt10 {
    padding-top: 10px !important;
}
.pdt13 {
    padding-top: 13px !important;
}
.pdt15 {
    padding-top: 15px !important;
}
.pdt20 {
    padding-top: 20px !important;
}
.pdt25 {
    padding-top: 25px !important;
}
.pdt30 {
    padding-top: 30px !important;
}

.pdr0 {
    padding-right: 0 !important;
}
.pdr5 {
    padding-right: 5px !important;
}
.pdr10 {
    padding-right: 10px !important;
}
.pdr13 {
    padding-right: 13px !important;
}
.pdr15 {
    padding-right: 15px !important;
}
.pdr20 {
    padding-right: 20px !important;
}
.pdr25 {
    padding-right: 25px !important;
}
.pdr30 {
    padding-right: 30px !important;
}

.pdb0 {
    padding-bottom: 0px !important;
}
.pdb10 {
    padding-bottom: 10px !important;
}

.pdl0 {
    padding-left: 0 !important;
}
.pdl5 {
    padding-left: 5px !important;
}
.pdl10 {
    padding-left: 10px !important;
}
.pdl13 {
    padding-left: 13px !important;
}
.pdl15 {
    padding-left: 15px !important;
}
.pdl20 {
    padding-left: 20px !important;
}
.pdl25 {
    padding-left: 25px !important;
}
.pdl30 {
    padding-left: 30px !important;
}
.pdl32 {
    padding-left: 32px !important;
}

/* border */
.bd_none {
    border: none !important;
}
.bdt_none {
    border-top: none !important;
}
.bdr_none {
    border-right: none !important;
}
.bdb_none {
    border-bottom: none !important;
}
.bdl_none {
    border-left: none !important;
}
.h_bdb {
    border-bottom: 1px solid #f3f3f3;
    margin: 0 15px;
}

/* bg, color */
.bg_sky {
    background-color: #e8f3ff !important;
}
.bg_none {
    background: none !important;
}
.bgcolor_none {
    background-color: transparent !important;
}
.bgcolor01 {
    background-color: #f8f9fb !important;
}
.bgcolor02 {
    background-color: #fff9f9 !important;
}
.color_red {
    color: #f23333 !important;
}
.color_blue {
    color: #0275bb !important;
}
.color_orange {
    color: #f25f06 !important;
}
.color_green {
    color: #228600 !important;
}
.color_green02 {
    color: #419c08 !important;
}
.color_black {
    color: #000 !important;
}
.color_black02 {
    color: #222 !important;
}
.color_black03 {
    color: #333 !important;
}
.color_black04 {
    color: #535353 !important;
}
.color_black06 {
    color: #666 !important;
}
.color_gray {
    color: #767676 !important;
}
.color_yellow {
    color: #ffee61 !important;
}
.color_purple {
    color: #4838b3 !important;
}

/* text */
.f11 {
    font-size: 11px !important;
}
.f12 {
    font-size: 12px !important;
}
.f13 {
    font-size: 13px !important;
}
.f14 {
    font-size: 14px !important;
}
.f15 {
    font-size: 15px !important;
}
.f16 {
    font-size: 16px !important;
}
.f17 {
    font-size: 17px !important;
}
.f18 {
    font-size: 18px !important;
}

.lh1_5 {
    line-height: 1.5 !important;
}
.lh15 {
    line-height: 15px !important;
}
.lh16 {
    line-height: 16px !important;
}
.lh17 {
    line-height: 17px !important;
}
.lh18 {
    line-height: 18px !important;
}
.lh19 {
    line-height: 19px !important;
}
.lh20 {
    line-height: 20px !important;
}
.lh21 {
    line-height: 21px !important;
}
.lh22 {
    line-height: 22px !important;
}
.lh23 {
    line-height: 23px !important;
}
.lh24 {
    line-height: 24px !important;
}
.lh30 {
    line-height: 30px !important;
}

.fw400 {
    font-weight: 400 !important;
}

.fw500 {
    font-weight: 500 !important;
}

.fw700 {
    font-weight: 700 !important;
}

.break_all {
    word-break: break-all !important;
}
.keep_all {
    word-break: keep-all !important;
}

.text_underline {
    text-decoration: underline !important;
}

.txt_flex {
    display: flex;
    color: #000;
    font-size: 14px;
    line-height: 1.5;
    word-break: keep-all;
}
.txt_flex .txt_l {
    flex: none;
    margin-right: 3px;
}

.align_left {
    text-align: left !important;
}
.align_center {
    text-align: center !important;
}
.align_right {
    text-align: right !important;
}
.txt_ellipsis {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* 버튼 */
.btn_style {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0 10px;
    border-radius: 21px;
    color: #121212;
    font-size: 15px;
    font-weight: 500;
    word-break: keep-all;
}
.btn_style.h28 {
    width: auto;
    height: 28px;
    border-radius: 14px;
    color: #222;
    font-size: 13px;
}
.btn_style.h30 {
    width: auto;
    min-height: 30px;
    font-size: 13px;
}
.btn_style.h33 {
    max-width: 113px;
    height: 33px;
    font-size: 13px;
}
.btn_style.h35 {
    max-width: 113px;
    height: 35px;
}
.btn_style.h40 {
    max-width: 113px;
    height: 40px;
}
.btn_style.h42 {
    max-width: 113px;
    height: 42px;
}
.btn_style.h50 {
    height: 50px;
    padding: 0 20px;
    border-radius: 5px;
    font-size: 15px;
}
.btn_style.h60 {
    height: 60px;
    padding: 0 20px;
    border-radius: 30px;
    font-size: 17px;
}
.btn_style.bd_white {
    border: 1px solid #fff;
    background: transparent;
    color: #000;
    font-weight: 700;
}
.btn_style.bd_gray {
    border: 1px solid #c4c4c4;
    background: #fff;
}
.btn_style.bdt_gray {
    border-top: 1px solid #c4c4c4;
    background: #fff;
}
.btn_style.bd_red {
    background-color: #e60a0a;
    color: #fff;
}
.btn_style.bd_red {
    border: 1px solid #e60a0a;
    color: #e60a0a;
}
.btn_style.bd_blue {
    border: 1px solid var(--maincolor);
    background: #fff;
    color: var(--maincolor);
}
.btn_style.bd_green {
    border: 1px solid #0baf4d;
    background: #f8fffb;
}
.btn_style.bg_blue {
    background: var(--maincolor);
    color: #fff;
}
.btn_style.bg_green {
    background: #0b7f41;
    color: #fff;
}
.btn_style.bg_orange {
    background: #ff8720;
    color: #fff;
}
.btn_style.bg_subcolor01 {
    background: var(--subcolor01);
    color: #fff;
}
.btn_style.bg_black {
    background: #000;
    color: #fff;
}
.btn_style.bd_black {
    border: 1px solid #000;
}
.btn_style.bg_darkblue {
    background: #212e4f;
    color: #fff;
}
.btn_style.bg_gray {
    background: #666;
    color: #fff;
}
.btn_style.radius5 {
    border-radius: 5px;
}
.btn_style.radius10 {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
}
.btn_style.radius17 {
    border-radius: 17px;
}
.btn_style.radius100 {
    border-radius: 100px;
}
.btn_style .ico_write {
    margin-left: 4px;
}
.btn_style .ico_add {
    margin-right: 4px;
}
.btn_style .ico_arrow_right {
    margin-left: 8px;
}

.btn_style:disabled {
    opacity: 0.8 !important;
}

.btn_status {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 60px;
    padding: 4px 10px;
    border-radius: 5px;
    background: #555;
    color: #fff;
    font-size: 12px;
    line-height: 17px;
    font-weight: 700;
}
.btn_status.bg_black {
    background: #555;
}
.btn_status.bg_orange {
    background: #e38500;
}
.btn_status.bg_green {
    background: #13a255;
}
.btn_status.bg_blue {
    background: #0c6bd5;
}
.btn_status.bg_red {
    background: #d73800;
}

/* 버튼박스 */
.btn_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
}
.btn_box .btn_style + .btn_style {
    margin-left: 5px;
}

.btn_fullbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 42px;
    flex-shrink: 0;
    border-radius: 0 0 10px 10px;
    -webkit-border-radius: 0 0 10px 10px;
    -moz-border-radius: 0 0 10px 10px;
    -ms-border-radius: 0 0 10px 10px;
    -o-border-radius: 0 0 10px 10px;
    overflow: hidden;
}
.btn_fullbox button {
    flex: 1;
    border-radius: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    -o-border-radius: 0;
}
.btn_fullbox .btn_style {
    max-width: none !important;
}

/* icon */
.ico_back {
    display: inline-flex;
    width: 32px;
    height: 32px;
    background: url(../images/common/ico_back.png) no-repeat center center;
    background-size: contain;
}
.ico_home {
    display: inline-flex;
    width: 32px;
    height: 32px;
    background: url(../images/common/ico_home.png) no-repeat center center;
    background-size: contain;
}
.ico_link {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 8px;
    -webkit-mask: url(../images/icon/ico_link.svg) no-repeat center / contain;
    mask: url(../images/icon/ico_link.svg) no-repeat center / contain;
    background-color: #fff;
}
.ico_link.dgray {
    background-color: #333;
}
.ico_rightArr.gray {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 8px;
    -webkit-mask: url(../images/common/left_arrow.svg) no-repeat center / contain;
    mask: url(../images/common/left_arrow.svg) no-repeat center / contain;
    transform: rotate(180deg);
    background-color: #909090;
}
.ico_rightArr.black {
    display: inline-block;
    width: 11px;
    height: 11px;
    margin-left: 16px;
    -webkit-mask: url(../images/common/ico_rightArr_black.svg) no-repeat center / contain;
    mask: url(../images/common/ico_rightArr_black.svg) no-repeat center / contain;
    background-color: #000;
}
.ico_notice.black {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    -webkit-mask: url(../images/common/ico_notice_black.svg) no-repeat center / contain;
    mask: url(../images/common/ico_notice_black.svg) no-repeat center / contain;
    background-color: #000;
}
.ico_plus.white {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 8px;
    -webkit-mask: url(../images/common/ico_plus_white.svg) no-repeat center / contain;
    mask: url(../images/common/ico_plus_white.svg) no-repeat center / contain;
    background-color: #fff;
}
.ico_description.black {
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    -webkit-mask: url(../images/common/ico_description_black.svg) no-repeat center / contain;
    mask: url(../images/common/ico_description_black.svg) no-repeat center / contain;
    background-color: #000;
}
.ico_check.black {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 4px;
    width: 18px;
    height: 18px;
    margin-right: 4px;
    -webkit-mask: url(../images/common/ico_check_black.svg) no-repeat center / contain;
    mask: url(../images/common/ico_check_black.svg) no-repeat center / contain;
    background-color: #000;
}

/* font */
.font_normal {
    font-weight: 400 !important;
}
.font_medium {
    font-weight: 500 !important;
}
.font_bold {
    font-weight: 700 !important;
}
/***** E: 공통 *****/

/***** S: 레이아웃 *****/
#wrap {
    min-height: 100vh;
    overflow: hidden;
}
.inner {
    position: relative;
    padding: 20px 16px;
}
.header {
    display: flex;
    align-items: center;
    position: relative;
    height: 62px;
    padding: 0 12px 0 10px;
    border-bottom: 1px solid #e4e4e4;
    z-index: 100;
}
.header.main {
    border-color: transparent;
}
.header .logo {
    margin-left: 10px;
    margin-right: auto;
}
.header .logo a {
    display: block;
    width: 200px;
    height: 34px;
    background: url(../images/common/logo.png) no-repeat center center;
    background-size: contain;
}
.header .btn_back {
    flex: none;
    display: inline-flex;
}
.header .btn_head_search {
    flex: none;
    display: inline-flex;
    width: 32px;
    height: 32px;
    margin-left: auto;
    margin-right: 5px;
    background: url(../images/common/ico_head_search.png) no-repeat center center;
    background-size: contain;
}
.header .btn_home {
    flex: none;
    display: inline-flex;
    margin-left: auto;
    margin-right: 5px;
}
.header .title {
    margin: 0 6px;
    color: #222;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
}
.header .title .in_small {
    display: inline-block;
    margin-top: -2px;
    font-size: 15px;
    font-weight: 400;
    vertical-align: middle;
}

.header .btn_allmenu {
    flex: none;
    display: inline-flex;
    position: relative;
    width: 32px;
    height: 32px;
    background: url(../images/common/ico_allmenu.png) no-repeat center center;
    background-size: contain;
    transition: 0.2s;
    z-index: 999;
}
.header.main .btn_allmenu {
    background-image: url(../images/common/ico_allmenu_white.png);
}
.allmenu {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100vh;
    background: #fff;
    visibility: hidden;
    transform: translateX(101%);
    transition: 0.2s;
    z-index: 100;
}
.allmenu_head {
    /*   padding-top: 24px; */
    background: var(--maincolor_active);
    padding: 10px 20px;
}
.allmenu_head .topbox {
    display: flex;
    /*   justify-content: center; */
    align-items: center;
    height: 54px;
}
.allmenu_head .topbox .txt {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
}
/* .allmenu_head .util {
    display: flex;
    height: 50px;
    background: var(--maincolor);
}
.allmenu_head .util li {
    flex: 1;
    position: relative;
}
.allmenu_head .util li + li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 12px;
    margin-top: -6px;
    background: #3585dc;
}
.allmenu_head .util a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
} */
.allmenu_body {
    flex: 1;
    position: relative;
    overflow: auto;
}
.m_gnb {
    /* width: 142px; */
    min-height: 100%;
    background: #f6f7f8;
}

.m_gnb > li > a {
    display: block;
    padding: 20px;
    border-bottom: 2px solid transparent;
    color: #121212;
    font-size: 15px;
    line-height: 19px;
    font-weight: 500;
}
.m_gnb > li > a.active {
    border-color: var(--maincolor);
    background: #fff;
    color: #121212;
    font-size: 16px;
    font-weight: 700;
}
.m_gnb > li > a.donghae {
    background: linear-gradient(45deg, #d52534 5%, #8f3e60 40% 40%, #455990 75%, #116cb1 94%);
    color: #fff;
}
.ico_right_arrow {
    margin-left: 8px;
    width: 12px;
    height: 12px;
    display: inline-block;
    vertical-align: middle;
    background: url(../images/common/right_arrow.svg) no-repeat center / contain;
}

.m_gnb .depth_box {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 142px;
    margin-left: 20px;
}
.m_gnb > li > a.active + .depth_box {
    display: flex;
}
.m_gnb .depth {
    width: 100%;
    padding: 14px 13px 14px 0;
    overflow-y: auto;
}
.m_gnb .depth > li + li {
    border-top: 1px solid rgba(228, 228, 228, 0.67);
}
.m_gnb .depth > li > a {
    display: block;
    padding: 13px 0;
    color: #121212;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
}
.m_gnb .depth > li > a {
    display: block;
    position: relative;
    padding: 13px 0;
    color: #121212;
    font-size: 16px;
    line-height: 20px;
    font-weight: 400;
}
.m_gnb .depth > li > a.in_ul {
    padding-right: 13px;
}
.m_gnb .depth > li > a.in_ul::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 12px;
    height: 8px;
    margin-top: -4px;
    background: url(../images/common/ico_allmenu_arrow.png) no-repeat center center;
    background-size: contain;
}
.m_gnb .depth > li > a.in_ul.active::before {
    background-image: url(../images/common/ico_allmenu_arrow_on.png);
}
.m_gnb .depth02 {
    display: none;
    padding: 18px 0 30px;
    border-top: 1px solid rgba(228, 228, 228, 0.67);
}
.m_gnb .depth > li > a.active + .depth02 {
    display: block;
}

.m_gnb .depth02 > li > a {
    display: block;
    padding: 8px 10px;
    color: #121212;
    font-size: 15px;
    line-height: 19px;
    font-weight: 700;
}
.m_gnb .depth03 > li > a {
    display: block;
    padding: 8px 10px;
    color: #121212;
    font-size: 15px;
    line-height: 19px;
    font-weight: 400;
}

.open_allmenu {
    overflow: hidden;
}
.open_allmenu .header .btn_allmenu {
    background-image: url(../images/common/ico_allmenu_close.png);
    transform: rotate(90deg);
    margin-top: 10px;
}
.open_allmenu .allmenu {
    visibility: visible;
    transform: translateX(0);
}
/* breadcrumbs */
.breadcrumbs {
    padding: 2px 10px;
    display: flex;
    align-items: center;
    background-color: #f6f7f8;
}
.breadcrumbs span,
.breadcrumbs span a {
    font-size: 12px;
    color: #333;
}
.breadcrumbs span + span {
    position: relative;
    margin-left: 12px;
}
.breadcrumbs span + span::before {
    display: block;
    content: "";
    width: 10px;
    height: 6px;
    background: url(../images/common/ico_allmenu_arrow.png) no-repeat center / contain;
    position: absolute;
    top: 50%;
    left: -9px;
    transform: translateY(-50%) rotate(-90deg);
    -webkit-transform: translateY(-50%) rotate(-90deg);
    -moz-transform: translateY(-50%) rotate(-90deg);
    -ms-transform: translateY(-50%) rotate(-90deg);
    -o-transform: translateY(-50%) rotate(-90deg);
}

.container {
    position: relative;
    padding-bottom: 30px;
}
/* quickmenu */
.quickmenu_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: fixed;
    right: 13px;
    bottom: 15px;
    z-index: 100;
}
.quickmenu_wrap.end_top {
    position: absolute;
}
.quickmenu_wrap * {
    letter-spacing: 0;
}
.quickmenu_wrap .btn_collect {
    display: inline-flex;
    align-items: center;
    width: 54px;
    height: 54px;
    padding-bottom: 4px;
    border: 1px solid #d4d9e1;
    border-radius: 100%;
    background-color: #fff;
    box-shadow: 3px 5px 12px rgba(0, 0, 0, 0.2);
}
.quickmenu_wrap .btn_collect .inbox {
    width: 100%;
}
.quickmenu_wrap .btn_collect .inbox .ico {
    display: block;
    width: 20px;
    height: 20px;
    margin: 0 auto;
    background: url(../images/common/ico_black_star.png) no-repeat center center;
    background-size: contain;
}
.quickmenu_wrap .btn_collect .inbox .txt {
    display: block;
    margin: 5px 0 1px;
    color: #121212;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    text-align: center;
}
.quickmenu_wrap .btn_collect.on .inbox .ico {
    background-image: url(../images/common/ico_yellow_star.png);
}

.quickmenu_wrap .btn_quickmenu {
    order: 2;
    display: inline-flex;
    align-items: center;
    width: 54px;
    height: 54px;
    margin-top: 5px;
    border: 1px solid #d4d9e1;
    border-radius: 100%;
    background-color: #fff;
    box-shadow: 3px 5px 12px rgba(0, 0, 0, 0.2);
}
.quickmenu_wrap .btn_quickmenu .inbox {
    width: 100%;
}
.quickmenu_wrap .btn_quickmenu .inbox .ico {
    display: block;
    width: 12px;
    height: 12px;
    margin: 0 auto;
    background: url(../images/common/ico_help.png) no-repeat center center;
    background-size: contain;
}
.quickmenu_wrap .btn_quickmenu .inbox .txt {
    display: block;
    margin-top: 1px;
    color: #121212;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    text-align: center;
}

.quickmenu_wrap .btn_quickmenu_close {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    width: 54px;
    height: 54px;
    border-radius: 100%;
    background: url(../images/common/ico_black_quickmenu_close.svg) no-repeat center center #fff;
    background-size: 16px;
}

.quickmenu_wrap .quickmenu_top {
    display: inline-flex;
    align-items: center;
    width: 54px;
    height: 54px;
    margin-top: 5px;
    border-radius: 100%;
    background: #2f3138;
    box-shadow: 3px 5px 12px rgba(0, 0, 0, 0.2);
}
.quickmenu_wrap .quickmenu_top .inbox {
    width: 100%;
}
.quickmenu_wrap .quickmenu_top .inbox .ico {
    display: block;
    width: 9px;
    height: 6px;
    margin: 0 auto;
    background: url(../images/common/ico_white_quickmenu_top.png) no-repeat center center;
    background-size: contain;
}
.quickmenu_wrap .quickmenu_top .inbox .txt {
    display: block;
    margin-top: 2px;
    color: #fff;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
    text-align: center;
}

.quickmenu_box {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.quickmenu_toggle {
    order: 1;
    position: relative;
    max-height: 0;
    visibility: hidden;
    opacity: 0;
    transition: 0.1s linear;
}

.quickmenu_box.on .quickmenu_toggle {
    max-height: 100vh;
    padding-top: 45px;
    visibility: visible;
    opacity: 1;
    transition: 0.2s linear;
    z-index: 9991;
}

.quickmenu > li > a {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 54px;
    height: 54px;
    margin-top: 5px;
    border-radius: 100%;
    color: #fff;
    font-size: 14px;
    line-height: 16px;
    font-weight: 500;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
    text-align: center;
    position: relative;
}
.dr_yellow {
    background-color: #f5c727;
}
.dr_green {
    background-color: #00c73c;
}
.dr_red {
    background-color: #ec3d5a;
}
.dr_blue {
    background-color: #006bb7;
}
.dr_purple {
    background-color: #7d00b7;
}
.quickmenu > li > a .readText {
    width: 120px;
    top: 50%;
    right: calc(100% + 16px);
    transform: translateY(-50%);
    position: absolute;
}
.quickmenu > li > a .readText span {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.3;
    text-align: right;
    display: block;
}
.quickmenu > li > a .readText .ico_link {
    margin-left: 4px;
}
.quickmenu_wrap .dimmed {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    visibility: hidden;
    z-index: -1;
    background-color: #000000bf;
}
.quickmenu_wrap .dimmed.in {
    display: block;
    z-index: 1000;
    visibility: visible;
}

.footer {
    border-top: 1px solid #e5e9ec;
}
.foot_guide {
    border-top: 7px solid #eff2f4;
    font-family: "Pretendard";
    /* min-height: 200px; */
}
.foot_guide .fg_tel {
    padding: 13px 13px 0 13px;
    color: #222;
    font-size: 15px;
    line-height: 22px;
    font-weight: 500;
}
.foot_guide .fg_tel dt {
    padding-left: 30px;
    padding-bottom: 10px;
    background: url(../images/common/ico_using.svg) no-repeat 0 5px;
    background-size: 20px;
    position: relative;
}
.foot_guide .fg_tel dt span {
    font-size: 14px;
    font-weight: normal;
    display: block;
}
.ft_tel_btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: #fff url(../images/common/btn_b_arrow.svg) no-repeat center 10px / 14px 8px;
    border: solid 2px #c4c4c4;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
}
.ft_tel_btn.off {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}
.btn_side {
    position: absolute;
    top: 0;
    right: 0;
    width: 30px;
    height: 30px;
    background: #fff url(../images/common/btn_b_arrow.svg) no-repeat center 10px / 14px 8px;
    border: solid 2px #c4c4c4;
}
.foot_guide .fg_tel dd {
    font-weight: normal;
    font-size: 14px;
    border-top: 1px solid #f0f2f3;
}
.foot_guide .fg_tel .tel {
    font-weight: 700;
    letter-spacing: 0;
}
.foot_guide .fg_list {
    padding: 20px;
    border-top: 1px solid #f0f2f3;
}
.foot_guide .fg_list > li {
    position: relative;
    padding-left: 12px;
    font-size: 15px;
    line-height: 22px;
}
.foot_guide .fg_list > li::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 100%;
    background: #707070;
}
.foot_guide .fg_list .tel {
    margin-left: 6px;
    font-weight: 500;
    letter-spacing: 0;
}
.foot_guide .fg_list > li + li {
    margin-top: 8px;
}
.foot_con {
    padding: 13px 13px 70px;
    border-top: 1px solid #f0f2f3;
    background: #f6f7f8;
}
.foot_links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 -13px;
}
.foot_links > li {
    position: relative;
    margin-top: 13px;
    padding: 0 9px 0 10px;
}
.foot_links > li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 10px;
    margin-top: -5px;
    background: #d4d9e1;
}
.foot_links > li:first-child:before,
.foot_links > li.bl_none:before {
    display: none;
}
.foot_links > li > a {
    display: block;
    color: #333;
    font-size: 14px;
    line-height: 20px;
}

.foot_logo {
    width: 115px;
    margin: 26px auto 0;
}
.foot_logo a {
    display: block;
    line-height: 1;
}
.foot_logo img {
    filter: grayscale(1);
    max-width: 100%;
}

.foot_con .address {
    margin-top: 12px;
    color: #555;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
}
.foot_con .biz_hours {
    color: #555;
    font-size: 12px;
    line-height: 18px;
    font-weight: 700;
    text-align: center;
}
.foot_con .copyright {
    margin-top: 9px;
    color: #555;
    font-size: 12px;
    line-height: 15px;
    text-align: center;
}
.foot_con .familysite {
    display: flex;
    margin-top: 18px;
}
.foot_con .familysite select {
    flex: 1;
    padding: 0 30px 0 20px;
    border: none;
    border-radius: 10px 0 0 10px;
    background: url(../images/icon/ico_familysite_arrow.png) no-repeat right 15px center #e4e7e9;
    background-size: 12px;
    color: #555;
    font-size: 15px;
    font-weight: 500;
}
.foot_con .familysite .btn_familysite {
    width: 66px;
    height: 40px;
    border-radius: 0 10px 10px 0;
    background: #121212;
    color: #fff;
    font-size: 15px;
    line-height: 40px;
    font-weight: 500;
    text-align: center;
}
.foot_con .foot_bottom {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 18px;
}
.foot_con .foot_bottom img {
    height: 44px;
    margin: 0 6px;
}
/***** E: 레이아웃 *****/

/***** S: etc *****/
.no_data {
    height: 60px;
    width: 100%;
    font-size: 15px;
    color: #4c4c4c;
    display: flex;
    align-items: center;
    justify-content: center;
}
/***** E: etc *****/

@media screen and (max-height: 545px) {
    .quickmenu_wrap {
    }
    .quickmenu_box {
        position: relative;
    }
    .quickmenu_toggle {
        position: absolute;
        right: 100%;
        bottom: 0;
        max-width: 0;
        max-height: none;
    }
    .quickmenu_box.on .quickmenu_toggle {
        max-width: 100vw;
        max-height: none;
        padding: 0 0 0 45px;
    }
    .quickmenu {
        display: flex;
    }
    .quickmenu > li > a {
        margin: 0 5px 0 0;
    }
    .quickmenu_wrap .btn_quickmenu_close {
        top: 50%;
        left: 0;
        margin: -20px 0 0 0;
    }
}

#contactList.btn_box .btn_style:not(:first-child) {
    margin-left: 0px;
    margin-top: 10px;
}

/********** S: sub layer popup **********/
.layer_pop {
    visibility: hidden;
    transition: 0s 0.2s;
}
.layer_pop.open {
    visibility: visible;
    transition: 0s;
}
.layer_pop .mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 120;
    visibility: hidden;
    opacity: 0;
    transition: 0s;
}
.layer_pop.open .mask {
    visibility: visible;
    opacity: 1;
    transition: 0.2s;
}
.layer_box {
    display: flex;
    flex-direction: column;
    width: 90vw;
    position: fixed;
    top: 50%;
    left: 50%;
    background: #fff;
    z-index: 130;
    box-shadow: 1px 1px 7px rgb(0 0 0 / 25%);
    transform: translate(-50%, -50%);
    border-radius: 15px;
    max-height: calc(100vh - 40px);
}

.layer_box.photoView {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    max-height: 100%;
    opacity: 0;
    visibility: hidden;
    z-index: 130;
    transform: translateY(-101%);
    border-radius: 0;
    transition: 0.2s;
}
.layer_pop.open .layer_box.photoView {
    opacity: 1;
    visibility: visible;
    transform: translateY(0%);
}

.layer_box .btn_close {
    position: absolute;
    top: 18px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: url(../images/common/btn_layer_close.png) no-repeat center center;
    background-size: contain;
}
.layer_head {
    flex: none;
    display: flex;
    align-items: center;
    height: 61px;
    padding: 0 13px;
    border-bottom: 1px solid #e4e4e4;
}
.layer_head .title {
    color: #222;
    font-size: 20px;
    font-weight: 700;
}
.layer_neck {
    padding: 10px 13px;
    border-bottom: 1px solid #c8cacf;
}
.layer_body {
    flex: 1;
    position: relative;
    padding: 20px 10px;
    overflow: auto;
    overflow-x: hidden;
}
.layer_body > *:first-child {
    margin-top: 0;
}
.layer_foot {
    padding: 0 10px 10px;
    text-align: center;
}
.searchfield_list > li {
    display: flex;
}
.searchfield_list > li + li {
    margin-top: 20px;
}
.searchfield_list .th_tit {
    flex: none;
    display: flex;
    align-items: center;
    width: 64px;
    font-size: 13px;
    line-height: 18px;
    font-weight: 700;
}
.searchfield_list .td_con {
    flex: 1;
}

.filefield_list > li {
    display: flex;
    align-items: center;
    padding: 10px;
    border: 1px solid #ebeced;
    background-color: #f7f7f7;
    border-radius: 8px;
}
.filefield_list > li:not(:first-child) {
    margin-top: 5px;
}
.filefield_list .file_name_box {
    display: inline-flex;
    margin-right: 15px;
    padding-right: 14px;
    background: url(../images/common/ico_black_download.png) no-repeat right center;
    background-size: 8px;
    color: #000;
    font-size: 13px;
    line-height: 18px;
    overflow: hidden;
}
.filefield_list .file_name {
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-family: "arial";
    letter-spacing: 0;
    padding-right: 2px;
}
.filefield_list .file_name span {
    font-family: "Pretendard";
}
.filefield_list .file_type {
    flex: none;
    letter-spacing: 0;
}
.filefield_list .btn_view {
    flex: none;
    height: 30px;
    padding: 0 24px 0 8px;
    margin-left: auto;
    border: 1px solid #acaeaf;
    border-radius: 8px;
    background: url(../images/common/btn_gray_search.png) no-repeat right 8px center;
    background-size: 12px;
    font-size: 13px;
    line-height: 28px;
}
.filefield_list .btn_view:hover {
    background-image: url(../images/common/btn_white_search.png);
    background-color: #45484b;
}
/********** E: sub layer popup **********/

/********** S: sub layer alert **********/
.layer_alert {
    display: flex;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 36px;
    z-index: 999;
    visibility: hidden;
    transition: 0s 0.2s;
}
.layer_alert.open {
    visibility: visible;
    transition: 0s;
}
.layer_alert .mask {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0);
    visibility: hidden;
    opacity: 0;
    transition: 0s;
}
.layer_alert.open .mask {
    visibility: visible;
    opacity: 1;
    transition: 0.2s;
}
.alert_box {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-height: 100%;
    position: relative;
    border-radius: 20px;
    background: #fff;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: 0.2s;
    overflow: hidden;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
}
.layer_alert.open .alert_box {
    opacity: 1;
    visibility: visible;
}
.alert_box .btn_close {
    position: absolute;
    top: 11px;
    right: 11px;
    width: 24px;
    height: 24px;
    background: url(../images/common/btn_layer_close.png) no-repeat center center;
    background-size: contain;
}
.alert_head {
    flex: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 48px;
    padding: 0 13px;
    border-bottom: 1px solid #e4e4e4;
}
.alert_head .title {
    color: #222;
    font-size: 20px;
    font-weight: 700;
}
.alert_body {
    flex: 1;
    position: relative;
    padding: 25px 10px 20px;
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    overflow: auto;
    overflow-x: hidden;
}
.alert_body > *:first-child {
    margin-top: 0;
}
.alert_ico {
    width: 40px;
    height: 40px;
    margin: 10px auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
.alert_ico.error {
    background-image: url(../images/common/ico_alert_error.png);
}
.alert_body .txt {
    font-size: 16px;
    line-height: 1.5;
}
.alert_body .subtxt {
    font-size: 14px;
    line-height: 1.5;
}
.btn_alert {
    flex: 1;
    height: 100%;
    display: block;
}
/********** E: layer alert **********/

/********** S: layer page **********/
.layer_page .layer_pop.open {
    visibility: visible;
    transition: 0s;
}
.layer_page .layer_pop .mask {
    display: none;
}
.layer_page .layer_pop .layer_box {
    width: 100%;
    display: block;
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    transform: translateY(0);
    box-shadow: none;
}
/********** E: layer page **********/

/* 반응형 */
@media screen and (max-width: 374px) {
    .btn_box button:nth-child(-n + 3) {
        margin-top: 10px;
    }
}
