@charset "utf-8";

/* font */
@font-face {
    font-family: 'Nanum Barun Gothic';
    font-style: normal;
    font-weight: 200;
    src: url(../fonts/NanumBarunGothicUltraLight.eot);
    src: local('Nanum Barun Gothic UltraLight'),
        local('NanumBarunGothicUltraLight'),
        url(../fonts/NanumBarunGothicUltraLight.eot?#iefix) format('embedded-opentype'),
        url(../fonts/NanumBarunGothicUltraLight.woff2) format('woff2'),
        url(../fonts/NanumBarunGothicUltraLight.woff) format('woff'),
        url(../fonts/NanumBarunGothicUltraLight.ttf) format('truetype');
}

@font-face {
    font-family: 'Nanum Barun Gothic';
    font-style: normal;
    font-weight: 300;
    src: url(../fonts/NanumBarunGothicLight.eot);
    src: local('Nanum Barun Gothic Light'),
        local('NanumBarunGothicLight'),
        url(../fonts/NanumBarunGothicLight.eot?#iefix) format('embedded-opentype'),
        url(../fonts/NanumBarunGothicLight.woff2) format('woff2'),
        url(../fonts/NanumBarunGothicLight.woff) format('woff'),
        url(../fonts/NanumBarunGothicLight.ttf) format('truetype');
}

@font-face {
    font-family: 'Nanum Barun Gothic';
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/NanumBarunGothic.eot);
    src: local('Nanum Barun Gothic'),
        local('NanumBarunGothic'),
        url(../fonts/NanumBarunGothic.eot?#iefix) format('embedded-opentype'),
        url(../fonts/NanumBarunGothic.woff2) format('woff2'),
        url(../fonts/NanumBarunGothic.woff) format('woff'),
        url(../fonts/NanumBarunGothic.ttf) format('truetype');
}

@font-face {
    font-family: 'Nanum Barun Gothic';
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/NanumBarunGothicBold.eot);
    src: local('Nanum Barun Gothic Bold'),
        local('NanumBarunGothicBold'),
        url(../fonts/NanumBarunGothicBold.eot?#iefix) format('embedded-opentype'),
        url(../fonts/NanumBarunGothicBold.woff2) format('woff2'),
        url(../fonts/NanumBarunGothicBold.woff) format('woff'),
        url(../fonts/NanumBarunGothicBold.ttf) format('truetype');
}

/* reset */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
textarea,
p,
blockquote,
th,
td,
input,
select,
textarea,
button {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

fieldset,
img {
    border: 0 none
}

dl,
ul,
ol,
menu,
li {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none
}

input,
select,
textarea,
button {
    font-size: 100%;
    vertical-align: middle
}

button {
    border: 0 none;
    background-color: transparent;
    cursor: pointer
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body {
    -webkit-text-size-adjust: none
}

/* 뷰표트 변환시 폰트크기 자동확대 방지 */
input[type='text'],
input[type='password'],
input[type='submit'],
input[type='search'] {
    -webkit-appearance: none;
    border-radius: 0
}

input:checked[type='checkbox'] {
    background-color: #666;
    -webkit-appearance: checkbox
}

button,
input[type='button'],
input[type='submit'],
input[type='reset'],
input[type='file'] {
    -webkit-appearance: button;
    border-radius: 0
}

input[type='search']::-webkit-search-cancel-button {
    -webkit-appearance: none
}

body {
    background: #fff
}

body,
th,
td,
input,
select,
textarea,
button {
    font-size: 13px;
    line-height: 1.4;
    font-family: 'Nanum Barun Gothic', 'Malgun Gothic', '맑은 고딕', sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #333
}

/* color값은 디자인가이드에 맞게사용 */
a {
    color: inherit;
    text-decoration: none
}

a:active,
a:hover {
    text-decoration: none
}

address,
caption,
cite,
code,
dfn,
em,
var {
    font-style: normal;
    font-weight: normal
}

i,
cite,
em,
var,
address,
dfn {
    font-style: normal;
}

.ir {
    display: block;
    overflow: hidden;
    text-indent: -9999px;
    width: 0px;
    height: 0px;
}

.invisible {
    position: absolute;
    overflow: hidden;
    left: -1000%;
    top: auto;
    width: 1px;
    height: 1px;
}

.ff>li {
    float: left;
}

.ff:after {
    clear: both;
    content: '';
    display: block;
}

.ellipsis {
    overflow: hidden;
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.5px;
}

.dim {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer
}

img {
    max-width: 100%;
    vertical-align: top;
}

button,
a {
    cursor: pointer
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: normal;
}

.pdn {
    padding: 0;
}

.mt20 {
    margin-top: 20px
}

.bold {
    font-weight: bold;
}

#mContainer {
    position: relative;
    text-align: center;
    min-height: calc(100vh - 46px - 143px);
}


.tab_ty01 {
    position: relative;
    display: table;
    width: 100%;
    table-layout: fixed
}

.tab_ty01>li {
    display: table-cell;
    vertical-align: middle;
    padding: 0
}

.tab_ty01>li>a {
    position: relative;
    display: block;
    width: 100%;
    height: 30px;
    text-align: center;
    background-color: #fff;
    border: 1px solid #dee1e6;
    border-left: none
}

.tab_ty01>li>a::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle
}

.tab_ty01>li:first-child>a {
    border-left: 1px solid #dee1e6
}

.tab_ty01>li>a>span {
    display: inline-block;
    font-size: 16px;
    letter-spacing: -0.25px;
    color: #495058;
    vertical-align: middle
}

.tab_ty01>li.on>a {
    background-color: #0168b7
}

.tab_ty01>li.on>a>span {
    color: #fff
}

.tab_ty01>li.on>a:after {
    content: '';
    display: block;
    position: absolute;
    bottom: -5px;
    left: 50%;
    width: 0px;
    height: 0px;
    border-top: 15px solid transparent;
    border-right: 15px solid #0168b7;
    transform: translateX(-50%) rotate(45deg);
    z-index: 1
}

.tab_detail {
    display: none;
    padding: 0 20px
}

.tab_detail.show {
    display: block
}



/* gnb */
#mHeader {
    position: relative;
    height: 46px;
    text-align: center;
    background: #fff;
}

#mHeader .logo {
    line-height: 46px;
}

