@font-face {
    font-family: 'spoqaHanSansNeo';
    src: url('/static/fonts/SpoqaHanSansNeo-Light.woff2') format('woff2'), url('/static/fonts/SpoqaHanSansNeo-Light.ttf') format('truetype');
    font-weight: 300;
}

@font-face {
    font-family: 'spoqaHanSansNeo';
    src: url('/static/fonts/SpoqaHanSansNeo-Regular.woff2') format('woff2'), url('/static/fonts/SpoqaHanSansNeo-Regular.ttf') format('truetype');
    font-weight: 400;
}

@font-face {
    font-family: 'spoqaHanSansNeo';
    src: url('/static/fonts/SpoqaHanSansNeo-Medium.woff2') format('woff2'), url('/static/fonts/SpoqaHanSansNeo-Medium.ttf') format('truetype');
    font-weight: 500;
}

@font-face {
    font-family: 'spoqaHanSansNeo';
    src: url('/static/fonts/SpoqaHanSansNeo-Bold.woff2') format('woff2');
    font-weight: 700;
}


@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat-ExtraLight.ttf') format('truetype');
    font-weight: 200;
}
@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: 400;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat-Medium.ttf') format('truetype');
    font-weight: 500;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/static/fonts/Montserrat-Bold.ttf') format('truetype');
    font-weight: 600;
}


@font-face {
    font-family: 'roehoeChen';
    src: url('/static/fonts/ROEHOE-CHAN.ttf') format('truetype');
    font-weight: normal;
}

/* common */
body {
    background: url('/static/images/common/bg.jpg')repeat;
    background-position: 50% 50%;
    overflow-x: hidden;
    margin:0;
    padding:0;
}

div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
li,
ul,
ol,
button {
    margin: 0;
    padding: 0;
    font-size: 15px;
    font-family: 'SpoqaHanSansNeo', 'sans-serif';
    color: #45484b;
    box-sizing: border-box;
    letter-spacing: -0.075em;
    font-weight: 400;
}

a {
    text-decoration: none;
}

ol,
ul {
    list-style: none;
}

button {
    border: 0;
    outline: 0;
    background: transparent;
    cursor: pointer
}

b {
    font-family: 'spoqaHanSansNeo';
    font-weight: 500
}

strong {
    font-family: 'spoqaHanSansNeo';
    font-weight: 500
}

img {
    max-width: 100%;
}

br {
    display: block;
}

.mo_br {
    display: none;
}

#wraper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

/* font-size */
h2 {
    font-size: 42px;
    font-weight: 300;
    line-height: 50px;
    margin-bottom: 25px;
    text-align: center;
    letter-spacing: -.1em;
}

h3 {
    font-size: 36px;
    line-height: 50px;
    margin-bottom: 20px;
}

h4 {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 20px;
    font-family: 'spoqaHanSansNeo';
    letter-spacing: inherit;
    font-weight:500
}

h5 {
    font-size: 15px;
    line-height: 15px;
    text-align: center;
    color: #9b9dad;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 20px;
}

h5.mm {
    letter-spacing: 1px;
}

.ft_19 {
    font-family: 'SpoqaHanSansNeo', 'sans-serif';
    font-size: 19px;
    line-height: 30px;
    word-break: keep-all;
    /* font-weight: 500; */
    letter-spacing: inherit;
}

.ft_19 strong {
    /* margin-left: 5px; */
    letter-spacing: inherit;
    font-weight:700;
}

.mr {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0px;
    font-weight:400;
}

.mb {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0px;
    font-weight:600;
}

.mm {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 0px;
    font-weight:600;
}

.mt_15 {
    margin-top: 15px;
}

.mt_25 {
    margin-top: 25px;
}

.mt_30 {
    margin-top: 30px;
}

.sec .inner {
    position: relative;
    width: 1200px;
    margin: auto;
}


.flex {
    display: flex;
}

.align_left {
    text-align: left;
}

.align_center {
    text-align: center;
}

/* button */
.btn {
    position: relative;
    display: inline-block;
    width: auto;
    margin-top: 30px;
    overflow: hidden;
    border-radius: 30px;
    box-shadow: 6px 5px 15px 0px rgba(105, 138, 141, 0.3);
    transition: box-shadow 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: box-shadow;
}
.btn:hover{
    box-shadow: none;
}

.btn .more_btn {
    display: block;
    background: #009db8;
    border-radius: 30px;
    color: #fff;
    font-size: 13px;
    transition: .4s;
    padding: 10px 30px;
    text-align: center;
    margin: 0;
    overflow: hidden;
    line-height: normal;
}

.btn .button_on_circle,
.btn_type02 .button_on_circle {
    background-color: #000;
    border-radius: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 0px;
    height: 0px;
    margin-left: 0px;
    margin-top: 0px;
    pointer-events: none;
    animation-timing-function: ease-in-out;
}

