@charset "utf-8";

@import url("/font/org/xeicon/xeicon.css");
@import url("/font/org/RemixIcon-4.6/remixicon.css");

/* VAR */
:root {

  /* color */
  --color-light-gray-100: #000;
  --color-light-gray-90: #1e2124;
  --color-light-gray-50: #6d7882;
  --color-light-gray-20: #cdd1d5;
  --color-border-grayDark: #58616a;

  /* header */
  --header-top-height-forTemplate: 4.5rem;
  --header-top-height-forGoverment: 3.7rem;
  --header-bottom-height-forTemplate: 3rem;
  --header-bottom-height-forGoverment: 3.5rem;
  --header-bottom-fullMenu-width-forGoverment: 7rem;

  /* container */
  --container-width: 70rem;
  --container-gap: 2rem;

	/* color */
  --colorUtilBackground: #2172D3;
  --colorUtilText: #fff;
  --colorMenuBackground: #fff;
  --colorMenuText: #111;
  --colorMenuTextActive: #2172D3;

  /* column */
  --columnHeight: 14.5rem;

  /* footer */
  --footer-banner-height: 3.5rem;
  --footer-banner-title-width: 10.5rem;

  /* common - color */
  --color-no-data: #e1e6ef;
  --font-size-no-data: 0.8rem;

  /* common - mobile - size */
  --mobile-height-title: 1.1rem;
  --mobile-font-size-title: 0.9rem;
  --mobile-font-size-subTitle: 0.8rem;
  --mobile-font-size-description: 0.75rem;
  --mobile-popupzone-image-height: 9rem;
  --mobile-gallery-image-height: 7.7rem;

  /* common - mobile - gap */
  --mobile-between-title-content: 0.5rem;
}

/* basic_20251023 추가 */
html {font-size: 20px;}
body::-webkit-scrollbar {display: none;}
.main, header, #fullMenu, #mobileMenu, footer {padding: 0; font-family: 'Pretendard', 'Noto Sans KR', '돋움', 'Dotum', '굴림', 'Gulim', 'GmarketSans', AppleGothic, UnDotum, Arial, Tahoma, Verdana, sans-serif; font-size: 0.8rem; color: #333; font-weight: 400; line-height: 1.5; letter-spacing: -1px; word-break: keep-all; margin: 0;}
.main *, header *, #fullMenu *, #mobileMenu *, footer *, .main *::before, .main *::after {box-sizing: border-box;}
.main input, .main select {border: 0; background: none;}
.main button, .main input, .main optgroup, .main select, .main textarea {padding: 0; font-family: inherit; font-size: inherit; color: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; margin: 0;}

#wrap{ position:relative; min-height:100%; font-family:Pretendard, sans-serif; overflow-x: hidden;} /* 20251218 수정 */

#header-top {position: static !important;}
#header-top .container {max-width: 1400px !important;}

/*배경그림자*/
#shadow_device {display:none; position:fixed; top:0; left:0; width:100%; height:100%; z-index:1000; background:#000; opacity:0.7; }
/*터치영역*/
#touchArea {display:none; position:absolute; top:0; left:0; width:100%; height:100%; z-index:880;}
/*모바일메뉴*/
#topmenu{ display:none; overflow-y:auto; overflow-x:hidden; position:absolute; top:0; right:-230px; width:230px; height:100%; background:#404142; z-index:1002; box-shadow:0px 0px 10px #333;}