#mHeader .logo img {
    width: 98px;
    vertical-align: middle;
}

#mHeader .nav_open {
    position: absolute;
    left: 16px;
    top: 17px;
    width: 19px;
    height: 14px;
    background: url(../images/common/nav_open_btn.png) no-repeat 0 0;
    background-size: 100%;
}

#mHeader .util {
    display: inline-block;
    position: absolute;
    right: 14px;
    top: 15px;
    height: 21px
}

#mHeader .m_search {
    display: inline-block;
    width: 21px;
    height: 21px;
    background: url(../images/common/m_search.png) no-repeat 0 0;
    background-size: 100%;
}

#mHeader .m_share {
    display: inline-block;
    margin-left: 5px;
    width: 21px;
    height: 21px;
    background: url(../images/common/share.png) no-repeat 0 0;
    background-size: 100%;
}

#mHeader .search_layer {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 0 0 20px;
    background-color: #fff;
    box-sizing: border-box;
    border-bottom: 1px solid #dfe3e6;
    z-index: 10
}

#mHeader .search_layer.on {
    display: block
}

#mHeader .search_layer .tit {
    font-size: 20px;
    line-height: 27px;
    color: #000;
    font-weight: bold
}

#mHeader .search_layer .search_box {
    position: relative;
    margin-top: 5px;
    width: 100%;
    height: 48px;
    border-bottom: 2px solid #000
}

#mHeader .search_layer .search_box input {
    width: 100%;
    height: 100%;
    border: none;
    padding: 15px 50px 14px 0;
    color: #898989;
    box-sizing: border-box
}

#mHeader .search_layer .search_box .btn_search {
    position: absolute;
    padding: 0;
    top: 0px;
    right: 0px;
    width: 20px;
    height: 50px;
    background: url('../images/common/icon_search_line.png') no-repeat center center;
    background-size: 20px auto;
    font-size: 0;
    text-indent: -99999px
}

#mHeader .search_layer .search_tab {
    font-size: 0
}

#mHeader .search_layer .search_tag {
    overflow: hidden;
    margin-top: 3px;
    max-height: 56px;
    text-align: left
}

#mHeader .search_layer .search_tag .tag {
    display: inline-block;
    margin-top: 10px;
    margin-right: 5px;
    font-size: 14px;
    color: #495057;
    word-break: keep-all;
    vertical-align: top
}

#mHeader .search_layer .search_tag .tag span {
    display: inline-block;
    margin-right: 3px;
    color: #495057
}


#mNav {
    position: fixed;
    z-index: 1000;
    overflow-y: auto;
    top: 0;
    left: -87%;
    opacity: 0;
    width: 87%;
    height: 100vh;
    transition: all .3s ease 0s;
    background: #fff;
}

#mNav.active {
    left: 0;
    opacity: 1;
}

#mNav .top {
    position: relative;
    height: 46px;
    background: #267fc2;
}

#mNav .top .nav_close {
    position: absolute;
    left: 16px;
    top: 15px;
    width: 18px;
    height: 18px;
    background: url(../images/common/nav_close_btn.png) no-repeat 0 0;
    background-size: 100%;
}

#mNav .top .language {
    position: absolute;
    right: 16px;
    top: 9px;
    border: 1px solid #fff;
    border-radius: 4px;
}

