/* Header, Footer, Layout CSS */
:root { --re-main-color: #2155B6; --re-header-top-height: 40px; }

/* text cut { */
.re-t-row1 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all; }
.re-t-row2 { white-space: normal; overflow: hidden; max-height: 2lh; text-align: left; word-wrap: break-word; word-break: break-all; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
/* } text cut */

/* SNS { */
.re-sns { display: block; aspect-ratio: 1 / 1; border-radius: 50%; background-repeat: no-repeat; background-position: center; background-size: contain; }
.re-sns.youtube { background-image: url('../img/sns-youtube.svg'); }
.re-sns.facebook { background-image: url('../img/sns-facebook.svg'); }
.re-sns.instagram { background-image: url('../img/sns-instagram.svg'); }
/* } SNS */

/* Content Line { */
#container.re-page, #subContainer.re-page { padding-top: 130px; min-height: calc(100vh - 475px); }
.re-container { padding: 0 60px; width: 100%; }
.re-wrapper { width: 1800px; margin: 0 auto; max-width: 100%; }
/* } Content Line */

/* Header { */
.re-header { background: #FFF; font-family: 'Paperlogy'; z-index: 400; position: fixed; width: 100%; border-radius: 0; transition: all .3s; }
.re-header * { font-family: 'Paperlogy'; }
.re-header.active { border-radius: 0 0 50px 50px; overflow: hidden; max-height: 100dvh; }
.re-header-top { background: #EDF0F6; height: 40px; display: flex; align-items: center; }
.re-header-top-wrapper { width: 100%; display: flex; align-items: center; justify-content: space-between; }
.re-header-top-left { display: flex; align-items: center; gap: 16px; }
.re-tel-num { display: flex; align-items: center; height: 26px; }
.re-tel-num .re-ico i { background: var(--re-main-color); padding: 5px; height: 26px; aspect-ratio: 1 / 1; color: #FFF; border-radius: 50%; }
.re-tel-num .re-num { color: var(--re-main-color); font-size: 20px; font-weight: 700; margin-left: 2px; }
.re-tel-time { font-size: 14px; }
.re-tel-time i { font-size: 16px; margin-right: 2px; }
.re-tel-time > span:last-of-type { color: #626262; }
.re-header-top-right { display: flex; align-items: center; gap: 30px; }
.re-header-login { display: flex; align-items: center; justify-content: flex-end; gap: 26px; }
.re-header-login > li { position: relative; }
.re-header-login > li .blue { color: var(--re-main-color); }
.re-header-login > li a:hover { color: var(--re-main-color); font-weight: 700; }
.re-header-login > li:not(:last-child)::after { content: ''; position: absolute; height: 70%; width: 2px; background: #AAAAAA; top: 15%; left: calc(100% + 12px); }
.re-header-sns { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.re-header-sns .re-sns { width: 26px; }
.re-zoom-control { display: flex; align-items: stretch; gap: 5px; }
.re-zoom-control .re-btn-set-font-size { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; height: 26px; background: #FFFFFF; border: 1px solid #CDCDCD; border-radius: 4px; color: #626262; font-size: 18px; transition: all .3s; }
.re-zoom-control .re-btn-set-font-size:hover { color: var(--re-main-color); border-color: var(--re-main-color); }
.re-header-wrapper { display: flex; align-items: center; justify-content: space-between; height: 90px; }
.re-header h1 { display: block; width: 216px; height: auto; }
.re-header h1 a, .re-header h1 img { display: block; width: 100%; height: auto; }
.re-header-menu { position: relative; background: transparent; z-index: 100; transition: all .3s; border-radius: 0; overflow: visible; }
.re-header-menu.is-submenu-open { border-radius: 0 0 50px 50px; overflow: hidden; }
.re-header-menu .re-header-wrapper { position: static; }
.re-header-menu::before { content: ''; position: absolute; width: 100%; height: 1px; background: #CDCDCD; left: 0; top: calc(var(--header-wrapper-height, 90px) - 1px); z-index: 1001; pointer-events: none; }
.re-gnb { display: flex; height: 100%; }
.re-gnb .re-menu-depth1 { display: flex; width: 1000px; height: 100%; align-items: center; justify-content: space-between; margin: 0; padding: 0; list-style: none; }
.re-gnb .re-menu-depth1 > li { display: inline-block; height: 100%; position: static; margin: 0; text-align: center; }
.re-gnb .re-menu-depth1 > li > a { font-size: 23px; font-weight: 400; position: relative; display: flex; align-items: center; justify-content: center; height: 100%; padding: 5px; white-space: nowrap; transition: all 0.3s; }
/* .re-gnb .re-menu-depth1 > li > a::before { content: ""; position: absolute; left: 50%; bottom: 0; width: 0; height: 4px; background: var(--re-main-color); transition: all 0.3s; }
.re-gnb .re-menu-depth1 > li.active > a::before { width: 100%; left: 0; } */
.re-gnb .re-menu-depth1 > li > a:hover, .re-gnb .re-menu-depth1 > li.active > a { color: var(--re-main-color); font-weight: 600; }
.re-gnb .re-sub-menu-wrap { position: absolute; left: 0; right: 0; top: var(--header-wrapper-height, 90px); z-index: 1; display: flex; flex-direction: row; align-items: stretch; width: 100%; height: 100%; max-height: calc(100dvh - var(--header-wrapper-height, 90px) - var(--re-header-top-height, 40px)); opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(8px); transition: all .3s; overflow: hidden; border-radius: 0 0 50px 50px; }
.re-gnb .re-sub-menu-wrap.is-active { opacity: 1; visibility: visible; pointer-events: auto; transform: translateY(0); z-index: 2; transition: all .3s; }
.re-gnb .re-sub-menu-wrap.is-leaving { opacity: 0; visibility: visible; pointer-events: none; z-index: 1; transition: all 0.1s; }
.re-gnb .re-sub-menu-wrap.is-entering { opacity: 0; visibility: visible; pointer-events: none; z-index: 2; transition: all 0.3s; }
.re-gnb .re-sub-menu-wrap.is-active.is-entering { opacity: 1; transform: translateY(0); pointer-events: auto; }
.re-gnb .re-sub-menu-wrap.is-measuring { position: absolute !important; left: 0 !important; right: 0 !important; width: 100% !important; height: auto !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; z-index: -1 !important; transform: none !important; max-height: none; overflow: visible; }
.re-sub-menu-bg { position: relative; height: 0; max-height: calc(100dvh - var(--header-wrapper-height, 90px) - var(--re-header-top-height, 40px)); transition: all .3s; pointer-events: none; }
.re-sub-menu-bg::before { content: ''; position: absolute; top: 0; left: 0; width: 25%; height: 100%; background: var(--re-main-color); }
.re-sub-menu-bg::after { content: ""; position: absolute; background: url('../img/sub-menu-deco.svg') no-repeat center / cover; left: calc(25% - 165px); bottom: 30px; width: 165px; height: 172px; pointer-events: none; }
.re-gnb .re-sub-menu-wrap .re-menu-deco { flex: 0 0 25%; width: 25%; padding: 56px 60px; z-index: 1; text-align: left; color: #FFF; }
.re-gnb .re-sub-menu-wrap .re-menu-deco strong { display: block; font-size: 34px; font-weight: 600; margin-bottom: 20px; }
.re-gnb .re-sub-menu-wrap .re-menu-deco p { color: #BCD3FF; font-size: 20px; font-weight: 300; letter-spacing: -3%; line-height: 1.6; }
.re-gnb .re-menu-depth2-scroll { flex: 1 1 0; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
/* grid: flex와 달리 padding-bottom이 스크롤 높이에 정상 반영됨 */
.re-gnb .re-menu-depth2 { text-align: left; font-size: 18px; font-weight: 400; color: #000; position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; align-content: start; gap: 30px; padding: 40px 35px 50px; margin: 0; list-style: none; }
.re-gnb .re-menu-depth2 > li { min-width: 0; }
.re-gnb .re-menu-depth2 > li > a { font-size: 18px; position: relative; display: flex; align-items: center; height: 54px; padding: 15px 50px 15px 20px; border: 1px solid #CDCDCD; background: #FFF; border-radius: 6px; overflow: hidden; z-index: 1; transition: background-color .3s ease, border-color .3s ease, color .3s ease, font-weight .3s ease; }
.re-gnb .re-menu-depth2 > li:hover > a, .re-gnb .re-menu-depth2 > li.active > a { color: #fff; font-weight: 600; background-color: var(--re-main-color); border-color: var(--re-main-color); }
.re-gnb .re-menu-depth2 > li > a::after { content: "\EA6E"; font-family: "remixicon"; position: absolute; right: 15px; top: 50%; transform: translateY(-50%); font-size: 24px; aspect-ratio: 1 /1 ; color: #767676; transition: color 0.3s ease; }
.re-gnb .re-menu-depth2 > li:hover > a::after, .re-gnb .re-menu-depth2 > li.active > a::after { color: #FFF; }
.re-gnb .re-menu-depth3 { padding: 20px 0 0 18px; list-style: none; margin: 0; }
.re-gnb .re-menu-depth3 > li { position: relative; padding-left: 12px; }
.re-gnb .re-menu-depth3 > li:not(:last-child) { margin-bottom: 10px; }
.re-gnb .re-menu-depth3 > li::before { content: ""; position: absolute; left: 0; top: 11px; width: 4px; height: 4px; background: #CDCDCD; border-radius: 50%; }
.re-gnb .re-menu-depth3 > li > a { font-size: 18px; color: #767676; transition: color 0.2s; }
.re-gnb .re-menu-depth3 > li:hover > a, .re-gnb .re-menu-depth3 > li:focus > a { color: var(--re-main-color); text-decoration: underline; font-weight: 500; }
.re-gnb .re-menu-depth3 > li:hover::before, .re-gnb .re-menu-depth3 > li.active::before { background: var(--re-main-color); }
.re-gnb .re-menu-depth3 > li.active > a { color: var(--re-main-color); text-decoration: underline; }
.re-gnb .re-menu-depth4 { padding: 4px; }
.re-gnb .re-menu-depth4 > li { position: relative; padding-left: 12px; }
.re-gnb .re-menu-depth4 > li::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 2px; background: #CDCDCD; }
.re-gnb .re-menu-depth4 > li > a { color: #767676; font-size: 16px; transition: color 0.2s; }
.re-gnb .re-menu-depth4 > li:hover > a, .re-gnb .re-menu-depth4 > li:focus > a { color: var(--re-main-color); text-decoration: underline; }
.re-gnb .re-menu-depth4 > li:hover::before { background: var(--re-main-color); }
.re-header-cover { content: ""; position: fixed; top: 0; left: 0; z-index: 399; height: 100%; width: 100%; background: #000; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.3s, visibility 0.3s; }
.re-header.active + .re-header-cover { opacity: 0.4; visibility: visible; pointer-events: auto; }
.re-mobile-cover { display: none; }
.re-right-menu { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.re-right-menu .re-right-menu-btn { display: flex; align-items: center; justify-content: center; height: 50px; aspect-ratio: 1 / 1; overflow: hidden; transition: all .3; }
.re-right-menu .re-right-menu-btn:hover { color: var(--re-main-color); }
.re-right-menu .re-right-menu-btn i { display: block; font-size: 40px; }
.re-search-bar { position: relative; z-index: 5; width: 50px; height: 50px; }
.re-search-bar .re-search-box { position: relative; width: 50px; height: 50px; }
.re-search-bar .re-search-input { position: absolute; right: 0; top: 0; z-index: 1; height: 50px; width: 50px; max-width: none; padding: 5px 15px; border-radius: 8px; border-style: none; transition: all .3s cubic-bezier(0, 0.110, 0.35, 2); }
.re-search-bar .re-search-input::placeholder { color: #767676; }
.re-search-bar .re-search-btn { position: absolute; right: 0; top: 0; z-index: 2; height: 50px; border-radius: 8px; border-style: none; cursor: pointer; background: #FFF; pointer-events: painted; }
.re-search-bar .re-search-box.is-open .re-search-input, .re-search-bar .re-search-input:focus { width: 220px; max-width: none; padding-right: 60px; background-color: #EDF0F6; }
.re-search-bar .re-search-box.is-open, .re-search-bar:focus-within { z-index: 20; }
.re-search-bar .re-search-box.is-open .re-search-btn { background-color: var(--re-main-color); color: #FFF }
.re-right-menu .re-sitemap-btn { display: flex; }
.re-right-menu .re-mobile-menu-btn { display: none; }
.re-gnb-mobile-head { display: none; }
.re-mobile-menu-arrow { display: none !important; }
/* } Header */

/* Footer { */
.re-footer { background: #F1F2F4; padding: 0; font-family: 'Paperlogy'; }
.re-footer .re-footer-top { padding: 42px 0; border-bottom: 1px solid #C8C8C8; }
.re-footer .re-footer-nav { font-weight: 400; display: flex; align-items: center; justify-content: space-between; margin-bottom: 40px; }
.re-footer .re-footer-menu { display: flex; align-items: center; gap: 33px; list-style: none; margin: 0; padding: 0; }
.re-footer .re-footer-menu li a { font-size: 18px; color: #000; font-weight: 500; font-family: 'Paperlogy'; }
.re-footer .re-footer-menu li.col a { color: var(--re-main-color); font-weight: 700; }
.re-footer .re-footer-menu li a:hover { text-decoration: underline; }
.re-footer .re-footer-family { position: relative; }
.re-footer .re-footer-family button { position: relative; width: 200px; height: 50px; padding: 5px 20px; font-size: 16px; font-weight: 400; color: #000; text-align: left; border: 1px solid #E9E9E9; background: #FFF; transition: all .3s; border-radius: 6px; font-family: 'Paperlogy'; }
.re-footer .re-footer-family button:hover { color: var(--re-main-color); border-color: var(--re-main-color); }
.re-footer .re-footer-family button::after { content: none; }
.re-footer .re-footer-family button::before { content: "\ea72"; font-family: "remixicon"; font-style: normal; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; position: absolute; top: 50%; right: 1.25rem; text-indent: initial; font-size: 20px; transform: translateY(-50%) rotate(0deg); transition: transform 0.25s ease; }
.re-footer .re-footer-family button.on::before { transform: translateY(-50%) rotate(180deg); }
.re-footer .re-footer-family-list { display: none; overflow: hidden; position: absolute; bottom: 55px; right: 0; width: 100%; font-size: 14px; text-align: left; background: #fff; z-index: 1; box-shadow: 0 0 10px 0 #00000020; border-radius: 10px; list-style: none; margin: 0; padding: 10px 15px; }
.re-footer .re-footer-family-list li a { position: relative; display: block; color: #767676; font-size: 16px; font-weight: 400; transition: all 0.2s ease; padding-left: 12px; font-family: 'Paperlogy'; }
.re-footer .re-footer-family-list li a:not(:last-child) { margin-bottom: 5px; }
.re-footer .re-footer-family-list li a:hover { color: var(--re-main-color); text-decoration: underline; }
.re-footer .re-footer-family-list li a::before { content: ''; position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #767676; top: 9px; left: 0; }
.re-footer .re-footer-family-list li a:hover::before { background: var(--re-main-color); }
.re-footer .re-footer-info { display: flex; align-items: flex-start; justify-content: space-between; }
.re-footer .re-footer-meta { font-weight: 300; display: grid; width: fit-content; grid-template-columns: auto auto; gap: 20px 100px; margin: 0; }
.re-footer .re-footer-meta-item { font-size: 16px; display: flex; align-items: flex-start; align-items: flex-start; gap: 10px; }
.re-footer .re-footer-meta-item dt { flex: 0 0 100px; color: #626262; }
.re-footer .re-footer-meta-item dd { flex: 0 1 auto; margin: 0; color: #000; word-break: break-all; }
.re-footer .re-footer-meta-item dd a { color: inherit; text-decoration: none; }
.re-footer .re-footer-meta-item address { font-style: normal; word-break: break-all; }
.re-footer .re-footer-info > img { flex: 0 0 auto; max-width: 216px; height: auto; }
.re-footer .re-footer-bottom { width: 100%; padding: 35px 0 66px; display: flex; align-items: center; justify-content: space-between; }
.re-footer .re-copyright p:last-of-type { color: #626262; }
.re-footer .re-footer-sns > ul { display: flex; align-items: center; justify-content: flex-end; gap: 20px; }
.re-footer .re-footer-sns .re-mark a { display: block; width: fit-content; height: fit-content; }
.re-footer .re-footer-sns .re-mark img { display: block; width: auto; height: 66px; object-fit: contain; }
.re-footer .re-footer-sns .re-sns { width: 46px; }
/* } Footer */

/* ====================  반응형 ==================== */
@media screen and (max-width:1800px) {
  .re-gnb .re-menu-depth1 { width: 800px; }
}
@media screen and (max-width:1600px) {
  .re-header h1 { width: 190px; }
  .re-right-menu { gap: 10px; }
  .re-gnb .re-menu-depth1 { width: 700px; }
  .re-gnb .re-menu-depth1 > li > a { font-size: 20px; }
  .re-right-menu .re-right-menu-btn { height: 40px; }
  .re-right-menu .re-right-menu-btn i { font-size: 30px; }
  .re-search-bar { width: 40px; height: 40px; }
  .re-search-bar .re-search-box { width: 40px; height: 40px; }
  .re-search-bar .re-search-input { height: 40px; width: 40px; }
  .re-search-bar .re-search-btn { height: 40px; }
  .re-search-bar .re-search-box.is-open .re-search-input, .re-search-bar .re-search-input:focus { padding-right: 50px; }
  .re-gnb .re-menu-depth2 { gap: 12px; padding: 30px 20px 50px; }
  .re-gnb .re-menu-depth2 > li > a { font-size: 18px; }
  .re-gnb .re-menu-depth3 { padding: 16px 0 0 12px; }
  .re-gnb .re-menu-depth3 > li:not(:last-child) { margin-bottom: 6px; }
  .re-gnb .re-menu-depth3 > li > a { font-size: 16px; }
  .re-gnb .re-menu-depth4 > li > a { font-size: 15px; }
}
@media screen and (max-width:1440px) {
  #container.re-page, #subContainer.re-page { padding-top: 110px; }
  .re-container { padding: 0 24px; }
  /* Header { */
  .re-gnb .re-menu-depth1 { width: 640px; }
  .re-header-wrapper { height: 70px; }
  .re-header h1 { width: 160px; }
  .re-right-menu .re-right-menu-btn { height: 32px; border-radius: 4px; }
  .re-right-menu .re-right-menu-btn i { font-size: 22px; }
  .re-search-bar { width: 32px; height: 32px; }
  .re-search-bar .re-search-box { width: 32px; height: 32px; }
  .re-search-bar .re-search-input { height: 32px; width: 32px; font-size: 14px; letter-spacing: -0.04em; border-radius: 4px; }
  .re-search-bar .re-search-btn { height: 32px; border-radius: 4px; }
  .re-search-bar .re-search-box.is-open .re-search-input, .re-search-bar .re-search-input:focus { padding-right: 42px; width: 180px; }
  .re-sub-menu-bg::before { width: 18%; }
  .re-sub-menu-bg::after { left: calc(18% - 110px); bottom: 20px; width: 110px; height: 115px; }
  .re-gnb .re-sub-menu-wrap .re-menu-deco { flex: 0 0 18%; width: 18%; padding: 36px 24px; }
  .re-gnb .re-sub-menu-wrap .re-menu-deco strong { font-size: 24px; margin-bottom: 12px; }
  .re-gnb .re-sub-menu-wrap .re-menu-deco p { font-size: 15px; }
  /* } Header */

  /* Footer { */
  .re-footer .re-footer-nav { margin-bottom: 30px; }
  .re-footer .re-footer-menu { gap: 20px; }
  .re-footer .re-footer-menu li a { font-size: 16px; }
  .re-footer .re-footer-meta { gap: 16px 60px; }
  .re-footer .re-footer-meta-item { font-size: 14px; }
  .re-footer .re-footer-meta-item dt { flex: 0 0 90px; }
  .re-footer .re-footer-info > img { max-width: 180px; }
  .re-footer .re-footer-bottom { padding: 28px 0 50px; }
  .re-footer .re-copyright { font-size: 14px; }
  .re-footer .re-footer-sns .re-mark img { height: 58px; }
  .re-footer .re-footer-sns .re-sns { width: 40px; }
  /* } Footer */
}
@media screen and (max-width:1280px) {
  /* .re-header-top-left { gap: 10px; letter-spacing: -5%; }
  .re-header-top-right { gap: 18px; letter-spacing: -5%; }
  .re-header-login { gap: 16px; }
  .re-header-login > li:not(:last-child)::after { left: calc(100% + 8px); }
  .re-header-sns { gap: 5px; } */
  .re-gnb .re-menu-depth2 { gap: 8px; padding: 20px 10px 40px; }
  .re-gnb .re-menu-depth2 > li > a { padding: 10px 28px 10px 10px; font-size: 16px; }
  .re-gnb .re-menu-depth2 > li > a::after { right: 2px; }
  .re-gnb .re-menu-depth3 > li > a { font-size: 15px; }
  .re-gnb .re-menu-depth3 > li::before { top: 12px; }
  .re-gnb .re-menu-depth4 > li > a { font-size: 14px; }
  .re-gnb .re-menu-depth4 > li::before { top: 14px; }
}
@media screen and (max-width:1024px) {
  #container.re-page, #subContainer.re-page { padding-top: 70px; }
  .re-container { padding: 0 18px; }
  .re-header a { text-decoration: none !important; }
  .re-header-top { display: none; }
  .re-header-menu { border-bottom: 1px solid #CDCDCD; }
  .re-right-menu .re-sitemap-btn { display: none; }
  .re-right-menu .re-mobile-menu-btn { display: flex; }
  .re-mobile-menu-arrow { display: inline-flex !important; align-items: center; justify-content: center; flex-shrink: 0; width: 24px; height: 24px; font-family: 'remixicon' !important; font-style: normal; line-height: 1; }
  .re-header-menu::before { display: none; }
  .re-header-menu.is-submenu-open { border-radius: 0; }
  .re-header.active { border-radius: 0; }
  .re-header-cover, .re-header.active + .re-header-cover { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
  .re-sub-menu-bg { display: none !important; }
  .re-gnb { position: fixed; top: 0; right: calc(-1 * min(390px, 100vw)); z-index: 20000; width: min(390px, 100vw); max-width: 100%; height: 100%; background: #F5F5F5; flex-direction: column; overflow: hidden; transition: right 0.3s linear; visibility: visible; }
  .re-gnb li.is-open > a, .re-gnb li.is-open > a > .re-mobile-menu-arrow { color: var(--re-main-color) !important; font-weight: 600 !important; }
  .re-header.is-mobile-menu-open .re-gnb { right: 0; }
  .re-gnb-mobile-head { display: flex; flex-direction: column; flex-shrink: 0; gap: 0; background: #FFF; border-bottom: 1px solid #CDCDCD; }
  .re-gnb-mobile-bar { display: flex; align-items: center; justify-content: space-between; min-height: 42px; padding: 14px 24px; border-bottom: 1px solid #CDCDCD; }
  .re-gnb-mobile-logo img { display: block; width: 160px; height: auto; }
  .re-gnb-close { display: flex; align-items: center; justify-content: center; width: 32px; aspect-ratio: 1/1; font-size: 32px; color: #000; }
  .re-gnb-mobile-auth { display: flex; flex-direction: column; align-items: stretch; gap: 10px; padding: 12px 24px; }
  .re-gnb-mobile-auth-user { margin: 0; font-size: 14px; line-height: 1.4; color: #333; }
  .re-gnb-mobile-auth-user .blue { color: var(--re-main-color); }
  .re-gnb-mobile-auth-actions { display: flex; align-items: center; gap: 8px; }
  .re-gnb-mobile-auth-btn { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center; min-height: 38px; height: 38px; padding: 0 12px; border: 1px solid #CDCDCD; border-radius: 8px; background: #FFF; color: #000; font-size: 15px; font-weight: 500; text-align: center; transition: all .2s; }
  .re-gnb-mobile-auth > .re-gnb-mobile-auth-btn { flex: 1 1 0; }
  .re-gnb-mobile-auth:has(> .re-gnb-mobile-auth-btn) { flex-direction: row; align-items: center; gap: 8px; }
  .re-gnb-mobile-auth-btn.is-primary { border-color: var(--re-main-color); background: var(--re-main-color); color: #FFF; font-weight: 600; }
  .re-gnb-mobile-auth-btn:hover, .re-gnb-mobile-auth-btn:focus { border-color: var(--re-main-color); color: var(--re-main-color); }
  .re-gnb-mobile-auth-btn.is-primary:hover, .re-gnb-mobile-auth-btn.is-primary:focus { background: #1a4494; border-color: #1a4494; color: #FFF; }
  .re-gnb .re-gnb-menu-body { flex: 1; overflow-y: auto; background: #FFF; margin-top: 8px; }
  .re-gnb .re-menu-depth1 { flex-direction: column; align-items: stretch; gap: 0; height: auto; width: 100%; }
  .re-gnb .re-menu-depth1 > li { display: block; height: auto; text-align: left; }
  .re-gnb .re-menu-depth1 > li > a { display: flex !important; align-items: center; justify-content: space-between; height: 48px; padding: 0 16px; font-size: 18px; font-weight: 600; border-bottom: 1px solid #CDCDCD; transform: none; }
  .re-gnb .re-menu-depth1 > li > a .re-mobile-menu-arrow { font-size: 20px; color: #A7ACB4; transition: transform 0.3s ease, color 0.3s ease; }
  .re-gnb .re-menu-depth1 > li.is-open > a .re-mobile-menu-arrow { transform: rotate(180deg); }
  .re-gnb .re-sub-menu-wrap { position: static; display: none; flex-direction: column; opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; width: 100%; height: auto; max-height: none; overflow: hidden; border-radius: 0 !important; transition: none !important; }
  .re-gnb .re-sub-menu-wrap.is-active, .re-gnb .re-sub-menu-wrap.is-leaving, .re-gnb .re-sub-menu-wrap.is-entering, .re-gnb .re-sub-menu-wrap.is-measuring { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; transition: none !important; }
  .re-gnb .re-sub-menu-wrap .re-menu-deco { display: none; }
  .re-gnb .re-menu-depth2-scroll { flex: none; min-height: 0; overflow: visible; }
  .re-gnb .re-menu-depth2 { display: flex; flex-direction: column; flex-wrap: nowrap; grid-template-columns: none; gap: 0; padding: 10px 0; background: #EDF0F6; }
  .re-gnb .re-menu-depth2 > li { flex: none; max-width: 100%; width: 100%; }
  .re-gnb .re-menu-depth2 > li > a { display: flex !important; align-items: center; justify-content: space-between; width: 100%; height: 44px; padding: 0 20px; font-size: 16px; font-weight: 400; border: none; border-radius: 0; background: transparent; overflow: visible; }
  .re-gnb .re-menu-depth2 > li > a::before, .re-gnb .re-menu-depth2 > li > a::after { display: none; }
  .re-gnb .re-menu-depth2 > li > a .re-mobile-menu-arrow { font-size: 18px; color: #A7ACB4; transition: transform 0.3s ease, color 0.3s ease; }
  .re-gnb .re-menu-depth2 > li.is-open > a .re-mobile-menu-arrow { transform: rotate(180deg); color: var(--re-main-color); }
  .re-gnb .re-menu-depth2 > li:hover > a, .re-gnb .re-menu-depth2 > li.active > a { color: var(--re-main-color); font-weight: 500; background: transparent; }
  .re-gnb .re-menu-depth3 { display: none; padding: 6px 0 10px; transition: none !important; }
  .re-gnb .re-menu-depth3 > li { padding-left: 20px; margin-left: 12px; margin-bottom: 0; }
  .re-gnb .re-menu-depth3 > li:not(:last-child) { margin-bottom: 0px; }
  .re-gnb .re-menu-depth3 > li::before { top: 18px; left: 8px; }
  .re-gnb .re-menu-depth3 > li > a { display: flex; align-items: center; min-height: 40px; font-size: 15px; }
  .re-gnb .re-menu-depth4 { padding: 4px 0; }
  .re-gnb .re-menu-depth4 > li > a { display: flex; align-items: center; min-height: 36px; font-size: 14px; }
  .re-gnb .re-menu-depth4 > li::before { top: 16px; left: 2px; }
  .re-mobile-cover { display: block; position: fixed; top: 0; left: 0; z-index: 19999; height: 100dvh; width: 100%; background: #000; opacity: 0; visibility: hidden; pointer-events: none; transition: all 0.3s; }
  .re-header.is-mobile-menu-open .re-mobile-cover { opacity: 0.4; visibility: visible; pointer-events: auto; }
  .re-header.is-mobile-menu-open { z-index: 1001; }
  body.re-mobile-menu-open { overflow: hidden; }
  /* Footer { */
  .re-footer .re-footer-top { padding: 30px 0; }
  .re-footer .re-footer-nav { margin-bottom: 18px; }
  .re-footer .re-footer-menu { gap: 12px; }
  .re-footer .re-footer-meta { grid-template-columns: 1fr; gap: 10px; }
  .re-footer .re-footer-meta-item dt { flex: 0 0 90px; }
  .re-footer .re-footer-info > img { max-width: 200px; }
  .re-footer .re-footer-bottom { flex-direction: column; align-items: flex-start; gap: 20px; padding: 24px 0 44px; }
  .re-footer .re-footer-sns > ul { justify-content: flex-start; gap: 14px; }
  .re-footer .re-footer-sns .re-mark { flex-shrink: 0; }
  .re-footer .re-footer-sns .re-mark img { height: 50px; width: auto; max-width: none; }
  .re-footer .re-footer-sns .re-sns { width: 36px; flex-shrink: 0; }
  /* } Footer */
}
@media screen and (max-width:768px) {
  .re-container { padding: 0 15px; }
  /* Header { */
  .re-header h1 { width: 160px; }
  /* } Header */

  /* Footer { */
  .re-footer .re-footer-top { padding: 28px 0; }
  .re-footer .re-footer-nav { flex-direction: column; align-items: flex-start; gap: 20px; }
  .re-footer .re-footer-menu { flex-wrap: wrap; gap: 14px 20px; }
  .re-footer .re-footer-menu li a { font-size: 15px; }
  .re-footer .re-footer-family { width: 100%; }
  .re-footer .re-footer-family button { width: 100%; max-width: none; }
  .re-footer .re-footer-info { flex-direction: column-reverse; gap: 15px; }
  .re-footer .re-footer-meta { grid-template-columns: 1fr; gap: 10px; }
  .re-footer .re-footer-meta-item dt { flex: 0 0 80px; font-size: 14px; }
  .re-footer .re-footer-meta-item dd { font-size: 14px; }
  .re-footer .re-footer-info > img { max-width: 216px; }
  .re-footer .re-footer-bottom { padding: 24px 0 40px; }
  /* } Footer */
}
@media screen and (max-width:425px) {
  .re-container { padding: 0 10px; }
  /* Footer { */
  .re-footer .re-footer-menu li a { font-size: 13px; }
  .re-footer .re-footer-bottom { padding: 20px 0 30px; }
  /* } Footer */
}