.history_AA {
  overflow: hidden;
  position: relative;
  padding-top: 0rem;
  padding-bottom: 10rem; width: 100%; float: left
}

/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	.history_AA .col-group {  width: 100%;display: grid;grid-template-columns: 250px 1fr ;}

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
.history_AA .col-group {
  width: 100%; display: flex;grid-gap: 10PX; flex-direction: column;
}


}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/





.history_AA .col-group .left{ padding-top: 0px ; padding-right: 30px}
/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.history_AA .col-group .right { padding-top:0px}

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.history_AA .col-group .right { padding-top: 0px; padding-left: 10PX; margin-bottom: 30px}

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/

.history_AA .col-group .history-list {
  padding-top: 20px
}


.history_AA .col-group .history-list li {
  position: relative;
  padding-left: clamp(20px, 3.359vw, 43px);
  padding-bottom:clamp(20px, 4.688vw, 60px);
  border-left: 1px solid var(--line-color1);
  transition: border-color 0.3s;
}

.history_AA .col-group .history-list li::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--primary);
  background-color: #fff;
  box-sizing: border-box;
}

.history_AA .col-group .history-list li.active {
  position: relative;
  border-color: var(--primary);
}

.history_AA .col-group .history-list li.active::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--primary);
  background-color: var(--primary);
  box-sizing: border-box;
}

.history_AA .col-group .history-list li.active+li::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 10px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid var(--primary);
  background-color: #fff;
  box-sizing: border-box;
}

.history_AA .col-group .history-list li .year {display: none;
  position: absolute; 
  left: -13rem;
  top: 0;
  max-width: 10rem;
  text-align: right;
  font-weight: var(--fw-bold); font-size:clamp(18px, 2.813vw, 40px)!important; color: #000; font-family: "Roboto", sans-serif!important;
}

/* ========== item-row 레이아웃 방향 설정 (월/내용 배열) ========== */
/* 가로형 - 월(dt) 왼쪽, 내용(dd) 오른쪽 */
.history_AA .inner-list .item-row.layout-horizontal {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 5px 15px;
  align-items: baseline;
}
/* 세로형 - 월(dt) 위, 내용(dd) 아래 */
.history_AA .inner-list .item-row.layout-vertical {
  display: flex;
  flex-direction: column;
}
/* inner-list 기본값 - gap으로 간격 제어 */
.history_AA .inner-list {
  display: flex;
  flex-direction: column;
}

.history_AA .inner-list+.inner-list {
  margin-top: 4.2rem;
}

.history_AA .inner-list dt {
  text-align: left;
  font-weight: var(--fw-bold);  font-size:clamp(20px, 2.813vw, 30px)!important;
}

.history_AA .inner-list dd {
  margin: 0;
  color: #333;
  display: flex;
  flex-direction: column;
}



.history_AA .inner-list dd ul.dot{ width: 100%; float:left; 
}

.history_AA .inner-list dd ul.dot>li{ width: 100%; float:left;  position: relative; padding: 0px 0px 0px 10px;  font-size: var(--tx-md-size); border-left: none
}

/* 구분 -----------------------------------*/
/* dot 스타일 - gap으로 간격 제어 */
.history_AA .inner-list dd .dot {
  width: 100%;
  float: left;
  position: relative;
  font-size: var(--tx-md-size);
  border-left: none;
  line-height: 130%;
  padding-left: 12px;
}
.history_AA .inner-list dd .dot::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 4px;
  height: 4px;
  background-color: #999;
  border-radius: 50%;
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
  .history_AA .inner-list dd .dot {
    font-size: 14px;
  }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




.history_AA .inner-list dd .dot p{ width: 100%; float:left;  position: relative; padding: 0px 0px 0px 10px;  font-size: var(--tx-md-size); border-left: none
}

.history_AA .inner-list dd ul.dot>li:before{content: "";    font-family: unicons-line; position: absolute; left: 0px; top: 10px;
}






