body, html {font-size: 16px; letter-spacing: -0.005em; font-family: 'Pretendard', sans-serif !important; scroll-behavior: smooth;}
span.blind {font-size: 0 !important; width: 0; height: 0; line-height: 0; opacity: 0; text-indent: -9999px; visibility: hidden;}
.container {width: 100%; padding: 0 20px; box-sizing: border-box;}
.s_container {width: 100%; padding: 0 20px; box-sizing: border-box;}

:root {
  --m-color: #EE1C25;
  --m-color-70: rgba(238, 28, 37, 0.7);
  --m-color-50: rgba(238, 28, 37, 0.5);
  --txt-c0: #999;
  --txt-c1: #666;
  --txt-c2: #222;
  --txt-c3: #333;
  --txt-c4: #000;
  --border: #ddd;
  --border-ff: #f8f8f8;
  --border-ee: #e9e9e9;
}


header {width: 100%; height: 70px; background: transparent; position: fixed; top: 0; left: 0; z-index: 105; transition: 0.3s background-color ease-in-out;}
header .container {padding: 12px 20px 0; box-sizing: border-box; width: 100%; display: flex; justify-content: space-between; align-items: flex-start; height: 100%;}
header .container h1 {flex: none; width: 70px; height: 35px;}
header .container h1 a {display: block; width: 100%; height: 100%; background: url(/m/img/comm/logo.png) 50% 50% no-repeat; background-size: 100% auto;}
header .container .open-gnb {width: 25px; height: 22px; display: block; margin: 12px 0 0; background: url(/m/img/comm/menu.png) 50% 50% no-repeat; background-size: 100% auto;}
header .go_dir {position: absolute; top: 22px; right: 55px; width: 97px; line-height: 25px; height: 25px; background: #145adb url(/m/img/comm/go_dir.png) calc(100% - 10px) 50% no-repeat; box-sizing: border-box; border: 1px solid #145adb; padding: 0 0 0 10px; font-size: 12px; color: #fff; font-weight: 300; display: block;}

header.active {background: #fff; box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);}
header.active .container h1 a {background: url(/m/EN/img/comm/logo.png) 0 50% no-repeat; background-size: auto 100%;}
header.active .open-gnb {background: url(/m/img/comm/menu_off.png) 50% 50% no-repeat; background-size: 100% auto;}

@media all and (max-width: 340px) {
  header .container h1 {width: 130px; height: 30px; margin: 4px 0 0;}
  header .go_dir {width: auto; display: inline-block; padding: 0 20px 0 10px;}
}

.all-menu {display: none; padding: 24px 20px 0 20px; width: 100%; height: 100vh; background: #000; box-sizing: border-box; position: fixed; top: 0; left: 0; bottom: 0; right: 0; z-index: 108;}
.all-menu-head {box-sizing: border-box; width: 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.all-menu-head .user-menu {display: flex; justify-content: flex-start; align-items: center; flex: none; width: auto;}
.all-menu-head .user-menu dt {flex: none; width: 0; height: 0; font-size: 0;}
.all-menu-head .user-menu dd {flex: none; margin: 0 20px 0 0;}
.all-menu-head .user-menu dd:last-child {margin: 0;}
.all-menu-head .user-menu dd a {color: #fff;}
.all-menu-head .all-menu-cls {display: block; font-size: 0; color: transparent; text-indent: -9999px; width: 20px; height: 20px; background: url(/m/img/comm/all-menu-cls.png) 50% 50% no-repeat; background-size: 100% auto;}
.all-menu-body {width: 100%; padding: 31px 0 30px; box-sizing: border-box; height: calc(100% - 44px); overflow-y: auto;}
.all-menu-body .gnb {width: 100%;}
.all-menu-body .gnb > li {width: 100%;}
.all-menu-body .gnb > li > a {background: url(/m/img/comm/all-menu-down.png) calc(100% - 8px) 50% no-repeat; font-size: 18px; font-weight: 800; color: #fff; border-bottom: 1px solid #4d4d4d; display: block; width: 100%; padding: 10px 8px; box-sizing: border-box;}
.all-menu-body .gnb > li:first-of-type > a {border-top: 0;}
.all-menu-body .gnb > li.on > a {background: url(/m/img/comm/all-menu-on.png) calc(100% - 8px) 50% no-repeat}
.all-menu-body .depth2 {display: none; width: 100%;}
.all-menu-body .gnb > li.on .depth2 {display: block; border-bottom: 1px solid #4d4d4d; box-sizing: border-box; }
.all-menu-body .depth2 > li {width: 100%;}
.all-menu-body .depth2 > li:first-of-type {margin: 16px 0 0;}
.all-menu-body .depth2 > li:last-of-type {margin: 0 0 16px;}
.all-menu-body .depth2 > li.only_li {margin: 16px 0 !important;}
.all-menu-body .depth2 > li > a {position: relative; color: #fff; display: block; width: 100%; padding: 0 18px; box-sizing: border-box; line-height: 33px; font-size: 14px;}
.all-menu-body .depth2 > li > a::before {content : ''; display: block; width: 5px; height: 5px; background: #fff; border-radius: 50%; position: absolute; top: 14px; left: 8px;}
.all-menu-body .depth3 {display: block; width: 100%;}
.all-menu-body .depth3 > li {width: 100%;}
.all-menu-body .depth3 > li:last-of-type {margin: 0 0 15px;}
.all-menu-body .depth3 > li > a {font-size: 15px; line-height: 28px; display: block; width: 100%; color: rgba(255, 255, 255, 0.3); padding: 0 24px; box-sizing: border-box;}


.all-menu-head .utils.lang_utils {margin: 20px 0 0; order: 1; width: 100%; display: flex; justify-content: flex-start; align-items: center; z-index: 24;}
.all-menu-head .utils.lang_utils dd + dd {margin: 0 0 0 12px;}
.all-menu-head .utils.lang_utils dd a {font-size: 16px; color: #fff;}
.all-menu-head .utils.lang_utils dd.active a {color: var(--m-color);}
.all-menu-head .utils.lang_utils {top: 70px; right: 20px; justify-content: flex-end;}
.all-menu-head .utils.lang_utils dt.blind {background: transparent; width: 0; height: 0; font-size: 0; padding: 0; margin: 0; opacity: 0;}
.all-menu-head .utils.lang_utils dd + dd {margin: 0 0 0 14px;}



footer {width: 100%; background: rgba(245, 245, 245, 0.9); position: relative; z-index: 50;}
footer .container {padding: 30px 20px 40px; box-sizing: border-box; width: 100%;}
footer .footer_menu {display: flex; justify-content: flex-start; align-items: flex-start; align-content: flex-start; flex-wrap: wrap;}
footer .footer_menu li {width: 50%; flex: none;}
footer .footer_menu li:nth-of-type(2n) {padding: 0 0 0 18px; box-sizing: border-box;}
footer .footer_menu li a {font-size: 15px; font-weight: 500; color: rgba(0, 0, 0, 0.7); line-height: 30px;}
footer .copy {font-size: 11px; font-weight: 300; color: rgba(0, 0, 0, 0.7);}
footer .footer_sns {width: 100%; display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; margin: 0 0 32px;}
footer .footer_sns li {margin: 0 14px 0 0;}
footer .footer_sns li:last-of-type {margin: 0;}
footer .footer_fix {position: fixed; right: 3px; bottom: 22px; width: 54px; z-index: 100;}
footer .footer_fix a {font-size: 11px; text-align: center; display: flex; width: 60px; height: 60px; border-radius: 50%; margin: 0 0 15px; color: #fff; flex-direction: column; justify-content: center; align-items: center; align-content: center;}
footer .footer_fix a img {display: block; margin: 0 auto 4px; width: 24px; height: auto;}
footer .footer_fix a:first-of-type {background: var(--m-color);}
footer .footer_fix a:first-of-type img {margin: 0 0 5px;}
/*footer .footer_fix a:nth-of-type(2) {background: #5998c2; white-space: nowrap;}*/
/*footer .footer_fix a:nth-of-type(3) {background: rgb(34, 53, 96);}*/
/*footer .footer_fix a:last-of-type {margin: 0; background: #f9e000; color: #2d2d2d;}*/
footer .partner_area {position: relative; width: 100%; height: 44px; margin: 14px 0 30px;}
footer .partner_area .partner__btn {border-radius: 20px; background: #000 url(/m/img/comm/family__btn_off.png) calc(100% - 16px) 50% no-repeat; padding: 0 16px; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: center; width: 100%; height: 100%; font-size: 13px; color: #fff; font-weight: 300;}
footer .partner_area .partner__list {display: none; border-radius: 20px; padding: 22px 0 22px 32px; box-sizing: border-box; width: calc(100% - 14px); background: #fff; position: absolute; bottom: 60px; left: 4px; border: 1px solid #000;}
footer .partner_area .partner__list li a {font-size: 15px; color: var(--txt-c4); font-weight: 700; line-height: 30px;}
footer .partner_area.on .partner__btn {background: #000 url(/m/img/comm/family__btn.png) calc(100% - 16px) 50% no-repeat;}
footer .partner_area.on .partner__list {display: block;}


/*sub 공통 sub common*/
.sub_visual__container {width: 100%; height: 220px; position: relative;}
.sub_visual__container h3 {padding: 108px 0 0; width: 100%; box-sizing: border-box; font-size: 25px; font-weight: 900; word-break: keep-all;}
.sub_visual__container p {font-size: 12px; margin: 8px 0 0; word-break: keep-all; letter-spacing: 0; line-height: 16px;}

#sub_visual .bg {text-align: center; color: #fff; width: 100%; height: 100%;  padding: 0 20px; box-sizing: border-box;}
#sub_visual .bg.company {background: url(/m/img/sub/s_bg_company.jpg) 50% 50% no-repeat; background-size: cover;}
#sub_visual .bg.limousine {background: url(/m/img/sub/s_bg_limousine.jpg) 50% 50% no-repeat; background-size: cover;}
#sub_visual .bg.realtime {background: url(/m/img/sub/s_bg_realtime.jpg) 50% 70% no-repeat; background-size: cover;}
#sub_visual .bg.center {background: url(/m/img/sub/s_bg_center.jpg) 50% 50% no-repeat; background-size: cover;}
#sub_visual .bg.member {background: url(/m/img/sub/s_bg_member.jpg) 50% 50% no-repeat; background-size: cover;}
#sub_visual .bg.ticket {background: url(/m/img/sub/s_bg_ticket.jpg) 50% 50% no-repeat; background-size: cover;}
#sub_visual .bg.benefit {background: url(/m/img/sub/s_bg_benefit.jpg) 50% 30% no-repeat; background-size: cover;}

#lnb {padding: 0 20px 0 0; box-sizing: border-box; position: absolute; bottom: -25px; left: 20px; width: calc(100% - 20px); background: var(--m-color); height: 50px; z-index: 102; display: flex; justify-content: flex-start; align-items: center;}
#lnb > li {flex: none; position: relative; width: auto;}
#lnb > li.home {width: 36px; height: 100%;}
#lnb .home a {width: 100%; height: 100%; display: block; font-size: 0; background: url(/m/img/comm/lnb_home.png) 50% 50% no-repeat;}
#lnb .sub-01 {width: calc(((100% - 36px) / 2) - 9px); max-width: 141px; height: 100%;}
#lnb .sub-02 {width: calc(((100% - 36px) / 2) + 9px); max-width: 159px; height: 100%;}
#lnb .sub-01 > span,
#lnb .sub-02 > span {width: 100%; height: 100%; display: flex; justify-content: flex-start; align-items: center; color: #fff; font-size: 14px; font-weight: 500;}
#lnb .sub-01 > span {padding: 0 10px 0 0; box-sizing: border-box; position: relative; background: url(/m/img/comm/lnb_current_arrow.png) calc(100% - 10px) 50% no-repeat;}
#lnb .sub-01 > span::after {content : ''; width: 1px; height: 19px; background: rgba(255, 255, 255, 0.5); position: absolute; top: 50%; transform: translateY(-50%); right: 0;}
#lnb .sub-02 > span {padding: 0 0 0 10px; box-sizing: border-box;  background: url(/m/img/comm/lnb_current_arrow.png) 100% 50% no-repeat;}
#lnb .depth2 > li > a {font-size: 14px; padding: 15px 0 15px 20px; line-height: 1.2; word-break: keep-all; color: var(--txt-c1); font-weight: 500; display: block; box-sizing: border-box; border-bottom: 1px solid #f2f2f2;}
#lnb .depth2 > li > a span {font-size: 12px; display: block;}
#lnb .sub-01 .depth2 > li > a {/*padding: 0 0 0 20px;*/ padding: 15px 0 15px 20px;}
#lnb .depth2 {box-shadow: 2px 2px 20px rgba(0, 0, 0, 0.15); display: none; padding: 6px 0 0; box-sizing: border-box; position: absolute; top: 100%; z-index: 103; background: #fff; left: 0; }
#lnb .depth2.show {display: block;}
#lnb .sub-01 .depth2 {width: calc(100% + 18px); left: -18px;}
#lnb .sub-02 .depth2 {width: calc(100% + 10px);}

.s_wrap {width: 100%; padding: 78px 0; box-sizing: border-box;}
.s_wrap.s_wrap_half {padding: 44px 0 78px;}
.s_wrap .s_tit {text-align: center; margin: 0 auto 50px; max-width: 345px;}
.s_wrap .s_tit_half {margin: 0 auto 25px;}
.s_wrap .s_tit_min {margin: 0 auto 16px;}
.s_wrap .s_tit h2 {font-size: 25px; font-weight: 800; word-break: keep-all; color: var(--txt-c4);}
.s_wrap .s_tit p {margin: 10px 0 0; font-size: 14px; color: var(--txt-c1); font-weight: 300; letter-spacing: 0; line-height: 17px; word-break: keep-all;}
.s_wrap .s_tit p b {font-weight: 800; color: var(--txt-c4); display: block; font-size-adjust: 15px;}

.snb_tab {width: 100%; padding: 45px 20px 0; box-sizing: border-box; display: flex; justify-content: flex-start; align-items: flex-start; align-content: flex-start; flex-wrap: wrap; }
.snb_tab a {border: 1px solid var(--m-color); box-sizing: border-box; flex: none; width: 50%; height: 41px; background: #fff; color: var(--m-color); text-align: center; display: block; line-height: 41px; font-size: 15px; font-weight: 800;}
.snb_tab a.on {background: var(--m-color); color: #fff;}
.snb_tab a:nth-of-type(2n) {border-left: 0;}
.snb_tab a:nth-of-type(1),
.snb_tab a:nth-of-type(2) {border-bottom: 0;}
.snb_tab a:nth-of-type(3) {border-bottom: 0;}


#sitemap {overflow: auto; display: none; width: 100%; max-height: 100vh; height: 100vh; background: #100c0b; position: fixed; top: 0; left: 0; z-index: 220; padding: 0; box-sizing: border-box;}
#sitemap .sitemap__cls {display: block; width: 24px; height: 24px; background: url(/m/img/comm/sitemap__cls.png) 50% 50% no-repeat; background-size: 100% auto; position: absolute; top: 20px; right: 20px;}
#sitemap .container{position: relative;}
#sitemap h3 {text-align: center; padding: 30px 0 0; box-sizing: border-box; width: 100%;}
#sitemap h3 img {display: inline-block; max-width: 100%;}
#sitemap a {color: #fff;}
.sitemap_list {margin: 40px 0 0; width: 100%; display: block;}
.sitemap_list > li {width: 100%; margin: 0 0 30px;}
.sitemap_list > li > a {font-size: 20px; font-weight: 800; margin: 0 0 12px; display: block;}
.sitemap_list .sitemap__depth2 li a{font-size: 16px; line-height: 24px; font-weight: 400; position: relative; padding: 0 0 0 16px; box-sizing: border-box; display: block;}
.sitemap_list .sitemap__depth2 li a::before {content : ''; width: 5px; height: 5px; background: #fff; border-radius: 50%; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
.sitemap_list .sitemap__depth3 {margin: 4px 0 10px;}
.sitemap_list .sitemap__depth3 li a{font-size: 14px; line-height: 25px; font-weight: 400; position: relative; padding: 0 0 0 28px; box-sizing: border-box; display: block; opacity: 0.3;}
.sitemap_list .sitemap__depth3 li a::before {content : ''; width: 4px; height: 1px; background: #fff; border-radius: 50%; position: absolute; top: 50%; left: 16px; transform: translateY(-50%);}



.only_chk {display: flex; justify-content: flex-start; align-items: center;}
.only_chk.flex_center_only_chk {display: flex; justify-content: center; align-items: center;}
.only_chk input[type=checkbox] {appearance: none !important; width: 0; margin: 0; padding: 0; height: 0; font-size: 0; line-height: 0;}
.only_chk input[type=checkbox] + label {border-radius: 4px; display: block; width: 18px; height: 18px; background: #fff url(/img/icon/chk_off.png) 50% 50% no-repeat; background-size: 72.22% auto; border: 1px solid #ddd; box-sizing: border-box;}
.only_chk input[type=checkbox]:checked + label {background: var(--m-color) url(/img/icon/chk_on.png) 50% 50% no-repeat; background-size: 72.22% auto; border-color: var(--m-color); }
.only_chk.font input[type=checkbox] + label {line-height: 1; margin: 0; font-size: 16px; width: auto; position: relative; padding: 0 0 0 24px; box-sizing: border-box; border: 0; background: transparent;}
.only_chk.font input[type=checkbox] + label::before {position: absolute; top: 0; left: 0; content: ''; border-radius: 4px; display: block; width: 16px; height: 16px; background: #fff url(/img/icon/chk_off.png) 50% 50% no-repeat; background-size: 72.22% auto; border: 1px solid #ddd; box-sizing: border-box;}
.only_chk.font input[type=checkbox]:checked + label::before {background: var(--m-color) url(/img/icon/chk_on.png) 50% 50% no-repeat; background-size: 72.22% auto; border-color: var(--m-color);}


.address_container td em {
  padding: 3px 5px;
  left: 0;
  color: #fff;
  font-size: 12px;
}

.address_container td em.blue {
  background: #3966f9;
}

.address_container td em.green {
  background: #2ab023;
}

.address_container td em.yellow {
  background: #e7bf04;
}

.address_container td em.red {
  background: #da2e1c;
}
