@charset "UTF-8";
@import url('reset.css');
@import url('fonts.css');



/* common ****************************************************************************************************************/
.inner {margin:0 auto; width:1200px;}
.blind {position:absolute; right:-999px; top:-9999px; font-size:0; text-indent:-999px;}

/* content ****************************************************************************************************************/
/* header */
header {position:fixed; top:50px; left:0; width:100%; min-width:300px; text-align:center; background-color:#fff; z-index:999;}
header.up {top:0;}
header .head_inner {margin:0 auto; width:1200px;}
header .head_info_box {display:flex; align-items:center; justify-content:space-between; padding:21px 0 15px;}
header .head_info_box .logo_box {width:125px; display:flex; align-items:center;transition:all .2s; z-index:1;}
header .head_info_box .logo_box a {display:block;}
header .head_info_box .logo_box a img {display:block; width:100%;}
header .head_info_box .call_box {display:flex; align-items:center; text-align:center; gap:5px;}
header .head_info_box .call_box {display:flex; align-items:center; text-align:center; gap:5px; padding:8px 12px; border:1px solid #efefef; border-radius:15px;}
header .head_info_box .call_box span {padding-right:3px; font-size:14px; color:#000; font-weight:700;}
header .head_info_box .call_box strong {font-size:20px; color:#e52e2a; font-family: var(--font-en); font-weight:800;}
header .head_util_box .notice_utile_box {display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; padding:0 8px;}
header .head_util_box .notice_utile_box a {position:relative; font-size:14px; font-weight:500;}


header .head_banner_box {padding-right:27px; min-width:0; height:42px; overflow:hidden; border-radius:15px; border-right:1px solid #7d7d7d;}
header .head_banner_box .hd-banner-sw {width:100%; height:42px;}
header .head_banner_box .hd-slide {height:42px !important; display:flex !important; align-items:center; justify-content:center;}
header .head_banner_box .hd-banner-inner {display:flex; align-items:center; justify-content:center; gap:23px; width:100%; height:100%;}
header .head_banner_box .hd-banner-img {flex-shrink:0; display:flex; align-items:center; justify-content:center; background:#f0ede8; border-radius:6px; overflow:hidden;}
header .head_banner_box .hd-banner-img img {max-width:100%; max-height:100%; object-fit:contain; display:block;}
header .head_banner_box .hd-banner-text {min-width:0; display:flex; flex-direction:column; gap:2px; text-align:left;}
header .head_banner_box .hd-banner-sub {margin:0; font-size:14px; color:#6941ff; font-family:var(--font-giants); font-weight:400;}
header .head_banner_box .hd-banner-tit {font-size:19px; color:#e52a6f; font-family:var(--font-ria); font-weight:700; background:linear-gradient(90deg, #e52a6f, #e15dcd 50%, #7d66f4); -webkit-background-clip:text; -webkit-text-fill-color:transparent;}



/* manu */
.menu_panel_box {border-top:1px solid #c9c9c9;}
.menu_nav_box {display:flex; align-items:center; padding:15px 4px; overflow:inherit !important;}
.head_nav {position:relative; display:flex; align-items:center; justify-content:space-between; margin:0 auto; width:100%; height:100%;}
.head_nav > li {position:static; display:flex; align-items:center; justify-content:center; height:100% !important; transition:all .2s; overflow:inherit !important;}
.head_nav > li > a {display:inline-flex; align-items:center; padding:1.5rem 0; font-size:18px; font-weight:600;}
.head_nav > li > a:hover, .head_nav > li > a.active {color:#ff2228;}
.flexs_rt {display:flex; align-items:center; width:calc(100% - 200px);}
.head_nav > li .dep {position:absolute; top:100% !important; left:0; right:0; width:100%; border-top:1px solid #ddd; transition:all 0.3s ease; z-index:999; pointer-events:auto; background-color:#fff;}
.head_nav .dep::before {content:""; display:block; position:absolute; top:0; right:0; height:72px; width:100vw; background-color:#fff; z-index:0;}
.head_nav .dep::after {content:""; display:block; position:absolute; top:0; height:72px; width:100vw; background-color:#fff; z-index:0;}
.head_nav .dep ul {position:relative; padding:1.09rem 0 1.1rem; display:flex; align-items:center; gap:2rem; width:100%; z-index:99;}
.head_nav .dep li {padding:7px 0; text-align:left;}
.head_nav .dep li a {font-size:17px; font-weight:500; color:#8c8c8c;}
.dep li a:hover {color:#ff2228}
.head_nav .dep .inner {display:flex; align-items:center;}
.head_nav .dep .inner .img_dep_banner {margin-left:auto;}
.head_nav .dep {display:none; position:absolute;}
.head_nav > li:hover .dep {display:block;visibility:visible; opacity: 1; pointer-events: auto;}
.head_nav .dep.up + .bg {display:block; position:absolute; height:34px; width:100%; background-color:#fff; box-shadow:0 3px 5px rgba(0, 0, 0, .03);}
.head_nav > li.active > a,
.head_nav > li.active .dep li.active a {color:#ff2228;}
.head_nav .dep.bn60.up ul,
.head_nav .dep.bn70.up ul,
.head_nav .dep.bn80.up ul,
.head_nav .dep.bn60 ul,
.head_nav .dep.bn70 ul,
.head_nav .dep.bn80 ul {justify-content:end;}
.menu_nav_box .swiper-slide{width:auto; flex-shrink:0;}
.menu_nav_box.swiper-backface-hidden .swiper-slide {transform:none}
.head_nav > li.active .dep,
.head_nav > li .dep.open {display:block;}
.btn_header_genie {padding:8px 16px; border-radius:15px; background-color:#efedfa;}
.btn_header_genie img {display:block;}


.dep {top:180px; width:100%; border-bottom:1px solid #bdbdbd; background-color:#fff; z-index:99;}
.dep ul {position:relative; padding:1.09rem 0 1.1rem; display:flex; align-items:center; gap:2rem; margin:0 auto; width:1200px; z-index:99;}
.dep li {padding:7px 0; text-align:left;}
.dep li a {font-size:18px; font-weight:500; color:#8c8c8c;}
.dep li a:hover {color:#ff2228}
.dep .inner {display:flex; align-items:center;}
.dep .inner .img_dep_banner {margin-left:auto;}
.dep {position:absolute;}
li:hover .dep {display:block;visibility:visible; opacity: 1; pointer-events: auto;}
.dep.up + .bg {display:block; position:absolute; height:34px; width:100%; background-color:#fff; box-shadow:0 3px 5px rgba(0, 0, 0, .03);}
li.active > a,
li.active .dep li.active a {color:#ff2228;}
.dep.bn60.up ul,
.dep.bn70.up ul,
.dep.bn80.up ul,
.dep.bn60 ul,
.dep.bn70 ul,
.dep.bn80 ul {justify-content:end;}


/* ── 햄버거 버튼 ── */
.hamburger-menu-btn {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:0; width:44px; height:44px; border:none; background:none; flex-shrink:0; cursor:pointer;}
.hamburger-menu-btn .hb-line {display:block; width:22px; height:2px; border-radius:2px; background-color:#333; transition:transform 0.3s, opacity 0.3s, width 0.3s; transform-origin:center;}
.hamburger-menu-btn.active .hb-line:nth-child(1) {transform:translateY(7px) rotate(45deg);}
.hamburger-menu-btn.active .hb-line:nth-child(2) {opacity:0; transform:scaleX(0);}
.hamburger-menu-btn.active .hb-line:nth-child(3) {transform:translateY(-7px) rotate(-45deg);}
.full-menu-overlay {display:none; position:fixed; top:0; left:0; right:0; bottom:0; background-color:#fff; z-index:9999;}
.full-menu-overlay::before {content:''; position:absolute; left:0; top:0; width:100%; height:3.75rem; background:linear-gradient(90deg, #5d61fc, #ad72f6);}
.full-menu-overlay.open {display:block;}
.full-menu-panel {position:relative;}
.full-menu-close-btn { position:absolute; top:8px; right:16px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; background:none; border:none;
font-size:20px; color:#fff; cursor:pointer; z-index:10; opacity:0.85; transition:opacity 0.15s;}
.full-menu-close-btn:hover {opacity:1;}
.mega-menu-tabs {display: flex; justify-content:center; font-size:1rem; color:#fff;}
.mega-tab-btn {position:relative; flex:0 0 auto; width:11.7%; border-right:1px solid rgb(221 221 221 / 40%);}
.mega-tab-btn:first-child {width:18%; border-left:1px solid rgb(221 221 221 / 40%);}
.full-menu-panel,
.full-menu-panel nav,
.mega-menu-tabs,
.mega-tab-btn {height:100%;}


/* ── 대메뉴 링크 ── */
.mega-tab-btn > a {display: flex; align-items:center; padding:0 1.5rem; height:3.75rem; font-size:1rem; font-weight:500; color:#fff; transition: background 0.15s, color 0.15s;}
.mega-tab-btn:hover > a,
.mega-tab-btn.active > a {background:rgba(0,0,0,0.2);}
.mega-tab-btn:hover > .mega-panel,
.mega-tab-btn.active > .mega-panel {display:block;}
body.menu-open {overflow:hidden;}
.mega-panel-tabs {padding:1rem 0 0 1.5rem;}
.mega-panel-tabs .mega-panel-tab {text-align:left;}
.mega-panel-tabs .mega-panel-tab .btn_mega_1dep {display:flex; padding:.7rem 0;}
.mega-panel-inner ul {display:flex; flex-wrap:wrap; gap:.9rem 0; text-align:left; margin:.5rem 0 2rem;}
.mega-panel-inner li {width:100%;}
.mega-panel-inner .mega-item {position:relative; display:flex; align-items:center; gap:5px; width:100%; font-size:.9rem; text-align:left; color:#707070; transition: all 0.15s; background-color:#fff;}
.mega-panel-tabs .mega-panel-tab .btn_mega_1dep:hover {color:#e61e14;}
.mega-panel-inner .mega-item:hover,
.mega-panel-inner .mega-item.on {color:#e61e14; font-weight:600;}
.mega-panel-inner .mega-item::before {content:""; width:5px; height:5px; border-radius:50px; background-color:#cdcdcd; transition: background-color 0.4s}
.mega-panel-inner .mega-item:hover::before {background-color:#e61e14;}



/* header pup - 3hours */
.top_pup {position:fixed; top:0; left:0; right:0;  display:flex; width:100%; align-items:center; justify-content:center; height:51px; background-color:#202125; z-index:9; transform:translateY(-100%); opacity:0; pointer-events: none; transition: transform .45s ease, opacity .3s ease;}
.top_pup.show {transform:translateY(0); opacity:1; pointer-events:auto;}
.top_pup strong {font-size:18px; color:#ef3f44; font-weight:600;}
.top_pup strong em {color:#fff; font-weight:600;}
.top_pup .btn_close{position:relative; margin-left:35px; --size:40px; --line:2px; --color:#fff; padding:0; width:var(--size); height:var(--size);font-size:0; text-indent:-99999px; background:transparent; border:none; cursor:pointer; border-radius:50%;}
.top_pup .btn_close::before,
.top_pup .btn_close::after{content:""; position:absolute; left:50%; top:50%; width:calc(var(--size) * 0.55); height:var(--line); background:var(--color); transform-origin:center;transition:background-color .18s ease, opacity .18s ease;}
.top_pup .btn_close::before{ transform: translate(-50%,-50%) rotate(45deg); }
.top_pup .btn_close::after { transform: translate(-50%,-50%) rotate(-45deg); }
.top_pup .btn_close:hover::before,
.top_pup .btn_close:hover::after{background-color:#fe2f46;}
.top_pup {transition:height 0.5s ease, opacity 0.5s ease; opacity:1; overflow:hidden;}
.top_pup.hide {height:0;  pointer-events:none; visibility: hidden;}




/* header menu btn */
.menu_box {margin-left:1rem; padding:.6rem; display:none; flex-direction:column; justify-content:space-between; width:3rem; height:2.5rem; cursor:pointer; z-index:999; transition:.2s ease;}
.menu_box span {display:block; height:2px; background-color:#000; border-radius:3px; transition:.2s ease;}
.menu_box span:nth-child(2) {width:80%;}
.menu_box.active {position:fixed; top:12px; right:.5rem;}
.menu_box.active span:nth-child(1) {transform: rotate(45deg) translate(7px, 6px);}
.menu_box.active span:nth-child(2) {opacity:0;}
.menu_box.active span:nth-child(3) {transform: rotate(-45deg) translate(6px, -6px);}

/* mobile bottom */
.mm_menu_box {position:fixed; left:0; right:0; bottom:0; height:4rem;}
.mm_menu_box::before {position:absolute; left:50%; bottom:0; content:""; width:14.1rem; height:4.2rem; display:block; transform:translateX(-50%); background:url(../img/common/bg_mm_menu.png) no-repeat center 0; background-size:14.1rem;}
.mm_menu_box a {position:relative; padding-top:.5rem; width:20%; font-size:.95rem; font-weight:700; color:#333; background-color:#fff;}
.mm_menu_box a.quick {padding-top:2.5rem; background-color:transparent;}
.mm_menu_box a::before {content:""; display:block; margin:0 auto; width:2rem; height:2rem; background:url(../img/common/ico_mm_menu.png) no-repeat 0 0; background-size:7rem;}
.mm_menu_box a.home::before {background-position:-11px -13px;}
.mm_menu_box a.reserve::before {background-position:-12px -69px;}
.mm_menu_box a.quick::before {position:absolute; left:50%; top:-1.8rem; width:3.5rem; height:3.5rem; transform:translateX(-50%); background-position:0 -112px; z-index:1;}
.mm_menu_box a.customer::before {background-position:-12px -180px;}
.mm_menu_box a.menu::before {background-position:-12px -235px;}
.mm_menu_box a.home::after,
.mm_menu_box a.reserve::after,
.mm_menu_box a.customer::after,
.mm_menu_box a.menu::after {content:""; display:block; position:absolute; top:-3px; width:100%; height:.2rem; background:url(../img/common/top_mm_shadow.png) repeat-x 0 0; background-size:auto .2rem;}
.mm_menu_box a.quick::after {position:absolute; left:50%; top:-1.8rem; content:""; display:block;  transform:translateX(-50%); width:3.5rem; height:3.5rem; border-radius:100px; background-position:0 0; background-size:3.5rem;
  background: linear-gradient(180deg, #0f5bff 0%, #8861ff 100%);
  box-shadow:0 2px 5px rgba(15, 91, 255, 0.3);
}
.mm_menu_box a:hover, .mm_menu_box a.active {color:#0f5bff;}
.mm_menu_box a:hover.home::before {background-position:-67px -13px;}
.mm_menu_box a:hover.reserve::before {background-position:-68px -69px;}
.mm_menu_box a:hover.customer::before {background-position:-68px -180px;}
.mm_menu_box a:hover.menu::before {background-position:-68px -235px;}
.btn_mm_close {display:none; position:absolute; top:1rem; right:2rem;z-index:2; font-size:0; text-indent:-99999px;}
.btn_mm_close::before, .btn_mm_close::after {content: '';display:block; position:absolute; top:5px; width:2px; height:20px; background-color:#000; cursor: pointer;}
.btn_mm_close:hover::before, .btn_mm_close:hover::after {background-color:#0f5bff}
.btn_mm_close::before {transform: rotate(45deg) translateX(0px);}
.btn_mm_close::after {transform: rotate(-45deg) translateX(0px);}


/* footer */
.ft {position:relative; display:block; margin-top:auto; width:100%; line-height:1.2; font-size:15px; color:#fff; border-top:4px solid #000; background-color:#000;}
.ft .ft_box { padding:1.5rem 2rem 2rem;}
.ft .ft_box .terms_service a, .copyright {color:#999}
.ft .ft_box .info li {display:flex; align-items:center; margin-bottom:.3rem;}
.ft .ft_box .info li > * {color:#999; text-align:left; font-size:15px;}
.ft .ft_box .info li span {display:block;}
.ft .ft_box .info li strong::after {content:":"; margin:0 2px;}
.ft .ft_box .info li span::after {content:""; display:inline-block; margin:-2px .5rem 0; width:1px; height:11px; vertical-align:middle; background-color:#999;}
.ft .ft_box .info li span.wfull {width:calc(100% - 36px);}
.ft .ft_box .info li span.nlin::after, .ft .terms_service a:last-child::after {position:absolute; left:-9999px; width:0; height:0;}
.ft .ft_box .info li span a {color:#999; text-decoration:underline;}
.ft .ft_box .info li.li_wrap {flex-wrap:wrap;}
.ft .ft_box .info li.li_wfull {align-items: normal;}
.ft .ft_box .info li.li_wfull span {width:calc(100% - 36px);}
.ft .ft_box .terms_service {margin:0 0 2rem; padding-bottom:1.5rem; text-align:left; border-bottom:1px solid #252525;}
.ft .ft_box .terms_service a {margin-left:1rem; font-size:15px;}
.ft .ft_box .terms_service a:first-child {margin-left:0;}
.ft .ft_box .copyright {margin:2rem 0 1rem; text-align:left; font-size:15px; font-weight:600;}
.ft .btn_ft_control {position:absolute; left:50%; top:-22px; padding:3px 2rem 0; height:18px; border-radius:8px 8px 0 0; transform: translate(-50%, 0); background-color:#000;}
.ft .btn_ft_control i {color:#fff;}
.ft .ft_box .mark {position:absolute; right:8rem; bottom:2rem; display:flex; align-items:center; gap:3rem;}
.ft .ft_box .mark li {display:flex; align-items:center; gap:.5rem;}
.ft .ft_box .mark li p {color:#acacac; font-size:14px; text-align:left;}
.ft .ft_box .mark .img_consent {width:50px;}
#modalPopupAgree4 .scroll_box {height:auto;}


/* title
=======================================================================================================*/
.tit_caption {font-size:32px; color:#888; text-transform:uppercase; margin-bottom:0.5rem; word-break:keep-all;}
.tit_topic {font-size:50px; font-weight:800; color:#000; margin-bottom:18px; word-break:keep-all;}
.tit_topic em {color:#8341D3; font-weight:800; word-break:keep-all;}
.tit_block {font-size:42px; font-weight:600; color:#000; margin-bottom:0.5rem; word-break:keep-all;}
.sub_topic {font-size:32px; color:#6e757c; word-break:keep-all;}

/* btn style
=======================================================================================================*/
.btn {display:inline-block; padding:.7rem 1rem; border-radius:5px; text-align:center;}
.minbtn {display:inline-block; padding:.5rem 1rem; font-size:.75rem; border-radius:5px; text-align:center;}
.maxbtn {display:inline-block; padding:.8rem 2rem; font-size:1rem; border-radius:5px; text-align:center;}

/* Datepicker style 
=======================================================================================================*/
.in_datepicker {padding:0 3rem 0 1rem; background: url("../img/common/free-icon-font-calendar-3917292.svg") no-repeat 95% center; background-size:1.4rem; letter-spacing:0; cursor:pointer;}

/* search style
=======================================================================================================*/
.search_box {position:relative;}
.search_box .in_search {padding:0 50px 0 1rem;}
.search_box .btn_clear {position:absolute; top:1px; right:50px; width:30px; height:48px; font-size:.8rem; font-weight:600; background-color:#fff;}
.search_box .btn_clear i {font-size:.8rem; font-weight:600;}
.search_box .btn_search {position:absolute; display:block; right:0; top:0; width:50px; height:50px; cursor:pointer;}
.search_box .btn_search i {font-size:1.1rem;}

/* select box style
=======================================================================================================*/
.cont_select {position:relative; width:200px;}
.btn_select {width:100%; padding:0 3rem 0 1rem; height:50px; text-align:left; font-size:.95rem; border:1px solid #C4C4C4; border-radius:15px; cursor:pointer; background:#fff url("../img/common/free-icon-font-caret-down-3916943.svg") no-repeat 95% center; background-size:1.2rem; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;}
.list_member {display:none; position:absolute; top:49px; left:0; width:100%; border:1px solid #C4C4C4; border-radius:15px; background-color:#fff; overflow:hidden; z-index:1;}
.btn_select.on {border-radius:15px 15px 0 0; background:url("../img/common/free-icon-font-caret-up-3916936.svg") no-repeat 95% center; background-size:1.2rem;}
.btn_select.on + .list_member {display:block; border-radius:0 0 15px 15px;}
.list_member li a {padding:1rem; display:block; width:100%; text-align:left; font-weight:400; border:none; background-color:#fff; cursor:pointer; white-space:nowrap; text-overflow:ellipsis; overflow:hidden;}
.list_member li a:hover,
.list_member li a:focus {background-color:#fff4eb;}

/* table
=======================================================================================================*/
/* table title */
.tb_topic_box {display:flex; justify-content:space-between;}
.tb_topic_box .tit_topic {font-size:1.1rem; font-weight:700;}

/* tb1 */
.tb1 {table-layout:fixed; width:100%; border-top:2px solid #000;}
.tb1 thead th,
.tb1 tbody th,
.tb1 tbody td {padding:10px; text-align:center; font-size:.95rem; border:1px solid #d5d5d5; vertical-align:middle;}
.tb1 thead th {font-weight:600; background-color:#e9e9e9;}
.tb1 tbody th {font-weight:600; background-color:#f3f3f3;}
.tb1 tbody td.charge {color:#ff1437;}
.tb1 tbody td.card {color:#009ddb;}
.tb1 tbody td.yellow {background-color:#fffdf3;}

/* tb1 - orange color */
.tb1.orange {border-color:#03045e;}
.tb1.orange thead th {border:1px solid #d9cfc5; background-color:#fff6ed;}
.tb1.orange tbody th {background-color:#fffdfc;}

/* info */
.txt_explain {color:#999;}
.txt_caution {padding:.5rem 0; color:#ad7a62; text-align:left; font-size: .95rem;}


/* accodion
=======================================================================================================*/
/* st1 */
.accordion_box {border-top:2px solid #000;}
.accordion_box .faq_question {position:relative; display:block; padding:1.5rem; font-size:.95rem; border-bottom:1px solid #ddd; cursor:pointer;}
.accordion_box .faq_question::after {position:absolute; right:1rem; top:26px; content:''; width:8px; height:8px; border-top:2px solid #adadad; border-right:2px solid #adadad; transform:rotate(135deg); transition:.2s ease;}
.accordion_box .faq_question.on::after {top:30px; transform:rotate(-45deg); border-color:#03045e;}
.accordion_box .faq_answer {display:none; padding:2rem 1.5rem; background-color:#f5f5f5; line-height:1.3;}
.accordion_box .faq_answer > * {line-height:1.3;}

/* st2 */
.accordion_radius {margin:2rem 0; border:1px solid #000; border-radius:15px;}
.accordion_radius .faq_question {position:relative; display:block; padding:1.5rem; font-size:1rem; cursor:pointer;}
.accordion_radius .faq_question::after {position:absolute; right:1.5rem; top:26px; content:''; width:8px; height:8px; border-top:2px solid #000; border-right:2px solid #000; transform:rotate(135deg); transition:.2s ease;}
.accordion_radius .faq_question.on::after {top:30px; transform:rotate(-45deg); border-color:#03045e;}
.accordion_radius .faq_answer {display:none; padding:0 1.5rem 1.5rem; line-height:1.3;}
.accordion_radius .faq_answer > * {line-height:1.3;}

/* checkbox
=======================================================================================================*/
.package_chk {display:flex; gap:0 2%;}
.agree_grup {display:none;}
.agree_chk {display:flex; align-items:center; cursor:pointer; user-select:none; font-size:.95rem;}
.agree_chk input {display:none;}
.agree_chk .checkmark {margin-top:2px; width:1.25rem; height:1.25rem; border:2px solid #a5a5a5; border-radius:30px; margin-right:5px; display:inline-block; position:relative; transition:background 0.3s, border-color 0.3s;}
.agree_chk input + .checkmark::after {content:""; position:absolute; left:4px; top:2px; width:4px; height:6px; border:solid #a5a5a5; border-width: 0 2px 2px 0; transform: rotate(45deg);}
.agree_chk input:checked + .checkmark {border-color:#fe4658; background-color:#fe4658;}
.agree_chk input:checked + .checkmark::after {content:""; position:absolute; left:4px; top:2px; width:4px; height:6px; border:solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);}

/* radio box
=======================================================================================================*/
.radio_box {display:flex; gap:0 2%; border:none;}
.radio_box label {font-size:.95rem; line-height:2rem;}
.radio_box input[type="radio"] {display:none;}
.radio_box input[type="radio"] + span {font-weight:500; font-size:1rem;}
.radio_box input[type="radio"]:checked + span {color:#fe4658;}






/* modal
=======================================================================================================*/
.modal_content .terms {margin:.2rem 0 1.5rem; font-size:1.2rem; font-weight:bold; text-align:center;}
.modal_content .sub_terms {font-weight:500; text-align:left; font-size:1rem;}
.modal_content .caption_cont {padding-top:2rem; text-align:left;}
.modal_content .caption_cont .caption {margin-bottom:1rem; font-size:.95rem; font-weight:700;}
.modal_content .caption_cont .desc {margin-bottom:1rem; font-size:.9rem; font-weight:400;}
.modal_content .caption_cont .sub_topic {margin-bottom:1rem; padding-left:8px; font-size:.9rem;  font-weight:600; text-indent:-8px; color:#000;}
.modal_content .caption_cont .sub_topic::before {content:""; display:inline-block; margin:-2px 5px 0 0; width:3px; height:3px; border-radius:30px; vertical-align:middle; background-color:#3d3d3d;}
.modal_content .caption_cont .sub_num_topic {margin-bottom:.2rem; padding-left:8px; font-size:.9rem;  font-weight:600; text-indent:-8px;}
.modal_content .caption_cont .dt_info {padding-left:1rem; display:flex; flex-wrap:wrap;}
.modal_content .caption_cont .dt_info > * {margin-bottom:1rem; font-size:.9rem; font-weight:400;}
.modal_content .caption_cont .dt_info dt {width:5.5rem;}
.modal_content .caption_cont .dt_info dd {padding-left:18px; width:calc(100% - 5.5rem); text-indent:-7px;}
.modal_content .caption_cont .dt_info dd::before {content:"/"; display:inline-block; margin:-3px 7px 0 0; font-size:.9rem; vertical-align:middle;}
.modal_content .caption_cont .info_notice {padding-left:15px; display:block; font-weight:400; text-indent:-15px;}
.modal_content .caption_cont .info_notice.plt {padding-left:35px;}
.modal_content .caption_cont .li_desc {margin-bottom:1rem; padding-left:15px;}
.modal_content .caption_cont .li_desc li {padding-left:6px; text-indent:-6px; font-weight:400;}
.modal_content .caption_cont .li_desc li::before {content:""; display:inline-block; margin:-2px 5px 0 0; width:2px; height:2px; border-radius:30px; vertical-align:middle; background-color:#3d3d3d;}
.br1, .br2 {display:block;}


/* scroll top
=======================================================================================================*/
.quick_midd_menu.swiper {display:flex;align-items:center; justify-content:space-between; padding:40px 0 50px; max-width:1200px; width:100%; box-sizing:border-box; overflow:hidden;}
.quick_midd_menu.swiper .swiper-wrapper {gap:0 !important;}
.quick_midd_menu.swiper .swiper-wrapper .swiper-slide {text-align:center; height:auto !important;}
.quick_midd_menu a {display:flex; flex-direction:column; align-items:center; gap:19px; text-decoration:none;}
.quick_midd_menu img {display:block; margin:0 auto; transform: translateY(0) scale(1); transition:.5s ease;}
.quick_midd_menu span {display:block; font-size:17px; color:#000; font-weight:500; }
.quick_midd_menu a:hover span {color:#fe223b;}
.quick_midd_menu a:hover img {transform: translateY(-5px) scale(1.03); }


/* main middle swiper slider  */
.sw_bottom_controll {display:flex; position:absolute; left:50%; bottom:1.5rem; transform:translate(-50%, 0); z-index:1;}
.sw_bottom_controll #swiperToggle {display:block; margin-right:10px; width:58px; height:39px; font-size:0; text-indent:-9999px; border-radius:50px; background:rgba(0, 0, 0, .3) url(../img/main/btn_play_stop.png) no-repeat 0 0; cursor: pointer;}
.sw_bottom_controll #swiperToggle.playing {background-position:center 0;}
.sw_bottom_controll #swiperToggle.paused {background-position:2px -39px;}
.rolling_banner_box .swiper-pagination-bullets.swiper-pagination-horizontal {position:relative; top:auto !important; left:auto !important; bottom:auto !important; padding:.55rem .5rem; height:39px; border-radius:50px; background-color:rgba(0, 0, 0, .3);}

.btn_sctoll_top {
  transition: opacity .3s, visibility .3s;
}

/* scroll top
=======================================================================================================*/
.quick_menu_box {position:fixed; right:2rem; bottom:2rem; z-index:11; transition: bottom .3s ease;}
.quick_menu_box.is-up {bottom:8rem;}
.quick_menu_box a {display:block; width:70px; height:70px; font-size:0; text-indent:-9999px;}
.quick_menu_box a.btn_inquiry {position:relative; margin-bottom:10px; overflow:hidden;border-radius: 100%;}
.quick_menu_box a.btn_inquiry::before,
.quick_menu_box a.btn_inquiry::after {content:""; position:absolute; inset:0; background-repeat:no-repeat; background-position: 50% 50%; background-size: 100%; will-change: opacity, transform;}
.quick_menu_box a.btn_inquiry::before {
  background-image: url(../img/main/ico_quick_inquiry_over.png);
  animation: inquiryFastA 8s infinite cubic-bezier(.4, 0, .2, 1);
}
.quick_menu_box a.btn_inquiry::after {
  background-image: url(../img/main/ico_quick_inquiry.png);
  animation: inquiryFastB 8s infinite cubic-bezier(.4, 0, .2, 1);
}
.quick_menu_box a.btn_sctoll_top {
  background: url(../img/main/ico_quick_top.png) no-repeat 0 0;
  background-size: 100%;
}

@keyframes inquiryFastA {
  0%, 44% {
    opacity: 1;
    transform: scale(1);
  }
  50%, 94% {
    opacity: 0;
    transform: scale(1.08);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes inquiryFastB {
  0%, 44% {
    opacity: 0;
    transform: scale(.92);
  }
  50%, 94% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(.92);
  }
}

.quick_menu_box .quick_menu_inquiry {position:relative; display:flex; align-items:center; justify-content:flex-end; margin-bottom:10px;}
.quick_menu_box .quick_menu_notice {
  position: absolute;
  top: 50%;
  right: calc(100% + 10px);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  min-height: 42px;
  border:2px solid #e60012;
  border-radius:10px;
  background-color: #fff;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
  color: #e60012;

  font-size:18px;
  font-weight:500;
  line-height: 1;
  letter-spacing: -0.04em;
  white-space: nowrap;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(16px, -50%, 0);
  transition: opacity .35s ease, transform .35s ease, visibility 0s linear .35s;

  /* ✅ 여기 하나만 animation */
  animation: noticeblink 1s steps(1, end) infinite;
}

/* 화살표 */
.quick_menu_box .quick_menu_notice::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translate(-45%, -50%) rotate(45deg);

  width:8px;
  height:8px;
  border:2px solid currentColor; /* 👉 핵심 */
  border-left: 0;
  border-bottom: 0;
  background-color: #fff;
}

/* 숫자/마감 */
.quick_menu_box .quick_menu_notice strong {
  margin:0 3px;
  font-weight: 800;
  color: currentColor; /* 👉 핵심 */
}

/* 등장 */
.quick_menu_box .quick_menu_notice.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, -50%, 0);
}

/* ✅ 하나의 애니메이션으로 통일 */
@keyframes noticeblink {
  0%, 49.9% {
    color: #e60012;
    border-color: #e60012;
  }
  50%, 100% {
    color: #000;
    border-color: #000;
  }
}




.panal_real {margin:3rem auto 10rem; padding:36px 29px; border:1px solid #e8e8e8; border-radius:20px;}
/* .panal_real .topic {font-size:36px; font-weight:700; text-align:center; line-height:1.3; font-weight:700;}
.panal_real .desc {margin:10px 0 70px; color:#000; font-size:20px; text-align:center; font-weight:600;} */
.panal_real .real_box {display:flex; align-items:center; gap:40px;}
.panal_real .real_box .cont {width:50%;}
.panal_real .real_box .cont .tit {display:flex; align-items:center; justify-content:center; gap:4px; margin-bottom:15px; font-size:20px; font-weight:600;}
.panal_real .real_box .cont .tit::before {content:""; width:24px; height:24px; background:url(../img/main/ico_real_tit.png) no-repeat 0 0; background-size:24px;}
.panal_real .real_box .cont .tit.gift::before {background-position:0 -24px;}
.panal_real .real_box .cont .over_box .real_head {border-radius:8px; overflow:hidden;}
.panal_real .real_box .cont .over_box .real_body {height:50px; overflow:hidden; position:relative;}
.panal_real .real_box .cont .over_box .tb_real {width:100%; table-layout:fixed; font-size:1.3rem;}
.panal_real .real_box .cont .tb_real th,
.panal_real .real_box .cont .tb_real td {padding:15px 10px; font-size:14px;}
.panal_real .real_box .cont .tb_real thead th {color:#fff; background-color:#ec0d13;}
.panal_real .real_box .cont .tb_real tbody {display:block;}
.panal_real .real_box .cont .tb_real tr {display:table; width:100%; table-layout:fixed;}
.panal_real .real_box .cont .tb_real tbody td {font-weight:600; border-bottom:1px solid #eee;}
.panal_real .real_box .cont .tb_real tbody td:last-child {color:#ec0d13;}
.panal_real .real_box .cont .tb_real tbody tr:nth-child(5n) td {border-bottom:none;}


.panal_dbin {padding:77px 0 148px}
.panal_dbin .topic {font-size:36px; font-weight:700; text-align:center; line-height:1.3; font-weight:700;}
.panal_dbin .desc {margin:10px 0 75px; color:#000; font-size:20px; text-align:center; font-weight:600;}
.panal_dbin .dbin_box {display:flex; align-items:stretch; gap:30px; text-align:center;}
.panal_dbin .dbin_box .part {flex:1; padding:27px 1rem 48px; min-height:360px; border:1px solid #e8e8e8; border-radius:20px;}
.panal_dbin .dbin_box .part.db {padding:27px 60px 48px;}
.panal_dbin .dbin_box .part .tit {display:block; margin-bottom:29px; font-size:24px; font-weight:700;}
.panal_dbin .dbin_box .part .sub_tit {color:#747474; font-size:16px; font-weight:500;}
.panal_dbin .dbin_box .part .btn_db_tel .img_db_tel {display:block; margin:34px auto 32px;}
.panal_dbin .dbin_box .part .btn_db_tel .txt_db_tel {font-size:32px;}
.panal_dbin .dbin_box .part .img_db_tel {display:block; margin:34px auto 46px;}
.panal_dbin .dbin_box .part .txt_db_tel {display:block; font-size:24px; color:#fc1f25; font-weight:700;}
.panal_dbin .dbin_box .part .submitBtn {display:flex; align-items:center; justify-content:center; width:100%; min-height:50px; font-size:24px; font-weight:700; color:#fff; border-radius:8px; 
box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.15); background: linear-gradient(90deg, #ea0b11, #ff2228); cursor:pointer;}

.mm_info_object .frm_box input#frm_name {margin-bottom:11px;}
.mm_info_object .frm_box input {min-width:330px; color:#000; border:1px solid #ccc; border-radius:8px;}
.mm_info_object .agree_box {padding:23px 0 30px;}
.mm_info_object .col_allchk, .mm_info_object .agree_grup .col {display:flex; align-items:center;}
.mm_info_object .agree_grup, .mm_info_object .agree_grups {padding:.5rem 0 0 0;}
.mm_info_object .agree_grup .col, .mm_info_object .agree_grups .col {margin:.8rem 0 0; width:100%;}
.mm_info_object .btn_toggle, .mm_info_object .agree_grup .col .btn_view {margin-left:auto;}
.mm_info_object .btn_toggle {position:relative; padding-right:1.1rem; font-size:16px; font-weight:700;}
.mm_info_object .btn_toggle::after {position:absolute; right:2px; top:7px; content:''; width:6px; height:6px; border-top:2px solid #000; border-right:2px solid #000; transform:rotate(-45deg); transition:.2s ease;}
.mm_info_object .btn_toggle.on::after {top:3px; transform:rotate(136deg);}
.col .btn_view {display:block; padding:.2rem .5rem; font-size:.85rem; border-radius:5px; font-weight:500; background-color:#cbcbcb;}
.sc_panel_1 .mm_info_object .submitBtn {margin:0 auto; padding:0; display:block; width:520px; height:65px; line-height:65px; font-size:1.4rem; color:#fff; border-radius:50px; text-align:center; font-weight:700;
    background: linear-gradient(to bottom, #3e3e3e, #2b2b2b);
    text-shadow:4px 4px 6px rgba(0, 0, 0, .7);
    box-shadow: inset 3px 2px 9px rgba(255,255,255,0.4),
              inset -5px -5px 10px rgba(0,0,0,0.5),
              0 3px 12px rgba(0,0,0,0.2);
}

/* all checkbox */
.agree_grup {display:none;}
.agree_grups {display:none;}
.agree_allchk, .chk_list {display:flex; align-items:center; cursor:pointer; user-select:none; font-size:16px; font-weight:700;}
.agree_allchk input, .chk_list input {display:none;}
.chk_list .checkmark, .agree_allchk .checkmark {width:20px; height:20px; border:2px solid #a5a5a5; border-radius:30px; margin-right:5px; display:inline-block; position:relative; transition:background 0.3s, border-color 0.3s;}
.agree_allchk input + .checkmark::after,
.chk_list input + .checkmark::after {content:""; position:absolute; left:5px; top:2px; width:6px; height:9px; border:solid #a5a5a5; border-width: 0 2px 2px 0; transform: rotate(45deg);}
.agree_allchk input:checked + .checkmark,
.chk_list input:checked + .checkmark {border-color:#fc1f25; background-color:#fc1f25;}
.agree_allchk input:checked + .checkmark::after,
.chk_list input:checked + .checkmark::after {content:""; position:absolute; left:5px; top:2px; width:6px; height:9px; border:solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);}
.chk_list {color:#575757; text-align:left; letter-spacing:-1.5px; font-weight:400;}
.chk_list .required {color:#fc1f25;}



.bottom_cat {position:fixed; bottom:-2rem; left:0; right:0; background-color:rgba(0, 0, 0, .8); transform:translateY(100%); transition:transform .35s cubic-bezier(.4,0,.2,1);  z-index:999;}
.bottom_cat.visible {bottom:0; transform:translateY(0);}
.bottom_cat .inner {display:flex; align-items:center; justify-content:center; gap:35px; padding:20px 0 30px;}
.bottom_cat .cta_tel {display:flex; align-items:center; gap:8px; font-size:40px; font-weight:900; color:#fff;}
.bottom_cat .cta_tel::before {content:""; width:28px; height:30px; background:url("../img/sub/ico_bottom_cta_tel.png") no-repeat center;}
.bottom_cat .mm_info_object {display:flex; align-items:center; gap:10px;}
.bottom_cat .mm_info_object .frm_box {display:flex; align-items:center; border-radius:10px;}
.bottom_cat .mm_info_object .frm_box input {margin-bottom:0 !important; width:180px; min-width:auto; height:40px; border:0; border-radius:0;}
.bottom_cat .mm_info_object .frm_box input#frm_name_sub {border-radius:10px 0 0 10px;}
.bottom_cat .mm_info_object .frm_box select {height:40px; border-radius:0 10px 10px 0; border:none;}
.cta_call_wrap {position:relative; flex-shrink:0;}
.cta_call_wrap .cta_badge {position:absolute; top:-40px; right:10px; display:flex; align-items:center; gap:4px; color:#1a1a1a; font-size:16px; font-weight:800; padding:5px 10px; border-radius:20px; background:linear-gradient(90deg, #fee906, #fcee59); animation:floatBadge 2s ease-in-out infinite;}
.cta_call_wrap .cta_badge i {color:#1a1a1a; font-size:16px; font-weight:800; animation:blinkText 1s infinite;}
.cta_call_wrap .cta_badge::before {content:""; width:13px; height:14px; background:url("../img/sub/ico_cta_badge.png") no-repeat 0 0;}
.cta_call_wrap .cta_badge::after {content:""; position:absolute; bottom:-6px; left:50%; width:0; height:0; border-left:6px solid transparent; border-right:6px solid transparent; border-top:6px solid #fcee59; transform:translate(-50%, 0);}
@keyframes floatBadge {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
    100% {
        transform: translateY(0);
    }
}
@keyframes blinkText {
    0%   { color:#000; }
    50%  { color:#fc1f25; }
    100% { color:#000; }
}
.cta_call_wrap .cta_call_btn {display:flex; align-items:center; gap:10px; padding:7px 20px; border-radius:10px; font-size:22px; font-weight:700; color:#fff; background:linear-gradient(90deg, #ea0b11, #ff2228);}
.cta_call_wrap .cta_call_btn::before {content:""; width:17px; height:17px; background:url("../img/sub/ico_cta_call_btn.png") no-repeat center;}
.cta_call_wrap .cta_call_btn:hover { background-color:#c8111e; }


body.write-page #modalOverlay {
    display: none !important;
}


.bast_box .swiper-button-next, .bast_box .swiper-button-prev {display:none;}
.panal_review .swiper-button-next, .panal_review .swiper-button-prev {top:var(--swiper-navigation-top-offset,40%)}

.panal_video {padding:95px 0; background-color:#ff2d2d;}
.panal_video .video_wrap {margin:0 auto; width:880px;}
.panal_video .video_wrap video {display:block; width:100%; border-radius:15px;}
#planSwiper .swiper-button-prev svg,
#planSwiper .swiper-button-next svg {
    display: none !important;
}
#planSwiper .swiper-button-prev,
#planSwiper .swiper-button-next {
    display: none
}
#planSwiper {overflow:visible;}

a.btn_link:visited,
a.cta-btn:visited {color:#fff;}

.compare_box .secret-btn.secret-btn-mobile {display:none;}


.bottom_cat .mm_info_object .frm_box {position:relative;}
.bottom_cat .mm_info_object .agree_box {position:absolute; left:0; bottom:-25px; right:0; padding:0;}
.bottom_cat .mm_info_object .agree_box .agree_grup {display:flex; gap:2%;}
.bottom_cat .mm_info_object .agree_box .agree_grup .chk_list {font-size:13px; color:#fff;}
.bottom_cat .mm_info_object .agree_box .agree_grup .chk_list .checkmark {width:16px; height:16px;}
.bottom_cat .mm_info_object .agree_box .agree_grup .chk_list input + .checkmark::after {top:1px; left:3px; width:5px; height:7px;}
.bottom_cat .mm_info_object .agree_box .agree_grup .col .btn_view {padding:3px 5px; font-size:.6rem;}


.top-notice-hidden #topNotice {display:none;}
.top_notice {position:fixed; top:0; width:100%; height:52px; background-color:#714bdb; overflow:hidden; z-index:1000;}
.top_notice_inner {position:relative; padding:0 48px 0 16px; max-width:100%; height:100%;}
.top_notice_track {position:relative; width:100%; height:100%;}
.top_notice_item {position:absolute; left:0; top:0; display:flex; align-items:center; justify-content:center; width:100%; height:52px; color:#fff; font-size:17px; font-weight:500; text-decoration:none; line-height:1;
white-space:nowrap; opacity:0; transform:translateY(100%); transition:transform 0.45s ease, opacity 0.45s ease; pointer-events:none;}
.top_notice_item.is_active {opacity:1; transform:translateY(0); pointer-events:auto;}
.top_notice_item.is_prev {opacity:0; transform:translateY(-100%); pointer-events:none;}
.top_notice_item span {display:inline-flex; align-items:center; gap:4px; color:#fff; letter-spacing:0;}
.top_notice_item .point_red {color:#F0FA58; font-weight:500;}
.top_notice_item .point_yellow {color:#ffe14a; font-weight:500;}
.top_notice_close {position:absolute; right:14px; top:50%; transform:translateY(-50%); width:24px; height:24px; border:0; background:transparent; color:#fff; font-size:22px; line-height:1; cursor:pointer; opacity:.8;}
.top_notice_close:hover {opacity:1;}

@media (max-width: 768px) {
    .top_notice,
    .top_notice_item {height:48px;}
    .top_notice_inner {padding:0 40px 0 12px;}
    .top_notice_item {justify-content:flex-start; overflow:hidden; font-size:.9rem;}
    .top_notice_item span {display:block; padding-right:8px; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
    .top_notice_close {right:10px; width:20px; height:20px; font-size:18px;}
}

.iframe_container {position:relative; padding:0 4rem 4rem; width:100%; background-color:#80d3ff;}
.iframe_container::before,
.iframe_container::after {content:""; position:absolute;} 
.iframe_container::before {top:0; left:4rem; right:4rem; height:6rem; border-radius:30px 30px 0 0; background-color:#fff;}
.iframe_container::after {bottom:4rem; left:4rem; right:4rem; height:10rem; border-radius:0 0 30px 30px; background-color:#f9f9f9;}
.iframe_container iframe {width:100%; height:100rem; border-radius:30px; background-color:#f9f9f9; overflow:hidden;}

.menu_nav_box.swiper {display:flex; align-items:center; justify-content:space-between; gap:96px; padding:0 4px; touch-action:pan-x !important; pointer-events:auto !important; overflow: visible !important;}
.head_nav > li > a.on,
.head_nav .dep li a.active,
.head_nav .dep li a.on {color:#ff2228;}
.dep li a.active,
.dep li a.on {color:#ff2228;}
.sub_dep {display:none;}
.head_nav > li:hover [data-dep-idx],
.head_nav > li.active [data-dep-idx] {display:block;}


/* 공통 */
.swiper-button-prev,
.swiper-button-next {width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,0.4); color:#fff;}
.swiper-button-prev::after,
.swiper-button-next::after {font-size:16px;}
.swiper-button-prev {left:10px;}
.swiper-button-next {right:10px;}
.swiper-button-prev:hover,
.swiper-button-next:hover {background:rgba(0,0,0,0.7);}
.mm_info_object .frm_box .in_date_box {display:flex; align-items:center; gap:10px; margin-top:11px; min-width:330px;}
.mm_info_object .frm_box .in_date_box > * {width:49%; min-width:auto; border-radius:8px;}
.mm_info_object .frm_box input[type="date"] {cursor:pointer;}
.in_date_box .frm_input {border: 1px solid #ededed;}
.modal_popup .mm_info_object .frm_box > * {margin-bottom:8px; width:100%; border-radius:8px;}


/* main rolling style */
:root {
--accent: #ffea00;
--btn-bg: #111122;
--radius: 40px;
--dur: 0.72s;
--ease: cubic-bezier(0.22, 1, 0.36, 1);
--ease-spring: cubic-bezier(0.34, 1.48, 0.64, 1);

/* 3D stage */
--perspective: 1200px;
--card-w: 780px;
--card-h: 435px;

/* per-card colours */
--g0: linear-gradient(90deg, #5d61fc, #ad72f6);
--g1: linear-gradient(90deg, #dc5dfc, #e580ff);
--g2: linear-gradient(90deg, #1d7ffe, #45c7e9);
}


.promo-banner {width:100%; max-width:1060px;}
.promo-banner__stage {margin:45px 0; width:100%; perspective:var(--perspective); perspective-origin:50% 50%; display:flex; align-items:center; justify-content:center; position:relative; overflow:visible;}
.promo-banner__deck {position:relative; width:var(--card-w); height:var(--card-h); transform-style:preserve-3d;}
.promo-banner__card {position:absolute; inset:0; width:100%; height:100%; border-radius:var(--radius); display:flex; align-items:stretch; overflow:hidden; will-change:transform, opacity;
transform-origin:center center; transform-style:preserve-3d; backface-visibility:hidden; -webkit-backface-visibility:hidden; transform:translateZ(-120px) rotateY(6deg) scale(0.82);
opacity:0; pointer-events:none; transition:transform var(--dur) var(--ease), opacity calc(var(--dur) * 0.75) ease;}
.promo-banner__card[data-slot="0"] {transform:translateZ(0px) rotateY(0deg) scale(1); opacity:1; pointer-events:auto; z-index:10;}
.promo-banner__card[data-slot="0"]:hover {transform:translateZ(0px) rotateY(0deg) scale(1.015) translateY(-5px);}
.promo-banner__card[data-slot="1"] {transform: translateZ(-90px) translateX(-290px) translateY(4px) rotateY(0deg) scale(0.90); opacity:1; pointer-events:none; z-index:7; box-shadow:none;}
.promo-banner__card[data-slot="2"] {transform: translateZ(-90px) translateX(290px) translateY(4px) rotateY(0deg) scale(0.90); opacity:1; pointer-events:none; z-index:7; box-shadow:none;}
.promo-banner__card[data-slot="3"],
.promo-banner__card[data-slot="4"] {transform:translateZ(-200px) scale(0.78); opacity:0; pointer-events:none; z-index:1;}
.promo-banner__card--rise {z-index:12 !important; transition:transform calc(var(--dur) * 1.05) var(--ease-spring), opacity calc(var(--dur) * 0.55) ease, box-shadow var(--dur) ease;}
.promo-banner__card--rise-left {z-index:12 !important; transition:transform calc(var(--dur) * 1.05) var(--ease-spring), opacity calc(var(--dur) * 0.55) ease, box-shadow var(--dur) ease;}
.promo-banner__card--sink-left {z-index:8 !important; transition:transform var(--dur) var(--ease), opacity calc(var(--dur) * 0.55) ease, box-shadow var(--dur) ease;}
.promo-banner__card--sink {z-index:8 !important; transition:transform var(--dur) var(--ease), opacity calc(var(--dur) * 0.55) ease, box-shadow var(--dur) ease;}
.promo-banner__card[data-index="0"] { background: var(--g0);}
.promo-banner__card[data-index="1"] { background: var(--g1);}
.promo-banner__card[data-index="2"] { background: var(--g2);}
.promo-banner__content {position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:0 0 0 64px; flex:1; text-align:left; min-width:0;}
.promo-banner__label {font-size:24px; font-weight:500; color:#fff; margin-bottom:5px; line-height:1.5;}
.promo-banner__title {font-size:40px; color:#fff; margin-bottom:92px;}
.promo-banner__title em {color:var(--accent); font-weight:700; display:block; font-family: var(--font-esamanru);}
.promo-banner__title span { display: block; color:#fff; font-weight:700; font-family: var(--font-esamanru);}
.promo-banner__btn {display:inline-flex; align-items:center; background:var(--btn-bg); color:#fff; font-size:15px; font-weight:700; padding:13px 30px; border-radius:50px; width:fit-content; transition:transform .28s var(--ease-spring);}
.promo-banner__btn:focus-visible {outline:3px solid var(--accent); outline-offset:3px;}
.promo-banner__char {position:relative; z-index:2; width:260px; flex-shrink:0; display:flex; align-items:flex-end; justify-content:center; padding-right:10px;}
.promo-banner__char-img {width:240px; height:auto; filter:drop-shadow(0 18px 32px rgba(30,10,80,.34)); animation:charFloat 3.4s ease-in-out infinite; display:block;}
@keyframes charFloat {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-13px); }
}
.promo-banner__pager {position:absolute; left:50%; bottom:2rem; transform:translate(-50%, 0); display:flex; align-items:center; justify-content:center; gap:8px;}
.promo-banner__pager-pill {display:inline-flex; align-items:center; gap:2px; background:rgba(0, 0, 0 , .1); backdrop-filter: blur(12px); -webkit-backdrop-filter:blur(12px); border-radius:50px; padding:4px 14px;}
.promo-banner__pager-btn {background:none; border:none; padding:3px; cursor:pointer; color:rgba(255, 255, 255, 0.8); display:flex; align-items:center; justify-content:center; border-radius:50%; transition:color .18s, background .18s; line-height:1;}
.promo-banner__pager-btn:hover {color:#fff; background:rgba(60,40,120,.10);}
.promo-banner__pager-btn:focus-visible {outline:2px solid #7c5fff; outline-offset:2px;}
.promo-banner__pager-btn svg {width:15px; height:15px;}
.promo-banner__pager-count {font-size:12px; font-weight:700; color:rgba(255, 255, 255, 0.75);  min-width:40px; text-align:center; letter-spacing:0;}
.promo-banner__pager-count strong {color:#fff; font-weight:700;}
.promo-banner__pager-count span {color:#fff; font-weight:700;}
.promo-banner__pager-dots {display:flex; align-items:center; gap:6px; margin:0 4px;}
.promo-banner__pager-dot {width:7px; height:7px; border-radius:50%; background:rgba(60,40,120,.28); transition:background .3s, transform .3s; cursor:pointer; border:none; padding:0;}
.promo-banner__pager-dot--active {background:#5b4fff; transform:scale(1.45);}
.promo-banner__pager-pause {background:none; border:none; padding:4px; cursor:pointer; color:rgba(255, 255, 255, 0.75); display:flex; align-items:centerc border-radius:50%; transition:color .18s, background .18s; margin-left:2px;}
.promo-banner__pager-pause:hover {color:#ffffff; background:rgba(255, 255, 255, 0.1);}
.promo-banner__pager-pause svg { width: 14px; height: 14px; }

.promo-banner__card.card-video {display:block;}
.promo-banner__card.card-video .promo-banner__content {padding:0;}
.promo-banner__card.card-video .promo-banner__content video {display:block; width:100%; height:100%; object-fit:contain;}
.promo-banner__card.card-video .promo-banner__content .promo-banner__btn {position:absolute; left:5rem; bottom:4rem;}


.panal_promo {height:550px; border-radius:0; overflow:hidden; position:relative;}
.promo-visual__inner {display:flex; align-items:center; width:100%; height:100%; gap:0;}
.promo-visual__text {width:380px; min-width:380px; position:relative; z-index:10; display:flex; flex-direction:column;}
.promo-visual__text-slot {position:relative; height:210px; overflow:hidden;}
.promo-visual__slide-text {position:absolute; top:0; left:0; width:100%; text-align:left; opacity:0; transform:translateY(20px); transition:opacity 0.5s ease, transform 0.5s ease; pointer-events:none;}
.promo-visual__slide-text.active {opacity:1; transform:translateY(0); pointer-events:auto;}
.promo-visual__slide-text.exit {opacity:0; transform:translateY(-20px);}
.promo-visual__kicker {font-size:36px; font-weight:700; color:#000; display:block;}
.promo-visual__headline {font-size:36px; font-weight:700; color:#fe2e36; display:block;}
.promo-visual__timer-wrap {margin-top:56px; display:flex; align-items:baseline; gap:10px;}
.promo-visual__timer-wrap .promo-visual__timer-label {font-size:20px; font-weight:700; color:#111;}
.promo-visual__timer-wrap .promo-visual__timer-value {font-size:24px; font-weight:700; color:#fe2e36;}
.promo-visual__desc {margin-top:9px; font-size:18px; color:#000;}
.promo-visual__controls {display:flex; align-items:center; gap:8px; margin-top:58px;}
.promo-visual__counter {min-width:30px; font-size:18px; color:#b4b8ce; margin-left:4px; font-weight:500;}
.promo-visual__nav-btn,
.promo-visual__pause-btn {width:20px; height:20px; font-size:14px; color:#b4b8ce; border-radius:50%; border:2px solid #b4b8ce; background:transparent; cursor:pointer; display:flex; align-items:center; justify-content: center;
transition: background 0.2s, border-color 0.2s; line-height:1;}
.promo-visual__nav-btn {display:flex; align-items:center; justify-content:center; font-size:8px;}
.promo-visual__pause-btn {border:none;}
.promo-visual__nav-btn:hover,
.promo-visual__pause-btn:hover {background-color:#e0e0e0; border-color:#aaa;}
.promo-visual__nav-btn svg {width:12px; height:12px; fill:currentColor;}
.promo-visual__pause-btn svg {width:12px; height:14px; fill:currentColor;}
.promo-visual__slide-area {flex:1; position:relative; height:100%; overflow:hidden;}
.promo-visual__img-slide {position:absolute;  inset:0; display:flex; align-items:center; justify-content:end; opacity:0; transform:translateX(40px); transition:opacity 0.55s ease, transform 0.55s ease; pointer-events:none;}
.promo-visual__img-slide.active {opacity:1; transform:translateX(0); pointer-events:auto;}
.promo-visual__img-slide.exit {opacity:0; transform:translateX(-40px);}
.promo-slide1 {position:relative;}
.promo-slide1__img {max-height:420px; max-width:100%; object-fit:contain; display:block;}
.promo-slide1__cta-wrap {position:absolute; bottom:0; left:0; display:flex; justify-content:center;}
.promo-slide1__cta-wrap .promo-visual__cta {display:flex; align-items:center; justify-content:center; width:175px; height:50px; color:#fff; font-size:18px; font-weight:700; border-radius:50px; background-color:#000; transition: transform 0.22s ease, box-shadow 0.22s ease;}
.promo-slide1__cta-wrap .promo-visual__cta:hover {transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,0.25);}
.promo-slide1__cta-wrap.btn-promo1 {bottom:1.5rem; left:5.4rem;}
.promo-slide1__cta-wrap.btn-promo2 {bottom:1.5rem; left:10rem;}
.promo-slide1__cta-wrap.btn-promo3 {bottom:1.5rem; left:6.4rem;}


/* ============================
   Responsive
   ============================ */
@media (max-width: 1100px) {
  .promo-visual__inner { padding: 0 40px 0 50px; }
  .promo-visual__headline { font-size: 28px; }
  .promo-visual__timer-value { font-size: 34px; }
  .promo-visual__desc { font-size: 17px; }
  .promo-visual__text { min-width: 300px; width: 300px; }
}

@media (max-width: 768px) {
  .promo-visual { height: auto; }
  .promo-visual__inner {
    flex-direction: column;
    padding: 32px 24px 24px;
    gap: 20px;
  }
  .promo-visual__text { width: 100%; min-width: unset; }
  .promo-visual__text-slot { height: 190px; }
  .promo-visual__headline { font-size: 26px; }
  .promo-visual__slide-area { width: 100%; height: 300px; }
  .promo-slide1__img { max-height: 240px; margin-bottom: 46px; }
  .promo-visual__cta { width: 150px; height: 50px; font-size: 18px; }
  .promo-slide__product-img { width: 120px; height: 80px; }
}



/* ── 이벤트 섹션 ── */
.panal_event {padding:10rem 0 6rem;}
.panal_event .ev-header {display:flex; align-items:center; gap:1rem; margin-bottom:32px;}
.panal_event .ev-title {display:flex; align-items:center; gap:10px; font-size:32px; font-weight:700; color:#111; margin:0;}
.panal_event .ev-more-arrow {display:flex; align-items:center; margin-top:-2px; color:#000; transition:color 0.2s;}
.panal_event .ev-desc {font-size:16px; color:#000; margin:0;}
.ev-nav {display:flex; align-items:center; gap:8px; margin-left:auto;}
.ev-btn-prev,
.ev-btn-next {display:flex; align-items:center; justify-content:center; width:28px; height:28px; border:1px solid #ddd; border-radius:50%; background:#fff; cursor:pointer; color:#444; transition:border-color 0.2s, background 0.2s; padding:0;}
.ev-btn-prev:hover,
.ev-btn-next:hover {border-color:#999; background:#f5f5f5;}
.ev-btn-prev.swiper-button-disabled,
.ev-btn-next.swiper-button-disabled {opacity:0.35;cursor: default;}
.ev-pagination-text {min-width:36px; font-size:16px; color:#75706f; font-weight:700; text-align:center;}
.ev-pagination-text span {color:#75706f; font-weight:700;}
.ev-current {color:#111; }
.ev-swiper {overflow:hidden;}
.ev-list {list-style:none; margin:0; padding:0;}
.ev-item {width:calc(33.333% - 14px);}
.ev-card {display:block; text-decoration:none; color:inherit;}
.ev-thumb-wrap {width:100%; height:190px; border-radius:15px; overflow:hidden; background-color:#f5f0e8;}
.ev-thumb {width:100%; height:100%; object-fit:cover; transition:transform 0.35s ease;}
.ev-card:hover .ev-thumb {transform:scale(1.04);}
.ev-thumb-placeholder {width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#f0ece2;}
.ev-info {padding:1.5rem 0; text-align:left;}
.ev-name {margin:0 0 10px; width:100%; font-size:20px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.ev-period {margin:0; font-size:15px; color:#999; }
.ev-empty {text-align:center; padding:40px 0; color:#aaa; font-size:14px;}

@media (max-width: 768px) {
    .ev-title { font-size: 18px; }
    .ev-desc  { display: none; }
    .ev-item  { width: calc(50% - 8px); }
    .ev-name  { font-size: 13px; }
    .ev-period { font-size: 12px; }
}

@media (max-width: 480px) {
    .ev-item { width: 75vw; }
}




/* ===== benefits section ===== */
.panal_benefits {padding:8rem 0; background-color:#f3f6fb;}
.panal_benefits .benefits-container {margin:0 auto; display:grid; grid-template-columns:348px 1fr; gap:48px; align-items:start;}
.panal_benefits .left-area {display:flex; flex-direction:column; gap:0;}
.panal_benefits .left-area__title {margin-bottom:8px; font-size:36px; font-weight:700; text-align:left;}
.panal_benefits .left-area__desc {margin-bottom:52px; font-size:18px; font-weight:400; text-align:left;}
.panal_benefits .btn-list {display:flex; flex-direction:column; gap:20px;}
.panal_benefits .btn-choice {display:flex; align-items:center; justify-content:center; width:305px; height:55px; color:#5364ff; font-size:16px; font-weight:500; border-radius:50px; background: #fff; transition:background 0.22s, color 0.22s, margin-left 0.22s; cursor:pointer; box-shadow: 0 2px 10px rgba(83,100,255,0.08);}
.panal_benefits .btn-choice[aria-pressed="true"],
.panal_benefits .btn-choice--active {margin-left:42px; font-weight:700; background:linear-gradient(90deg, #5d61fc, #ad72f6); color:#fff; box-shadow: 0 4px 18px rgba(83,100,255,0.28);}
.panal_benefits .right-area {display:flex; flex-direction:column; gap:42px;}
.panal_benefits .banner {position:relative; display:flex; align-items:center; padding-left:74px; height:83px; border-radius:25px; background:linear-gradient(90deg, #5264ff 0%, #a65df4 100%);}
.panal_benefits .banner .banner__text {color:#fff; font-size:20px; font-weight:700;}
.panal_benefits .banner .banner__text span {color:#fff; font-size:24px; font-weight:700;}
.panal_benefits .banner .img-banner__text {position:absolute; right:19px; bottom:-25px;}
.panal_benefits .card {background:#fff; border-radius:26px; overflow: hidden; display:flex; box-shadow: 0 4px 30px rgba(83, 100, 255, 0.07);}
.panal_benefits .card__product {flex:0 0 58%; padding:19px 49px 35px 49px; display:flex; flex-direction: column; position:relative;}
.panal_benefits .card__product-name {margin-bottom:20px; padding:19px 24px; font-size:20px; font-weight:700; border-bottom:1px solid #e4e4e4; text-align:left; transition:opacity 0.15s;}
.panal_benefits .card__product .panal_recommend_benefits__support-btn {margin-top:auto; margin-bottom:0;}
.panal_benefits .card__icon-list {display:flex; flex-wrap:wrap; gap:1.5rem; padding:0 0 0 15px; margin-bottom:25px;}
.panal_benefits .card__icon-item {display:flex; flex-direction:column; align-items:center;}
.panal_benefits .card__icon-wrap {display:flex; align-items:center; justify-content:center;}
.panal_benefits .card__icon-wrap img {display:block;}
.panal_benefits .card__icon-label {font-size:13px; font-weight:600; color:#737373; text-align:center; white-space:nowrap;}
.panal_benefits .card__benefit {padding-left:17px; color:#e40000; font-size:20px; font-weight:700; line-height:1.45; text-align:left; text-indent:-17px; white-space:pre-line;}
.panal_benefits .card__price {flex:0 0 42%; padding:38px 49px 34px 49px; display:flex; flex-direction:column; gap:0; box-shadow: 0px 0px 15px #dfe4eb;}
.panal_benefits .card__price-header {display:flex; justify-content:space-between; align-items: baseline; margin-bottom:20px; padding-bottom:15px; border-bottom: 1px solid #e4e4e4;}
.panal_benefits .card__price-label {font-size:20px; font-weight:700;}
.panal_benefits .card__price-amount {font-size:20px; font-weight:700; color:#eb0c12; white-space:nowrap;}
.panal_benefits .card__price-rows {display:flex; flex-direction:column; gap:10px;}
.panal_benefits .card__price-row {display:flex; justify-content:space-between; font-size:16px;}
.panal_benefits .card__price-row span {color:#6e6e6e; font-weight:600;}
.panal_benefits .card__price-row span.card__price-row-val,
.panal_benefits .card__price-row span.card__price-row-val--discount {color:#000; font-weight:700;}
.panal_benefits .card__price-row-val--discount {font-weight:700; color:#555;}
.panal_benefits .card__price-contract {margin-bottom:6px; font-size:14px; color:#888;}
.panal_benefits .card__price-row--contract {margin-bottom:15px; padding:13px 0 18px; border-bottom: 1px solid #e8e8e8;}
.panal_benefits .card__price-row--contract .card__price-row--contract-price {margin-bottom:5px; display:flex; justify-content:space-between; font-size:14px;}
.panal_benefits .card__price-row--contract .card__price-row--contract-price:last-child {margin-bottom:0;}
.panal_benefits .card__price-row--contract .card__price-row--contract-price span {font-weight:500; color:#747474;}
.panal_benefits .card__price-note {margin-bottom:18px; font-size:13px; color:#747474;}
.panal_benefits .btn-cta {display:flex; align-items:center; justify-content:center; width:100%; height:50px; color:#fff; font-size:16px; font-weight:700; border-radius:15px; background:linear-gradient(90deg, #ff2b2b, #ff6b4a); cursor: pointer; transition: opacity 0.2s; margin-top:auto;}
.panal_benefits .btn-cta:hover { opacity: 0.9; }
.panal_benefits .card__no-selection {display:none; align-items:center; justify-content:center; flex-direction:column; gap:16px; width:100%; color:#aaa; font-size:16px;}
.panal_benefits .card__product-desc {padding:0 0 0 24px; text-align:left; font-size: 18px;}
.panal_benefits .card__product-desc strong {display:block; margin-bottom:10px; font-size:18px; font-weight:600; color:#000;}
.panal_benefits .card__product-desc p {font-size:16px; font-weight:400;  color:#747474;}



@media (max-width: 1100px) {
    .panal_benefits .benefits-container {grid-template-columns:1fr;}
    .panal_benefits .left-area {align-items:flex-start;}
}

@media (max-width: 768px) {
    .panal_benefits {padding: 48px 0;}
    .panal_benefits .left-area__title { font-size: 28px; }
    .panal_benefits .btn-choice { width: 100%; max-width: 400px; font-size: 16px; height: 56px; }
    .panal_benefits .banner { padding-left: 28px; height: 76px; }
    .panal_benefits .banner__text { font-size: 15px; }
    .panal_benefits .card { flex-direction: column; }
    .panal_benefits .card__product {flex:none; border-right:none; border-bottom:1.5px solid #f0f0f5; padding:32px 24px 28px;}
    .panal_benefits .card__price {flex:none; padding:28px 24px;}
    .panal_benefits .card__price-header { flex-direction: column; gap: 4px; }
    .panal_benefits .card__product-name {font-size:20px; }
    .panal_benefits .card__benefit { font-size: 18px; }
    .panal_benefits .card__price-amount { font-size: 22px; }
}

@media (max-width: 480px) {
    .panal_benefits .left-area__title { font-size: 24px; }
    .panal_benefits .banner { padding-left: 20px; }
    .panal_benefits .banner__text { font-size: 14px; }
}



.btn_header_genie.logo-bg {padding:10px 15px; display:inline-flex; align-items:center; gap:7px; border-radius:50px; background-color:#efedf7;}
.btn_header_genie .genie-tv-wrap {display:flex; align-items:flex-start; align-self:flex-start; padding-top:2px; flex-shrink:0;}
.btn_header_genie #genieTV {height:13px; width:auto; display:block; overflow:visible;}
.btn_header_genie .allg-wrap {position:relative; overflow:hidden; display:block; flex-shrink:0;}
.btn_header_genie #allgSVG {height:20px; width:auto; display:block;}
.btn_header_genie .w {transform-origin:center; transform-box:fill-box;}
.btn_header_genie .lc3 {fill:#6941ff; stroke:#6941ff; stroke-width:3px; paint-order:stroke fill;}
@keyframes wave {
    0%   { transform: translateY(0); }
    30%  { transform: translateY(-18px); }
    70%  { transform: translateY(4px); }
    100% { transform: translateY(0); }
}
.btn_header_genie .shine-bar {position:absolute; top:-70%; left:-140%; width:44%; height:260%; z-index:3; 
    background:linear-gradient(
    120deg,
    rgba(255,255,255,0)    0%,
    rgba(255,255,255,0.07) 30%,
    rgba(255,255,255,0.88) 50%,
    rgba(255,255,255,0.07) 70%,
    rgba(255,255,255,0)   100%
    );
    transform: rotate(18deg); filter:blur(1px); opacity:0; pointer-events:none;}
@keyframes shineMove {
  0%   { left: -140%; opacity: 0; }
  8%   { opacity: 1; }
  100% { left: 190%; opacity: 1; }
}

.badge-ai {display: inline-flex; align-items:center; justify-content:center; margin-left:4px; padding:3px 5px; height:13px; color:#ff6262; font-size:11px; font-weight:600; border-radius:20px; background-color:#ffd9cf;} 
/* comm.css:1118 에 이미 있는 스타일 */
.notice_utile_box a {
    position: relative;
    display: inline-block;
}
.error-msg {margin-top:5px; font-size:15px; color:#fc1e1e;}
.wr_textarea {height:20rem;}
.sel_qna_chk {min-width:200px;}