#mNav .top .language:after {
    clear: both;
    content: '';
    display: block;
}

#mNav .top .language dd {
    float: left;
}

#mNav .top .language dd a {
    display: inline-block;
    padding: 4px 12px;
    color: #fff;
}

#mNav .top .language dd.on {
    background: #fff;
}

#mNav .top .language dd.on a {
    color: #267fc2;
}

#mNav #mNavList {
    position: relative;
    background: #fff;
}

#mNav #mNavList li {
    line-height: 41px;
    border-bottom: 1px solid #d3d5d6;
    font-size: 16px;
}

#mNav #mNavList li:last-child {
    border-bottom: none;
}

#mNav #mNavList>li:last-child {
    border-bottom: 1px solid #d3d5d6
}

#mNav #mNavList li a {
    display: block;
    padding-left: 20px;
    padding-right: 50px;
}

#mNav #mNavList>li>a,
#mNav #mNavList a.more {
    background: url(../images/common/nav_arrow.png) no-repeat right 20px center;
    background-size: 8px 7px;
}

#mNav #mNavList .depth2,
#mNav #mNavList .depth3 {
    display: none;
    border-top: 1px solid #d3d5d6;
    color: #666;
}

#mNav #mNavList .depth2 {
    background: #f6f8f9;
}

#mNav #mNavList .depth2>li>a {
    padding-left: 40px;
}

#mNav #mNavList .depth3 {
    background: #e7ecee;
}

#mNav #mNavList .depth3>li>a {
    padding-left: 60px;
}

#mNav #mNavList .depth3>li>a:before {
    content: '-';
    padding-right: 5px;
}

#fixTop {
    position: fixed;
    bottom: 0;
    right: 15px;
    z-index: 20;
    opacity: 1;
    transition: all .3s ease 0s;
}

#fixTop.top {
    opacity: 0;
}

#fixTop.bottom {
    position: absolute;
}

#fixTop a {
    display: block;
    width: 31px;
    height: 31px;
    background: url(../images/common/fix_arrow_top.png) no-repeat 0 0;
    background-size: 100%;
    cursor: pointer;
}

#mFooter {
    background: #eef1f4;
    text-align: center;
    color: #666;
}

#mFooter .siteWrap {
    padding: 15px;
    border-top: 1px solid #d3d5d6;
}

#mFooter .siteWrap .family_site {
    position: relative;
}

#mFooter .siteWrap .family_site:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border-bottom: 6px solid #666;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
}

#mFooter .siteWrap .family_site select {
    width: 100%;
    line-height: 35px;
    height: 35px;
    padding-left: 15px;
    border: 1px solid #d3d5d6;
    background: #e3e6e9;
    appearance: none;
    -webkit-appearance: none;
}

#mFooter .siteWrap .link_site {
    padding-top: 10px;
}

#mFooter .siteWrap .link_site li {
    display: inline-block;
    margin-right: 8px;
    vertical-align: top
}

#mFooter .siteWrap .link_site .pcVer i {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-right: 3px;
    background: url(../images/common/icon_change_pc.png) no-repeat 0 0;
    background-size: 100%;
    vertical-align: -1px;
}

#mFooter .copy_right {
    padding: 15px;
    border-top: 1px solid #d3d5d6;
}

/* main popup 20200708 */
.layer_wrap {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.3);
    cursor: pointer;
    z-index: 30
}

.layer_wrap.on {
    display: block
}

.layer_wrap .layer_cont {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    box-sizing: border-box
}

.layer_wrap .layerpopup-container {
    background-color: #fff;
    text-align: center;
    border: 7px solid #23c1c0
}

.layer_wrap .txt_area {
    padding: 15px;
    height: auto;
}

.layer_wrap .txt_area h3 {
    font-size: 15px;
    font-weight: bold;
    text-align: center
}

.layer_wrap .txt_area p {
    margin-bottom: 5px;
    font-size: 11px;
    color: #666;
    word-break: auto-phrase;
}

.layer_wrap .txt_area p.date {
    font-size: 13px;
    font-weight: bold
}

.layer_wrap .txt_area .sign_img {
    margin: 5px 0;
    width: 90px;
    height: auto
}

.layer_wrap .txt_area .sign_txt {
    font-size: 11px;
    font-weight: bold;
    color: #007f7e
}

.layer_wrap .layer_cont .layer_close {
    float: right;
    display: block;
    margin-top: 10px;
    padding-right: 30px;
    height: 18px;
    font-size: 14px;
    color: #fff;
    background: url(../images/common/nav_close_btn.png) no-repeat right 0;
    background-size: auto 17px;
    z-index: 100
}

.layer_wrap .swiper-pagination {
    position: relative;
    margin-bottom: 5px
}

.layer_wrap .swiper-pagination-bullet-active {
    background-color: #0e4e7c
}