


#header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  width: 100%;
  top: 0;
  background-color: transparent;
  z-index: 50;
  border-bottom: 1px solid #d9d9d9;
}
#header.scrolled{
  background-color: #fff;

}
#header .header_warp{
  width: 100%;
}
#header .header_warp.actives{
  border-bottom: 1px solid #e8e8e8;
}
#header .inner{
    padding:0;
    display:flex; 
    justify-content:space-between; 
    align-items:center;
}
#header #gnb{
  display: flex;
  z-index: 99;
  margin-left: auto;
}
#header .deptbox{
  height: 200px;
  position: relative;
  overflow: hidden;
}
#header #gnb > .dept1 {
  position: relative;
  text-align: center;
  width: 200px;
  padding: 22px 0px;
  font-weight: 600;
  font-size: 18px;
}

#header #gnb > .dept1 > a.active{
  color: #2f60b9 !important;
}

#header #gnb > .dept1:hover::after{
  position: absolute;
    content: '';
    width: 100%;
    height: 2px;
    left: 0;
    background-color: #2f60b9;
    bottom: -3px; 
}

#header #gnb .inner_menu {
  position: absolute;
  top: 100%;
  left:50%;
  transform: translateX(-50%) scaleY(0); /* ← Y축으로 접혀있는 상태 */
  width:100%;
  padding-top:1.5rem;
  background-color: #fff;
  height: 220px;
  opacity: 0;  pointer-events: none;
  transition: opacity 0.1s ease;
  border-right: 1px solid #e8e8e8;
  border-top: 1px solid #e8e8e8;
}
#header #gnb .inner_menu.fir{
   border-left: 1px solid #e8e8e8;
}
#header #gnb .inner_menu.actives {
  opacity: 1;
   transform: translateX(-50%) scaleY(1); /* ← 펼쳐짐 */
  pointer-events: auto;
  transition: opacity 0.1s ease 0.25s; /* 슬라이드 후 빠른 페이드인 */
}

#header #gnb .dept2 {
padding-bottom: 1rem;
  color: #61594f ;
  font-size: 1rem;
  font-weight: 400;
  height: 40px;
  text-align: left;
  padding-top: 5px;
  padding-left: 18px;
  margin-left: 15px;
  position: relative;
}


.mo_right ul li:last-child a{
  border: 0;
}
#header #gnb .dept2::after{
  content: 'ㆍ';
  position: absolute;
  left: 0px;

}
#header #gnb .dept2 a:hover,
#header #gnb .dept2 a:active,
#header #gnb .dept2 a:focus {
  color: #2f60b9  !important;
}

#header .menu_bar {
  margin-left: auto;
  z-index: 10001;
  display: none;
  position: relative;
}

#header .menu_bar.active span:nth-child(1){
  display: none;
}
#header .menu_bar.active span:nth-child(2){
  transform:rotate(130deg);background-color: #000;
}
#header .menu_bar.active span:nth-child(3){
  transform: rotate(45deg);
  top: 0px;
  position: absolute;
  background-color: #000;
}
#header .menu_bar span{
  width: 22px;
  height: 2px;
  background: #fff;
  display: block;
  margin: 6px;
}
#header .menu_bar span.scrolled{
  background: #61594f ;
}

#gnb:hover a{
  /* color: #61594f; */
  color: #fff;
}

.logo .pc{
  display: block;
}

.logo .pc.scrolled{
  display: none;
}
.logo .m.scrolled{
  display: block;
}

.logo .m{
  display: none;
}

.logo.move .m{
  display: block;
}
.logo.move .pc{
  display: none;
}

.blc a{
  color: #fff;
}
.blc a:hover{
  color: #2f60b9;
}
.blc a.scrolled{
    color: #61594f;
}
.dept1:hover .dept1 a{
  color: #2f60b9 !important;
}
.login a.scrolled,
.jo a.scrolled,
.logout a.scrolled,
.user_infor .logout a.scrolled{
    color: #61594f;
}
.login a,
.jo a,
.logout a,
.user_infor .logout a{
  color: #fff;
  font-family: 'Paperlogy';
  font-size: 14px;
  font-weight: 400;
}
.login a.move,
.jo a.move,
.logout a.move,
.user_infor .logout a.move{
    color: #61594f !important;
}

