@charset "UTF-8";

body{overflow-x: visible;}
#wrap{width: 100%; min-width: 1280px; margin: 0 auto; overflow-x: clip;}
#wrap.mss-sub{min-width: 1400px;}
/* 260625 페이지 공통  */
#wrap #container{width: 100%; background-color: #FAFAFA;}
.page-title-bar{margin-bottom: 20px; padding-top:50px; text-align: center;}
.page-title-bar h2{font-size: 42px; font-weight: bold; color: #292929; line-height: 1;}
.page-title-bar .sub-title{font-size: 20px; color: #111111; margin-top: 20px; margin-bottom: 50px;}

/* HEADER */
#wrap #header{position: sticky; top: 0; width: 100%; z-index: 200; zoom: 1; background-color: #ffffff; border-bottom: 1px solid #e7e7e7; box-shadow: 0 5px 10px rgba(0,0,0,0.06);}
#wrap #header:after{content: ''; display: block;clear: both;}
#wrap #header .header-wrap{margin: 0 auto; width: 100%; box-sizing: border-box; display: flex; align-items: flex-start; flex-wrap: wrap;}
/*#wrap #header .header-wrap:after{content: ''; display: block;clear: both;}*/
/*gnb 좌측정렬*/
/*#wrap #header .header-wrap.active:after{position: absolute; left: 0; right: 0; top: auto; background: rgba(0,49,102,0.95); width: 100%; min-height: 50px; z-index: -1; bottom: 0; transform: translate(0, 100%);}*/
#wrap #header .header-wrap.active:after{position: absolute; left: 0; right: 0; top: auto; background: rgba(0,49,102,0.95); width: 100%; min-height: var(--after-min-height,55px); z-index: -1; bottom: 0; transform: translate(0, 100%);}
#wrap.depth-main #header .header-wrap.active:after{margin:0 auto;}
#wrap #header .header-wrap h1{position: relative; width: auto; padding: 0; /*background: url('../images/common/h1.gif') 0 0 no-repeat;*/ z-index: 101; display: flex; align-items: center; gap: 5px;}
#wrap #header .header-wrap h1 a{display: inline-flex; align-items: center;}
#wrap #header .header-wrap h1 img{display: block; height: 20px; width: auto;}
#wrap #header .header-wrap h1 .logo-bar{display: inline-block; width: 1px; height: 13px; background: #C7C5C5; margin: 0 14px;}
#wrap #header .header-wrap h1 img + img{margin-left: 14px;}
#wrap #header .header-wrap .personal-info{float: right; position: relative; margin-top: 25px; z-index: 101;}
#wrap #header .header-wrap .personal-info .belong{float: left;padding-top: 2px;padding-right: 8px;font-size: 15px;color: #555555;}
#wrap #header .header-wrap .personal-info .number{float: left;padding-top: 2px;padding-right: 7px;font-family: 'AstaSans', sans-serif; font-weight: 500;font-size: 15px;color: #555555;}
#wrap #header .header-wrap .personal-info .position{float: left;padding-top: 2px;padding-right: 29px;font-family: 'AstaSans', sans-serif; font-weight: 500;font-size: 15px;color: #292929;}
#wrap #header .header-wrap .personal-info .state{float: left;height: 24px;line-height: 24px;padding-left: 26px;font-family: 'AstaSans', sans-serif; font-weight: 500;color: #292929;}
#wrap #header .header-wrap .personal-info .state.logout{background: url('../images/common/logout.png') 0 0 no-repeat;}
#wrap #header .gnb.active{display: block;}
#wrap #header .gnb{display: flex; flex-direction: column-reverse; flex-basis: 100%;}
#wrap #header .gnb:after{content: '';display: block;clear: both;height: 0;visibility: hidden;}
#wrap #header .gnb .depth01{font-size: 0; margin-bottom: 8px;}
#wrap #header .gnb .depth01:after{content: '';display: block;clear: both;height: 0;visibility: hidden;}
#wrap #header .gnb ul li{display: inline-block; margin-right: 0;}
#wrap #header .gnb ul li a{display: inline-block;line-height: 20px;font-size: 16px; padding-bottom: 5px; color: #111111;}
#wrap #header .gnb .depth01.active>a,
#wrap #header .gnb .depth01 a:hover,
#wrap #header .gnb .depth01 a.active{color: #111111;}
#wrap #header .gnb .depth01 a.all-menu:hover,
#wrap #header .gnb .depth01 a.all-menu.active{border-bottom-color: transparent;}
#wrap #header .gnb .depth02{display: none; position:absolute; left: 0;right: 0; padding: 10px 36px 10px 36px;color: #002c5f;text-align: left; width: 1332px; min-height: 0px; margin: 0 auto; bottom: 0; transform: translate(0, 100%);}
/*gnb 센터정렬*/
/*#wrap #header .gnb .depth02{display: none; position:absolute; left: 0;right: 0; padding-top: 26px;color: #002c5f;text-align: center;width: 100%; height: 50px;}
#wrap #header .gnb .depth02:after{content: ''; display: block; clear: both; position: absolute; left: 0; right: 0; top: 24px; background: rgba(0,49,102,0.95); width: 100%; height: 50px; z-index: -1;}*/
#wrap #header .gnb .depth01:hover .depth02,
#wrap #header .gnb .depth01.is-open .depth02{display: block;}
#wrap #header .gnb .depth02 li{display: inline-flex;height: 30px;line-height: 30px;margin: 0;padding: 0 17px;vertical-align: middle; align-items: center;}
#wrap #header .gnb .depth02 li a{display: inline-block;height: 26px;line-height: 26px;font-size: 15px;color: #111111;}
#wrap #header .gnb .depth02 li a:hover{display: block;height: 26px;line-height: 26px;font-size: 15px;color: #111111;}
#wrap #header .gnb .btn-area{display: flex; justify-content: flex-end; align-items: center;}
/* 20180502 MyHR 근무시간 버튼 CSS 수정,  원본 주석처리 - 사용하지 않고 있음.
#wrap #header .gnb .search{display: inline-block;width: 22px;height: 20px;background: url('../images/common/search.gif') 0 0 no-repeat;} */
#wrap #header .gnb .btn-area button{position: relative; margin-left: 8px;}
#wrap #header .gnb .search{display: inline-block;width: 22px;background: url('../images/common/ico_search.png') 0 0 no-repeat;}

#wrap #header .gnb .all-menu{display: inline-block;width: 22px;height: 20px;background: url('../images/common/menu.gif') 0 0 no-repeat; margin-left: 26px}
/* 260624 추가: gnb .nav 안의 전체메뉴 - 아이콘 제거하고 텍스트로 표시 */
#wrap #header .gnb .nav li.depth01 .all-menu{width: auto;height: 100%;display: flex;align-items: center;background: none;margin-left: 0;}

#wrap #header .gnb .btn-area{margin: -18px -40px 10px -40px; padding: 0 40px 10px 40px; height: 30px;}
#wrap #header .gnb .btn-area:after {content: ''; position: absolute; background: #eee; width: 100vw; height: 1px; top:103px; left: 0;}
#wrap #header .gnb .btn-area .change-team{display: inline-block;padding-left: 34px;font-size: 15px;color: #555;background: url('../images/common/newly.png') 0 0 no-repeat;vertical-align: middle;cursor: pointer;}
#wrap #header .gnb .btn-area .select-team{display: inline-block;position: relative;}
#wrap #header .gnb .btn-area .select-team .current{margin-left: 11px;padding-right: 30px;line-height: 20px;font-size: 20px;color: #292929;background: url('../images/common/arrow_down_02.png') 100% 50% no-repeat;cursor: pointer;vertical-align: top;}
#wrap #header .gnb .btn-area .select-team.active .current{background: url('../images/common/arrow_up_02.png') 100% 50% no-repeat;}
#wrap #header .gnb .btn-area .select-team.active .select-list{display: block;}
#wrap #header .gnb .btn-area .select-team .select-list{display: none;position: absolute;right: -23px;top: 36px;width: 160px;padding-top: 8px;background: url('../images/common/balloon.png') 127px 0 no-repeat;}
#wrap #header .gnb .btn-area .select-team .select-list li{display: block;height: 50px;line-height: 50px;margin: 0;overflow: hidden;}
#wrap #header .gnb .btn-area .select-team .select-list li:first-child{border-top-left-radius: 5px;-webkit-border-top-left-radius: 5px;border-top-right-radius: 5px;-webkit-border-top-right-radius: 5px;}
#wrap #header .gnb .btn-area .select-team .select-list li:last-child{border-bottom-left-radius: 5px;-webkit-border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;-webkit-border-bottom-right-radius: 5px;}
#wrap #header .gnb .btn-area .select-team .select-list li a{display: block;height: 50px;line-height: 50px;padding-left: 10px;text-align: left;font-size: 12px;color: #555;font-family: 'AstaSans', sans-serif;vertical-align: top;background-color: #ececec;}
#wrap #header .gnb .btn-area .select-team .select-list li a:hover,
#wrap #header .gnb .btn-area .select-team .select-list li.active a{color: #fff;background-color: #002c5f;}
#wrap #header .gnb .btn-area .solo-team .current{display: inline-block;padding-left: 34px;font-size: 15px;color: #555;background: url('../images/common/my_team.png') 0 50% no-repeat;vertical-align: middle;}
#wrap #header .gnb .btn-area .solo-team .team{margin-left: 11px;line-height: 20px;font-size: 20px;color: #292929;vertical-align: middle;}

#wrap #header .utill-menu{text-align: center;/*max-width:380px;*/max-width:900px;min-width: 100px; margin: 0 auto;}
#wrap #header .utill-menu ul{font-size: 0;}
#wrap #header .utill-menu li{position:relative;display:inline-flex;align-items:center;}
#wrap #header .utill-menu li:first-child{border-bottom-left-radius: 5px;}
#wrap #header .utill-menu li:last-child{border-bottom-right-radius: 5px; }
#wrap #header .utill-menu li a{ color: #555555; font-size: 14px; line-height: 55px; width: 100%;}
#wrap #header .utill-menu li a:hover,
#wrap #header .utill-menu li.active a{display: inline-block; color: #292929; background: url('../images/common/arrow_01.png') center 42px no-repeat; font-family: 'AstaSans', sans-serif; font-weight: 500;}
/* utill-menu-wrap: 가로 나열 메뉴 */
.utill-menu-wrap{display:flex;align-items:center;background:#f5f5f5;height:32px;border-radius:50px;padding-left:12px;padding-right:8px;}
.utill-menu-list{display:flex;align-items:center;gap:12px;list-style:none;margin:0;padding:0;}
.utill-menu-item{display:flex;align-items:center;justify-content:center;padding:0 10px;height:32px;color:#545454;cursor:pointer;white-space:nowrap;font-size:14px;}
.utill-menu-item.active{color:#111111;font-weight:700;}
.utill-menu-toggle{display:flex;align-items:center;justify-content:center;padding:0 10px;height:32px;background:none;border:none;color:#545454;font-size:14px;cursor:pointer;}
.utill-menu-wrap.collapsed .utill-menu-list{display:flex;}
.utill-menu-wrap.collapsed .utill-menu-item:not(.active){display:none !important;}
#wrap #header .header-wrap .header-top{width:100%;height:50px;display:flex;align-items:center;padding:0 20px;border-bottom:1px solid #e7e7e7;}
.utill-menu-toggle img{width:16px;height:16px;transform:rotate(0deg);transition:transform 0.2s;}
.utill-menu-wrap.collapsed .utill-menu-toggle img{transform:rotate(180deg);}

#wrap #header .language-select {float: right; position: relative; margin-top: 27px; margin-right: 15px; z-index: 101; cursor: pointer;}
#wrap #header .language-select .current {background: url('../images/common/ico_global.png') 0px 2px no-repeat; background-size: 17px; padding-left: 23px;}
#wrap #header .language-select .current + ul {border: 1px solid #ccc; position: absolute; margin-top: 8px; display: none;}
#wrap #header .language-select .current + ul li {padding: 5px 16px; background-color: #fff; text-align: center; width: 40px;}

/*depth main일 경우*/
/*#wrap.depth-main {max-width: 1320px;}*/
#wrap.mss-sub{max-width: 100% !important;}
#wrap.depth-main #header{/*min-height: 134px*/}
#wrap.depth-main #container{width: 100%;margin: 0 auto; min-height: calc(100vh - 150px);}
#wrap.depth-main #container.min-height-wrap{min-height: calc(100vh - 100px);}
#wrap.depth-main #content{width: 1280px; margin: 0 auto; box-sizing: border-box; padding-bottom: 80px;}
#wrap.depth-main #content > div{width: 1280px;}
#wrap.depth-main #content > div > *{min-width: 0;}
#wrap.depth-main.mss-sub #container{max-width: 100% !important;}
#wrap.depth-main.mss-sub #content{width: 100%; max-width: 100%;}
#wrap.depth-main #footer{background-color: #FAFAFA;}
#wrap.depth-main.mss-sub #footer{max-width: 100% !important;}


/*depth03 경우 - aside + container flex siblings inside #wrap */
#wrap.depth03 #header:after{background: #003166;}
/*#wrap.depth03 #header .gnb{height: 99px;}*/
#wrap.depth03{display: flex; flex-wrap: wrap; align-items: stretch;}
#wrap.depth03 > #header{flex: 0 0 100%;}
#wrap.depth03 > #footer{flex: 0 0 100%;}
#wrap.depth03 > #container{flex: 1; min-width: 0; position: relative; padding: 30px 40px; background-color: #ffffff; min-height: calc(100vh - 150px);}
#wrap.depth03 > #container:before{content: ''; position: absolute; left: -1px; top: 0; bottom: -200px; width: 1px; background-color: #f0f0f0; pointer-events: none;}

/*depth03 > aside-menu */
#wrap.depth03 > #aside-menu{width: 240px; flex: 0 0 240px; padding: 30px 20px; box-sizing: border-box; position: sticky; top: 55px; align-self: flex-start; display: flex; flex-direction: column; overflow: visible; z-index: 1; background-color: #ffffff; border-right: 1px solid #f0f0f0;}
#wrap.depth03 #aside-menu h2{word-break:break-word; font-size: 18px; line-height: 21px; padding: 0 10px 19px 10px; border-bottom: 1px solid #F0F0F0; font-family: 'AstaSans', sans-serif; font-weight: 700; color: #111111; flex-shrink: 0;}
#wrap.depth03 #aside-menu .lnb{padding-top: 0; overflow-y: auto; flex: 1;}
#wrap.depth03 #aside-menu h2 + .lnb{padding-top: 30px;}
#wrap.depth03 #aside-menu .lnb li{position: relative;}
#wrap.depth03 #aside-menu .lnb li a{display: flex; align-items: center; min-height: 36px; padding: 7px 10px; font-size: 14px; line-height: 1.4; color: #3B3B3B; box-sizing: border-box; position: relative; border-radius: 4px;}
#wrap.depth03 #aside-menu .lnb > li > a{font-family: 'AstaSans', sans-serif; font-weight: 600; padding-left: 22px;}
#wrap.depth03 #aside-menu .lnb li a:hover{background-color: #f5f5f5; color: #111111;}
#wrap.depth03 #aside-menu .lnb li a.active:not(.more){background-color: #f5f5f5; color: #111111; font-family: 'AstaSans', sans-serif; font-weight: 600;}
/* 하위 메뉴 있는 항목 (그룹헤더): 미디엄 폰트 + 화살표 공간 */
#wrap.depth03 #aside-menu .lnb a.more{font-family: 'AstaSans', sans-serif; font-weight: 600; padding-left: 22px;}
/* 하위 메뉴 있는 항목: > 아이콘 (닫힘), ∨ 아이콘 (열림) - 텍스트 앞쪽 배치 */
#wrap.depth03 #aside-menu .lnb a.more::after{content: ''; position: absolute; left: 6px; top: 0; bottom: 0; margin-top: auto; margin-bottom: auto; width: 6px; height: 6px; border-top: 1.5px solid #828282; border-right: 1.5px solid #828282; transform: rotate(45deg); transition: transform 0.2s ease;}
#wrap.depth03 #aside-menu .lnb a.more.active::after{transform: rotate(135deg);}
/* 하위 메뉴 */
#wrap.depth03 #aside-menu .lnb li ul.sub{padding: 0;}
#wrap.depth03 #aside-menu .lnb li ul.sub > li > a{padding-left: 34px; color: #3C3E45;}
#wrap.depth03 #aside-menu .lnb li ul.sub > li > a.more::after{left: 20px;}
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub > li > a{padding-left: 48px; color: #3C3E45;}
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub > li > a.more::after{left: 34px;}
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub li ul.sub > li > a { padding-left: 62px; color: #3C3E45; }
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub li ul.sub > li > a.more::after { left: 48px; }
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub li ul.sub li ul.sub > li > a { padding-left: 76px; color: #3C3E45; }
#wrap.depth03 #aside-menu .lnb li ul.sub li ul.sub li ul.sub li ul.sub > li > a.more::after { left: 62px; }

#wrap.depth03 #aside-menu .lnb li ul.sub li a,
#wrap.depth03 #aside-menu .lnb li ul.sub li a.active:not(.more),
#wrap.depth03 #aside-menu .lnb li ul.sub li a.more{font-weight: 400;}
#aside-menu .menu-control{display: block;position: absolute;right: 0;top: 30px;width: 20px;height: 20px;z-index: 10;background: #ddd url('../images/common/ico_arrow_04.png') 50% 50% / 8px no-repeat;border-bottom-left-radius: 5px;-webkit-border-bottom-left-radius: 5px;border-top-left-radius: 5px;-webkit-border-top-left-radius: 5px;border: 0 none;-webkit-appearance: none;}
#wrap.depth03.aside-open > #aside-menu .menu-control{background: #ddd url('../images/common/ico_arrow_05.png') 50% 50% / 8px no-repeat;right: -20px;border-top-left-radius: 0;-webkit-border-top-left-radius: 0;border-bottom-left-radius: 0;-webkit-border-bottom-left-radius: 0;border-top-right-radius: 5px;-webkit-border-top-right-radius: 5px;border-bottom-right-radius: 5px;-webkit-border-bottom-right-radius: 5px;}
#wrap.depth03.aside-open > #aside-menu{flex: 0 0 0; width: 0 !important; margin-right: 0; padding: 15px;}
#wrap.depth03.aside-open > #container:before{left: 0;}
#wrap.depth03.aside-open .tree-wrap{display: none;}
#wrap.depth03.aside-open h2,
#wrap.depth03.aside-open .lnb{display: none;}

/* 인사담당 tree-menu */
#wrap.depth03 .tree-menu{margin-top: -10px}
#wrap.depth03 .tree-menu li a{display: block;padding: 16px 0 15px;font-size: 14px; min-height: 18px; line-height: 18px; color: #555555;border-bottom: 1px solid #d1d1d1;cursor: pointer;}
#wrap.depth03 .tree-menu li a {padding-left: 27px; background: url('../images/common/ico_plus.gif') 0 50% no-repeat;}
#wrap.depth03 .tree-menu li.active>a{background-image: url('../images/common/ico_minus.gif'); color: #292929; font-family: 'AstaSans', sans-serif; font-weight: 500; }
#wrap.depth03 .tree-menu li.none>a{background-image: url('../images/common/ico_none.gif') }
#wrap.depth03 .tree-menu .tree{background-color: #ececec; padding: 12px 20px 14px; border-bottom: 1px solid #d1d1d1;}
#wrap.depth03 .tree-menu .tree li+li{margin-top: 15px;}
#wrap.depth03 .tree-menu .tree li a{border: 0 none; padding: 0; padding-left: 27px; background-position: 0 0;-webkit-appearance: none;}
#wrap.depth03 .tree-menu .tree .row li{padding-left: 19px; padding-top: 10px; margin: 0;background: url('../images/common/bg_tree.png') 8px 0 no-repeat; }
#wrap.depth03 .tree-menu .tree .row li:last-child{background-image: url('../images/common/bg_tree_02.png')}
/* #wrap.depth03 .tree-menu .tree li.active a{color: #292929; } */


#wrap.depth03 .tree-menu .tree>li{overflow: hidden;}
#wrap.depth03 .tree-menu .tree>li>a{position: relative; top:0; z-index: 1}
#wrap.depth03 .tree-menu .tree>li.active>a:before{content: ''; display: block; position: absolute; left: 8px; top: 18px; width: 1px; height: 100%; background-color: #d1d1d1; z-index: 0}
#wrap.depth03 .tree-menu .tree>li.active.none>a:before{content: none;}


/* depth03 > content */
#wrap.depth03 #content{ position: relative; overflow: hidden;}
#wrap #content .content-title{font-weight: bold; margin-bottom: 30px;}


/* depth03 > content > schedule */
#wrap #content .tit-center{text-align:center;text-decoration:underline;color:#4092e5;}
#wrap #content .content-title-left{position:absolute;}
#wrap #content .tit-sub{text-align:center;margin-bottom:4px}
#wrap #content .bo-b{border-bottom:1px solid #000;color:#000;font-weight:900}
#wrap #content .section-wrap ul.mt-week{margin-top:-2px}
#wrap #content .section-wrap ul.sec-con{display:table;width:100%;overflow:hidden}
#wrap #content .section-wrap ul.sec-con li{display:table-cell;vertical-align:top;padding:2px;}
#wrap #content .section-wrap .section-left{position:relative;}
#wrap #content .section-wrap .section-left .btn-aside{position:absolute;right:0}
#wrap #content .mb-0{margin-bottom:0}
#wrap #content .mb-10{margin-bottom:10px}

/*mss임원 또는 예외*/
#wrap.exception #header{min-height: 0;}
/*#wrap.depth03.exception #header .gnb{height: auto;}*/
/* exception: aside top을 헤더 실제 높이(JS 변수)에 맞춰 조정 */
/*#wrap.depth03.exception > #aside-menu{top: var(--header-h, 96px); max-height: calc(100vh - var(--header-h, 96px));}*/

/* 임원 tree-menu */
.tree-menu02 li a{display: block;padding: 16px 0;font-size: 15px; min-height: 18px; line-height: 18px; color: #555555; border-bottom: 1px solid #d1d1d1;}
.tree-menu02 li a {padding-right: 38px;background: url('../images/common/ico_plus.gif') 162px 50% no-repeat;}
.tree-menu02 li.none a{background: 0 none;}
.tree-menu02 li li a{background: 0 none;}
.tree-menu02 li.active>a{background-image: url('../images/common/ico_minus.gif'); color: #292929;font-family: 'AstaSans', sans-serif; font-weight: 500;}
.tree-menu02 li.active li.active>a{padding-right: 16px;background: url(../images/common/arrow.png) 100% 50% no-repeat;font-family: 'AstaSans', sans-serif; font-weight: 500;}
.tree-menu02 .tree-wrap{padding-top: 25px;}
.tree-menu02 .tree{padding: 8px 0 10px;border-bottom: 1px solid #d1d1d1;}
.tree-menu02 .tree li a{border: 0 none; margin-right: 20px;padding: 0; background-position: 0 0; line-height: 35px;-webkit-appearance: none;}
.tree-menu02 .tree .row li{padding-left: 19px; padding-top: 10px; margin: 0;background: url('../images/common/bg_tree.png') 8px 0 no-repeat; }
.tree-menu02 .tree .row li:last-child{background-image: url('../images/common/bg_tree_02.png')}

/*전체 메뉴*/
.menu-wrap{display: block;position: fixed;left: 0;top: 0;bottom: 100px;width: 100%;z-index: 100;background-color: #fff;box-shadow: 0 8px 16px rgba(0,0,0,0.08);visibility: hidden;opacity: 0;pointer-events: none;overflow: hidden;transition: opacity 0.12s ease, visibility 0s linear 0.12s;}
.menu-wrap.active{visibility: visible;opacity: 1;pointer-events: auto;transition: opacity 0.2s ease 0.2s, visibility 0s linear 0.2s;}
.menu-wrap .menu-inner{position: relative;padding: 0 0 50px;z-index: 1000;background-color: #fff;overflow-y: auto;max-height: calc(100% - 50px) !important;scrollbar-width: none;-ms-overflow-style: none;}
.menu-wrap .menu-inner::-webkit-scrollbar{display: none;}
/* GNB / 전체메뉴 딤드 배경 오버레이 */
body::before {content: '';position: fixed;top: 0;left: 0;right: 0;bottom: 0;background: rgba(0,0,0,0.4);z-index: 98;visibility: hidden;opacity: 0;pointer-events: none;transition: opacity 0.12s ease 0.02s, visibility 0s linear 0.14s;}
body:has(.gnb .depth01.is-open)::before,body:has(.menu-wrap.active)::before {visibility: visible;opacity: 1;transition: opacity 0.2s ease 0.2s, visibility 0s linear 0.2s;}
.menu-wrap .menu-inner .menu-top{max-width: 1250px;width: 100%;margin: 0 auto;padding: 40px 20px 36px;box-sizing: border-box;display: flex;align-items: flex-start;justify-content: space-between;position: sticky;top: 0;z-index: 10;background-color: #fff;}
.menu-wrap .menu-inner .menu-top-left{flex: 1;}
.menu-wrap .menu-inner .title{display: flex;align-items: center;height: 44px;font-size: 20px;font-weight: 700;color: #111111;line-height: 1;}
.menu-wrap .menu-inner .quick-menus{display: flex;flex-wrap: nowrap;gap: 8px;margin-top: 20px;max-width: 1000px;overflow: hidden;}
.menu-wrap .menu-inner .quick-item{display: inline-flex;align-items: center;height: 32px;padding: 0 16px;border: 1px solid #E9EAEC;border-radius: 16px;font-size: 14px;color: #111111;white-space: nowrap;box-sizing: border-box;}
.menu-wrap .menu-inner .quick-item:hover{background-color: #f5f5f5;}
.menu-wrap .menu-inner .menu-top-right{flex-shrink: 0;display: flex;flex-direction: column;align-items: flex-end;gap: 20px;}
.menu-wrap .menu-inner .menu-search{display: flex;align-items: center;width: 240px;height: 36px;border: 1px solid #E9EAEC;border-radius: 18px;padding: 0 12px;box-sizing: border-box;}
.menu-wrap .menu-inner .menu-search .btn-search{flex-shrink: 0;width: 18px;height: 18px;border: none;background: url('../images/common/ico_search.png') center / contain no-repeat;cursor: pointer;padding: 0;margin-right: 8px;}
.menu-wrap .menu-inner .menu-search .inp{border: none;outline: none;font-size: 14px;color: #111111;width: 200px;background: none;}
.menu-wrap .menu-inner .menu-search .inp::placeholder{color: #b7b7b7;}
.menu-wrap .menu-inner .nav{max-width: 1250px;width: 100%;margin: 0 auto;padding: 36px 20px 0;box-sizing: border-box;border-top: 1px solid #EEEEEE;}
.menu-wrap .menu-inner .nav:after{content: '';display: block;clear: both;height: 0;visibility: hidden;}
.menu-wrap .menu-inner .nav + .nav{margin-top: 36px; padding-top: 36px;}
.menu-wrap .menu-dimmed{display: none;}
.menu-wrap.active .menu-dimmed{display: none;}
#wrap #header .gnb .nav+.nav{margin-left: 10px;}
#wrap #header .gnb .nav+.nav:after{content: ''; display: block;position: relative; left: -30px; top: -24px; width: 1px; height: 18px; background-color: #e1e1e1}
.menu-wrap .nav li.depth01{float: none;width: 100%;margin-right: 0;}
.menu-wrap .nav li.depth01 + li.depth01{margin-top: 36px;padding-top: 36px;border-top: 1px solid #EEEEEE;}
.menu-wrap .nav li.depth01.menu05{margin-right: 0;}
.menu-wrap .nav li.depth01 > a{display: flex;align-items: center;height: 44px;font-size: 18px;font-weight: 700;line-height: 21px;color: #111111;font-family: 'AstaSans', sans-serif;}
.menu-wrap .nav .depth02{display: flex;flex-wrap: wrap;gap: 0;}
.menu-wrap .nav .depth02 > li,
#wrap #header .gnb .depth02 > li{display: block; height: auto; overflow: visible; width: 234px; margin-right: 20px; vertical-align: top; flex-shrink: 0; padding: 16px 0 0;}
.menu-wrap .nav .depth02 > li > a,
#wrap #header .gnb .depth02 > li > a{display: flex; align-items: center; height: 44px; padding: 0; border-bottom: none; font-size: 16px; line-height: 19px; color: #111111; font-family: 'AstaSans', sans-serif; font-weight: 700;}
.menu-wrap .nav .depth03,
#wrap #header .gnb .depth02 .depth03{display: block; height: auto; overflow: visible; padding-top: 4px;}
.menu-wrap .nav .depth03 > li,
#wrap #header .gnb .depth02 .depth03 > li{display: block; height: auto; min-height: 36px; padding: 0; line-height: 1;}
.menu-wrap .nav .depth03 > li > a,
#wrap #header .gnb .depth02 .depth03 > li > a{display: flex; align-items: center; height: 36px; padding: 0 10px; border-bottom: none; font-size: 15px; line-height: 18px; color: #111111; background: none; position: relative; font-weight: 400;}
.menu-wrap .nav .depth03 > li > a {padding-left: 24px;}
#wrap #header .gnb .depth02 .depth03 > li:has(.depth04) > a {padding-left: 24px;}
.menu-wrap .nav .depth03 > li > a::before,
#wrap #header .gnb .depth02 .depth03 > li > a::before{content: '›'; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 20px; text-align: center; font-size: 22px; color: #111111;}
.menu-wrap .nav .depth03 > li > a:not(:last-child)::before,
#wrap #header .gnb .depth02 .depth03 > li > a:not(:last-child)::before{content: '›'; transform: translateY(-50%) rotate(90deg);}
.menu-wrap .nav .depth03 > li > a:hover,
#wrap #header .gnb .depth02 .depth03 > li > a:hover{display: flex; background-color: #F4F5F6; border-bottom: none; padding-bottom: 0;}
.menu-wrap .nav .depth04,
#wrap #header .gnb .depth02 .depth04{display: block; height: auto; overflow: visible; padding-bottom: 9px;}
.menu-wrap .nav .depth04 > li{padding-left: 0;}
#wrap #header .gnb .depth02 .depth04 > li{display: block; height: auto; padding: 0; line-height: 1;}
#wrap #header .gnb .depth02 .depth04 > li:first-child{padding-top: 0;}
.menu-wrap .nav .depth04 > li > a,
#wrap #header .gnb .depth02 .depth04 > li > a{display: flex; align-items: center; height: 36px; padding-left: 24px; padding-bottom: 0; border-bottom: none; font-size: 15px; line-height: 21px; color: #111111;}
.menu-wrap .nav .depth04 > li > a:hover,
#wrap #header .gnb .depth02 .depth04 > li > a:hover{display: flex; background-color: #F4F5F6; border-bottom: none; padding-bottom: 0;}
.menu-wrap .btn-close{display: flex;align-items: center;justify-content: center;width: 22px;height: 44px;position: relative;}
.menu-wrap .btn-close::before,.menu-wrap .btn-close::after{content: '';position: absolute;width: 18px;height: 1px;background-color: #656972;}
.menu-wrap .btn-close::before{transform: rotate(45deg);}
.menu-wrap .btn-close::after{transform: rotate(-45deg);}
/* .menu-wrap .menu-inner .title - display:block으로 menu-top 내 선언으로 이동 */

/* FOOTER */
#wrap #footer{position: relative; width: 100%; font-size: 12px; color: #949494; padding: 32px 80px; box-sizing: border-box; display: flex; align-items: center; justify-content: flex-start; gap: 25px; background-color: #FAFAFA;}
#wrap #footer button{background: none; border: none; padding: 0; margin: 0; height: auto; width: auto; font-size: 12px; color: #949494; text-decoration: underline; cursor: pointer; line-height: 1;}
#container.container-sub ~ #footer,
#container.sub-main ~ #footer,
#container.ehr-main ~ #footer,
#container.reward-main ~ #footer,
#container.career-main ~ #footer,
#container.ghr-sub-main ~ #footer,
#container.global-hr-main ~ #footer,
#container.hr-info-sub-main ~ #footer{visibility: hidden; height: 0; overflow: hidden; padding: 0;}
/* 추가 (form으로 감싸진 보상 페이지 대응) */
#wrap:has(#container.reward-main) #footer { visibility: hidden; height: 0; overflow: hidden; padding: 0; }

/*단축어 팝업*/
.abbreviation_popup_layer {position: absolute;}
.abbreviation_popup_layer .popup_box{position: relative;height: 600px;width:1000px;z-index:1002;box-sizing:border-box;background:#fff;box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);-webkit-box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);-moz-box-shadow: 2px 5px 10px 0px rgba(0,0,0,0.35);border-radius: 10px;}
.abbreviation_popup_layer .popup_box .popup_cont {padding:30px 50px 40px 50px;line-height:1.4rem;font-size:14px; }

/* 메뉴 레이아웃 수정 */
#wrap #header .header-wrap {width: 100%; box-sizing: border-box;}
#wrap #header .gnb {display: flex; flex-wrap: wrap; position: relative; flex-direction: row; max-width: 1800px; margin: 0 auto; box-sizing: border-box; justify-content: center; flex-basis: 100%; padding: 0 20px;}
#wrap #header .gnb .nav,
#wrap #header .gnb .btn-area {float: none;}
/* #wrap #header .gnb .btn-area {display: flex; justify-content: end; margin-bottom: 10px; align-items: center; padding-bottom: 10px; margin-top: -14px; width: 100%; order: 1} */
#wrap #header .gnb .btn-area {display: none;}
#wrap #header .gnb .btn-area:after {content: ''; display: block; width: 100vw; height: 1px; background: #e0e0e0; position: absolute; top: 21px; left: 0; transform: translate(calc(-50vw + 660px), 0);}
#wrap #header .gnb .btn-area button {height: 24px; top: 0; line-height: 22px;}
#wrap #header .gnb .btn-area .solo-team .team {font-size: 15px;}
#wrap #header .gnb .nav {padding-top: 0px; padding-bottom: 0px; order: 2; display: flex; flex-wrap: wrap; justify-content: center;}
#wrap #header .gnb .nav + .nav {order: 3; border-left: 1px solid #e0e0e0; padding-left: 55px;}
#wrap #header .header-wrap.active:after {display: none; /*transform: translate(0, 100%);*/}
#wrap #header .gnb .depth02 {min-height: 30px; padding: 0; width: 100%; height: auto; left: 0; margin: 0; position: absolute; bottom: 8px; transform: translate(0, calc(100% + 8px));}
#wrap #header .gnb ul li a {padding-bottom: 12px; margin-bottom: 0;}
#wrap #header .gnb .nav+.nav:after {display: none;}
#wrap #header .gnb .nav+.nav:before {content: none;}
#wrap #header .header-wrap h1 {margin: 0;}
#wrap #header .gnb .depth01 {margin-bottom: 0;}
#wrap #header .gnb .depth01.active>a, #wrap #header .gnb .depth01 a:hover, #wrap #header .gnb .depth01 a.active {margin-bottom: 0;}

/* 영문 메뉴 Full-size */
#wrap #header.en .header-wrap {width: 100%; box-sizing: border-box;}
#wrap #header .gnb .depth02 {padding: 0;}
#wrap #header .gnb .depth02 li a:hover {margin-top: 0;}
/*#wrap #header.en .gnb .depth02 {width: calc(100% - 44px);}
#wrap.depth03 #header {margin-bottom: 50px;}*/
#wrap #header.en .gnb .btn-area:after {transform: translate(-40px, 0);}

/* 260623 추가: header-right */
#wrap #header .header-wrap .header-right {margin-left: auto; display: flex; align-items: center; gap: 12px; padding: 0;}
#wrap #header .header-wrap .header-right .utill-menu {max-width: none; min-width: auto; margin: 0; text-align: left;}
#wrap #header .header-wrap .header-right .utill-menu select, #wrap #header .header-wrap .header-right .org-select select, #wrap #header .header-wrap .header-right .language-select select {padding: 0 8px; border: none; border-radius: 4px; cursor: pointer; color: #292929; opacity: 0; background: none; position: absolute; top: 0; left: 0; box-sizing: border-box; font-size: 14px;}
#wrap #header .header-wrap .header-right .header-name {font-size: 14px; color: #292929; white-space: nowrap; height: 30px; line-height: 30px; padding-right: 6px; font-weight: bold;}
#wrap #header .header-wrap .header-right .language-select {float: none; margin: 0; height: 30px;}
#wrap #header .header-wrap .header-right .language-select div.selector {background: url('../images/common/ic_world_24px.svg') 0 center no-repeat; background-size: 18px; padding-left: 23px;}
#wrap #header .header-wrap .header-right .language-select select::-ms-expand {display: none;}
#wrap #header .header-wrap .header-right .abbreviation-info {display: flex; align-items: center;}
#wrap #header .header-wrap .header-right .state.logout {width: 20px; height: 20px; padding-left: 0; background: url('../images/common/ic_log_out_light_24px.svg') center center no-repeat; background-size: 18px; cursor: pointer; overflow: hidden;}
#wrap #header .header-wrap .header-right .state.logout a {display: none;}

/* 260623 추가: header-right 내 div.selector 스코핑 (common.css 전역 규칙 override) */
#wrap #header .header-wrap .header-right div.selector,
#wrap #header .header-wrap .header-right .utill-menu div.selector,
#wrap #header .header-wrap .header-right .org-select div.selector {position: relative; padding: 0; height: 30px; line-height: 30px; font-size: 14px; color: #292929; overflow: hidden; border-radius: 5px; box-sizing: border-box;}
#wrap #header .header-wrap .header-right .utill-menu div.selector span,
#wrap #header .header-wrap .header-right .org-select div.selector span,
#wrap #header .header-wrap .header-right .language-select div.selector span {display: inline-block; padding-right: 30px; width: auto !important; height: 30px; line-height: 30px; text-overflow: ellipsis; box-sizing: border-box; color: #292929; white-space: nowrap; cursor: pointer; overflow: hidden;}
#wrap #header .header-wrap .header-right div.selector {border: none; width: auto !important;}
#wrap #header .header-wrap .header-right .utill-menu div.selector select {height: 100%; width: 100% !important;}
/* org-select: flex 축소 방지 */
#wrap #header .header-wrap .header-right .org-select {flex-shrink: 0;}
/* 국문: org-select 185px 초과 시 ... 처리 */
#wrap #header:not(.en) .header-wrap .header-right .org-select {max-width: 185px;}
#wrap #header:not(.en) .header-wrap .header-right .org-select div.selector {max-width: 185px !important;}
#wrap #header:not(.en) .header-wrap .header-right .org-select div.selector span {max-width: 185px !important; padding-right: 30px;}
#wrap #header:not(.en) .header-wrap .header-right .org-select div.selector select {height: 100%; width: 100% !important; padding: 0 8px;}
/* 영문 페이지만: org-select 최대 150px */
#wrap #header.en .header-wrap .header-right .org-select {max-width: 150px; flex-shrink: 0;}
#wrap #header.en .header-wrap .header-right .org-select div.selector {max-width: 150px !important;}
#wrap #header.en .header-wrap .header-right .org-select div.selector span {max-width: 150px !important; padding-right: 30px;}
#wrap #header.en .header-wrap .header-right .org-select div.selector select {height: 100%; width: 100% !important; padding: 0 8px;}

/* 260624 추가: gnb */
#wrap #header .gnb {justify-content: center; width: 100%;}
/* gnb 52px 고정 */
#wrap #header .gnb {min-height: 52px; align-items: stretch; overflow: visible;}
#wrap #header .gnb .nav {height: auto; align-items: stretch;}
#wrap #header .gnb .depth01 {height: 52px;}
#wrap #header .gnb .depth01 > a {position: relative; height: 100%; display: flex; align-items: center; padding-bottom: 0; font-weight: 600;}
#wrap #header .gnb .depth01 > a::after {content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 4px; background: #111111; transform: scaleX(0); transform-origin: center; transition: transform 0.2s ease;}
#wrap #header .gnb .depth01.active > a::after, #wrap #header .gnb .depth01 > a:hover::after, #wrap #header .gnb .depth01 > a.active::after {transform: scaleX(1);}
#wrap #header .gnb .depth01.is-open > a::after {transform: scaleX(1); transition: transform 0.2s ease 0.2s;}
#wrap #header .gnb .nav {display: flex; flex-wrap: wrap; column-gap: 55px; max-width: 1400px; width: 100%; margin: 0 auto; justify-content: center;}
#wrap #header.en .gnb .nav {max-width: 1800px; justify-content: flex-start;}
/* nav+nav: 권한에 따라 두 nav가 함께 나타날 때 나란히 배치 */
#wrap #header .gnb:has(.nav + .nav) .nav {width: auto; max-width: 680px; flex: 0 1 680px; margin: 0;}
#wrap #header.en .gnb:has(.nav + .nav) .nav {max-width: 880px; flex-basis: 880px;}
/* 260701+ GNB 공유 배경 패널: 메뉴 전환 시 흰 배경 유지, 높이만 전환 */
#wrap #header .gnb-bd {position: absolute; left: 0; width: 100%; background: #fff; box-shadow: 0 8px 16px rgba(0,0,0,0.08); height: 0; visibility: hidden; opacity: 0; pointer-events: auto; z-index: 99; transition: opacity 0.12s ease 0.02s;}
body:has(#wrap #header .gnb .depth01.is-open) #wrap #header .gnb-bd {opacity: 1; transition: opacity 0.15s ease 0.22s;}
#wrap #header .gnb .depth02 {background: transparent; width: 100vw; bottom: 0; left: 50%; right: auto; margin-left: 0; margin-right: 0; text-align: left; transform: translate(-50%, calc(100% + 8px)); padding: 30px max(20px, calc(50vw - 700px)) 30px; box-sizing: border-box; display: flex; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity 0.1s ease, visibility 0s linear 0.1s; z-index: 100; max-height: calc(100vh - 150px); overflow-y: auto; scrollbar-width: none; -ms-overflow-style: none;}
#wrap #header .gnb .depth02::-webkit-scrollbar {display: none;}
/* display:none 대신 visibility+opacity로 숨김 → transition 체인 유지 */
#wrap #header .gnb .depth01.active .depth02 {display: flex; visibility: hidden; opacity: 0; pointer-events: none;}
#wrap #header .gnb .depth01:hover .depth02 {display: flex; visibility: hidden; opacity: 0; pointer-events: none;}
/* 260701 GNB 멀티라인 hover 이슈 수정: CSS :hover 대신 JS .is-open 클래스로 dropdown 제어 */
/* 260701 smooth: visibility+opacity transition으로 열림/닫힘 부드럽게 */
#wrap #header .gnb .depth01.is-open .depth02 {display: flex; visibility: visible; opacity: 1; pointer-events: auto; transition: opacity 0.15s ease 0.225s, visibility 0s linear 0.225s;}
#wrap #header .gnb .depth02 > li {display: block; height: auto; flex: 0 0 20%; max-width: calc(1400px / 5); box-sizing: border-box; margin-right: 0; padding: 16px 20px;}
/* 260828: 2번째 줄 시작(6번째, 11번째...) 행 전체 너비 구분선 */
#wrap #header .gnb .depth02 > li:nth-child(5n+6) {position: relative;}
#wrap #header .gnb .depth01.is-open .depth02 > li:nth-child(5n+6)::before {content: ''; position: absolute; top: 0; left: 0; width: 500%; height: 1px; background: #f0f0f0;}
/* 메뉴 전환 시(배경 이미 열려있음): 텍스트·구분선 딜레이 단축 */
#wrap #header .gnb.is-switching .depth01.is-open .depth02 {transition: opacity 0.15s ease 0.1s, visibility 0s linear 0.1s;}
/* depth02 항목 5개 이하(첫줄만)일 때 중앙 정렬 */
#wrap #header .gnb .depth02:not(:has(> li:nth-child(6))) {justify-content: center;}
/* 페이지네이션 없는 메뉴: 상하 패딩 균형 (dots 없으므로 70px 불필요) */
#wrap #header .gnb .depth02:not(.has-pagination) {padding-bottom: 30px;}
/* 260701 Swiper 슬라이드 컨테이너 (depth02 페이지네이션) */
#wrap #header .gnb .depth02-swiper {position: relative; overflow-x: hidden; overflow-y: visible; flex: 0 0 100%; width: 100%; padding-bottom: 30px;}
#wrap #header .gnb .depth02-swiper .swiper-wrapper {display: flex; flex-wrap: nowrap; transition-property: transform; box-sizing: content-box;}
#wrap #header .gnb .depth02-swiper .swiper-slide {flex-shrink: 0; width: 100%; display: flex; align-items: stretch; justify-content: center; position: relative;}
#wrap #header .gnb .depth02-swiper .swiper-slide > li {display: block; height: auto; overflow: visible; flex: 0 0 20%; max-width: calc(1400px / 5); box-sizing: border-box; margin-right: 0; padding: 5px 20px 0; vertical-align: top;}
#wrap #header .gnb .depth02-swiper .swiper-slide > li > a {display: block; height: auto; border-bottom: none; font-size: 16px; line-height: 44px; color: #111111; font-family: 'AstaSans', sans-serif; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 10px;}
#wrap #header .gnb .depth02-swiper .swiper-slide > li > a:hover {display: block; height: auto; line-height: 44px; background: none; border-bottom: none; text-decoration: none; color: #111111; font-size: 16px; font-family: 'AstaSans', sans-serif; font-weight: 600; margin-top: 0; padding: 0 10px;}
#wrap #header .gnb .depth02-dots {position: absolute; bottom: 30px; left: 0; right: 0; display: flex; justify-content: center; align-items: center; gap: 8px;}
#wrap #header .gnb .depth02-dots .dot {width: 8px; height: 8px; border-radius: 50%; background-color: #6B6B6B; cursor: pointer; border: none; padding: 0; transition: background-color 0.2s;}
#wrap #header .gnb .depth02-dots .dot.active {background-color: #111111;}
/* arrow: 첫 슬라이드(prev 불가) / 마지막 슬라이드(next 불가) 시 해당 방향 화살표 숨김 */
#wrap #header .gnb .depth02 > .depth02-arrow.swiper-button-disabled {display: none;}
/* arrow: position:absolute → flex 레이아웃 영향 없이 컨텐츠 위에 부유 */
#wrap #header .gnb .depth02 > .depth02-arrow {position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #D1D1D1; background: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; transition: background-color 0.2s, border-color 0.2s;}
#wrap #header .gnb .depth02 > .depth02-arrow:hover {background-color: #111111; border-color: #111111;}
#wrap #header .gnb .depth02 > .depth02-arrow .arrow-icon {width: 20px; height: 20px; display: block; transition: filter 0.2s;}
#wrap #header .gnb .depth02 > .depth02-arrow:hover .arrow-icon {filter: brightness(0) invert(1);}
/* 1400px 컨텐츠 영역 바로 바깥(패딩 영역)에 배치: 컨텐츠와 겹치지 않음 */
#wrap #header .gnb .depth02 > .depth02-arrow-prev {left: max(20px, calc(50vw - 740px));}
#wrap #header .gnb .depth02 > .depth02-arrow-next {right: max(20px, calc(50vw - 740px));}
#wrap #header .gnb .depth02 > .depth02-arrow-next .arrow-icon {transform: rotate(180deg);}
#wrap #header .gnb .depth02.is-dragging {user-select: none;}
/* 전체메뉴 - li.active 상태에서도 검정 밑줄 */
#wrap #header .gnb .depth01.active > a.all-menu {border-bottom-color: transparent;}
/* 260624: gnb progress bar */
#wrap #header .gnb .gnb-progress {position: absolute; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); height: 3px; background-color: transparent; overflow: hidden;}
#wrap #header .gnb .gnb-progress-fill {width: 0; height: 100%; background-color: #111111; transition: width 0.1s linear;}
#wrap #header .gnb .depth02 > li > a:hover {display: block; height: auto; line-height: 44px; background: none; border-bottom: none; text-decoration: none; color: #111111; font-size: 16px; margin-top: 0; padding: 0 10px;}

/* 260701 depth03 arrow: depth04 없는 항목은 숨김, depth04 있는 항목만 > 표시 */
.menu-wrap .nav .depth03 > li:not(:has(.depth04)) > a::before,
#wrap #header .gnb .depth02 .depth03 > li:not(:has(.depth04)) > a::before {content: none;}
/* depth04 있는 depth03: 닫힘 = > (오른쪽), 열림 = v (아래, 90도 회전) — top: 9px으로 첫줄 고정 */
.menu-wrap .nav .depth03 > li:has(.depth04) > a::before,
#wrap #header .gnb .depth02 .depth03 > li:has(.depth04) > a::before {top: 9px; transform: none; transition: transform 0.2s ease;}
.menu-wrap .nav .depth03 > li.open:has(.depth04) > a::before,
#wrap #header .gnb .depth02 .depth03 > li.open:has(.depth04) > a::before {top: 9px; transform: rotate(90deg);}
.menu-wrap .nav .depth04 > li > a::before,
#wrap #header .gnb .depth02 .depth04 > li > a::before {content: none;}
/* 260701 전체메뉴 depth04 아코디언: 기본 닫힘, .open 시 열림 */
.menu-wrap .nav .depth04 {display: none;}
.menu-wrap .nav .depth03 > li.open > .depth04 {display: block;}
/* 260701 menu-wrap depth02 컬럼 간격: gap 방식으로 수정 (margin-right로 인한 5열 줄바꿈 오류 방지) */
.menu-wrap .nav .depth02 {gap: 0 20px;}
.menu-wrap .nav .depth02 > li {flex: 0 0 calc((100% - 80px) / 5); margin-right: 0;}
/* 260701 depth03/04 a: 멀티라인 겹침 방지 (height: auto) + arrow/icon 첫줄 정렬 */
.menu-wrap .nav .depth03 > li > a,
#wrap #header .gnb .depth02 .depth03 > li > a,
.menu-wrap .nav .depth04 > li > a,
#wrap #header .gnb .depth02 .depth04 > li > a {height: auto; min-height: 36px; align-items: flex-start; padding-top: 9px; padding-bottom: 9px; box-sizing: border-box; line-height: 18px;}
/* hover: base CSS의 padding-bottom: 0 override → 위아래 패딩 동일하게 */
.menu-wrap .nav .depth03 > li > a:hover,
#wrap #header .gnb .depth02 .depth03 > li > a:hover,
.menu-wrap .nav .depth04 > li > a:hover,
#wrap #header .gnb .depth02 .depth04 > li > a:hover {padding-top: 9px; padding-bottom: 9px; align-items: flex-start;}
/* 260701 depth02 타이틀 말줄임표: 한 줄 초과 시 ... 처리 (flex→block 변경, height: auto로 base CSS height:26px 리셋) */
.menu-wrap .nav .depth02 > li > a,
#wrap #header .gnb .depth02 > li > a {display: block; height: auto; line-height: 44px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#wrap #header .gnb .depth02 > li > a {padding: 0 10px;}
/* depth02 hover: 어떠한 스타일 변경 없음 */
.menu-wrap .nav .depth02 > li > a:hover {display: block; height: auto; line-height: 44px; background: none; border-bottom: none; text-decoration: none; margin-top: 0;}

@media (min-width: 1921px) {
    #wrap #header .gnb { max-width: 100%; }
}

/* ===== header-right 커스텀 드롭다운 ===== */
/* height:30px 고정 → hcs-list(position:absolute) 표시 시 flex item 높이 변화 방지 */
.header-right .utill-menu,
.header-right .org-select,
.header-right .language-select {position: relative; cursor: pointer; overflow: visible; height: 30px;}
.header-right .hcs-trigger {display:inline-flex; align-items:center; height:30px; padding:0 20px 0 8px; font-size:14px; color:#111111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:200px; cursor:pointer;}
/* 드롭다운 목록 — #wrap #header로 우선순위 올려 position:absolute 확보 */
/* overflow:hidden 제거 → border 선명도 유지, 대신 li :first/:last-child에 border-radius 적용 */
#wrap #header .header-right .hcs-list {display:none; position:absolute; top:calc(100% + 4px); left:0; min-width:100%; background:#fff; border:1px solid #111111; border-radius:4px; box-shadow:0 0 2px 0 rgba(0,0,0,0.10), 1px 4px 2px 0 rgba(0,0,0,0.20); z-index:9999; list-style:none; padding:0; margin:0;}
#wrap #header .header-right .utill-menu.is-open .hcs-list,
#wrap #header .header-right .org-select.is-open .hcs-list,
#wrap #header .header-right .language-select.is-open .hcs-list {display:block;}
/* 네이티브 select 클릭 차단 */
.header-right .utill-menu select,
.header-right .org-select select,
.header-right .language-select select {pointer-events:none;}
/* li — 기존 #wrap #header .utill-menu li (specificity 2,1,1)를 (2,2,1)로 초과 */
#wrap #header .header-right .hcs-list li {display:flex; align-items:center; height:36px; padding:0 12px; color:#111111; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; cursor:pointer; font-size:14px; box-sizing:border-box; background:#fff; width:auto; position:static; vertical-align:baseline; margin:0; border-radius:0; line-height:1;}
#wrap #header .header-right .hcs-list li:hover {background:#f5f5f5;}
#wrap #header .header-right .hcs-list li.is-selected {font-weight:700; background:#fff;}
#wrap #header .header-right .hcs-list li.is-selected:hover {background:#f5f5f5;}
/* hover 시 border-radius: li에 직접 적용 (overflow:hidden 대체) */
#wrap #header .header-right .hcs-list li:first-child {border-radius: 3px 3px 0 0;}
#wrap #header .header-right .hcs-list li:last-child  {border-radius: 0 0 3px 3px;}
#wrap #header .header-right .hcs-list li:only-child  {border-radius: 3px;}
/* utill-menu li+li::after separator 제거 */
#wrap #header .header-right .utill-menu .hcs-list li+li::after {display:none; content:none;}