.btn .desplode-circle {
    animation: desplode 0.5s forwards;
}

.btn .explode-circle {
    animation: explode 0.5s forwards;
}

.btn_type02 {
    border: 1px solid #1d1216;
    border-radius: 30px;
    box-shadow: 6px 5px 15px 0px rgba(105, 138, 141, 0.3);
    transition: box-shadow 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: box-shadow;
}

.btn_type02 a.more_btn {
    color: #1d1216;
    font-size: 18px;
    padding: 10px 30px;
    text-align: center;
    transition: .4s;
    line-height: 1;
    display: block;
    background:transparent;
}

.btn_type02 a i {
    margin-left: 20px;
}
.btn_type02 a span{
    position:relative;
    display:flex;
    align-items: center;
    justify-content: center;
    line-height:normal
}
.btn_type02 .desplode-circle {
    animation: desplode_type2 0.5s forwards;
}

.btn_type02 .explode-circle {
    animation: explode_type2 0.5s forwards;
}
.btn_type02:hover a.more_btn{
    color:#fff;
}


@keyframes desplode {
    0% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
        background-color: rgba(0, 0, 0, 0.15);
    }

    100% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(0, 0, 0, 0.15);
    }
}
@keyframes explode {
    0% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(0, 0, 0, 0.15);
    }
    100% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
        background-color: rgba(0, 0, 0, 0.15);
    }
}

@keyframes desplode_type2 {
    0% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
          background-color: rgba(29, 18, 22, 0.9);
    }
    100% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(29, 18, 22, 0.9);
    }
}    
@keyframes explode_type2 {
    0% {
        width: 0px;
        height: 0px;
        margin-left: 0px;
        margin-top: 0px;
        background-color: rgba(29, 18, 22, 0.9);
    }
    100% {
        width: 400px;
        height: 400px;
        margin-left: -200px;
        margin-top: -200px;
        background-color: rgba(29, 18, 22, 0.9);
    }
}    

.slick-prev:before,
.slick-next:before {
    display: none;
}

.point {
    color: #009dbb;
    font-family: 'spoqaHanSansNeo';
    font-weight: 500;
    letter-spacing: inherit;
}
.bold{
    font-weight:700
}


#wrapper {
    overflow: hidden
}

/* header */
.header {
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 99;
}

.menu_banner .banner_slide {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #009cc1;
    transition: height 0.5s cubic-bezier(0.2, 1.4, 0.8, 1.1);
}

.menu_banner .banner_slide p {
    color: #fff;
    font-size: 20px;
    letter-spacing: .5px;
    text-align: center;
}

.head_wrap .inner {
    height: 100px;
    display: flex;
    align-items: center;
    padding: 0 90px;
    transition: height 0.5s cubic-bezier(0.2, 1.4, 0.8, 1.1) 0.2s, box-shadow 0.3s ease, background 0.3s ease
}

.head_wrap .gnb {
    margin: auto;
}

.head_wrap .gnb .depth01 {
    display: flex;
    align-items: stretch;
}

.head_wrap .gnb .depth01>li {
    position: relative;
    padding: 40px 20px;
    transition: color 1s cubic-bezier(0.2, 0.9, 0.4, 1.1);
}

.head_wrap .gnb .depth01 li a {
    position: relative;
    font-size: 16px;
    color: #232325;
    font-weight: 400;
}

.head_wrap .gnb .depth01>li>a:after,
.head_wrap .util .h_login a:after {
    content: '';
    position: absolute;
    top: 60%;
    left: -10%;
    opacity: .2;
    background-position: 0 95%;
    transition: width 0.6s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    width: 0%;
    height: 40%;
    background: #27a3ac;
    z-index: 0;
}

.head_wrap .gnb .depth01>li:hover>a:after,
.head_wrap .util .h_login li:hover a:after {
    width: 120%;
}

.head_wrap .gnb .depth02 {
    position: absolute;
    width: auto;
    top: calc(100% - 20px);
    left: 50%;
    background: #fff;
    transform: translateX(-50%);
    border-top: 2px solid #67c5d5;
    padding: 20px 0 20px 30px;
    box-shadow: 0px 6px 21px 0px rgba(0, 0, 0, 0.12);
    -webkit-box-shadow: 0px 6px 21px 0px rgba(0, 0, 0, 0.12);
    display: none;
    opacity: 0;
}

.head_wrap .gnb .depth02 li {
    position: relative;
    padding: 10px 80px 10px 0;
    /* display:block; */
}

.head_wrap .gnb .depth02 li a {
    font-size: 14px;
    white-space: nowrap;
    line-height: 1.6;
    display: block;
    width: 100%;
}