.login{
  margin-right: 20px;
}

/* 로그인/회원가입 아이콘과 텍스트 사이 마진 (메인과 통일) */
.xi-log-in:before,
.xi-user-plus:before,
.xi-log-out:before {
  margin-right: 5px;
}

#header select{
  width: 120px;
}

.use_m .use_right .logout.left{
justify-content: flex-start;
}

/* 모바일 메뉴 로그아웃 버튼 색상 유지 */
.use_m .use_right .logout a,
.use_m .use_right .logout a.scrolled,
.use_m .use_right .logout a.move {
  color: #61594f !important;
}
/* 기존 아코디언 방식 메뉴 - 주석 처리 */
/*
.menu_open{
 position: fixed;
  width: 100%;
  height: 100vh;
  background: #F4F9FF;
  top: 100%;right: 0;
  z-index: 999;
  padding: 1rem;
  opacity:0;
}

.menu_open.active{
  opacity:1;
  top:0%;

}
.menu_open > ul{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 20px;
    flex-direction: column;
    margin-bottom: 20px;
}
.menu_open .mo_right ul li{
  width: 100%;
}


.menu_open a {
  display: block;
  padding: 10px 0;
  text-decoration: none;
  color: #61594f;
}



.menu_open .dept1 {
    position: relative;
    width: 50%;
    background: #D7DFF2;
    text-align: center;
    border-radius: 0px 23px 0px 23px;
    padding: 18px;
    margin-bottom: 10px;
    text-align: center;
}
.menu_open .dept1.shows{
  background-color: #2f60b9;
}
.menu_open .dept1.shows .tit{
  color: #ffff;
}
.menu_open li a {
     color: #61594f;
    display: flex;
    align-items: center;
    justify-content: center;
}
.menu_open.dept1 > a {
  display: block;
  padding: 14px;
  background: #d7e6ff;
  text-decoration: none;
  font-weight: bold;
  color: #000;
}
*/


/* 오른쪽에 나올 서브메뉴 박스 - 주석 처리 */
/*
.mo_right {
  position: absolute;
  top: 31px;
  left: 93%;
  width: 100%;
  background: #fff;
  border: 1px solid #7486cc;border-radius: 12px;
  display: none;
  z-index: 10;
}
.mo_right ul{
  width: 90%;
    margin: 0 auto;
}
.righticon i{
  transform: rotate(90deg);
}

.mo_right ul li a {
  display: block;
  padding: 10px;
  color: #333;
  text-decoration: none;
  border-bottom: 1px solid #2e60b9;
}
*/

/* 애니메이션 효과를 주고 싶다면 */
.mo_right.show {
  display: block !important;   
  animation: slideIn 0.3s ease;
}

.user{
  display: flex;
}
.user .user_infor{
  /*margin-right: 20px;*/
}

/* header */