/*헤더*/
.gnb_box_top {position:fixed; top:-80px; z-index:1200; }
header {position: relative; z-index: 3;}
header.forResp {display: none;}
#snb {position: relative; display: flex; justify-content: space-between; align-items: center; max-width:calc(var(--container-width) + (var(--container-gap) * 2)) !important; height: var(--header-top-height-forGoverment); padding: 0 var(--container-gap); margin:0 auto;}
#snb h1 a {font-size: 0; line-height: 0;}
#snb h1 a img {max-width: 100%;}
.rsvCnfirm{font-weight:bold; color:#0467b3 !important;}

/* 사용자메뉴 */
.global_mn {}
.global_mn ul {overflow:hidden}
.global_mn ul li {position:relative; float:left; margin-left:12px; padding-left: 12px;}
.global_mn ul li:first-child {margin-left:0; padding-left:0;}
.global_mn ul li ~ li::before {content: ''; position: absolute; top: calc(50% - 3px); left: -2px; width: 5px; height: 5px; border-radius: 50%; background: #CDD1D5;}
.global_mn ul li a { display:block; height:22px; line-height:20px; font-size:0.75rem; color:#1E2124; }
.global_mn ul li a:hover {color: #0467b3; }


/* 상단 메뉴  */
header {background-color: #fff; position: absolute; top: 40px; left: 0; width: 100%; z-index: 10;}
.sub header {position: relative; top: auto; left: auto;}
header #gnb {border-top: 1px solid #cfdae7; border-bottom: 1px solid #cfdae7; background-color: #fff;}
header #gnb #gnbwrap {display: flex; max-width: calc(var(--container-width) + (var(--container-gap) * 2)) !important; padding: 0 var(--container-gap); margin: 0 auto;}
header #gnb #gnbwrap #animate {width: 100%; display: flex;}
header #tnb {flex: 1;}
header #tnb #tm {display: flex;}
header #tnb #tm > li {flex: 1;}
header #tnb #tm > li > a {display: flex; justify-content: center; align-items: center; width: 100%; height: var(--header-bottom-height-forGoverment); font-size: 1rem; font-weight: 600; color: var(--colorMenuText); transition: 0.3s;}
header #tnb #tm > li.active > a {color: var(--colorMenuTextActive); font-weight: 700;}
header #tnb #tm > li.active > a > img {filter: invert(39%) sepia(76%) saturate(320%) hue-rotate(4deg) brightness(101%) contrast(95%);}
header #tnb .depth-02-wrap {opacity: 0; visibility: hidden; transition: 0.3s;}
header #tnb .th2 a {transition: 0.3s;}
header #tnb .th2 a::after,
header #tnb .th2 span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
header .btn-fullMenu-open {display: flex; justify-content: center; align-items: center; width: var(--header-bottom-fullMenu-width-forGoverment); height: 100%; padding: 0 1rem; font-size: 1rem; background: var(--colorUtilBackground); color: #fff;}
header .btn-fullMenu-open i {margin-right: 0.5rem;}
header .btn-fullMenu-open span {font-weight: 700;}


/* header - oneDown */
header #tnb.oneDown #tm > li {position: relative;}
header #tnb.oneDown .depth-02-wrap {width: 100%; position: absolute; left: 0; top: calc(100% - 0.35rem); z-index: 1000;}
header #tnb.oneDown .th2 {border: 1px solid var(--colorUtilBackground); background-color: #fff; box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); color: #333; overflow: hidden;}
header #tnb.oneDown .th2 > li > a {display: flex; justify-content: space-between; align-items: center; padding: 0.625em 0.6rem; font-size: 0.8rem; color: #333;}
header #tnb.oneDown .th3 {display: none; border-bottom: 1px solid #ccc; background-color: #f2f2f2;}
header #tnb.oneDown .th3 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.75rem;}
header #tnb.oneDown .th3 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
header #tnb.oneDown .th3 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #111; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* header - oneDown : pseudo */
header #tnb.oneDown .th2 > li > a::after {flex-shrink: 0; font-size: 1.25em;}
header #tnb.oneDown .th2 > li > a[target="_blank"]::after {content: "\e980";}
header #tnb.oneDown .th2 > li > a.dep::after {content: "\e942";}
header #tnb.oneDown .th2 > li.expanded > a.dep::after {content: "\e945";}
header #tnb.oneDown .th3 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - oneDown : active */
header #tnb.oneDown .depth-02-wrap.active {opacity: 1; visibility: visible;}
header #tnb.oneDown #tm > li.active > a {color: var(--colorMenuTextActive); font-weight: 700;}
header #tnb.oneDown #tm > li.active > a > img {filter: invert(39%) sepia(76%) saturate(320%) hue-rotate(4deg) brightness(101%) contrast(95%);}
header #tnb.oneDown .th2 > li > a:hover,
header #tnb.oneDown .th2 > li > a:focus-visible,
header #tnb.oneDown .th2 > li.expanded > a {color: var(--colorUtilBackground); font-weight: 700;}
header #tnb.oneDown .th3 > li > a:hover,
header #tnb.oneDown .th3 > li > a:focus-visible {color: #111; font-weight: 600;}



/* header - fullDown */
header #tnb.fullDown {height: var(--header-bottom-height-forGoverment); position: relative; z-index: 0;}
header #tnb.fullDown #tm {position: relative; z-index: 0;}
header #tnb.fullDown #tm::before {content: ""; width: 100vw; height: 0; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); position: absolute; left: calc((100% + var(--header-bottom-fullMenu-width-forGoverment) - 100vw) / 2); bottom: -1px; z-index: -1;}
header #tnb.fullDown #tm > li {position: relative;}
header #tnb.fullDown #tm > li::before {content: ""; display: block; width: 100%; height: calc(100% - var(--header-bottom-height-forGoverment)); background-color: var(--colorUtilBackground); position: absolute; left: 0; bottom: 0; z-index: -1; opacity: 0; transition: 0.3s;}
header #tnb.fullDown .depth-02-wrap {display: none; width: 100%; opacity: 1; visibility: visible;}
header #tnb.fullDown .th2 {padding: 0 0.6rem; color: #333; transition: padding 0.3s;}
header #tnb.fullDown .th2 > li > a {display: flex; justify-content: space-between; align-items: center; padding: 0.625em 0.6rem; font-size: 0.8rem;}
header #tnb.fullDown .th2 > li + li {border-top: 1px solid rgba(0, 0, 0, 0.1);}
header #tnb.fullDown .th3 {display: none; background-color: rgba(255, 255, 255, 0.2);}
header #tnb.fullDown .th3 > li > a {display: block; padding: 0.317em 0.6rem; font-size: 0.75rem;}
header #tnb.fullDown .th3 > li > a span {display: inline-block; padding-left: 11px; position: relative;}
header #tnb.fullDown .th3 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #333; position: absolute; left: 0; top: calc(0.8em - 1.5px);}
/* header - fullDown : pseudo */
header #tnb.fullDown .th2 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header #tnb.fullDown .th2 > li > a[target="_blank"]::after {content: "\e980";}
header #tnb.fullDown .th2 > li > a.dep::after {content: "\e942";}
header #tnb.fullDown .th2 > li.expanded > a.dep::after {content: "\e945";}
header #tnb.fullDown .th3 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - fullDown : expanded */
header #tnb.fullDown #tm > li.active::before,
header #tnb.fullDown #tm > li:has(.th2 > li.expanded)::before {opacity: 1;}
header #tnb.fullDown #tm > li.active .th2,
header #tnb.fullDown .th2:has( > li.expanded) {padding: 0; color: var(--colorUtilText);}
header #tnb.fullDown #tm > li.active .th2 > li + li,
header #tnb.fullDown .th2:has( > li.expanded) > li + li {border-top-color: rgba(255, 255, 255, 0.5);}
header #tnb.fullDown #tm > li.active .th3 > li > a span::before,
header #tnb.fullDown .th2:has( > li.expanded) .th3 > li > a span::before {background-color: var(--colorUtilText);}
/* header - fullDown : active */
header #tnb.fullDown:has(.depth-02-wrap.active) #tm::before {height: calc(100% - var(--header-bottom-height-forGoverment));}
header #tnb.fullDown:has(.depth-02-wrap.active) .depth-02-wrap {display: block;}
header #tnb.fullDown .th2 > li > a:hover,
header #tnb.fullDown .th2 > li > a:focus-visible {font-weight: 700;}
header #tnb.fullDown .th2 > li.expanded > a {font-weight: 700;}
header #tnb.fullDown .th3 > li > a:hover,
header #tnb.fullDown .th3 > li > a:focus-visible {font-weight: 600;}


/* header - oneFullDown */
header #tnb.oneFullDown {

  /* size */
  --depth-02-item-gap-hor: 1.2rem;
}
header #tnb.oneFullDown .depth-02-wrap {display: flex; width: var(--container-width); max-width: calc(100vw - (var(--container-gap) * 2)); position: absolute; left: 50%; top: 100%; transform: translateX(-50%);}
header #tnb.oneFullDown .depth-02-title {display: none;}
header #tnb.oneFullDown .th2 {flex: 1; display: flex; flex-wrap: wrap; gap: 0.8rem var(--depth-02-item-gap-hor); padding: 1.6rem 0; position: relative;}
header #tnb.oneFullDown .th2::before {content: ""; display: block; width: 100vw; height: 100%; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.1); position: absolute; left: calc(50% - 50vw); top: 0; z-index: -1;}
header #tnb.oneFullDown .th2 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 4)) / 5); position: relative;}
header #tnb.oneFullDown .th2 > li > a {display: flex; justify-content: space-between; align-items: center; border: 1px solid #ccc; padding: 0.563em 0.6rem; font-size: 0.8rem; color: #000; transition: 0.3s;}
header #tnb.oneFullDown .th3 {display: none; padding: 0.4rem 0.6rem 0;}
header #tnb.oneFullDown .th3 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem; color: #555; transition: 0.3s;}
header #tnb.oneFullDown .th3 > li > a span {display: block; padding-left: 11px; position: relative;}
header #tnb.oneFullDown .th3 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #555; position: absolute; left: 0; top: calc(0.8em - 1.5px); transition: 0.3s;}
/* header - oneFullDown : pseudo */
header #tnb.oneFullDown .th2 > li > a::after {flex-shrink: 0; font-size: 1.25em; margin-left: 0.5rem;}
header #tnb.oneFullDown .th2 > li > a:has(+ .th3)::after {content: "\e942";}
header #tnb.oneFullDown .th2 > li.expanded > a:has(+ .th3)::after {content: "\e945";}
header #tnb.oneFullDown .th2 > li > a[target="_blank"]::after {content: "\e980";}
header #tnb.oneFullDown .th3 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* header - oneFullDown : active */
header #tnb.oneFullDown .depth-02-wrap.active {opacity: 1; visibility: visible;}
header #tnb.oneFullDown .th2 > li > a:hover,
header #tnb.oneFullDown .th2 > li > a:focus-visible {font-weight: 700;}
header #tnb.oneFullDown .th2 > li.expanded > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}
header #tnb.oneFullDown .th3 > li > a:hover,
header #tnb.oneFullDown .th3 > li > a:focus-visible {font-weight: 600;}
header #tnb.oneFullDown .th3 > li > a:hover span::before,
header #tnb.oneFullDown .th3 > li > a:focus-visible span::before {background-color: #111;}

/* fullMenu */
#fullMenu {width: 100vw; height: 100vh; background-color: #fff; padding: 2.4rem 0; overflow-y: auto; position: fixed; left: 0; top: 0; z-index: 30; opacity: 0; visibility: hidden; box-sizing: border-box; transition: opacity 0.3s;}
/* fullMenu : active */
#fullMenu.active {opacity: 1; visibility: visible;}

/* fullMenu */
#fullMenu {

  /* size */
  --depth-02-item-gap-hor: 1.2rem;
}
#fullMenu .container {max-width: calc(var(--container-width) + (var(--container-gap) * 2)) !important; padding: 0 var(--container-gap); margin: 0 auto;}
#fullMenu .fullMenu-title {display: flex; justify-content: space-between; align-items: center; align-items: center; line-height: 1;}
#fullMenu .fullMenu-title h2 {font-size: 1.6rem; color: #111; font-weight: 700;}
#fullMenu .fullMenu-title .btn-fullMenu-close {display: flex; align-items: center; gap: 0.4rem; height: 2.4rem; background-color: var(--colorUtilBackground); padding: 0 0.6rem; font-size: 0.8rem; color: var(--colorUtilText); font-weight: 500; margin-left: 1rem;}
#fullMenu .fullMenu-content a::after,
#fullMenu .fullMenu-content span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
#fullMenu .fullMenu-content #tm > li {border-top: 2px solid var(--colorUtilBackground); margin-top: 1.6rem;}
#fullMenu .fullMenu-content #tm > li > a {display: block; padding: 0.8335em 0; font-size: 1.2rem; color: #000; font-weight: 700;}
#fullMenu .fullMenu-content .depth-02-title {display: none;}
#fullMenu .fullMenu-content .th2 {flex: 1; display: flex; flex-wrap: wrap; gap: 0.8rem var(--depth-02-item-gap-hor);}
#fullMenu .fullMenu-content .th2 > li {width: calc((100% - (var(--depth-02-item-gap-hor) * 4)) / 5); position: relative;}
#fullMenu .fullMenu-content .th2 > li > a {display: flex; justify-content: space-between; align-items: center; border: 1px solid #ccc; padding: 0.563em 0.6rem; font-size: 0.8rem; color: #000; transition: 0.3s;}
#fullMenu .fullMenu-content .th3 {display: block !important; height: auto !important; padding: 0.4rem 0.6rem 0; overflow: visible !important;}
#fullMenu .fullMenu-content .th3 > li > a {display: block; padding: 0.317em 0; font-size: 0.75rem; color: #555; transition: 0.3s;}
#fullMenu .fullMenu-content .th3 > li > a span {display: block; padding-left: 11px; position: relative;}
#fullMenu .fullMenu-content .th3 > li > a span::before {content: ""; width: 3px; height: 3px; background-color: #555; position: absolute; left: 0; top: calc(0.8em - 1.5px); transition: 0.3s;}
/* fullMenu : pseudo */
#fullMenu .fullMenu-content .th2 > li > a::after {font-size: 1.25em; margin-left: 0.5rem;}
#fullMenu .fullMenu-content .th2 > li > a[target="_blank"]::after {content: "\e980";}
#fullMenu .fullMenu-content .th3 > li > a[target="_blank"] span::after {content: "\e980"; font-size: 1.07em; margin-left: 0.25em; position: relative; top: 0.1em;}
/* fullMenu : active */
#fullMenu .fullMenu-content .th2 > li > a:hover,
#fullMenu .fullMenu-content .th2 > li > a:focus-visible,
#fullMenu .fullMenu-content .th2 > li:has(.th3 > li > a:hover) > a,
#fullMenu .fullMenu-content .th2 > li:has(.th3 > li > a:focus-visible) > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}
#fullMenu .fullMenu-content .th3 > li > a:hover,
#fullMenu .fullMenu-content .th3 > li > a:focus-visible {font-weight: 600;}
#fullMenu .fullMenu-content .th3 > li > a:hover span::before,
#fullMenu .fullMenu-content .th3 > li > a:focus-visible span::before {background-color: #111;}



/* mobileMenu */
#mobileMenu {display: none;}
#mobileMenu .mobileMenu-title .header-logo {font-size: 0; line-height: 0; opacity: 0; visibility: hidden; max-width: 75%;}
#mobileMenu .mobileMenu-title .header-logo img {max-height: 100%;}



/* overlayed-black */
#overlayed-black {width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.5); position: fixed; left: 0; top: 0; z-index: 2; opacity: 0; visibility: hidden; transition: 0.3s;}
/* overlayed-black : active */
body:has(.forTemplate) #overlayed-black.active {opacity: 1; visibility: visible;}

/* mobileSearch */
#mobileSearch {display: none;}

/* util */
.topUtil {position:absolute; top: 1px; right: 0; font-family: 'NotoSans'; font-size: 0.9rem; color: #000; }

/* SNS & 사용자메뉴 */
#topmenu .mobile_global {overflow:hidden}
#topmenu .mobile_global .mt_sns {overflow:hidden;}
#topmenu .mobile_global .mt_sns a {display:block; width:33.3%; height:40px; float:left; color:#fff; text-indent:-10000px;  }
#topmenu .mobile_global .mt_sns a.btn_sns_f { width:33.4%; background:url('/images/org/web/yeyak/common/btn_sns_f.png') no-repeat 50% #4965b5;}
#topmenu .mobile_global .mt_sns a.btn_sns_t {background:url('/images/org/web/yeyak/common/btn_sns_t.png') no-repeat 50% #00aeef;}
#topmenu .mobile_global .mt_sns a.btn_sns_d {background:url('/images/org/web/yeyak/common/btn_sns_d2.png') no-repeat 50% #fff;}
#topmenu .mobile_global .mt_global {padding:10px 0; background:#252627; font-size:13px;}
#topmenu .mobile_global .mt_global a {display:block; margin:3px 20px; text-align:center; line-height:30px; color:#fff; border:1px solid #000;} 

/* footer-banner */
.footer-banner {border-top: 1px solid #E5E5E5;}
.footer-banner .container {max-width: calc(var(--container-width) + (var(--container-gap) * 2)) !important; padding: 0 var(--container-gap); margin: 0 auto; display: flex; justify-content: space-between; align-items: center;}
.footer-banner-title {display: flex; align-items: center; width: var(--footer-banner-title-width); font-size: 0.9rem;}
.footer-banner-title .title {color: #333; font-weight: 700;}
.footer-banner-title .control {display: flex; align-items: center; gap: 3px; margin-left: 0.6rem;}
.footer-banner-title .control button {display: flex; justify-content: center; align-items: center; width: 1rem; height: 1rem; border: 1px solid #f1f1f1;}
.footer-banner-title .control button .xi-pause {font-size: 0.7rem;}
.footer-banner-content {width: calc(100% - var(--footer-banner-title-width));}
.footer-banner-content .slick-slide a {display: flex; justify-content: center; align-items: center; height: var(--footer-banner-height); padding: 0.75rem 1rem; font-size: 0; line-height: 0;}
.footer-banner-content .slick-slide a img {max-width: 100%; max-height: 100%; object-fit: contain;}

/* footer */
footer {background-color: #fff;}

.area_footer {background: #F6F6F6; padding: 0.8rem 0 2.8rem;}
.box_footer {position: relative; max-width: calc(var(--container-width) + (var(--container-gap) * 2)) !important; padding: 0 var(--container-gap); margin: 0 auto;}

/* 사이트링크 */
.footBtnWrap { display: flex; justify-content: space-between; gap: 0.5rem 0.8rem; height:3rem;}
.footBtn {position:relative; width:calc(25% - calc((0.8rem * 3) / 4)); font-weight: 500;}
.footBtn button {position: relative; display: flex; align-items: center; justify-content: space-between; width:100%; height: 100%; padding: 0 0.8rem 0 1.2rem; color:#505166; background: #fff; text-align: left; border-radius: 0.5rem; transition: all 0.15s;}
.footBtn button.active {background: #01143F; color: #fff; border-radius: 0 0 0.5rem 0.5rem;}
.footBtn button::after {content: '\EA78'; font-family: 'remixicon'; font-size: 1.2rem; transition: all 0.15s;}
.footBtn button.active::after {transform: rotate(180deg);}
.footBtn div { display:none; position:absolute; bottom:3rem; left:0; width:100%; max-height:227px; border:1px solid #01143F; border-radius: 0.5rem 0.5rem 0 0; background: #fff; border-bottom:0; overflow: hidden; z-index:10000; box-shadow: 0 0 0.75rem rgba(1, 20, 63, 0.25);}
.footBtn div ul {padding: 0.5rem; max-height:227px; overflow-y:auto;}
.footBtn ul li {position: relative; font-size:0.75rem; padding-left: 0.4rem;}
.footBtn ul li::before {content: ''; position: absolute; left: 0.4rem; top: calc(50% - 0.15rem); width: 0.2rem; height: 0.2rem; background: #505166;}
.footBtn ul li strong {display:block; padding:7px 10px; color:#fff799; opacity:1; background:#343b42;}
.footBtn ul li:first-child {border:0; }
.footBtn ul li a {display:block; padding:7px 10px; overflow:hidden; color: #505166; background:#fff;}
.footBtn ul li a:hover, 
.footBtn ul li a:focus,
.footBtn ul li a:active {opacity:1; color:#01143F;}

/* 푸터 메뉴 */
.footer_link {position:relative; line-height:20px; padding:1.8rem 0; text-align:left; overflow:hidden; z-index:2; letter-spacing:-0.8px;}
.footer_link li { display:inline-block; zoom:1;} /* 180828 수정 */
.footer_link li + li {padding-left: 1.8rem; position: relative;}
.footer_link li + li::before {content: ""; display: block; width: 1px; height: 0.65rem; background-color: #ccc; position: absolute; left: 0.9rem; top: calc(50% - 0.325rem);}
.footer_link li a {display:block; color:#555; font-weight: 500;}
.footer_link li a:hover {text-decoration:underline;}
.footer_link li.point a{padding-left:0; font-weight: 600; color: var(--colorMenuTextActive);}
.box_footer .box_info {line-height:1rem; color:#000; font-weight: 500; margin-top: 1.8rem;}
.box_footer .box_info span {display: block; font-size: 0.75rem; color: #666; font-weight: 400; margin-top: 0.4rem;}
.box_footer .box_info .copyright {margin-top:0.75rem; font-size: 0.75rem; color: #666; font-weight: 400;}
.btn_top{ position:fixed; right:35px; bottom:35px; z-index:100} /* 180829 수정 */
.f_logo { width:200px; float:left; margin-right:10px; display:block}
.f_logo img { width:100%; height:100%}

footer .footer-info-top {display: flex; justify-content: center; align-items: center; width: 3.75rem; height: 3.75rem; border-radius: 50%; font-size: 1.2rem; color: #464d5d; position: absolute; right: var(--container-gap); bottom: calc(25% - 1.875rem); z-index: 10;}
footer .footer-info-top::before {content: ""; display: block; width: 66.66%; height: 66.66%; border-radius: 50%; background-color: #fff; box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.07); position: absolute; left: 16.67%; top: 16.67%; z-index: -1;}
footer .footer-info-top::after {content: ""; display: block; width: 100%; height: 100%; border-radius: 50%; background-color: rgba(70, 77, 97, 0.1); position: absolute; left: 0%; top: 0%; z-index: -2;}

/********** media query mobile *************/
@media (max-width: 1280px) {

  /* VAR */
  :root {

    /* header */
    --header-top-height-responsive: 4rem;

    /* container */
    --container-gap: 1.5rem;

    /* column */
    --columnHeight: 12.5rem;
  }

  /* container */
  .container {padding: 0 calc(var(--container-gap) / 3 * 2) !important;}

  /* header */
  header.forPC {display: none;}
  header.forResp {display: block; z-index: 10;}
  header .container {display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-responsive); border-bottom: 1px solid #eeeff1; padding-right: 0 !important;}
  header .header-logo {font-size: 0; line-height: 0;}
  header .header-logo a {display: block; height: 2rem;}
	header .header-logo img {max-height: 100%;}
  header .header-util {display: flex; height: 100%; font-size: 1.5rem;}
  header .header-util button {display: flex; justify-content: center; align-items: center; width: var(--header-top-height-responsive); height: 100%; background-color: var(--colorUtilBackground); color: var(--colorUtilText);}
  header .header-util .btn-search {color: #464c5d; background: #fff;}

  /* fullMenu */
  #fullMenu {display: none;}
  #mobileMenu {display: flex; flex-direction: column; width: 100%; max-width: 380px; height: 100vh; background-color: #fff; position: fixed; top:0; right: 0; bottom: 0; z-index: 21; transform: translateX(100%); visibility: hidden; transition: box-shadow 0.3s, transform 0.3s, visibility 0.3s;
    
      /* size */
      --util-height: 1.85rem;
  } /* 20251023 수정 */
  #mobileMenu .mobileMenu-title {display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-responsive); border-bottom: 1px solid var(--colorUtilBackground); padding-left: calc(var(--container-gap) / 3 * 2);}
  #mobileMenu .mobileMenu-title .btn-menu-close {display: flex; justify-content: center; align-items: center; width: var(--header-top-height-responsive); height: 100%; background-color: var(--colorUtilBackground); font-size: 1.5rem; color: var(--colorUtilText);}
  #mobileMenu .mobileMenu-util {height: auto; border-bottom: 1px solid var(--colorUtilBackground); padding: 0.15rem 0.75rem;}
  #mobileMenu .mobileMenu-util ul {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100%; font-size: 0.7rem;}
  #mobileMenu .mobileMenu-util ul li {position: relative;}
  #mobileMenu .mobileMenu-util ul li + li::before {content: ""; display: block; width: 1px; height: 0.86em; background-color: #d3d3d3; position: absolute; left: 0; top: calc(50% - 0.43em);}
  #mobileMenu .mobileMenu-util ul li a {display: inline-block; padding: 0.15rem 0.75rem; color: #222;}
  #mobileMenu .mobileMenu-content {height: calc(100% - var(--header-top-height-responsive) - var(--util-height)); position: relative; overflow-y: auto;}
  #mobileMenu .mobileMenu-content::-webkit-scrollbar {display: none;}
  #mobileMenu .mobileMenu-content span {word-break: break-all;}
  #mobileMenu .mobileMenu-content a::after,
  #mobileMenu .mobileMenu-content span::after {flex-shrink: 0; font-family: 'xeicon'; font-weight: 400; line-height: 1;}
  #mobileMenu .mobileMenu-content #tm > li {border-bottom: 1px solid #ccc;}
  #mobileMenu .mobileMenu-content #tm > li > a {display: flex; justify-content: space-between; align-items: flex-start; padding: 0.7em 1.25rem; font-size: 0.85rem; color: #555; font-weight: 500; transition: 0.3s;}
	#mobileMenu .mobileMenu-content #tm > li.archive > a img {max-height: 0.9rem;}
  #mobileMenu .mobileMenu-content .depth-02-title {display: none;}
  #mobileMenu .mobileMenu-content .th2 {display: none; padding: 0 0.75rem 1.2rem;}
  #mobileMenu .mobileMenu-content .th2 > li + li {margin-top: 0.4rem;}
  #mobileMenu .mobileMenu-content .th2 > li > a {display: flex; justify-content: space-between; align-items: flex-start; border: 1px solid #ccc; padding: 0.485em 1.07em; font-size: 0.75rem; color: #333; font-weight: 500;}
  #mobileMenu .mobileMenu-content .th3 {display: none; padding: 0.6rem 0.8rem;}
  #mobileMenu .mobileMenu-content .th3 > li + li {margin-top: 0.4rem;}
  #mobileMenu .mobileMenu-content .th3 > li > a {font-size: 0.7rem; color: #555;}
  #mobileMenu .mobileMenu-content .th3 > li > a span {padding-left: 12px; position: relative;}
  #mobileMenu .mobileMenu-content .th3 > li > a span::before {content: ""; display: block; width: 4px; height: 4px; border-radius: 50%; background-color: #999; position: absolute; left: 0; top: calc(0.6em - 2px);}
  /* mobileMenu : pseudo */
  #mobileMenu .mobileMenu-content #tm > li > a::after {display: flex; justify-content: center; align-items: center; width: 1.4em; height: 1.4em; border-radius: 50%; font-size: 1.18em; margin-left: 1em; position: relative; top: -0.1em;}
  #mobileMenu .mobileMenu-content #tm > li > a.dep::after {content: "\e945";}
  #mobileMenu .mobileMenu-content #tm > li.active > a.dep::after {content: "\e942"; background-color: #e8e8e8;}
  #mobileMenu .mobileMenu-content #tm > li:not(.archive) > a[target="_blank"]::after {content: "\e980";}
  #mobileMenu .mobileMenu-content .th2 > li > a::after {display: flex; justify-content: center; align-items: center; width: 1em; height: 1em; font-size: 1.07em; margin-left: 1em; position: relative; top: 0.2em;}
  #mobileMenu .mobileMenu-content .th2 > li > a.dep::after {content: "\e913";}
  #mobileMenu .mobileMenu-content .th2 > li.expanded > a.dep::after {content: "\e91a";}
  #mobileMenu .mobileMenu-content .th2 > li > a[target="_blank"]::after {content: "\e980";}
  #mobileMenu .mobileMenu-content .th3 > li > a[target="_blank"]::after {content: "\e980"; font-size: 1.14em; margin-left: 0.5em; position: relative; top: 0.15em;}
  /* mobileMenu : active */
  #mobileMenu.active {box-shadow: -1rem 0 1rem rgba(0, 0, 0, 0.25); transform: translateX(0); visibility: visible;}
  #mobileMenu .mobileMenu-content #tm > li.active {border-bottom-color: var(--colorUtilBackground)}
  #mobileMenu .mobileMenu-content #tm > li.active > a {color: #111; font-weight: 700;}
  #mobileMenu .mobileMenu-content .active .th2 {display: block;}
  #mobileMenu .mobileMenu-content .th2 > li.expanded > a {border-color: var(--colorUtilBackground); background-color: var(--colorUtilBackground); color: var(--colorUtilText); font-weight: 700;}

  /* mobileSearch.forTemplate */
  #mobileSearch.forTemplate {width: 100%; background-color: #f2f2f2; padding: 2.1rem 0; position: absolute; left: 0; top: var(--header-top-height-responsive); z-index: 3;}
  #mobileSearch.forTemplate .input-wrap {max-width: 17.5rem; margin: 0 auto; position: relative;}
  #mobileSearch.forTemplate .input-wrap input {width: 100%; height: 2.8rem; border-radius: 1.4rem; border: 2px solid #ccc; background-color: #fff; padding-left: 1.2rem; padding-right: 3.7rem; font-size: 0.75rem;}
  #mobileSearch.forTemplate .input-wrap button {display: flex; justify-content: center; align-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50%; background-color: var(--colorUtilBackground); font-size: 1.4rem; color: var(--colorUtilText); position: absolute; right: 0; top: calc(50% - 1.6rem);}
  #mobileSearch.forTemplate .btn-close {display: flex; justify-content: center; align-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background-color: #111; font-size: 1.2rem; color: #fff; position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%);}
  /* mobileSearch.forTemplate : active */
  #mobileSearch.forTemplate.active {display: block;}
  body:has(#mobileSearch.active) header.forResp .header-util .btn-search {display: none;}

  /* mobileSearch : active */
  #mobileSearch {width: 100%; background-color: #fff; box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.25); padding: 1.2rem 0 2.1rem; position: absolute; left: 0; top: var(--header-top-height-responsive); z-index: 3;}
  #mobileSearch .input-wrap {display: flex; align-items: center; max-width: 17.5rem; border-bottom: 2px solid #464c5d; padding: 0 0.4rem 0.8rem; margin: 0 auto; position: relative;}
  #mobileSearch .input-wrap input {flex: 1; font-size: 0.75rem; border: none;}
  #mobileSearch .input-wrap button {display: flex; justify-content: center; align-items: center; width: 1em; height: 1em; font-size: 1.4rem; line-height: 1; margin-left: 0.8rem;}
  #mobileSearch .btn-close {display: flex; justify-content: center; align-items: center; width: var(--header-top-height-responsive); height: calc(var(--header-top-height-responsive) + 1px); background-color: #fff; font-size: 1.2rem; color: #464c5d; position: absolute; right: var(--header-top-height-responsive); bottom: calc(100% + 2px);}
  /* mobileSearch : active */
  #mobileSearch.active {display: block;}
  body:has(#mobileSearch.active) header.forResp .header-util .btn-search {display: none;}

  /* overlayed-black */
  #overlayed-black {transition: 0.3s;}

  /* custom-section */
  .custom-section {flex-wrap: wrap; padding: 0 calc(var(--container-gap) / 3 * 2);}
  .custom-section:not(.visual-section) .custom-column.w-75,
  .custom-section:not(.visual-section) .custom-column.w-25 {width: calc(((100% + var(--container-gap)) / 2 * 1) - var(--container-gap));}
  .custom-section.visual-section .custom-column-wrap {width: 100%;}
  .custom-section.v75-c25-c25 .custom-column:not(.visual),
  .custom-section.c25-c25-v75 .custom-column:not(.visual),
  .custom-section.v66-c33-c33 .custom-column:not(.visual),
  .custom-section.c33-c33-v66 .custom-column:not(.visual),
  .custom-section.c25-c25-v50-c25-c25 .custom-column:not(.visual) {width: calc(((100% + var(--container-gap)) / 2 * 1) - var(--container-gap));}
  .custom-section.c25-c25-v75 .custom-column.visual,
  .custom-section.c25-c25-v50-c25-c25 .custom-column.visual,
  .custom-section.c25-c25-c25-c25-v50 .custom-column.visual,
  .custom-section.c50-c25-c25-v50 .custom-column.visual,
  .custom-section.c25-c25-c50-v50 .custom-column.visual,
  .custom-section.c50-c50-v50 .custom-column.visual {order: -1;}
  .custom-section:not(.visual-section) .custom-column.w-50 {width: 100%;}
  .custom-section:not(.visual-section).c33-c33-c33 .custom-column {width: calc(((100% + var(--container-gap)) / 2 * 1) - var(--container-gap));}
  .custom-section:not(.visual-section).c33-c33-c33 .custom-column:first-child {width: 100%;}
  .custom-section:not(.visual-section).c66-c33 .custom-column,
  .custom-section:not(.visual-section).c33-c66 .custom-column {width: calc(((100% + var(--container-gap)) / 2 * 1) - var(--container-gap));}
  .custom-section:not(.visual-section).c25-c50-c25 .custom-column.w-50 {order: -1;}

  /* custom-column */
  .custom-column.visual {width: 100%; min-height: var(--columnHeight); height: auto;}
  .custom-column.visual [class^="visual_T"],
  .custom-column.visual [class^="visual_G"] {max-height: 31rem;}

  /* widget - gallery - No Auth */
  [class*="gallery_T"] .no-auth .title,
  [class*="gallery_G"] .no-auth .title {display: none;}
  [class*="gallery_T"] .no-auth .content,
  [class*="gallery_G"] .no-auth .content {margin-top: 0;}

  /* footer */
  .box_footer {padding: 0 calc(var(--container-gap) / 3 * 2);}
	footer .footer-info-top {right: calc(var(--container-gap) / 3 * 2);}
}

@media (max-width:1220px){
	/* 헤더 */
	#snb{width:96%; }
}

@media (max-width:1024px) {
	/* footer */
	.area_footer {padding: 0.8rem 0 3.25rem;}
	/* 사이트링크 */
	.footBtnWrap { flex-wrap: wrap; gap: 0.6rem; height:auto;}
	.footBtn {width:calc(50% - 0.3rem);}
	.footBtn button {height: 2rem;}
	.footBtn div { bottom:2rem;}
	.footBtn ul li a {padding:5px 10px;}

	/* 푸터 메뉴 */
	.box_footer {position: static;}
	.footer_link {padding: 1rem 0;}
	.footer_link ul {display: flex; flex-wrap: wrap;}
	footer .footer-info-top {width: 2.5rem; height: 2.5rem; font-size: 0.9rem; bottom: calc(var(--container-gap) / 3 * 2);}
    footer .footer-info-top::before {width: 70%; height: 70%; left: 15%; top: 15%;}
}

@media (max-width:1019px) {
	#header-top {position: fixed !important;}
	
	#header, #snb, .footBtn button, .footer_link, .footer_link li { width:100%; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box}
	
	header.forResp {position: fixed;}
	
	#snb h1 {top:23px; left: 20px; }
	#snb h1 img {width: 300px; }

	/* SNS & 사용자메뉴 */
	.global_mn {display:none;}

	/* 메뉴 */
	#gnb {display:none;}

	/*모바일 */
	.nav_mobile {display:block;}
	
	/* footer */
	.area_footer {background-image:none;}
	.box_footer {width:95%; padding:2.5% 0 2.5%;}
	
	/* 푸터 메뉴 */
	.footer_link {height:auto; line-height:30px; padding:0; border-left:1px solid #70757a; background:#343b42;}
	.footer_link li { display:block; width:25%; float:left; border-right:1px solid #70757a; border-top:1px solid #70757a; }
	.footer_link li a {padding:0 10px; text-align:center; background-image:none}
	.footer_link li a:hover { text-decoration:none}
	.footer_link li.point a{padding-left:0; color:#44b8ff; background-image:none;}
	
	.btn_top{bottom:2.5%; right:2.5%;}
	
}

@media (max-width:800px) {
		
	/* 푸터 메뉴 */
	.footer_link li {width:50%;}

}

@media (max-width: 768px) {

  /* container */
  .container {padding: 0 calc(var(--container-gap) / 2) !important;}

  /* footer */
  .box_footer {padding: 0 calc(var(--container-gap) / 2);}
}

@media (max-width:600px) {
	header {top: 65px;} 
  #wrap.no_langs header {top: 40px;} /* 20251218 추가 */
}

@media (max-width:580px) {
	
	
	#snb h1 {top: 16px; }
	#snb h1 img {width: 250px; }
	
	/* 모바일 */
	.nav_mobile {top:9px}
	.nav_mobile a {width:40px; height:40px; background-size:24px auto}
	.nav_mobile_close{top:9px;}
	.nav_mobile_close a {width:40px; height:40px}
	
	/* footer */
	/* 사이트링크 */
	.footBtnWrap {gap: 0.4rem;}
	.footBtn {width:100%;}

  /* footer-banner */
  .footer-banner-content {justify-content: center;}
  .footer-banner-content::after {display: none;}


}

@media (max-width: 480px) {

  /* VAR */
  :root {

    /* header */
    --header-top-height-responsive: 3rem;

    /* container */
    --container-gap: 1.2rem;
  }

  /* header */
  header .header-util {font-size: 1.2rem;}
	header .header-logo a {height: 1.25rem;}

  /* mobileMenu */
  #mobileMenu .mobileMenu-title .btn-menu-close {font-size: 1.2rem;}

  /* footer */
  footer {font-size: 0.7rem;}
	.footBtn button,
	.footBtn ul li,
	.footer_link li a,
	.box_footer .box_info,
	.box_footer .box_info span,
	.box_footer .box_info .copyright {font-size: inherit;}
	.footer_link {padding: 0.75rem 0;}
}



@media (max-width: 380px) {

  /* mobileMenu */
  #mobileMenu .mobileMenu-title .header-logo {opacity: 1; visibility: visible;}
	#mobileMenu .mobileMenu-title .header-logo a {display: block; height: 1.25rem;}

  /* footer-banner */
  .footer-banner {padding-top: 0.5rem;}
  .footer-banner .container {display: block; height: auto;}
  .footer-banner-title {font-size: 0.8rem;}
  .footer-banner-content {width: 100%;}
}