/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {.tabset {width: 100%; float:left ; padding-left: clamp(0px, 3.906vw, 50px); text-align: right; padding-top: 15px }
	.tabset .stx{width: 100%;  float:left ; color: #666; font-size: clamp(12px, 1.172vw, 15px); font-family: "Roboto", sans-serif!important; text-align: right; margin-bottom: 0px}
	.tabset a{width: 100%;  float:left ; color: #000 ; font-family: "Roboto", sans-serif!important; font-size:clamp(26px, 5.469vw, 50px); font-weight: 700}

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {.tabset {width: 100%; float:left ; padding-left:0px }
}
/**** 모바일 ****/
@media only all and (max-width:767px) {.tabset {width: 100%; float:left ; padding-left:0px }
	.tabset .stx{width: 100%;  float:left ; color: #666; font-size: var(--tit-mds-size); font-family: "Roboto", sans-serif!important; text-align:left; margin-bottom:5px}
	.tabset a{width: 100%;  float:left ; color: #000 ; font-family: "Roboto", sans-serif!important; font-size:; font-weight: 700}

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/





.tabset a.active{width: 100%;  float:left ;  }



/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
    .history_head { padding:clamp(10px, 3.125vw, 40px) clamp(20px, 6.250vw, 80px); border-radius:20px; background-color: #f7f7f7; display: grid;grid-template-columns: 300px auto ; margin-bottom:clamp(30px, 7.813vw, 100px);   }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
    .history_head { padding:15px; border-radius:6px; background-color: #f7f7f7; display: grid;grid-template-columns: 100% ; margin-bottom:20px;    }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	

    .history-title {
      font-size: clamp(16px, 1.875vw, 24px);
      font-weight: bold; line-height: 130%;  
    }

    .history-title em {
     font-size:clamp(30px, 3.906vw, 70px);
      font-weight: bold; line-height: 130%; width: 100%; float: left; font-family: "Roboto", sans-serif!important; font-weight: 700
    }
}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	

    .history-title {
       font-size:20px;
      font-weight: bold; line-height: 130%; margin-bottom: 20PX; display: NONE
    }

    .history-title em {
     font-size:clamp(20px, 3.906vw, 50px);
      font-weight: bold; line-height: 130%; width: auto;  font-family: "Roboto", sans-serif!important; margin-left: 10PX
    }
}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {    .tab-menu {
      display: flex;
      justify-content: center;
      position: relative; padding-top: 20px
    }
	    .tab-menu:before { position: absolute; left: 0px; bottom:10px; 
      border-bottom: 1px solid #ccc;content: "";  width: 100%; float: left; height: 1px
    }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {    .tab-menu {
    display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 10PX;    position: relative; 
    }
	    .tab-menu:before {display: none
    }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/


/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	    .tab-menu a {
      padding: 0px clamp(16px, 2.344vw, 30px) 0px!important;
      font-size: 18px;
      font-weight: bold;
      color: #999;
      text-decoration: none;
      position: relative; height: auto!important; font-family: "Roboto", sans-serif!important; 
    }

    .tab-menu a.active {
      color: #000;font-size: var(--tit-md-size);
    }



}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	    .tab-menu a {
     padding: 7px 10px;
      font-size: 18px;
      font-weight: bold;
      color: #999;
      text-decoration: none;
      position: relative; height: auto!important; font-family: "Roboto", sans-serif!important; text-align: center; background-color: #fff
    }

    .tab-menu a.active {
      color: #fff;padding: 7px 10px; text-align: center; background-color: var(--primary);; border-radius: 6px
    }



}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/






/* 구분 -----------------------------------*/
/**** pc ****/
@media only all and (min-width:768px) {
	    .tab-menu a.active::after {
      content: '';
      position: absolute;
      bottom:0px;
      left: 50%;
      transform: translateX(-50%);
      width: 20px;
      height:20px;
      border-radius: 50%;
      background:var(--primary);;
      border: 5px solid #fff;
      box-shadow: 0 0 0 1px var(--primary);
    }

}
/**** pc2 ****/
@media all and (max-width:1280px) and (min-width:768px) {
}
/**** 모바일 ****/
@media only all and (max-width:767px) {
	    .tab-menu a.active::after {
      content: '';
      position: absolute;
      bottom:-5px;
      left:0PX;
      width: 100%;
      height:1px;

      background:var(--primary);; display: none

    
    }

}
/**** 모바일2 ****/
@media only all and (max-width:400px) {
}
/* 구분 //end -----------------------------------*/




.tabset a .char1 { color: #999;font-family: "Roboto", sans-serif!important; font-weight: 400  }
.tabset a .char2 {color: #999;font-family: "Roboto", sans-serif!important; font-weight: 400  }
.tabset a .char5{color: #999;font-family: "Roboto", sans-serif!important; font-weight: 400  }
.tabset a .char6 { color: #999;font-family: "Roboto", sans-serif!important; font-weight: 400  }
.tabset a .char7 {color: #999;font-family: "Roboto", sans-serif!important; font-weight: 400  }



.outbg{ background-color: #f7f7f7; padding: clamp(50px, 11.719vw, 150px) 0px; width: 100%; float: left}
















.HS_history {
  position: relative;width: 100%; float: left

}

.HS_history .contents-container.fullscreen {
  height: auto;
  align-items: flex-start;
}

.HS_history .contents-inner {
  display: flex;
  gap: 8rem;
  position: relative;
  width: 100%;
}

.HS_history .link-wrap {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  width: 0.5rem;
}

.HS_history .line {
  position: relative;
  width: 0.1rem;
  height: 100%;
  background: #ddd;
}

.HS_history .line .bar {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background: var(--primary);
}

/* 타이틀 옆 고정 동그라미 */
.HS_history .line .progress-dot {
  position: fixed;
  top: auto;
  left: auto;
  transform: translateX(-50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--primary);
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px var(--primary);
  z-index: 100;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s, top 0.15s ease-out;
}

.HS_history .line .progress-dot.visible {
  opacity: 1;
}

.HS_history .info-area {
  flex: 1 1 61rem;
}

.HS_history .info-wrap {
  position: sticky;
  top: 15rem;
}

.HS_history .info {
  position: absolute;
  top: 0;
  left: 0;
  padding-right: 0.1rem;
  width: 100%;
  min-height: 100%;
  background: var(--white);
  clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
  transition: clip-path 0.8s ease;
  pointer-events: none;
}

.HS_history .info.active {
  clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
  pointer-events: auto;
}

.HS_history .desc {
  position: relative;
}

.HS_history .desc h3 {
  margin-bottom: 0.4rem;
  color: var(--primary);
}

.HS_history .desc span {
  display: block;
  margin: 2rem 0 0.4rem;
  font-weight: var(--fw-bold);
}

.HS_history .desc p {
  color: var(--text-color3);
}

.HS_history .thumb {
  position: relative;
  margin-top: 3.6rem;
  aspect-ratio: 610 / 420;
  max-height: 42rem;
}

.HS_history .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.HS_history .timeline-area {
width: 70%; width: 100%; float: left
}
.HS_history .timeline-area .item {
  width: 100%; float: left; background-color:#FFF!important
}
.HS_history .timeline-area .item+.item {
  width: 100%; float: left; height: auto!important
}

.HS_history .timeline-area .item strong {
  font-weight: var(--fw-bold);
}

.HS_history .timeline-area .list {
  margin-top: 1rem;;background-color:#FFF
}

.HS_history .timeline-area .list li {
  display: flex;
  gap: 0.8rem;
  color: var(--text-color3);
}

.HS_history .timeline-area .list li+li {
  margin-top: 0.4rem;
}

.HS_history .timeline-area .list li::before {
  content: "";
  flex-shrink: 0;
  transform: translateY(1.25rem);
  width: 0.6rem;
  height: 0.1rem;
  background: var(--text-color3);
}

.HS_history .timeline-area .info {
  display: none;
  padding: 0;
  min-height: auto;
}

@media (max-width: 992px) {
  .HS_history {
    padding-top: 4rem;
    padding-bottom: 8rem;
  }

  .HS_history .contents-inner {
    gap: 1.6rem;
  }

  .HS_history .info-area {
    display: none;
  }

  .HS_history .timeline-area {
    flex: 1;
    padding: 0;
  }

  .HS_history .timeline-area .info {
    display: block;
  }

  .HS_history .info {
    position: static;
    height: auto;
    clip-path: unset;
    pointer-events: auto;
  }

  .HS_history .desc h3 {
    margin-bottom: 0.2rem;
  }

  .HS_history .desc span {
    margin: 1.2rem 0 0.2rem;
  }

  .HS_history .thumb {
    margin-top: 2.4rem;
    max-height: 100%;
    aspect-ratio: 307/240;
  }

  .HS_history .timeline-area .item.info+.item {
    margin-top: 1.6rem;
  }

  .HS_history .timeline-area .item+.item.info {
    margin-top: 6rem;
  }

  .HS_history .timeline-area .list {
    margin-top: 0.8rem;
  }

  .HS_history .timeline-area .list li {
    gap: 0.6rem;
  }

  .HS_history .timeline-area .list li+li {
    margin-top: 0.2rem;
  }

  .HS_history .timeline-area .list li::before {
    transform: translateY(1.15rem);
    width: 0.4rem;
  }
}


.timeline-area .item {
height: auto!important;
}

/* 년도 스타일 - font-size, margin-bottom은 동적 설정에서 제어 */
.timeline-area .item .h5 {
  font-weight: 800;
  font-family: "Roboto", sans-serif;
}

/* inner-list - flex로 간격 제어 */
.timeline-area .inner-list {
  display: flex;
  flex-direction: column;
}

.timeline-area .inner-list dt {
  font-size: calc(var(--tx-md-size) + 3px);
  font-weight: 800;
  color: #000;
  font-family: "Roboto", sans-serif;
}

.timeline-area .inner-list dd {
  margin: 0;
  display: flex;
  flex-direction: column;
}

/* item-row 스타일 */
.timeline-area .inner-list .item-row.layout-horizontal {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 5px 15px;
  align-items: baseline;
}
.timeline-area .inner-list .item-row.layout-vertical {
  display: flex;
  flex-direction: column;
}

/* no-date dt 숨김 처리 */
.timeline-area .inner-list .item-row dt.no-date {
  visibility: hidden;
}

/* ── 모바일 정보영역 표시 (mobile-info-show) ── */
@media (max-width: 992px) {
  .HS_history.mobile-info-show .contents-inner {
    flex-wrap: wrap;
  }

  .HS_history.mobile-info-show .info-area {
    display: block !important;
    flex: 0 0 100%;
    width: 100%;
    margin-bottom: 2rem;
  }

  .HS_history.mobile-info-show .info-wrap {
    position: static;
  }

  .HS_history.mobile-info-show .info-area .info {
    position: static;
    clip-path: unset;
    pointer-events: auto;
    display: none;
  }

  .HS_history.mobile-info-show .info-area .info.active {
    display: block;
  }

  .HS_history.mobile-info-show .info-area .thumb {
    margin-top: 2rem;
    max-height: 100%;
    aspect-ratio: 16 / 9;
  }

  .HS_history.mobile-info-show .info-area .desc strong {
    font-size: clamp(28px, calc(3.13vw + 18px), 48px);
  }
}