@keyframes slideIn {
  from {
    transform: translateX(20px);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

.hd_bg{
  --header-height: 68px;  /* 기본값, JS에서 동적으로 설정됨 */
  background: #fff;
  width: 100%;
  height: 0;
  min-height: 0;
  top: 0;
  left: 0;
  z-index: -1;
  position: fixed;
  transition: height 0.3s ease;
  overflow: hidden;
  pointer-events: none;
}

/* 메인메뉴/서브메뉴 구분선 */
.hd_bg::before {
  content: '';
  position: absolute;
  top: calc(var(--header-height, 68px) - 1px);  /* 헤더 높이 - 1px (border 보정) */
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #e8e8e8;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.hd_bg.actives::before {
  opacity: 1;
}

.hd_bg .lines{
  height: 100%;
}
.hd_bg .bj_te{
  position: relative;
}
.hd_bg .bgt{
    max-width: 1440px;
    width: 92%;
    margin: var(--header-height, 68px) auto 0;        /* 상단: 헤더높이, 좌우: auto, 하단: 0 */
    height: calc(100% - var(--header-height, 68px));  /* 서브메뉴 영역 높이 */
    background-image: url(/img/left_bgs.png);
    background-repeat: no-repeat;
    background-position: left top;                    /* .bgt 기준 좌측 상단 */
    background-size: auto 130%;                       /* 높이 130%로 확장 → 비율 유지하며 너비도 확장 */
}
.bg-text {
  font-family: 'Pretendard Variable';
  letter-spacing: -1px;
  height: 100%; /* 배경 전체 높이 차지 */
  opacity: 0;
  width: 100%;
  transition: opacity 0.15s ease;
}
.hd_bg .bj_te_low{
  position: absolute;
  top: 20px;   /* .bgt가 이미 헤더 아래에 위치하므로 20px만 */
  left: 20px;
}
.hd_bg .bj_te_low p,
.hd_bg .bj_te_low h5{
  color: #000;
}
.hd_bg.actives {
  z-index: 90;
  pointer-events: auto;
  border-bottom: 1px solid #e8e8e8;
}
.hd_bg.actives .lines{
  border-top: 1px solid #e8e8e8;
}
.hd_bg.actives .bg-text {
  opacity: 1;
}


.logo{
  width: 200px;
  position: relative;
  z-index: 100;
}


.user{
  margin-left: auto;
  position: relative;
  z-index: 100;
}

.use_m{
  display: flex;align-items: center;
}
.use_m .use_left{
  width: 50%;
    text-align: left;
}

.use_m .use_right{
  display: flex;
    margin-right: 7%;
    width: 100%;
    align-items: center;
    justify-content: space-around;
}
.use_m .use_right.left{
      justify-content: flex-start;
}
.use_m .use_right i{
  margin-right: 10px;
}
.use_m .use_right .login a{
    text-align: right;
    margin-right: 30px;
}

.fam_icon{
  margin-right: 10px;
}


.links p{
  width: 50%;
padding: 10px 0;
}
.links p:first-child{
  border-bottom: 1px solid #98b0de;
}

.foot{
  width:100%;
  background: #f8f2ed;
}
.footer {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
}
.footer-list{
  padding: 20px 0 ;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;  
  border-bottom: 1px solid #d5d3d0;
  font-family: 'Paperlogy';
  font-weight: 500;
}
.footer-list .footer-links{
  display: inline-block;
  margin-right: 20px;
}
.footer-top {
  padding: 20px 0 ;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  font-weight: 400;
  font-size: 14px;
}
.footer select{
  border:0;   
  font-family: 'Pretendard Variable';
  font-weight:400;   
  color: #141414;
  border: 1px solid #ddd;

}
#family{
  width: 150px;
}
.footer select option{
   font-family: 'Pretendard Variable';
  font-weight:400;
  color: #61594f;
}
.footer-top .le{
  display: inline-block;
}

.footer-links a {
  text-decoration: none;
  margin-right: 20px;
}

.footright{
  display: flex;
}


.footer-bottom {
  text-align: center;
  font-size: 13px;
  color: #555;
}

.footer select{

}

.border{
  display: inline-block;
}
.border i{
  /*border-radius: 20px;*/
    display: flex;
    align-items: center;
    justify-content: center;
    width: 10px;
    /*border: 1px solid #fff;*/
    height: 10px;
    padding: 8px 7px 6px 7px;
}

@media (min-width: 971px) and (max-width: 1200px) {
  #header #gnb > .dept1{
    width: 120px;
  }

  /* 서브메뉴 좌우 여백 제거 및 가운데 정렬 */
  #header #gnb .dept2 {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
    text-align: center;
  }

  /* 앞 도트(ㆍ) 제거 */
  #header #gnb .dept2::after {
    content: '';
    display: none;
  }
}


@media(max-width:970px){
  #header #gnb,
  .hd_bg{
    display: none;
  }
    .user{
    display: none;
  }
  .footer-top{
    text-align: center;
  }
  .footer-top .le{
    display: block;
  }
  #header .menu_bar {
    display: block;
  }
  #header .inner{
    padding: 15px 0 !important;
  }

  .footer.inner{
    padding:0;
  }
  .footer-links{
  width: 100%;
  }
  .footleft{
    width: 100%;
    display: flex;
    text-align: center;
  }
  .footer-links a{
    margin-right: 0;
  }
  .footright{
    margin-top: 20px;
  }
  .footer-list{
    flex-wrap: wrap;justify-content: center;
  }

  .footright .footer-links,
  .footright .footer_family{
   width: 50%;
        display: flex;
        align-items: center;
  }
  .footright .footer-links{
    display: flex;align-items: center;
    margin-right: 35px;
  }
  .logo .pc,
  .logo .m{
    width:130px;
  }
  .use_m .use_right.left{
    justify-content: flex-start !important;
  }

}