.head_wrap .gnb .depth02 li a i {
    margin-left: 10px;
    position: absolute;
    top: 50%;
    right: -35px;
    opacity: 0;
    transform: translateY(-50%);
    color: #232325;
    transition: right 0.5s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.3s ease
}

.head_wrap .gnb .depth01>li:hover .depth02 {
    display: block;
    opacity: 1;
    -webkit-animation: fadeInFromNone 0.3s ease-out;
    -moz-animation: fadeInFromNone 0.3s ease-out;
    -o-animation: fadeInFromNone 0.3s ease-out;
    animation: fadeInFromNone 0.3s ease-out;
}

.head_wrap .gnb .depth02 li a:hover i {
    opacity: 1;
    right: -45px;
}

@keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

.head_wrap .util {
    display: flex;
    align-items: center;
}

.head_wrap .util .h_login {
    display: flex;
    align-items: center;
}
.head_wrap .util .h_login li{
    padding: 15px;
}
.head_wrap .util .h_login a {
    position:relative;
    text-transform: uppercase;
    font-family: 'Montserrat', sans-serif;
    font-weight:600;
    letter-spacing: 0;
    color:#232325
}

.head_wrap .util .gna_all {
    height: 52px;
    margin-left: 60px;
    display: flex;
    align-items: center;
    z-index: 9999;
}

.head_wrap .util .gna_all button {
    position: relative;
    width: 35px;
    height: 22px;
    top: -2px;
}

.head_wrap .util .gna_all button span {
    position: relative;
    display: block;
    width: 100%;
    height: 3px;
    background: #323232;
    transition: background 0.3s ease, opacity 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    will-change: transform;
}

.head_wrap .util .gna_all button span:before,
.head_wrap .util .gna_all button span:after {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 3px;
    background: #323232;
    left: 0;
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1), top 0.4s cubic-bezier(0.77, 0, 0.175, 1), bottom 0.4s cubic-bezier(0.77, 0, 0.175, 1);
}

.head_wrap .util .gna_all button span:before {
    top: -10px;
}

.head_wrap .util .gna_all button span:after {
    bottom: -10px;
}

.head_wrap .util .gna_all.active button span {
    background: #fff;
    transform: rotate(45deg);
}

.head_wrap .util .gna_all.active button span:before,
.head_wrap .util .gna_all.active button span:after {
    background: #fff;
    top: 0;
}

.head_wrap .util .gna_all.active button span:before {
    opacity: 0;
}

.head_wrap .util .gna_all.active button span:after {
    transform: rotate(90deg);
}

.header.fixed .menu_banner .banner_slide {
    height: 0;
}

.header.fixed .head_wrap .inner {
    background: #fff;
    height: 70px;
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.08);
}

.header.fixed .head_wrap .logo img {
    width: 80%;
}

.header.fixed .head_wrap .gnb .depth01>li {
    padding: 24px 20px;
}

.header.fixed .head_wrap .gnb .depth01 li a {
    font-size: 13px;
}

.header.fixed .head_wrap .gnb .depth01>li:hover .depth02 {
    top: 100%;
}

/* 전체 메뉴 */
.gnb_all_menu {
    position: absolute;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform 0.6s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.4s ease, visibility 0.4s ease;
    will-change: transform;

    opacity: 0;
    visibility: hidden;
}

