@charset "utf-8";

/* 20251023 추가 */
@import url("/font/org/xeicon/xeicon.css");
@import url("/font/org/RemixIcon-4.6/remixicon.css");
@import url("/font/org/Pretendard/fonts.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: 5rem;
  --header-bottom-height-forTemplate: 3rem;
  --header-bottom-height-forGoverment: 3.5rem;
  --header-bottom-fullMenu-width-forGoverment: 2rem;

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

	/* color */
  --colorUtilBackground: #8F7332;
  --colorUtilText: #fff;
  --colorMenuBackground: #fff;
  --colorMenuText: #111;
  --colorMenuTextActive: #8F7332;

  /* 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;}
.pc-view body {overflow-x: hidden !important; overflow-y: visible !important;}
.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}

#header-top .container {max-width: 1600px !important;} /* 20251204 추가 */

/*배경그림자*/
#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;}

/* header */
.gnb_box_top {position:fixed; top:-80px; z-index:1200; }
/* #header { position:relative; width:100%; height:172px; background:url('/images/org/web/archives/common/bg_header.png') repeat-x; z-index:999;} */
header {position: relative; z-index: 3;}
header.forResp {display: none;}
#snb {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%;}

/* 검색 */
/* .search_btn {display:none; position:absolute; left:2.5%; top:13px;}
.search_btn button, .search button, .search .cont_box button, .search_close button{font-size:0; line-height:0; text-indent:-10000px;}
.search_btn button {width:50px; height:50px; background:#003663 url('/images/org/web/archives/common/totalsearch_ico2.png') no-repeat 50%; background-size:34px auto}
.search {position:absolute; top:21px; left:50%; width:300px; height:37px; margin-left:-150px; z-index:200;}
.search .search_wrap {position:relative; width:296px; height:33px; color:#5b5a5a; border:2px solid #1f5aa0; border-radius:20px; background:#fff; z-index:2; overflow:hidden;}
.search .cont_box {position:relative; display:block;}
.search .cont_box button {position:absolute; top:0; right:7px; width:32px; height:32px; background:url('/images/org/web/archives/common/btn_search_w.png') no-repeat 50%}
.search input {margin: 1px 5px;padding:0;width: 50%;height:31px;line-height:30px;font-size:13px;color:#5b5a5a;border:0;background-color:#fff;}
.search_close{display:none; position:absolute; top:-67px; left:2.5%; z-index:10;}
.search_close button {width:50px; height:50px; background:#003663 url('/images/org/web/archives/common/totalsearch_close.png') no-repeat 50%}
.search .cont_box img{margin-left: 10px;width: 22%;}
.search .cont_box img{margin-left: 10px;width: 22%;} */

/* header */
header {background-color: #fff; position: absolute; top: 40px; left: 0; width: 100%; z-index: 10;} /* 20251204 수정 */
.sub header {position: relative; top: auto; left: auto;} /* 20251022 추가 */
header .header-top .container {display: flex; justify-content: space-between; align-items: center; height: var(--header-top-height-forGoverment); position: relative;}
header .header-top-logo {font-size: 0; line-height: 0;}
header .header-top-logo img {max-width: 100%;}
header .header-top-search {display: flex; align-items: center; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
header .header-top-search .insert-group {display: flex; align-items: center; height: 100%;}
header .header-top-search button {display: flex; justify-content: center; align-items: center;}
header .global_mn {display: flex; align-items: center;}
header .global_mn ul {display: flex; align-items: center;}
header .global_mn ul li + li {padding-left: 1.25rem; position: relative;}
header .global_mn ul li + li::before {content: ""; width: 0.25rem; height: 0.25rem; border-radius: 50%; background-color: var(--color-light-gray-20); position: absolute; left: 0.5rem; top: calc(50% - 0.125rem);}
header .global_mn ul li a {color: var(--color-light-gray-90);}
header .global_mn button {line-height: 1.5rem; border-radius: 0.75rem; background-color: #000; padding: 0 0.6rem; font-size: 0.75rem; color: #fff; font-weight: 700; margin-left: 0.5rem;}
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 .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: end; align-items: center; width: var(--header-bottom-fullMenu-width-forGoverment); font-size: 1rem; color: var(--colorMenuText);}
header .btn-fullMenu-open i {font-size: 1.4em; transform: rotateY(180deg);}
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 .th2-wrap.active {opacity: 1; visibility: visible;}
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"]::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 #tm > li.active > a {color: var(--colorMenuTextActive); font-weight: 700;}
header #tnb.fullDown #tm > li.active > a > img {filter: invert(39%) sepia(76%) saturate(320%) hue-rotate(4deg) brightness(101%) contrast(95%);}
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 .th2-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: 21; opacity: 0; visibility: hidden; transition: opacity 0.3s; box-sizing: border-box} /* 20251204 수정 */
/* 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;}



/* footer-banner_20251022 수정 */
.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;}
.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(50% - 4.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 (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: 2;}
  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;}

  /* 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 수정 */ /* 20251204 수정 */
  #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.25rem 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 1.2rem; 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 */
  #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;}
  #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: 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: 1020px) {
	html,
  	body {overflow-x: hidden !important; overflow-y: visible !important;} /* 20251215 추가 */

	.sub header .container {margin-top: 40px;} /* 20251204 추가 */
}


@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 .container {margin-top:25px;} /* 20251204 추가 */
	#wrap.no_langs header .container {margin-top:0;} /* 20251204 추가 */
	
	.sub header .container {margin-top: 65px;} /* 20251204 추가 */
	#wrap.sub.no_langs header .container {margin-top:40px;} /* 20251204 추가 */
}

@media (max-width: 580px) {

  /* footer */
	/* 사이트링크 */
	.footBtnWrap {gap: 0.4rem;}
	.footBtn {width:100%;}
  
  /* footer-banner_20251022 수정 */
  .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.5rem;}

  /* 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.5rem;}

  /* footer-banner_20251022 수정 */
  .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%;}
}