@media (min-width: 1024px) {
  .menu_open {
    display: none;
  }
  .mobile-menu {
    display: none;
  }
}

/* ============================================
   새로운 슬라이드 방식 모바일 메뉴 스타일
   ============================================ */

/* 전체 컨테이너 */
.mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 10000;
  visibility: hidden;
  pointer-events: none;
  overflow-y: auto;
}

.mobile-menu.is-open {
  visibility: visible;
  pointer-events: auto;
}

/* 모바일 메뉴 열릴 때 모든 브레드크럼 드롭다운 숨김 */
body.mobile-menu-open .sub-menu .submenu {
  display: none !important;
}

/* 백드롭 (20%) */
.mobile-menu__backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;  /* 20% → 100% (전체 화면 백드롭) */
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s ease;
  cursor: pointer;
  z-index: 1;  /* 패널 아래 레이어 */
}

.mobile-menu.is-open .mobile-menu__backdrop {
  opacity: 1;
}

/* 패널 공통 */
.mobile-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  height: 570px;  /* 고정 높이 */
  background: #F4F9FF;
  transition: transform 0.3s ease, width 0.3s ease, opacity 0.3s ease;  /* opacity 추가 */
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
}

/* 1단계 메인 패널 (390px 고정) */
.mobile-menu__panel--main {
  position: absolute;
  display: flex;
  flex-direction: column;
  width: 390px;
  height: 570px;  /* 고정 높이 */
  right: 0;
  top: 0;
  transform: translateX(100%);  /* 초기: 화면 밖 우측 */
  padding: 1rem;
  transition: transform 0.3s ease;
  z-index: 2;
  border-bottom-left-radius: 20px;
}

.mobile-menu.is-open .mobile-menu__panel--main {
  transform: translateX(0);  /* 열림: 제자리 */
}

/* 콘텐츠 래퍼 (플렉스박스) */
.mobile-menu__content {
  display: flex;
  position: relative;
}

/* 메인 영역 (메뉴 아이템들) - 100% → 30%로 축소 */
.mobile-menu__main-area {
  width: 100%;
  transition: width 0.3s ease;
  display: flex;
  flex-direction: column;
}

.mobile-menu.is-open.show-submenu .mobile-menu__main-area {
  width: 30%;  /* 서브메뉴 열림 시 축소 */
}

/* 서브메뉴 컨테이너 (플로팅 레이어) */
.mobile-menu__submenu {
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 100%;
  pointer-events: none;  /* 기본적으로 클릭 방지 */
}

/* 서브메뉴 개별 패널 */
.mobile-menu__submenu-panel {
  position: absolute;
  top: 15px;
  right: 0;
  width: 100%;
  height: auto;
  min-height: 150px;
  max-height: calc(100vh - 200px);
  background: #F4F9FF;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  overflow-y: auto;
  border-radius: 15px;
  border: 2px solid #2f60b9;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1000;
}

.mobile-menu.is-open.show-submenu .mobile-menu__submenu-panel.is-active {
  opacity: 1;
  pointer-events: auto;
}

/* 헤더 */
.mobile-menu__header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 10px 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  margin-bottom: 10px;
}

/* 사용자 영역 (헤더 내부) */
.mobile-menu__header .mobile-menu__user {
  margin-bottom: 0;
}

/* 모바일 메뉴 로그인/회원가입 링크 색상 고정 */
.mobile-menu__header .mobile-menu__user a {
  color: #61594f !important;
  text-decoration: none;
}

/* 헤더 내부 use_right: 가로 배치, 간격 조정 */
.mobile-menu__header .mobile-menu__user .use_right {
  margin-right: 0;
  gap: 20px;
  justify-content: flex-start;
}