.gnb_all_menu.active {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.gnb_all_menu .all_menu_cont {
    position: absolute;
    max-width: 580px;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 0;
    padding: 150px 100px 80px;
    background: #343434;
    z-index: 9996;
}

.gnb_all_menu .login_area {
    margin-bottom: 70px;
}

.gnb_all_menu .login_area ul {
    display: flex;
}

.gnb_all_menu .login_area ul li a {
    position: relative;
    color: #fff;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 18px;
    padding: 0 25px;
    letter-spacing: .5px;
}

.gnb_all_menu .login_area ul li a:after {
    content: '';
    position: absolute;
    width: 1px;
    height: 55%;
    background: #fff;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.gnb_all_menu .login_area ul li:first-child a {
    padding-left: 0;
}

.gnb_all_menu .login_area ul li:last-child a {
    padding-right: 0;
}

.gnb_all_menu .login_area ul li:last-child a:after {
    display: none;
}

.gnb_all_menu .menu_list {
    margin-bottom: 70px;
}

.gnb_all_menu .menu_list ul li {
    padding: 7px 0;
}

.gnb_all_menu .menu_list ul li a {
    font-size: 32px;
    font-weight: 700;
    line-height: normal;
    color: #fff;
    display: block;
    letter-spacing: inherit;
}

.gnb_all_menu .data_area {
    margin-bottom: 45px;
}

.gnb_all_menu .data_area .data_list {
    display: flex;
    margin-bottom: 5px;
    line-height: 1.5
}

.gnb_all_menu .data_area .data_list p {
    font-size: 24px;
    color: #fff;
    font-weight: 700;
    letter-spacing: inherit;
}

.gnb_all_menu .data_area .data_list.tel a {
    display: flex;
}

.gnb_all_menu .data_area .data_list .data_day {
    width: 150px;
    height: 22px;
    position: relative;
    display: inline-block;
    margin-right: 15px;
}

.gnb_all_menu .event_area .event_list a {
    font-size: 45px;
    display: block;
    line-height: 35px;
    padding: 10px 0;
    font-weight: 700;
}
.gnb_all_menu .event_area .event_list .point{
    color:#56dbda
}

.gnb_all_menu .event_area .event_list a:not(.point) {
    color: #fff;
}

.gnb_menu_mo {
    opacity: 0;
    visibility: hidden;
    display: none;
}

.all_menu_bg {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    background: rgba(0, 0, 0, 0.7);
    transition: opacity 2.6s cubic-bezier(.19, 1, .22, 1) 0.5s;
    will-change: opacity;
}

.gnb_all_menu.active .all_menu_bg {
    opacity: 1;
}

/* sidebar */
.sidebar {
    position: fixed;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

.sidebar .quick_menu {
    background: #fff;
    padding: 0 20px;
    box-shadow: 2px 15px 24px 0px rgba(0, 0, 0, 0.24);
}

.sidebar .quick_menu li {
    border-bottom: 1px solid rgba(52, 53, 53, 0.05)
}

.sidebar .quick_menu li a {
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #242424;
    transition: color 0.3s ease
}

.sidebar .quick_menu li a i {
    margin-bottom: 8px;
    font-size: 24px;
}

.sidebar .quick_menu li a p {
    font-size: 14px;
    letter-spacing: -.5px;
    color: #242424;
}

.sidebar .quick_menu li:hover a,
.sidebar .quick_menu li:hover a p {
    color: #37b2c7
}

.sidebar .top_btn {
    margin-top: 20px;
    cursor: pointer;
}

.sidebar .top_btn .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.sidebar .top_btn i {
    font-size: 24px;
    color: #000;
    line-height: 24px;
    font-weight: 700;
}

.sidebar .top_btn p {
    color: #000;
    font-size: 24px;
    line-height: 24px;
    font-weight: 700;
    text-transform: uppercase;
}

.sidebar .counsel {
    padding: 10px 0;
    text-align: center;
}

/* bottom_common */
.bottom_common {
    position: relative;
    overflow: hidden;
}

.bottom_common h4,
.bottom_common p,
.bottom_common span,
.bottom_common a {
    color: #fff;
}

.bottom_common>.flex {
    padding: 0 100px;
    justify-content: center;
    flex-wrap: wrap;
}

.bottom_common .flex .box {
    width: calc(100% / 4);
    padding: 35px 40px;
    height: 430px;
}

.bottom_common .box h4 {
    margin-bottom: 25px;
    opacity: .67;
    font-weight: 500
}

.bottom_common .box .tel {
    margin-bottom: 15px;
    line-height:1.5
}

.bottom_common .box .tel a {
    position:relative;
    font-size: 42px;
    line-height: 42px;
    font-weight: 500;
    display:inline-flex;
    align-items:center;
}
.bottom_common .box .tel a:after{
    content:'';
    position:absolute;
    width:0;
    height:1px;
    background:#fff;
    bottom:-5px;
    left:0;
    will-change: width;
    transition:width .3s ease-out;
}
.bottom_common .box .tel a:hover:after{
    width:100%;
}


.bottom_common .add_info_area {
    padding-top: 20px;
}

.bottom_common .add_info_area p {
    font-size: 16px;
    line-height: 16px;
    margin-bottom: 10px;
}

.bottom_common .add_info_area p:last-child {
    margin-bottom: 0;
}

.bottom_common .contact {
    background: #009db8;
    text-align: left;
}

.bottom_common .title_area {
    padding-bottom: 20px;
}

.bottom_common .contact .title_area {
    border-bottom: 1px solid rgba(254, 254, 254, 0.4)
}

.bottom_common .contact .info_area {
    padding: 20px 0;
    border-bottom: 1px solid rgba(254, 254, 254, 0.4)
}

.bottom_common .contact .info_area .info_list {
    margin-bottom: 10px;
    display: flex;
}

.bottom_common .contact .info_area .info_list span {
    font-size: 18px;
    line-height: 18px;
    font-family: 'spoqaHanSansNeo';
}

.bottom_common .contact .info_area .info_list .day {
    margin-right: auto;
}

.bottom_common .contact .info_area .info_list .time {
    letter-spacing: 0;
}

.bottom_common .contact .info_area .info_list:last-child {
    margin-bottom: 0;
}

.bottom_common .sub_info {
    font-size: 16px;
}

.bottom_common .consel {
    background: #2b2e39;
    text-align: left;
}

.bottom_common .consel .info_area .info_list {
    display: flex;
    border: 1px solid #818389;
    background: #42444e;
    margin-bottom: 5px;
}

.bottom_common .consel .info_area .info_list a {
    padding: 20px 25px;
}

.bottom_common .consel .info_area .info_list .logo_area {
    font-size: 40px;
    margin-right: 30px;
    display: flex;
    align-items: center;
}

.bottom_common .consel .info_area .info_list .text_area span {
    display: block;
    text-transform: uppercase;
}

.bottom_common .consel .info_area .info_list .text_area .name {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 18px;
    font-weight: 400
}

.bottom_common .location h4,
.bottom_common .location p,
.bottom_common .location span {
    color: #45484b
}

.bottom_common .location {
    background: #fff;
}

.bottom_common .location .title_area {
    border-bottom: 1px solid rgba(129, 131, 137, 0.4)
}

.bottom_common .location .title_area h4 {
    margin: 0;
}

.bottom_common .location .info_area {
    border-bottom: 1px solid rgba(129, 131, 137, 0.4);
    padding: 15px 0;
}

.bottom_common .location .info_area p {
    font-size: 18px;
    line-height: 24px;
}

.bottom_common .location .direction {
    padding: 15px 0 10px;
}

.bottom_common .location .direction h4 {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 24px;
    opacity: 1;
}

.bottom_common .location .direction li,
.bottom_common .location .direction p {
    font-size: 16px;
    line-height: 24px;
}

.bottom_common .location .direction ul {
    margin-bottom: 15px;
}

.bottom_common .location .direction span {
    padding: 2px 7px;
    border-radius: 30px;
    font-size: 12px;
    line-height: 11px;
    color: #fff;
    margin-left: 5px;
}

.bottom_common .location .direction .green {
    background: #5fb73c
}

.bottom_common .location .direction .blue {
    background: #7182f5
}

.bottom_common .location .btn {
    margin-top: 0;
}

.bottom_common .flex .box.map {
    padding: 0;
}

.root_daum_roughmap .wrap_controllers,
.root_daum_roughmap .cont {
    display: none;
}

/* footer */
footer {
    padding: 60px 0;
    text-align: center;
}

footer .logo_area {
    margin-bottom: 35px;
}

footer ul {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 35px;
}

footer li {
    border-right: 1px solid #d8d8d8;
}

footer li:last-child {
    border-right: 0;
}

footer li a {
    font-size: 18px;
    padding: 0 20px;
    line-height: 18px;
}

footer li:hover a {
    text-decoration: underline;
}

footer .info_area p {
    margin-bottom: 10px;
    line-height: 1.3;
}

.sub_tab {
    margin-bottom: 60px;
}

.sub_tab .inner {
    max-width: 1200px;
    margin: auto;
}

.sub_tab .inner ul {
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(87, 99, 101, 0.3)
}

.sub_tab .inner ul li {
    padding: 20px;
    position: relative;
}

.sub_tab .inner ul li a {
    font-size: 18px;
    line-height: 18px;
    font-family: 'spoqaHanSansNeo';
    opacity: 0.4;
    font-weight:700
}

.sub_tab .inner ul li.active a {
    opacity: 1;
}

.sub_tab .inner ul li.active:after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 4px;
    background: #000;
}

.root_daum_roughmap .wrap_btn_zoom {
    z-index: 0 !important;
}

.popup .inner{
    padding:15px;
}
.popup .popup_head{
    margin:0;
    padding:20px 10px;
    border-radius:5px;
    border:1px solid #ececec;
    background: #fafafa;
    text-align: center;
}
.popup .popup_head h2{
    font-size: 12px;
    line-height: 24px;
    font-weight: 700;
    margin: 0;
}

.popup .popup_inp{
    margin-top:30px;
    padding:20px 30px;
    border-top:2px solid #ececec;
    border-bottom:2px solid #ececec;
}
.popup .popup_inp .popup_lst + .popup_lst{
    margin-top:8px;
}
.popup .popup_inp label{
    display:inline-block;
    width:120px;
    font-size:13px;
    font-weight:700
}
.popup .popup_inp label:before{
    content:'';
    display:inline-block;
    position:relative;
    top:-3px;
    width:3px;
    height:3px;
    margin-right:7px;
    background:#999;
}
.popup .popup_inp input{
    max-width:100%;
    height:25px;
    margin:0;
    padding: 0 5px;
    font-size:13px;
    border:1px solid #ddd;
    line-height: normal;
    box-sizing:border-box
}
.popup .popup_slt h2{
    margin:20px 0 10px;
    padding:0;
    font-size:21px;
    line-height:25px;
    text-align: center;
    color:#000;
    font-weight:700;
}
.popup .popup_slt h2::before{
    content:'';
    position:relative;
    top:0;
    margin-right:8px;
    border-left:3px solid #777;
}
.popup .popup_slt .find_radio{
    display:flex;
    align-items:center
}
.popup .popup_slt .find_radio label{
    display:flex;
    align-items: center;
    width:auto;
}
.popup .popup_slt span{
    font-size:13px;
    margin-right: 10px;
} 

.popup .popup_slt input{
    margin-top:0;
}
.popup_footer{
    padding:10px;
    font-size:0;
    text-align:center;
}
.popup_footer a{
    height:35px;
    padding: 0 20px;
    line-height:33px;
    display:inline-block;
    border:1px solid #bbb;
    border-radius: 3px;
    background:#ccc;
    box-shadow: inset 1px 1px 0 rgba(255,255,255,0.3);
    font-size: 12px;
    font-weight: 700;
    color: #333;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    margin:3px;
}
.popup_footer .btn_type02{
    background:#3d3d3d;
    border: 1px solid #373737;
    color:#fff;
}

@media(max-width:1750px) {

    /* header */
    .menu_banner .banner_slide {
        height: 50px;
    }

    .menu_banner .banner_slide p {
        font-size: 18px;
    }

    .head_wrap {
        height: 60px;
        background: #fff;
    }

    .head_wrap .inner {
        padding: 0 15px;
        height: auto;
    }

    .head_wrap .logo {
        min-height: 1px;
        margin-right: auto;
    }

    .head_wrap .logo a {
        display: block;
        padding: 15px 0;
    }

    .head_wrap .logo a img {
        max-width: 60%;
    }

    .head_wrap .util .h_login {
        display: none;
    }

    .head_wrap .gnb {
        display: none;
    }

    .head_wrap .util .gna_all {
        width: 25px;
        height: 15px;
        top: 0;
    }

    .head_wrap .util .gna_all button {
        width: 25px;
        height: 15px;
    }

    .head_wrap .util .gna_all button span {
        top: 2px;
    }

    .head_wrap .util .gna_all button span:before {
        top: -7px;
    }

    .head_wrap .util .gna_all button span:after {
        bottom: -7px;
    }

    .header.active .menu_banner .banner_slide {
        height: 0;
    }

    .all_menu_cont {
        display: none;
    }

    .gnb_all_menu .gnb_menu_mo {
        position: absolute;
        width: 60vw;
        height: 100vh;
        background: #fff;
        right: 0;
        top: 0;
        z-index: 999;
        transform: translateX(100%);
        will-change: transform;
        opacity: 0;
    }

    .gnb_all_menu.active .gnb_menu_mo {
        display: block;
        opacity: 1;
        visibility: visible;
        transform: translateX(0);
    }

    .gnb_menu_mo .login_area {
        padding: 10px 20px;
        margin: 50px 0 20px;
    }

    .gnb_all_menu .gnb_menu_mo .menu_list ul li {
        padding: 0;
    }

    .gnb_menu_mo .login_area ul li a,
    .gnb_menu_mo .menu_list ul li a {
        color: #323232
    }

    .gnb_menu_mo .login_area ul li a:after {
        background: #323232
    }

    .gnb_menu_mo .menu_list {
        padding: 10px 20px;
        margin-bottom: 10px;
    }

    .gnb_menu_mo .menu_list ul>li {
        margin-bottom: 15px;
    }

    .gnb_menu_mo .menu_list ul>li>a {
        position: relative;
        font-size: 16px;
        display: flex;
        align-items: center;

    }

    .gnb_all_menu .menu_list .depth02 {
        margin-top: 0;
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;
        transition: max-height .4s cubic-bezier(.77, 0, .175, 1),
            opacity .3s cubic-bezier(.77, 0, .175, 1),
            margin-top .3s cubic-bezier(.77, 0, .175, 1),
            visibility .1s;
    }

    .gnb_all_menu .menu_list .depth02>li {
        margin-bottom: 15px;
        padding: 0;
    }

    .gnb_all_menu .menu_list .depth02 a {
        font-size: 13px;
        color: #999;
        transition: color .3s ease;
        padding-left: 5px;
        font-weight: 400;
    }

    .gnb_all_menu .menu_list ul>li>a .detail_icon {
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        width: 8px;
        height: 8px;
        transition: transform .5s ease;
        will-change: transform;
    }

    .gnb_all_menu .menu_list ul>li>a .detail_icon span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        background: #999;
    }

    .gnb_all_menu .menu_list ul>li>a .detail_icon .width {
        width: 8px;
        height: 1px;
    }

    .gnb_all_menu .menu_list ul>li>a .detail_icon .height {
        width: 1px;
        height: 8px;
    }

    .gnb_all_menu .menu_list ul>li.active .detail_icon {
        transform: translateY(-50%) rotate(180deg);
    }

    .gnb_all_menu .menu_list ul>li.active .detail_icon .height {
        opacity: 0;
    }

    .gnb_all_menu .menu_list ul>li.active .depth02 {
        margin-top: 15px;
        max-height: 500px;
        overflow: visible;
        visibility: visible;
        opacity: 1;
    }

    .all_menu_bg {
        position: absolute;
        width: 100%;
        height: 100%;
        opacity: 0;
        background: rgba(0, 0, 0, 0.5);
        transition: opacity 2.6s cubic-bezier(.19, 1, .22, 1) 0.5s;
        will-change: opacity;
    }

    .gnb_all_menu.active .all_menu_bg {
        opacity: 1;
    }

    .head_wrap .util .gna_all.active button span {
        background: #323232;
        opacity: 1;
    }

    .head_wrap .util .gna_all.active button span:before,
    .head_wrap .util .gna_all.active button span:after {
        background: #323232;
    }

    .scroll_area {
        overflow-y: auto;
        max-height: calc(100vh - 110px);
    }

    .gnb_all_menu .login_area ul li a {
        padding: 0 15px;
        font-size: 16px;
    }

    .gnb_menu_mo .time_area {
        padding: 10px 20px;
    }

    .gnb_menu_mo .time_area h2 {
        text-align: left;
        font-size: 16px;
        font-weight: 700;
        margin-bottom: 10px;
        display: flex;
        align-items: center;
        line-height: normal
    }

    .gnb_menu_mo .time_area h2 i {
        margin-left: 5px;
    }

    .gnb_all_menu .data_area {
        margin-bottom: 0;
    }

    .gnb_all_menu .data_area .data_list {
        line-height: normal;
        margin-bottom: 10px;
    }

    .gnb_all_menu .data_area .data_list p {
        color: #323232;
        font-size: 12px;
        font-weight: 400;
    }

    .gnb_all_menu .data_area .data_list .data_day {
        height: auto;
    }

    .gnb_all_menu .event_area {
        padding: 10px 20px 106px
    }

    .gnb_all_menu .event_area .event_list a {
        font-size: 18px;
        line-height: normal;
        padding: 0;
    }

    .gnb_all_menu .event_area .event_list a:not(.point),
    .gnb_all_menu .event_area .event_list a {
        color: #323232
    }

    .gnb_all_menu .event_area .event_list:first-child {
        margin-bottom: 10px;
    }
}

@media(max-width:1200px) {
    .sec .inner {
        max-width: 100%;
        padding: 0 15px;
    }



    .sub_tab {
        margin-bottom: 30px;
    }

    .sub_tab .inner {
        width: 100%;
        padding: 0 15px;
    }

    .sub_tab .inner ul li {
        padding: 10px;
    }

    .sub_tab .inner ul li a {
        font-size: 13px;
        line-height: 1;
    }


    .bottom_common>.flex {
        padding: 0 15px;
    }

    .bottom_common .flex .box {
        width: calc(100% / 2)
    }
    

    .sidebar {
        display: none;
    }

}

@media(max-width:780px) {
    .align_left {
        text-align: center
    }

    h2 {
        font-size: 21px;
        line-height: 25px;
        text-align: center;
        margin-bottom: 15px;
    }

    h4 {
        font-size: 15px;
        line-height: 18px;
        margin-bottom: 15px;
    }

    h5 {
        font-size: 15px;
        line-height: 18px;
        margin-bottom: 15px;
        text-align:center;
    }

    .ft_19 {
        font-size: 13px;
        line-height: 18px;
    }

    br {
        display: none;
    }

    .mo_br {
        display: block;
    }

    .btn .more_btn {
        font-size: 12px;
        padding: 6px 18px;
    }




    .flex {
        flex-direction: column;
    }


    .mt_30 {
        margin-top: 15px;
    }

    .btn_type02 a.more_btn{
        font-size:12px;
        padding:6px 18px;
    }

    /* header */
    .menu_banner .banner_slide p {
        font-size: 13px;
    }

    .gnb_all_menu .data_area .data_list {
        flex-direction: column;
    }

    /* 오시는길 */
    .bottom_common .title_area {
        text-align: center;
    }

    .bottom_common>.flex {
        padding: 0 15px;
    }

    .bottom_common .flex .box {
        width: 100%;
        padding: 25px 15px;
        height: auto;
        margin-bottom: 15px;
        text-align: center;
    }

    .bottom_common .contact .title_area {
        padding-bottom: 10px;
    }

    .bottom_common .box h4 {
        font-size: 15px;
        line-height: 18px;
        margin-bottom: 15px;
    }

    .bottom_common .box .tel a {
        font-size: 25px;
        line-height: 25px;
    }

    .bottom_common .sub_info {
        font-size: 13px;
    }

    .bottom_common .contact .info_area {
        padding: 10px 0;
    }

    .bottom_common .contact .info_area .info_list span {
        font-sizE: 13px;
    }

    .bottom_common .add_info_area {
        padding-top: 10px;
    }

    .bottom_common .add_info_area p {
        font-size: 13px;
        line-height: 13px;
    }

    .bottom_common .consel .info_area .info_list {
        justify-content: center;
    }

    .bottom_common .consel .info_area .info_list .flex {
        flex-direction: row;
    }

    .bottom_common .consel .info_area .info_list .logo_area {
        font-size: 25px;
    }

    .bottom_common .consel .info_area .info_list .text_area{
        margin-bottom:0;
    }
    .bottom_common .consel .info_area .info_list .text_area .name {
        font-size: 15px;
        line-height: 15px;
    }

    .bottom_common .consel .info_area .info_list .text_area span {
        font-size: 13px;
        line-height: 13px;
    }
    

    .bottom_common .location .info_area,
    .bottom_common .location .direction {
        padding: 10px 0;
    }

    .bottom_common .location .info_area p,
    .bottom_common .location .direction li,
    .bottom_common .location .direction p {
        font-size: 13px;
        line-height: 17px;
    }
    

    .bottom_common .location .direction h4 {
        font-size: 15px;
        line-height: 15px;
        margin-bottom: 5px;
    }

    .bottom_common .location .direction span {
        font-size: 10px;
        padding: 1px 7px;
    }

    .bottom_common .flex .box.map {
        margin: 0;
    }
    .bottom_common .root_daum_roughmap_landing{
        width:100% !important;
    }

    .root_daum_roughmap .wrap_map {
        height: 350px !important;
        min-height: 350px
    }

    /* footer */
    footer {
        padding: 50px 0;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    footer>div {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    footer .logo_area img {
        max-width: 60%;
    }

    footer .logo_area {
        margin-bottom: 15px;
    }

    footer ul {
        margin-bottom: 15px;
    }

    footer li a {
        font-size: 13px;
        line-height: 13px;
        padding: 0 10px;
    }

    footer .info_area p {
        font-size: 13px;
    }

    footer .info_area .copy {
        font-size: 10px;
        font-weight: 500;
    }
}



.beauty_sec h2,
.beauty_sec h2 p,
.beauty_sec h2 strong {
    font-family: 'Montserrat';
    letter-spacing: 0;
    font-weight:300
}

.beauty_sec h2 {
    font-size: 40px;
    text-transform: uppercase;
    margin-bottom: 25px;
    text-align: center;
}
.beauty_sec h2 strong{
    font-weight:500
}

.beauty_sec h2 p {
    text-align: center;
    font-size: 28px;
    font-weight: 500;
    line-height: 40px;
    text-transform: capitalize;
    
}

@media(max-width:780px) {

    .beauty_sec h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .beauty_sec h2 p {
        font-size: 15px;
        line-height: 17px;
        margin-top: -3px;
    }
    
}

/* fade motion */
/* h2.aos-animate {
    animation: line_motion 1s cubic-bezier(.2, 0, .1, 1) both;
    animation-delay: calc(300ms * var(--line-index));
} */

.text_info.aos-animate .word {
    animation: line_motion .7s cubic-bezier(.2, 0, .1, 1) both;
    will-change: transform;
    animation-delay: calc(160ms * var(--line-index));
}

@keyframes line_motion {
    0% {
        transform: translateY(1.5em);
        opacity: 0;
    }

}

.img_area {
    position: relative;
    overflow: hidden;
    height: 100%;
}

.aos-animate.img_area {
    will-change: transform, opacity;
    transition: transform 1s cubic-bezier(.2, 0, .1, 1), opacity 1s cubic-bezier(.2, 0, .1, 1);
}

.aos-animate.img_area .ani_img_inner {
    animation: 0.9s cubic-bezier(0.76, 0, 0.24, 1) 0s both paused slide-in-right;
    animation-play-state: running;
}

.ani_img_inner:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ddd;
}

.aos-animate.img_area .ani_img_inner:after {
    animation: 0.9s cubic-bezier(0.76, 0, 0.24, 1) 0.4s both paused slide-out-right;
    animation-play-state: running;
}

.aos-animate.img_area .ani_img_inner img {
    animation: 1.5s cubic-bezier(0.76, 0, 0.24, 1) 0.2s both paused scale-in-down;
    animation-play-state: running;
}

@keyframes slide-in-right {
    0% {
        transform: translate3D(-100%, 0, 0);
    }

    100% {
        transform: translate3D(0, 0, 0);
    }
}

@keyframes slide-out-right {
    0% {
        transform: translate3D(0, 0, 0);
    }

    100% {
        transform: translate3D(100%, 0, 0);
    }
}

@keyframes scale-in-down {
    0% {
        transform: scale(1.3);
    }

    100% {
        transform: scale(1);
    }
}