.mobile-menu__header .mobile-menu__user .use_right div {
  display: flex;
  align-items: center;
}

.mobile-menu__header .mobile-menu__user .use_right .login a {
  margin-right: 0;
}

/* 메뉴 리스트 */
.mobile-menu__list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.mobile-menu__item {
  width: 100%;  /* 50% → 100% (세로 1열 레이아웃) */
  padding: 5px;
}

.mobile-menu__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px;
  background: #D7DFF2;
  border-radius: 0px 23px 0px 23px;
  color: #61594f;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.mobile-menu__link:hover {
  background: #2f60b9;
  color: #fff;
}

/* 활성화된 메뉴 아이템 */
.mobile-menu__item.is-active .mobile-menu__link {
  background: #2f60b9;
  color: #fff;
}

.mobile-menu__link h5 {
  margin: 0;
  font-size: 16px;
}

.mobile-menu__link i {
  font-size: 20px;
}

/* 서브메뉴 리스트 */
.mobile-menu__sublist {
  padding: 15px;
  margin: 0;
  list-style: none;
}

/* 2단계 메뉴 아이템에만 border 적용 (3단계는 제외) */
.mobile-menu__sublist > li {
  border-bottom: 1px solid #2e60b9;
}

.mobile-menu__sublist > li:last-child {
  border-bottom: none;
}

/* 푸터 (항상 전체 패널 너비 사용) */
.mobile-menu__footer {
  position: relative;
  width: 100%;
  padding: 20px;
  background: #F4F9FF;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  flex-shrink: 0;
  margin-top: auto;
}

.mobile-menu__footer .links {
  display: none;
}

/* ============================================
   3단계 아코디언 메뉴 스타일
   ============================================ */

/* 2단계 리스트 아이템 */
.mobile-menu__sublist-item {
  position: relative;
}

/* 2단계 링크 공통 스타일 */
.mobile-menu__sublist-link {
  display: block;
  padding: 12px 10px;
  color: #61594f;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.2s ease;
}

.mobile-menu__sublist-link:hover {
  background-color: rgba(47, 96, 185, 0.08);
}

/* 자식이 있는 2단계 아이템 (부모) */
.mobile-menu__sublist-link--parent {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  user-select: none;
  padding: 12px 15px;
  position: relative;
}

.mobile-menu__sublist-link--parent:hover {
  background-color: rgba(47, 96, 185, 0.08);
}

/* 화살표 아이콘 */
.mobile-menu__sublist-arrow {
  position: absolute;
  right: 15px;
  font-size: 16px;
  color: #2f60b9;
  transition: transform 0.3s ease;
}

/* 펼쳐졌을 때 화살표 회전 (> → ∨) */
.mobile-menu__sublist-item.is-expanded .mobile-menu__sublist-arrow {
  transform: rotate(90deg);
}

/* 펼쳐졌을 때 텍스트 색상 파란색으로 변경 */
.mobile-menu__sublist-item.is-expanded .mobile-menu__sublist-link--parent {
  color: #2f60b9;
  font-weight: 600;
}

/* 3단계 메뉴 컨테이너 */
.mobile-menu__third-level {
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  margin-left: 10px;
  margin-top: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}

/* 3단계 메뉴 펼쳐진 상태 */
.mobile-menu__sublist-item.is-expanded .mobile-menu__third-level {
  display: block;
}

/* 3단계 리스트 아이템 */
.mobile-menu__third-level li {
  position: relative;
  padding: 0;
  margin: 0;
  border: none !important;
}

/* 3단계 링크 */
.mobile-menu__third-level a {
  display: block;
  padding: 8px 10px;
  color: #61594f;
  text-decoration: none;
  font-size: 14px;
  text-align: center;
  transition: color 0.2s ease;
}

.mobile-menu__third-level a:hover {
  color: #2f60b9;
}

/* 활성화된 3단계 링크 */
.mobile-menu__third-level a.active {
  color: #2f60b9;
  font-weight: 600;
}

/* body 스크롤 방지 */
html.mobile-menu-open,
body.mobile-menu-open {
  overflow: hidden !important;
}
