/*--------------------
       New 2025
--------------------*/
@import url("../layout/layout_2025.css?ver=2026072803");
@import url("../base/font_2025.css?ver=2026072803");

body > div {
  height: 100%;
}

header {
  background-color: transparent;
}
header.scroll {
  background-color: #fff;
}
header.scroll .header-wrap .top-menu .top-logo .logo-anchor {
  background-image: url("../../image/new_2025/common/logo-black.svg");
}
header.active .header-wrap .top-menu .top-logo .logo-anchor {
  background-image: url("../../image/new_2025/common/logo-black.svg");
}
@media all and (min-width: 1231px) {
  header.active .header-wrap #gnb .gnb-wrap .gnb-menu .menu-depth1 .depth1-anchor {
    color: #000;
  }
}
header .header-wrap .top-menu .top-logo .logo-anchor {
  background-image: url("../../image/new_2026/common/logo-white.svg");
}
@media all and (min-width: 1231px) {
  header .header-wrap #gnb .gnb-wrap .gnb-menu .menu-depth1 .depth1-anchor {
    color: #fff;
  }
}
header .header-wrap #gnb .util-list .util-item .util-anchor {
  color: #fff;
}
header .header-wrap #gnb .util-list .util-item .util-anchor::before {
  color: #fff;
}
header .header-wrap #gnb .util-list .util-item.login .util-anchor::before {
  background-image: url("../../image/new_2025/common/util-login.svg");
}
header .header-wrap #gnb .util-list .util-item.mypage .util-anchor::before {
  background-image: url("../../image/new_2025/common/util-mypage.svg");
}
header .header-wrap #gnb .util-list .util-item .txt {
  color: #fff;
}

@media all and (max-width: 1530px) {
  .main .inner {
    max-width: 100%;
    padding: 0 3%;
  }
}
/* 왼쪽 고정 사이드바(main-control)가 보이는 데스크톱 해상도에서는,
   그 사이드바 폭만큼 콘텐츠가 화면 진짜 가운데보다 왼쪽으로 치우쳐 보이므로
   살짝 오른쪽으로 밀어서 시각적으로 가운데에 오도록 보정합니다. */
@media all and (min-width: 1531px) {
  .main .inner {
    /* transform: translateX(40px); */
    padding:0 10px 0 50px;
  }
}
.main .main-control {
  position: fixed;
  left: 50px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  color: #fff;
  text-align: center;
  transition: 0.3s;
}
/* 1531px~1600px대(사이드바가 다시 보이기 시작하는 구간)에서는
   가운데 정렬된 .inner(콘텐츠)의 좌측 시작 지점이 화면이 좁아질수록
   왼쪽으로 붙어오면서 고정폭(50px)의 사이드바와 겹치게 됩니다.
   .inner의 좌측 좌표 계산식과 동일한 기준으로 사이드바의 left 값을
   함께 좁혀서(최소 15px까지) 겹치지 않게 하고, 화면이 넓어지면
   다시 기본값 50px로 자연스럽게 돌아오도록 처리. */
@media all and (min-width: 1531px) {
  .main .main-control {
    left: clamp(15px, calc((100vw - 1400px) / 2 - 50px), 50px);
  }
}
@media all and (max-width: 1530px) {
  .main .main-control {
    display: none;
  }
}
.main .main-control .control-title {
  position: absolute;
  left: 27%;
  top: 83px;
  width: 120px;
  transform-origin: left top;
  margin-left: 30px;
  transform: rotate(90deg);
  font-size: 14px;
  font-weight: 700;
}
.main .main-control .control-wrap::before {
  display: block;
  content: "";
  width: 25px;
  height: 30px;
  margin: 0 auto 15px;
  background: url("../../image/new_2025/common/logo-ico.svg") no-repeat center/contain;
}
.main .main-control .control-wrap .control-num {
  font-size: 16px;
  font-weight: 700;
}
.main .main-control .control-wrap .control-progress {
  overflow: hidden;
  margin: 15px auto;
  width: 2px;
  height: 120px;
  transition: 0.3s;
}
.main .main-control .control-wrap .control-progress > span {
  display: block;
  width: 100%;
  transition: 0.3s;
}
.main .main-control .control-wrap .control-arrows {
  margin-top: 15px;
}
.main .main-control .control-wrap .control-arrows > button {
  display: block;
  background: none;
  font-size: 0;
  line-height: 0;
}
.main .main-control .control-wrap .control-arrows > button::before {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  line-height: 1;
}
.main .main-control .control-wrap .control-arrows > button + button {
  margin-top: 5px;
}
.main .main-control .control-wrap .control-arrows > button.prev::before {
  content: "\ea72";
}
.main .main-control .control-wrap .control-arrows > button.next::before {
  content: "\ea4a";
}
.main .main-control.black {
  color: #000;
}
.main .main-control.black .control-progress {
  background-color: #BCBCBC;
}
.main .main-control.black .control-progress > span {
  background-color: #000;
}
.main .main-control.white {
  color: #fff;
}
.main .main-control.white .control-progress {
  background-color: rgba(255, 255, 255, 0.5);
}
.main .main-control.white .control-progress > span {
  background-color: #fff;
}
.main .main-control.hide {
  opacity: 0;
  visibility: hidden;
}
.main .fullpage-section:focus {
  outline: none;
}
/* PC(1231px 이상, fullpage.js 활성 구간)에서 섹션별 콘텐츠를
   fp-tableCell(table-cell 방식) 대신 flex 중앙정렬로 강제 적용하여
   콘텐츠의 실제 높이를 기준으로 위/아래 여백이 항상 동일하게 맞춰지도록 처리.
   (fullpage.js가 fp-tableCell에 inline height를 매번 재계산해서 넣기 때문에
   !important로 덮어써야 정상 동작합니다) */
@media all and (min-width: 1231px) {
  .main .fullpage-section:not(#visual, footer) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
  }
  /* fullpage.js가 넣는 래퍼가 .fp-tableCell이든 다른 이름이든 상관없이,
     섹션의 첫번째 자식(래퍼 또는 .inner 자신)을 table 방식에서 강제로 해제 */
  .main .fullpage-section:not(#visual, footer) > * {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    vertical-align: initial !important;
    width: 100%;
  }
}
@media all and (max-width: 1230px) {
  .main .fullpage-section, .main .fp-tableCell {
    height: auto !important;
  }
  .main .fullpage-section:not(#visual, footer) {
    padding:0 0 100px;
  }
}
@media all and (max-width: 1230px) and (max-width: 768px) {
  .main .fullpage-section:not(#visual, footer) {
    padding:0 0 50px;
  }
}
.main #visual > .inner {
  position: relative;
}
.main #visual .visual-slide {
  min-height: 100%;
  height: 100%;
  height: calc(var(--vh) * 100);
  height: 100dvh;
  background-color: #292a2c;
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide {
    min-height: 1000px;
    height: auto;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide {
    min-height: 740px;
  }
}
.main #visual .visual-slide .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  background: no-repeat center/cover;
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .swiper-slide {
    height: 1000px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide {
    height: 740px;
  }
}
.main #visual .visual-slide .swiper-slide.n1 {
  background-image: url("../../image/new_2026/main/visual-bg01_02.jpg");
}
.main #visual .visual-slide .swiper-slide.n2 {
  background-image: url("../../image/new_2026/main/visual-bg02_04.jpg");
}
.main #visual .visual-slide .swiper-slide.n3 {
  background-image: url("../../image/new_2026/main/visual-bg03_03.jpg");
}
.main #visual .visual-slide .swiper-slide.n4 {
  background-image: url("../../image/new_2026/main/visual-bg04_03.jpg");
}
.main #visual .visual-slide .swiper-slide.n5 {
  background-image: url("../../image/new_2026/main/visual-bg05_03.jpg");
}
.main #visual .visual-slide .swiper-slide.n6 {
  background-image: url("../../image/new_2026/main/visual-bg06_05.jpg");
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .swiper-slide {
    align-items: start;
    padding-top: 100px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide {
    padding-top: 80px;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap:40px;
  width: 100%;
  max-width: 1530px; /* 헤더(.inner)와 동일한 컨테이너 폭 - 좌측 시작선을 일치시킴 */
  margin: 0 auto;
  box-sizing: border-box;
  padding-bottom: 20px;
  color: #fff;
}
.main #visual .visual-slide .swiper-slide .text-wrap .text-item {
  flex: 0 0 450px; /* 1개/2개/3개 어떤 경우든 텍스트 영역 폭을 동일하게 고정 */
  width: 450px;
  text-align: left;
}
@media all and (max-width: 1530px) {
  .main #visual .visual-slide .swiper-slide .text-wrap {
    max-width: 100%;
    padding: 0 3%;
  }
}
/* 1531px 이상에서 왼쪽 풀페이지 컨트롤(사이드바)이 다시 나타나는데,
   .text-wrap은 화면폭이 좁을수록 좌측 시작선이 거의 0에 가까워져
   사이드바와 심하게 겹치게 됩니다. 겹치는 구간(1531~1850px 대)에서만
   좌측에 여유 패딩을 주어 콘텐츠가 사이드바 근처까지만 오도록 밀어주고,
   화면이 넓어져 자연스럽게 여백이 충분해지면(1850px 이상) 패딩을 0으로
   되돌려 기존 중앙정렬 위치를 그대로 유지합니다. */
@media all and (min-width: 1531px) {
  .main #visual .visual-slide .swiper-slide .text-wrap {
    padding-left: max(0px, calc(160px - (100vw - 1530px) / 2));
  }
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .swiper-slide .text-wrap {
    gap: 50px;
  }
  .main #visual .visual-slide .swiper-slide .text-wrap .text-item {
    flex: 1 1 100%;
    width: auto;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide .text-wrap {
    padding-bottom: 0;
    gap: 30px;
  }
  /* 텍스트 블록이 3개(col3)일 때는 고정된 슬라이드 높이 안에 잘리지 않도록 압축 */
  .main #visual .visual-slide .swiper-slide.col3 .text-wrap {
    gap: 16px;
  }
  .main #visual .visual-slide .swiper-slide.col3 .text-wrap .visual-title {
    font-size: 18px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .main #visual .visual-slide .swiper-slide.col3 .text-wrap .visual-text {
    margin-top: 6px;
    font-size: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .main #visual .visual-slide .swiper-slide.col3 .text-wrap .visual-more {
    margin-top: 10px;
    height: 30px;
    font-size: 12px;
    width: 104px;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-title {
  font-family: 'Gong Gothic';
  font-weight: bold;
  font-size:30px;
  word-break: keep-all;
  line-height:1.25;
}
@media all and (max-width: 1024px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-title {
    font-size: 28px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-title {
    font-size: 24px;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-text {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 16px;
  word-break: keep-all;
  /* 설명 텍스트도 길이가 제각각이라 최대 3줄 기준 고정 높이로 잘라서
     자세히보기 버튼이 항상 같은 위치(제목+설명 아래)에 오도록 처리 */
  height: 4.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media all and (max-width: 1024px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-text {
    margin-top: 14px;
    font-size: 15px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-text {
    margin-top: 12px;
    font-size: 15px;
  }
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-text br {
    display: none;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-more {
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  border-radius: 50px;
  height: 50px;
  margin-top:24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  line-height: 1;
  width: 184px;
  transition: 0.3s;
  font-size: 16px;
  font-weight: 600;
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-more {
    height: 38px;
    margin-top:10px;
    font-size: 14px;
    width: 129px;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-more::after {
  display: block;
  content: "";
  width: 24px;
  height: 24px;
  background: url("../../image/new_2025/main/visual-more-ico.svg") no-repeat center;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .swiper-slide .text-wrap .visual-more::after {
    width: 18px;
    height: 24px;
    background-size: 18px;
  }
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-more:hover {
  background-color: #fff;
  color: #000;
  gap: 0;
}
.main #visual .visual-slide .swiper-slide .text-wrap .visual-more:hover::after {
  width: 0;
  opacity: 0;
}
.main #visual .visual-slide .visual-control {
  position: absolute;
  top: 50%;
  display: flex;
  gap: 10px;
  z-index: 10;
  max-width: 100%;
  width: 1500px;
  left: 0;
  right: 0;
  margin: 163px auto 0;
  box-sizing: border-box;
}
/* text-wrap과 동일한 이유로, 1531px 이상에서 왼쪽 풀페이지 컨트롤과
   재생/일시정지/이전·다음 버튼이 겹치지 않도록 좌측 여유 패딩을 준다. */
@media all and (min-width: 1531px) {
  .main #visual .visual-slide .visual-control {
    padding-left: max(0px, calc(160px - (100vw - 1500px) / 2));
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-control {
    margin-top: 213px;
  }
}
@media all and (max-width: 1330px) {
  .main #visual .visual-slide .visual-control {
    padding: 0 3%;
  }
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .visual-control {
    top: auto;
    bottom: 200px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-control {
    bottom: 200px;
    margin: 0;
  }
}
.main #visual .visual-slide .visual-control .arrow {
  width: 50px;
  height: 50px;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(4px);
  border-radius: 50%;
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-control .arrow {
    width: 36px;
    height: 36px;
  }
}
.main #visual .visual-slide .visual-control .arrow::before {
  display: block;
  font-family: "remixicon";
  color: #fff;
  line-height: 1;
  font-size: 24px;
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-control .arrow::before {
    font-size: 18px;
  }
}
.main #visual .visual-slide .visual-control .arrow.prev::before {
  content: "\ea64";
}
.main #visual .visual-slide .visual-control .arrow.auto {
  backdrop-filter: none;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.main #visual .visual-slide .visual-control .arrow.auto.pause::before {
  content: "\efda";
}
.main #visual .visual-slide .visual-control .arrow.auto.play::before {
  content: "\f012";
}
.main #visual .visual-slide .visual-control .arrow.next::before {
  content: "\ea6e";
}
.main #visual .visual-slide .visual-pagination {
  position: absolute;
  bottom: 113px;
  left: 0;
  right: 0;
  max-width: 1530px; /* text-wrap과 동일한 컨테이너 폭으로 좌측 시작선을 맞춤 */
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
  z-index: 10;
  display: flex;
  gap: 30px;
}
@media all and (max-width: 1530px) {
  .main #visual .visual-slide .visual-pagination {
    padding: 0 3%;
  }
}
@media all and (max-height: 840px) {
  .main #visual .visual-slide .visual-pagination {
    bottom: 20px;
  }
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .visual-pagination {
    bottom: 30px;
    gap: 10px;
  }
}
@media all and (max-width: 1024px) {
  .main #visual .visual-slide .visual-pagination {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-pagination {
    bottom: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.main #visual .visual-slide .visual-pagination .item {
  flex-basis: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  height: 71px;
  padding: 10px 20px;
  border-radius: 10px;
  color: #fff;
  text-align: left;
  font-weight: 700;
  font-size: 16px;
  transition: 0.3s;
}
@media all and (max-width: 1230px) {
  .main #visual .visual-slide .visual-pagination .item {
    padding: 10px;
  }
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-pagination .item {
    padding: 5px 10px;
    height: auto;
    font-size: 14px;
  }
}
.main #visual .visual-slide .visual-pagination .item .num {
  font-size: 14px;
  opacity: 0.7;
  transition: 0.3s;
}
@media all and (max-width: 768px) {
  .main #visual .visual-slide .visual-pagination .item .num {
    font-size: 12px;
  }
}
.main #visual .visual-slide .visual-pagination .item .text {
  display: block;
}
.main #visual .visual-slide .visual-pagination .item.active {
  background-color: #fff;
  color: #0B0B0B;
}
.main #visual .visual-slide .visual-pagination .item.active .num {
  color: #004BAE;
  opacity: 1;
}
.main #visual .visual-slide .visual-pagination .item:not(.active):hover {
  background-color: #000;
}
@keyframes scrollDown {
  to {
    margin-bottom: 20px;
  }
}
.main #visual .scroll-inner {
  width: 1300px;
  max-width: 94%;
  margin: 0 auto;
  position: absolute;
  bottom: 274px;
  left: 0;
  right: 0;
  z-index: 10;
  text-align: right;
}
@media all and (max-width: 1024px) {
  .main #visual .scroll-inner {
    display: none;
  }
}
.main #visual .scroll-inner .visual-scroll {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transform-origin: right bottom;
  color: #fff;
  transform: rotate(90deg);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  animation: scrollDown 1s infinite alternate;
}
@media all and (max-width: 1330px) {
  .main #visual .scroll-inner .visual-scroll {
    transform-origin: right top;
  }
}
.main #visual .scroll-inner .visual-scroll::after {
  font-weight: 400;
  display: block;
  content: "\ef7d";
  font-family: "remixicon";
  font-size: 24px;
  transform: rotate(-90deg);
}

/* ---------- 팝업존 ---------- */
.main #visual .popup-zone {
  position: absolute;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  width: 394px;
  display: flex;
  background-color: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}
@media all and (max-width: 1530px) {
  .main #visual .popup-zone {
    right: 3%;
  }
}
@media all and (max-width: 1230px) {
  .main #visual .popup-zone {
    width: 314px;
  }
}
@media all and (max-width: 900px) {
  .main #visual .popup-zone {
    display: none;
  }
}
.main #visual .popup-zone-close {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background-color: rgba(17, 22, 33, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #visual .popup-zone-close:hover {
  background-color: rgba(17, 22, 33, 0.8);
}
.main #visual .popup-zone-close::before,
.main #visual .popup-zone-close::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 2px;
  background-color: #fff;
  border-radius: 1px;
}
.main #visual .popup-zone-close::before {
  transform: rotate(45deg);
}
.main #visual .popup-zone-close::after {
  transform: rotate(-45deg);
}
.main #visual .popup-zone-strip {
  flex-shrink: 0;
  width: 44px;
  background-color: #1A1A2E;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 14px 0 12px;
}
.main #visual .popup-zone-label {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.main #visual .popup-zone-control {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.main #visual .popup-zone-control .arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #visual .popup-zone-control .arrow::before {
  display: block;
  font-family: "remixicon";
  font-size: 16px;
  line-height: 1;
  color: #D64113;
}
.main #visual .popup-zone-control .arrow:hover {
  background-color: #D64113;
  border-color: #D64113;
}
.main #visual .popup-zone-control .arrow:hover::before {
  color: #fff;
}
.main #visual .popup-zone-control .arrow.prev::before {
  content: "\ea78";
}
.main #visual .popup-zone-control .arrow.next::before {
  content: "\ea4e";
}
.main #visual .popup-zone-control .arrow.pause::before {
  content: "\efd8";
  font-size: 14px;
}
.main #visual .popup-zone-control .arrow.play::before {
  content: "\f00a";
  font-size: 14px;
}
.main #visual .popup-zone-slide {
  flex: 1;
  min-width: 0;
}
.main #visual .popup-zone-slide .swiper-slide img {
  display: block;
  width: 350px;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (max-width: 1230px) {
  .main #visual .popup-zone-slide .swiper-slide img {
    width: 270px;
    height: 250px;
  }
}
.main .main-head {font-weight: 700; margin-top:6rem;}
.main .main-head .main-title {font-size: 20px; word-break: keep-all;}

@media all and (max-width: 1230px) {
  .main .main-head .main-title {
    font-size: 18px;
  }
}
@media all and (max-width: 768px) {
  .main .main-head .main-title {
    font-size: 16px;
  }
}
.main .main-head .main-subtitle {font-family: 'Gong Gothic'; font-weight: bold; font-size:36px; color:#273541; word-break: keep-all;}

@media all and (max-width: 1230px) {
  .main .main-head .main-subtitle {
    font-size: 26px;
    margin-top: 20px;
  }
}
@media all and (max-width: 768px) {
  .main .main-head .main-subtitle {
    font-size: 20px;
    margin-top: 10px;
  }
}
.main #service .main-title {
  color: #004BAE;
}
.main #service .main-subtitle {
  font-family: 'Gong Gothic';
  font-weight: bold;
  color: #000;
}
@media all and (max-width: 768px) {
  .main #service .main-subtitle br {
    display: none;
  }
}

/* ---------- head util (로그인 / 마이페이지) ---------- */
.main #service.fullpage-section .service-head {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 7rem;
}
.main #service .service-head-mascot {
  position: absolute;
  right:370px;
  bottom: -40px;
  width: 220px;
  pointer-events: none;
  z-index: 1;
}
.main #service .service-head-mascot .mascot-img {
  display: block;
  width: 100%;
  height: auto;
  transform-origin: 50% 100%;
  animation: serviceMascotSway 4.5s ease-in-out infinite;
}
@keyframes serviceMascotSway {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-3.5deg);
  }
  75% {
    transform: rotate(3.5deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .main #service .service-head-mascot .mascot-img {
    animation: none;
  }
}
@media all and (max-width: 1530px) {
  .main #service .service-head-mascot {
    right: 200px;
    width: 190px;
    bottom: -40px;
  }
}
@media all and (max-width: 1230px) {
  .main #service .service-head-mascot {
    right: 170px;
    width: 160px;
    bottom: -40px;
  }
}
@media all and (max-width: 1024px) {
  .main #service .service-head-mascot {
    display: none;
  }
}
.main #service .service-head-util {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  margin-left: auto;
  padding-bottom: 4px;
}
.main #service .util-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 42px;
  padding: 0 20px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #1A1A2E;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}
.main #service .util-btn i {
  display: block;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.main #service .util-btn.ico-login i {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4'/%3E%3Cpolyline points='10 17 15 12 10 7'/%3E%3Cline x1='15' y1='12' x2='3' y2='12'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .util-btn.ico-mypage i {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E") no-repeat center/contain;
}
/* 로그인 버튼만 주황색 포인트 CTA로 강조 */
.main #service .util-btn.ico-login {
  background-color: #D64113;
  border-color: #D64113;
  color: #fff;
}
.main #service .util-btn:hover {
  background-color: #EAF2FF;
  border-color: #004BAE;
  color: #004BAE;
}
.main #service .util-btn.ico-login:hover {
  background-color: #C94E0C;
  border-color: #C94E0C;
  color: #fff;
}
.main #service .util-btn:hover.ico-mypage i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004BAE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4.4 3.6-7 8-7s8 2.6 8 7'/%3E%3C/svg%3E");
}
@media all and (max-width: 768px) {
  .main #service .util-btn {
    height: 36px;
    padding: 0 14px;
    font-size: 13px;
  }
}
@media all and (max-width: 480px) {
  .main #service .service-head {
    align-items: flex-start;
  }
  .main #service .util-btn {
    width: 36px;
    height: 36px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .main #service .util-btn span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}

.main #service .service-panel {
  position: relative;
  margin-top: 40px;
}
@media all and (max-width: 768px) {
  .main #service .service-panel {
    margin-top: 24px;
  }
}
.main #service .service-panel::before {
  display: block;
  position: absolute;
  bottom: 100%;
  margin-bottom: -34px;
  right: 10px;
  content: "KAIA";
  line-height: 1;
  font-size: 150px;
  font-weight: 900;
  font-family: "Poppins";
  color: #F8F9FB;
  z-index: -1;
  pointer-events: none;
}
@media all and (max-width: 1024px) {
  .main #service .service-panel::before {
    font-size: 100px;
    margin-bottom: -24px;
  }
}
@media all and (max-width: 768px) {
  .main #service .service-panel::before {
    display: none;
  }
}

/* ---------- filter ---------- */

.main #service .service-filter .filter-actions-wrap {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
}
.main #service .save-filter-tooltip {
  position: relative;
  background: #1A1A2E;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 14px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}
.main #service .save-filter-tooltip::after {
  content: "";
  position: absolute;
  bottom: -6px;
  right: 24px;
  width: 12px;
  height: 12px;
  background: #1A1A2E;
  transform: rotate(45deg);
}
.main #service .save-filter-tooltip button {
  height: 28px;
  padding: 0 12px;
  border-radius: 14px;
  background: #fff;
  color: #1A1A2E;
  border: none;
  font-size: 12px;
  font-weight: 700;
}
.main #service .service-filter {
  position: relative;
  display: flex;
  align-items: stretch;
  border-radius: 20px;
  overflow: hidden;
  min-width: 0;
}
@media all and (max-width: 768px) {
  .main #service .service-filter {
    flex-direction: column;
    border-radius: 16px;
  }
}
.main #service .service-filter .filter-main {
  flex: 1;
  min-width: 0;
  background-color: #F5F7FB;
  border: 1px solid #E7EAF0;
  border-right: none;
  padding: 28px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  flex-wrap: wrap;
  align-items: flex-end !important;
}


@media all and (max-width: 1024px) {
  .main #service .service-filter .filter-main {
    padding: 22px 20px;
    gap: 16px;
  }
}
@media all and (max-width: 768px) {
  .main #service .service-filter .filter-main {
    padding: 18px 16px;
    border-right: 1px solid #E7EAF0;
    align-items: stretch;
  }
}
.main #service .service-cta {
  flex-shrink: 0;
  width: 176px;
  background: linear-gradient(135deg, #4A7BF7 0%, #2E5CE0 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #fff;
  text-decoration: none;
  transition: 0.2s;
}
.main #service .service-cta:hover {
  background: linear-gradient(135deg, #3E6EEA 0%, #2450CC 100%);
}
.main #service .service-cta-icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.main #service .service-cta-icon i {
  display: block;
  width: 26px;
  height: 26px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232E5CE0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M16.65 16.65 21 21'/%3E%3Cpath d='m9 11 1.5 1.5L14 9'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .service-cta-text {
  font-size: 16px;
  font-weight: 800;
  text-align: center;
  word-break: keep-all;
  line-height: 1.3;
}
@media all and (max-width: 1024px) {
  .main #service .service-cta {
    width: 140px;
    gap: 10px;
  }
  .main #service .service-cta-icon {
    width: 46px;
    height: 46px;
  }
  .main #service .service-cta-icon i {
    width: 20px;
    height: 20px;
  }
  .main #service .service-cta-text {
    font-size: 14px;
  }
}
@media all and (max-width: 768px) {
  .main #service .service-cta {
    width: auto;
    flex-direction: row;
    padding: 14px 16px;
  }
}
.main #service .service-filter .filter-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.main #service .service-filter .filter-row {
  display: flex;
  align-items: flex-start;
  gap: 18px;
}
@media all and (max-width: 1024px) {
  .main #service .service-filter .filter-row {
    gap: 10px;
  }
}
@media all and (max-width: 640px) {
  .main #service .service-filter .filter-row {
    flex-direction: column;
    gap: 8px;
  }
}
.main #service .service-filter .filter-label {
  flex-shrink: 0;
  width: 72px;
  margin-top: 9px;
  font-size: 15px;
  font-weight: 700;
  color: #4B4F5A;
}
@media all and (max-width: 640px) {
  .main #service .service-filter .filter-label {
    width: auto;
    margin-top: 0;
  }
}
.main #service .service-filter .filter-chips {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.main #service .service-filter .chip {
  height: 38px;
  padding: 0 17px;
  border-radius: 20px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #4B4F5A;
  font-size: 14px;
  font-weight: 600;
  transition: 0.2s;
  cursor: pointer;
}
.main #service .service-filter .chip:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
.main #service .service-filter .chip.is-active {
  background-color: #004BAE;
  border-color: #004BAE;
  color: #fff;
}
.main #service .service-filter .filter-actions {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
@media all and (max-width: 768px) {
  .main #service .service-filter .filter-actions {
    margin-top: 4px;
    width: 100%;
    justify-content: center;
  }
  .main #service .service-filter .filter-body {
    flex: 1 1 100%;
    width: 100%;
  }
}
.main #service .service-filter .btn-reset {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 18px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #4B4F5A;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}
.main #service .service-filter .btn-reset i {
  display: block;
  width: 14px;
  height: 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F5A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 1 1 3 6.7'/%3E%3Cpolyline points='3 18 3 12 9 12'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .service-filter .btn-reset:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
.main #service .service-filter .btn-search {
  height: 44px;
  padding: 0 26px;
  border-radius: 24px;
  background-color: #004BAE;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}
.main #service .service-filter .btn-search:hover {
  background-color: #003a8a;
}

/* .main #service .service-filter .btn-load,
.main #service .service-filter .btn-save {
  height: 44px;
  padding: 0 22px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #004BAE;
  color: #004BAE;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}
 */
.main #service .service-filter .btn-load,
.main #service .service-filter .btn-save {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 44px;
  padding: 0 18px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #004BAE;
  color: #4B4F5A;
  font-size: 14px;
  font-weight: 700;
  transition: 0.2s;
}

.main #service .service-filter .filter-divider {
  height: 1px;
  background-color: #E7EAF1;
  margin: 16px 22px 0;
}

.main #service .service-filter .filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.main #service .service-filter .filter-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #004BAE;
  background-color: #EAF2FF;
  color: #004BAE;
  cursor: pointer;
  transition: 0.2s;
}

.main #service .service-filter .filter-icon-btn:hover {
  background-color: #F1F3F7;
  border-color: #004BAE;
  color: #004BAE;
}

.main #service .service-filter .filter-icon-btn i {
  width: 17px;
  height: 17px;
  display: block;
  background-color: currentColor;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.main #service .service-filter #serviceFilterLoad i {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJhOSA5IDAgMSAwIDMtNi43Ii8+PHBhdGggZD0iTTMgNHY1aDUiLz48L3N2Zz4=");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTJhOSA5IDAgMSAwIDMtNi43Ii8+PHBhdGggZD0iTTMgNHY1aDUiLz48L3N2Zz4=");
}

.main #service .service-filter #serviceFilterSave i {
  -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJaIi8+PHBhdGggZD0iTTE3IDIxdi04SDd2OCIvPjxwYXRoIGQ9Ik03IDN2NWg4Ii8+PC9zdmc+");
  mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTFsNSA1djExYTIgMiAwIDAgMS0yIDJaIi8+PHBhdGggZD0iTTE3IDIxdi04SDd2OCIvPjxwYXRoIGQ9Ik03IDN2NWg4Ii8+PC9zdmc+");
}

.main #service .service-filter #serviceFilterSave {
  position: relative;
}
.main #service .service-filter .save-icon-hint {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: #1A1A2E;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 7px 12px;
  border-radius: 8px;
  white-space: nowrap;
  pointer-events: none;
}
.main #service .service-filter .save-icon-hint::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 9px;
  height: 9px;
  background: #1A1A2E;
  margin-top: -5px;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
}


.main #service .service-filter .filter-action-sep {
  width: 1px;
  align-self: stretch;
  background-color: #E7EAF1;
  margin: 0 4px;
}

.main #service .service-filter .btn-load:hover,
.main #service .service-filter .btn-save:hover {
  background-color: #EAF2FF;
}


@media all and (max-width: 640px) {
  .main #service .service-filter .btn-reset,
  .main #service .service-filter .btn-search {
    flex: 1;
    justify-content: center;
    height: 40px;
  }
}

/* ---------- result head ---------- */
.main #service .service-result {
  position: relative;
  margin-top: 28px;
}
@media all and (max-width: 768px) {
  .main #service .service-result {
    margin-top: 18px;
  }
}
.main #service .result-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

/* ---------- result tabs (맞춤지원사업 / 내가 저장한 사업) ---------- */
/* .main #service .result-tabs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.main #service .result-tab {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 44px;
  padding: 0 20px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #4B4F5A;
  font-size: 16px;
  font-weight: 700;
  transition: 0.2s;
} */
.main #service .result-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.main #service .btn-saved-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 44px;
  padding: 0 20px;
  border-radius: 24px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #4B4F5A;
  font-size: 16px;
  font-weight: 700;
  transition: 0.2s;
}
.main #service .result-tab .tab-text {
  word-break: keep-all;
}
.main #service .result-tab .tab-count {
  font-size: 16px;
  font-weight: 700;
}
.main #service .result-tab .tab-count strong {
  font-weight: 700;
}
.main #service .result-tab:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
/* .main #service .result-tab.is-active {
  background-color: #004BAE;
  border-color: #004BAE;
  color: #fff;
} */

.main #service .btn-saved-toggle.label-style {
  background: none;
  border: none;
  padding: 0 4px;
  font-size: 18px;
  font-weight: 700;
  color: #1A1A2E;
}
.main #service .btn-saved-toggle.label-style .result-count {
  display: inline-block;
  min-width: 34px;   /* "99건"~"999건" 정도까지 커버 */
  text-align: left;
  margin-left: 4px;
  font-size: 13px;
  font-weight: 700;   /* 700 → 500, 굵기까지 낮춰서 확실히 보조 정보로 */
  color: #8B92A3;      /* 조금 더 옅게 */
}
.main #service .btn-saved-toggle.ribbon-toggle .saved-count-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background-color: #ff0000;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}
.main #service .btn-saved-toggle.ribbon-toggle .saved-count-badge:empty {
  display: none;   /* 0건일 땐 배지 자체를 숨김 - 빈 동그라미가 떠 있지 않게 */
}
.main #service .btn-saved-toggle.label-style .accent-bar {
  width: 4px;
  height: 18px;
  border-radius: 2px;
  background-color: #004BAE;
  display: inline-block;
}
.main #service .btn-saved-toggle.is-static {
  cursor: default;
}


.main #service .btn-saved-toggle.is-active {
  background-color: #004BAE;
  border-color: #004BAE;
  color: #fff;
}
.main #service .btn-saved-toggle.ribbon-toggle {
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #E1E4EB;
  position: relative;   /* 추가 */
}
.main #service .btn-saved-toggle.ribbon-toggle.is-active {
  background-color: #fff;
  border-color: #D64113;
}

.main #service .btn-saved-toggle.ribbon-toggle i {
  display: block;
  width: 17px;
  height: 17px;
  margin: 0 auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8BCC8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21 12 16 5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .btn-saved-toggle.ribbon-toggle.is-active i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D64113' stroke='%23D64113' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21 12 16 5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
@media all and (max-width: 768px) {
  .main #service .result-tab {
    height: 40px;
    padding: 0 14px;
    font-size: 14px;
  }
  .main #service .result-tab .tab-count {
    font-size: 14px;
  }
}
@media all and (max-width: 480px) {
  .main #service .result-tabs {
    flex: 1 1 100%;
    width: 100%;
  }
  .main #service .result-tab {
    flex: 1;
    justify-content: center;
  }
}

.main #service .result-arrows {
  display: flex;
  gap: 8px;
}
.main #service .result-arrows .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #E1E4EB;
  transition: 0.2s;
}
.main #service .result-arrows .arrow::before {
  display: block;
  font-family: "remixicon";
  font-size: 17px;
  line-height: 1;
  color: #4B4F5A;
}
.main #service .result-arrows .arrow.prev::before {
  content: "\ea64";
}
.main #service .result-arrows .arrow.next::before {
  content: "\ea6e";
}
.main #service .result-arrows .arrow:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
.main #service .result-arrows .arrow:disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}
/* ---------- cards (한 줄에 정확히 4개만 노출되는 캐러셀) ----------
   탭(맞춤지원사업 / 내가 저장한 사업) 전환 시 카드 개수에 따라
   영역 세로 높이가 늘었다 줄었다 하지 않도록, .service-track-wrap 과
   .service-empty(결과 없음 안내)에 동일한 min-height 를 지정한다.
   아래 값은 JS 미실행 등을 대비한 대략치이며, 실제 높이는
   main_2026.js 의 syncResultHeight() 에서 카드 1줄의 실측 높이를
   구해 두 요소에 동일한 인라인 min-height 로 정확히 맞춰준다. */
 
 
.main #service .service-track-wrap {
  min-height: 220px;
  margin-top: 18px;
  overflow: visible;
}
.main #service .service-track-wrap.is-hidden {
  display: none;
}
.main #service .service-track {
  display: flex;
  gap: 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  /* 카드 hover 시 위로 뜨는 효과 + box-shadow, 첫/끝 카드 테두리가
     스크롤 영역 경계에서 잘리지 않도록 여백을 주고, 레이아웃에는
     영향이 없도록 동일한 값만큼 음수 마진으로 상쇄합니다. */
  padding: 12px 4px 18px;
  margin: -12px -4px -18px;
}
.main #service .service-track::-webkit-scrollbar {
  display: none;
}
.main #service .service-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border: 1px solid #E7EAF0;
  border-radius: 18px;
  padding: 24px;
  transition: 0.25s;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.main #service .service-card-wrap {
  position: relative;
  scroll-snap-align: start;
  flex: 0 0 calc((100% - 22px * 3) / 4);
  min-width: 0;
}
@media all and (max-width: 1230px) {
  .main #service .service-track {
    gap: 18px;
    padding: 12px 4px 18px;
    margin: -12px -4px -18px;
  }
  .main #service .service-card-wrap {
    flex-basis: calc((100% - 18px * 2) / 3);
  }
  .main #service .service-card {
    padding: 20px;
  }
}
@media all and (max-width: 768px) {
  .main #service .service-track {
    gap: 14px;
  }
  .main #service .service-card-wrap {
    flex-basis: calc((100% - 14px) / 2);
  }
}
@media all and (max-width: 480px) {
  .main #service .service-card-wrap {
    flex-basis: 100%;
  }
}
.main #service .service-card:hover {
  border-color: #004BAE;
  box-shadow: 0 6px 16px rgba(0, 75, 174, 0.14);
  transform: translateY(-3px);
}
.main #service .service-card.is-hidden {
  display: none;
}
.main #service .service-card .card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
}
.main #service .service-card .card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.main #service .service-card .badge {
  display: inline-flex;
  align-items: center;
  height: 27px;
  padding: 0 11px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  background-color: #fff;
}
.main #service .service-card .badge.status-open {
  color: #004BAE;
  border: 1px solid #CFE0FF;
}
.main #service .service-card .badge.status-soon {
  color: #875FC0;
  border: 1px solid #E2D6F7;
}
.main #service .service-card .badge.status-closing {
  color: #D83D3D;
  border: 1px solid #F7CFCF;
}
.main #service .service-card .badge.dday {
  color: #D64113;
  background-color: #FCEEE7;
  border: 1px solid #F6D3BE;
}
.main #service .service-card .badge.dday:empty {
  display: none;
}
.main #service .service-card-wrap .save-btn {
  position: absolute;
  top: 25px;
  right: 25px;
  z-index: 1;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #E1E4EB;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #service .service-card-wrap .save-btn:hover {
  border-color: #D64113;
  background-color: #FCEEE7;
}
.main #service .service-card-wrap .save-btn.is-saved {
  border-color: #D64113;
  background-color: #FCEEE7;
}
.main #service .service-card-wrap .save-btn i {
  display: block;
  width: 17px;
  height: 17px;
  margin: 0 auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8BCC8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21 12 16 5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .service-card-wrap .save-btn:hover i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D64113' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21 12 16 5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
.main #service .service-card-wrap .save-btn.is-saved i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23D64113' stroke='%23D64113' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 21 12 16 5 21V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
.main #service .service-card .card-org {
  margin-top: 14px;
  font-size: 13px;
  font-weight: 700;
  color: #004BAE;
}
.main #service .service-card .card-title {
  margin-top: 6px;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: #1A1A2E;
  min-height: 2.8em;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: keep-all;
}

.main #service .service-card .card-period {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #4B4F5A;
}
.main #service .service-card .card-period::before {
  display: block;
  flex-shrink: 0;
  content: "";
  width: 17px;
  height: 17px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #service .service-card .card-bottom {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.main #service .service-card .card-more {
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 700;
  color: #004BAE;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}
.main #service .service-card .card-more::after {
  display: block;
  font-family: "remixicon";
  content: "\ea6e";
  font-size: 15px;
  transition: 0.2s;
}
.main #service .service-card .card-more:hover::after {
  transform: translateX(2px);
}

.main #service .service-empty {
  display: none;
  align-items: center;
  justify-content: center;
  min-height: 220px;
  margin-top: 18px;
  padding: 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  color: #6B7280;
  background-color: #F8F9FB;
  border: 1px dashed #D8DBE3;
  border-radius: 16px;
  box-sizing: border-box;
}
.main #service .service-empty.is-hidden {
  display: none;
}
.main #service .service-empty.is-visible {
  display: flex;
}

.main #service .service-toast {
  position: absolute;
  left: 50%;
  bottom: -14px;
  transform: translate(-50%, 20px);
  background-color: #1A1A2E;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  padding: 12px 20px;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  opacity: 0;
  pointer-events: none;
  transition: 0.25s;
  z-index: 20;
  white-space: nowrap;
}
.main #service .service-toast.is-show {
  opacity: 1;
  transform: translate(-50%, 0);
}
@media all and (max-width: 640px) {
  .main #service .service-toast {
    white-space: normal;
    width: 86%;
    text-align: center;
  }
}
.main #briefing {
  background-color: #F4F7FC;
  color: #1A1A2E;
}
.main #briefing .briefing-top {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-top:6.2rem;
}
.main #briefing .briefing-top-title {
  font-family: 'Gong Gothic';
  font-weight: bold;
  font-size:40px;
  color: #1A1A2E;
}
@media all and (max-width: 768px) {
  .main #briefing .briefing-top-title {
    font-size: 24px;
  }
}
.main #briefing .briefing-top-desc {
  margin-top: 12px;
  font-size: 15px;
  font-weight: 500;
  color: #6B7280;
  word-break: keep-all;
}
@media all and (max-width: 768px) {
  .main #briefing .briefing-top-desc {
    font-size: 13px;
    margin-top: 8px;
  }
}
.main #briefing .briefing-control {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.main #briefing .briefing-control .status {
  display: none;
}
.main #briefing .briefing-control .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #E1E4EB;
  font-size: 0;
  line-height: 0;
  flex-shrink: 0;
  transition: 0.3s;
}
.main #briefing .briefing-control .arrow::before {
  display: block;
  font-family: "remixicon";
  font-size: 18px;
  line-height: 1;
  color: #4B4F5A;
  transition: 0.3s;
}
.main #briefing .briefing-control .arrow.prev::before {
  content: "\ea64";
}
.main #briefing .briefing-control .arrow.next::before {
  content: "\ea6e";
}
.main #briefing .briefing-control .arrow.pause::before {
  content: "\efda";
}
.main #briefing .briefing-control .arrow.play::before {
  content: "\f012";
}
.main #briefing .briefing-control .arrow:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
.main #briefing .briefing-control .briefing-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  padding: 0 24px;
  margin-left: 8px;
  border-radius: 50px;
  background-color: #004BAE;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  transition: 0.3s;
}
.main #briefing .briefing-control .briefing-more:hover {
  background-color: #003a8a;
}
@media all and (max-width: 768px) {
  .main #briefing .briefing-control .arrow {
    width: 34px;
    height: 34px;
  }
  .main #briefing .briefing-control .briefing-more {
    height: 34px;
    padding: 0 16px;
    font-size: 13px;
  }
}

.main #briefing .briefing-slide {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin-top: 24px;
  padding:20px 0 0 0;
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .main #briefing .briefing-slide {
    margin-top: 14px;
    padding: 10px 10px 16px;
  }
}
.main #briefing .briefing-slide .swiper-slide {
  display: block;
  height: auto;
  background-color: #fff;
  border: 1px solid #E7EAF0;
  border-radius: 16px;
  padding: 24px;
  transition: 0.3s;
}
.main #briefing .briefing-slide .swiper-slide:hover {
  border-color: #004BAE;
  box-shadow: 0 10px 24px rgba(0, 75, 174, 0.1);
}
.main #briefing .briefing-slide .swiper-slide .briefing-cate {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.main #briefing .briefing-slide .swiper-slide .briefing-cate > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  padding: 0 10px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.main #briefing .briefing-slide .swiper-slide .briefing-cate .cate {
  background-color: #EAF2FF;
  color: #004BAE;
  border: 1px solid #CFE0FF;
}
.main #briefing .briefing-slide .swiper-slide .briefing-cate .dday {
  background-color: #F1F3F7;
  color: #4B4F5A;
  border: 1px solid #E1E4EB;
}
.main #briefing .briefing-slide .swiper-slide .briefing-org {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 500;
  color: #8A8F99;
}
.main #briefing .briefing-slide .swiper-slide .briefing-org i {
  font-style: normal;
  color: #D8DBE3;
}
.main #briefing .briefing-slide .swiper-slide .briefing-text {
  margin-top: 10px;
  font-size:19px;
  font-weight: 700;
  line-height: 1.4;
  color: #1A1A2E;
  height: 2.8em;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  word-break: keep-all;
}
@media all and (max-width: 1024px) {
  .main #briefing .briefing-slide .swiper-slide .briefing-text {
    font-size: 16px;
  }
}
.main #briefing .briefing-slide .swiper-slide .briefing-date {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 16px;
  padding: 0 10px;
  height: 26px;
  border-radius: 6px;
  background-color: #EAF2FF;
  color: #004BAE;
  font-size: 13px;
  font-weight: 600;
}
.main #briefing .briefing-slide .swiper-slide .briefing-date::before {
  display: block;
  font-family: "remixicon";
  content: "\eb21";
  font-size: 14px;
  line-height: 1;
}
.main #insight {
  position: relative;
}
.main #insight::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 42.4%;
  height: 100%;
  overflow: hidden;
  background-color: #4ca6f5;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.45), transparent 55%),
    radial-gradient(circle, rgba(0, 220, 255, 0.5), transparent 60%),
    radial-gradient(circle, rgba(120, 90, 255, 0.4), transparent 55%),
    radial-gradient(circle, rgba(255, 255, 255, 0.25), transparent 50%);
  background-repeat: no-repeat;
  background-size: 95% 95%, 110% 110%, 85% 85%, 70% 70%;
  background-position: 0% 0%, 100% 100%, 50% 100%, 20% 80%;
  animation: insightGlowDrift 14s linear infinite;
  content: "";
  z-index: -1;
}
@keyframes insightGlowDrift {
  0% {
    background-position: 0% 0%, 100% 100%, 50% 100%, 20% 80%;
  }
  25% {
    background-position: 70% 15%, 25% 75%, 85% 25%, 60% 35%;
  }
  50% {
    background-position: 100% 65%, 0% 15%, 15% 85%, 90% 95%;
  }
  75% {
    background-position: 25% 95%, 75% 5%, 55% 55%, 5% 15%;
  }
  100% {
    background-position: 0% 0%, 100% 100%, 50% 100%, 20% 80%;
  }
}
@media (prefers-reduced-motion: reduce) {
  .main #insight::before {
    animation: none;
  }
}
@media all and (max-width: 1230px) {
  .main #insight::before {
    width: 49.7%;
  }
}
@media all and (max-width: 768px) {
  .main #insight::before {
    width: 50%;
  }
}
.main #insight .inner {
  position: relative; margin-top:7rem;
}

.main #insight .inner::before {
  display: block;
  content: "INSIGHT";
  line-height: 1;
  font-size: 200px;
  color: #F8F9FB;
  position: absolute;
  top: 55px;
  right: 0;
  z-index: -1;
  font-family: "Poppins";
  font-weight: 900;
}
@media all and (max-width: 1230px) {
  .main #insight .inner::before {
    font-size: 150px;
    right: 50px;
  }
}
@media all and (max-width: 1024px) {
  .main #insight .inner::before {
    top: 35px;
  }
}
@media all and (max-width: 768px) {
  .main #insight .inner::before {
    top: 60px;
    font-size: 70px;
    right: calc(3% + 8px);
  }
}
.main #insight .main-title {
  color: #004BAE;
}
.main #insight .main-subtitle {
  font-family: 'Gong Gothic';
  font-weight: bold;
  color: #000;
}
.main #insight .insight-inner {
  position: relative;
  width: calc(100% + 30px);
  left: -15px;
}
@media all and (max-width: 768px) {
  .main #insight .insight-inner {
    width: 100%;
    left: auto;
  }
}
.main #insight .insight-list {
  align-items: center;
  height: 559px;
  padding: 0 15px 35px;
}
@media all and (max-width: 1230px) {
  .main #insight .insight-list {
    margin-top: 34px;
  }
}
@media all and (max-width: 1024px) {
  .main #insight .insight-list {
    height: auto;
  }
}
@media all and (max-width: 768px) {
  .main #insight .insight-list {
    height: auto;
    max-width: 100%;
    width: 350px;
    margin-right: auto;
    margin-left: auto;
    padding: 20px;
    margin-top: 22px;
  }
}
.main #insight .insight-list .swiper-wrapper {
  align-items: center;
}
.main #insight .insight-list .insight-item {
  background-color: #fff;
  border-radius: 20px;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.05);
  height: auto;
  transition: 0.3s;
}
.main #insight .insight-list .insight-item .insight-anchor {
  display: block;
  padding: 30px;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-img {
  height: 194px;
  border-radius: 20px;
  overflow: hidden;
  transition: 0.3s;
}
@media all and (max-width: 1024px) {
  .main #insight .insight-list .insight-item .insight-anchor .insight-img {
    height: 152px;
  }
}
@media all and (max-width: 768px) {
  .main #insight .insight-list .insight-item .insight-anchor .insight-img {
    height: 202px;
  }
}
.main #insight .insight-list .insight-item .insight-anchor .insight-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: 0.3s;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-cate {
  display: flex;
  gap: 5px;
  margin-top: 20px;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-cate .cate-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  line-height: 1;
  background-color: #004BAE;
  border-radius: 5px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-cate .cate-item.new {
  background-color: #D64113;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-subject {
  margin-top: 15px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: 2.8em;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-desc {
  display: -webkit-box;
  text-overflow: ellipsis;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  height: 2.8em;
  margin-top: 15px;
  color: #333;
  font-size: 16px;
  font-weight: 500;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-date {
  color: #333;
  margin-top: 15px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  line-height: 1;
  font-weight: 500;
  opacity: 0.7;
}
.main #insight .insight-list .insight-item .insight-anchor .insight-date::before {
  content: "\eb21";
  display: block;
  font-family: "remixicon";
  font-size: 16px;
  font-weight: 400;
}
@media all and (min-width: 1025px) {
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-img {
    height: 250px;
  }
}
@media all and (min-width: 1025px) and (max-width: 1024px) {
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-img {
    height: 202px;
  }
}
@media all and (min-width: 1025px) and (min-width: 1025px) {
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-subject {
    font-size: 20px;
  }
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-desc {
    font-size: 18px;
  }
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-date {
    font-size: 16px;
  }
  .main #insight .insight-list .insight-item:hover .insight-anchor .insight-date::before {
    font-size: 18px;
  }
}
.main #insight .insight-list .insight-item:hover .insight-anchor .insight-img > img {
  transform: scale(1.1);
}
.main #insight .insight-control {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.main #insight .insight-control .arrow {
  z-index: 10;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 1px solid #E1E4EB;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  line-height: 0;
}
@media all and (max-width: 768px) {
  .main #insight .insight-control .arrow {
    width: 36px;
    height: 36px;
    position: static;
  }
}
.main #insight .insight-control .arrow::before {
  display: block;
  font-family: "remixicon";
  color: #000;
  font-size: 24px;
  line-height: 1;
}
@media all and (max-width: 768px) {
  .main #insight .insight-control .arrow::before {
    font-size: 18px;
  }
}
.main #insight .insight-control .arrow.prev::before {
  content: "\ea64";
}
.main #insight .insight-control .arrow.next::before {
  content: "\ea6e";
}
.main #insight .insight-control .arrow.pause::before {
  content: "\efda";
}
.main #insight .insight-control .arrow.play::before {
  content: "\f012";
}
.main #insight .insight-control .insight-more {
  background: #004BAE url("../../image/new_2025/main/visual-more-ico.svg") no-repeat center/24px;
}
@media all and (max-width: 768px) {
  .main #insight .insight-control .insight-more {
    background-size: 18px;
  }
}
.main #schedule {background-color:#e9f3ff; color: #1A1A2E;}
.main #schedule .inner {
  position: relative;
}
@media all and (max-width: 768px) {
  /* .main #schedule .inner {
    padding-bottom: 53px;
  } */
}
.main #schedule .main-subtitle br {
  display: none;
}
@media all and (max-width: 400px) {
  .main #schedule .main-subtitle br {
    display: inline;
  }
}
.main #schedule .schedule .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media all and (max-width: 1530px) {
  .main #schedule .schedule .head {
    align-items: start;
  }
}
@media all and (max-width: 1024px) {
  .main #schedule .schedule .head {
    flex-wrap: wrap;
    position: relative;
  }
}
.main #schedule .schedule .head .left {
  display: flex;
  align-items: center;
  gap: 24px;
}
@media all and (max-width: 1530px) {
  .main #schedule .schedule .head .left {
    flex-wrap: wrap;
    gap: 20px;
  }
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .head .left {
    width: 100%;
  }
}
.main #schedule .schedule .head .left .year {
  font-size:30px;
  font-weight: 700;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .left .year {
    font-size: 24px;
  }
}
.main #schedule .schedule .head .left .year-btn {
  display: flex;
  align-items: center;
  gap: 28px;
  position: relative;
}
@media only screen and (max-width: 64.05em) {
  .main #schedule .schedule .head .left .year-btn {
    margin: 0;
  }
}
.main #schedule .schedule .head .left .year-btn::before {
  display: block;
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #B8BCC8;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.main #schedule .schedule .head .left .year-btn a {
  display: inline-block;
}
.main #schedule .schedule .head .left .year-btn a::before {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  line-height: 1;
}
.main #schedule .schedule .head .left .year-btn a.year-prev::before {
  content: "\ea64";
}
.main #schedule .schedule .head .left .year-btn a.year-next::before {
  content: "\ea6e";
}
.main #schedule .schedule .head .left ul {
  display: flex;
  gap: 10px;
}
@media all and (max-width: 1530px) {
  .main #schedule .schedule .head .left ul {
    width: 100%;
    flex-wrap: wrap;
  }
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .left ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5px;
  }
}
.main #schedule .schedule .head .left ul li.mobile {
  display: none;
}
.main #schedule .schedule .head .left ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 30px;
  line-height: 1;
  font-weight: 600;
  color: #000;
  font-size: 14px;
  border-radius: 30px;
  text-align: center;
  border: 1px solid #E1E4EB;
  border-radius: 30px;
  background-color: #fff;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .left ul li a {
    width: 100%;
  }
}
.main #schedule .schedule .head .left ul li a.active {
  color: #fff;
  background-color: #004BAE;
  border-color: #004BAE;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.main #schedule .schedule .head .right {
  display: flex;
  gap: 10px;
}
@media all and (max-width: 1024px) {
  .main #schedule .schedule .head .right {
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .right {
    gap: 5px;
  }
}
.main #schedule .schedule .head .right button, .main #schedule .schedule .head .right a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #F1F3F7;
  border: 1px solid #E1E4EB;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .right button, .main #schedule .schedule .head .right a {
    width: 36px;
    height: 36px;
  }
}
.main #schedule .schedule .head .right button::before, .main #schedule .schedule .head .right a::before {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  line-height: 1;
  color: #4B4F5A;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .right button::before, .main #schedule .schedule .head .right a::before {
    font-size: 18px;
  }
}
.main #schedule .schedule .head .right button.month-view::before, .main #schedule .schedule .head .right a.month-view::before {
  content: "\eb21";
}
.main #schedule .schedule .head .right button.year-view::before, .main #schedule .schedule .head .right a.year-view::before {
  content: "\eeba";
}
.main #schedule .schedule .head .right button.more, .main #schedule .schedule .head .right a.more {
  background-color: #fff;
  border: 1px solid #D8DBE3;
}
.main #schedule .schedule .head .right button.more::before, .main #schedule .schedule .head .right a.more::before {
  content: "";
  width: 24px;
  height: 24px;
  background: url("../../image/new_2025/main/briefing-more.svg") no-repeat;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .head .right button.more::before, .main #schedule .schedule .head .right a.more::before {
    width: 18px;
    height: 18px;
    background-size: 18px;
  }
}
.main #schedule .schedule .head .right button.active, .main #schedule .schedule .head .right a.active {
  background-color: #004BAE;
  border-color: #004BAE;
}
.main #schedule .schedule .head .right button.active::before, .main #schedule .schedule .head .right a.active::before {
  color: #fff;
}
.main #schedule .schedule .head .right button.active::after, .main #schedule .schedule .head .right a.active::after {
  content: "";
  position: absolute;
  bottom: 4px;
  left: calc(50% - 5px);
  width: 10px;
  height: 5px;
  border-width: 0 5px 5px 5px;
  border-style: solid;
  border-color: transparent transparent #004BAE transparent;
}
.main #schedule .schedule .circle {
  padding-left: 23px;
  position: relative;
}
.main #schedule .schedule .circle::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.main #schedule .schedule .circle.color1::after {
  background-color: #3B68AD;
}
.main #schedule .schedule .circle.color2::after {
  background-color: #D83D3D;
}
.main #schedule .schedule .circle.color3::after {
  background-color: #875FC0;
}
.main #schedule .schedule .circle.color4::after {
  background-color: #C94E0C;
}
.main #schedule .schedule .circle.color5::after {
  background-color: #2B8185;
}
.main #schedule .schedule .circle.color6::after {
  background-color: #40841E;
}
.main #schedule .schedule .circle.color7::after {
  background-color: #896944;
}
.main #schedule .schedule .category {
  margin: 10px 0 15px 0;
}
.main #schedule .schedule .category ul {
  display: flex;
  gap: 10px 20px;
  flex-wrap: wrap;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .category ul {
    gap: 5px;
  }
}
.main #schedule .schedule .category ul li .cate-checkbox {
  z-index: 1;
  position: relative;
  padding: 0 15px;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .category ul li .cate-checkbox {
    padding: 0 10px;
  }
}
.main #schedule .schedule .category ul li .cate-checkbox input[type=checkbox] {
  z-index: -1;
  width: 100%;
  height: 30px;
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #E1E4EB;
  border-radius: 30px;
  background-color: #fff;
}
.main #schedule .schedule .category ul li .cate-checkbox input[type=checkbox]:checked {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}
.main #schedule .schedule .category ul li .cate-checkbox input[type=checkbox]:checked + label {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.main #schedule .schedule .category ul li .cate-checkbox label {
  font-size: 14px;
  font-weight: 600;
  line-height: 30px;
  margin: 0;
  color: #333A45;
}
.main #schedule .schedule .calendar-body .calendar-style {
  display: none;
}
.main #schedule .schedule .calendar-body .calendar-style.active {
  display: block;
}
.main #schedule .schedule .calendar-body .calendar-style.active.type1 {
  display: flex;
  gap: 30px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-style.active.type1 {
    flex-wrap: wrap;
    gap: 40px;
  }
}
.main #schedule .schedule .calendar-body .text {
  font-size: 18px;
  font-weight: 600;
  line-height: 150%;
}
@media only screen and (max-width: 48em) {
  .main #schedule .schedule .calendar-body .text {
    font-size: 16px;
  }
}
.main #schedule .schedule .calendar-body .fc {
  margin-top: 0;
  background-color: #fff;
}
.main #schedule .schedule .calendar-body .fc .fc-scrollgrid-section > * {
  border-width: 0;
}
.main #schedule .schedule .calendar-body .fc .fc-scrollgrid-sync-table {
  height: auto !important;
}
.main #schedule .schedule .calendar-body .fc thead[role=rowgroup] {
  display: none;
}
.main #schedule .schedule .calendar-body .fc tbody > tr {
  height: 106px;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .calendar-body .fc tbody > tr {
    height: 60px;
  }
}
.main #schedule .schedule .calendar-body .fc .fc-scrollgrid-liquid {
  border: none;
}
/* 요일 헤더: 파란 배경 + 흰 글씨 (참고 이미지 스타일) */
.main #schedule .schedule .calendar-body .fc thead,
.main #schedule .schedule .calendar-body .fc .rowHead,
.main #schedule .schedule .calendar-body .fc .rowHead th,
.main #schedule .schedule .calendar-body .fc th,
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell {
  background-color: #004BAE !important;
  text-align: center !important;
}
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell .fc-scrollgrid-sync-inner {
  position: relative;
}
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell .fc-scrollgrid-sync-inner::before {
  display: none;
}
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell-cushion {
  display: block;
  padding: 5px 0;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
/* 일요일/토요일 구분은 파란 헤더 위에서는 밝은 톤으로 */
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell.fc-day-sun .fc-col-header-cell-cushion {
  color: #FFD3D3;
}
.main #schedule .schedule .calendar-body .fc .fc-col-header-cell.fc-day-sat .fc-col-header-cell-cushion {
  color: #D3E3FF;
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .calendar-body .fc .fc-col-header-cell-cushion {
    padding: 8px 0;
    font-size: 12px;
  }
}
/* 날짜 칸(본문)은 흰 배경 유지 */
.main #schedule .schedule .calendar-body .fc .fc-daygrid-body,
.main #schedule .schedule .calendar-body .fc .fc-scrollgrid-sync-table {
  background-color: #fff;
}
.main #schedule .schedule .calendar-body .fc .fc-day-other {
  background-color: transparent;
}
.main #schedule .schedule .calendar-body .fc .fc-day-other .fc-daygrid-day-frame {
  background-color: #FAFAFC;
  height: 106px;
}
.main #schedule .schedule .calendar-body .fc .fc-day-other .fc-daygrid-day-number {
  color: #C4C7D1;
}
.main #schedule .schedule .calendar-body .fc .fc-day {
  border: none;
  border-right: 1px solid #EBEDF2;
  padding-right: 20px;
}
.main #schedule .schedule .calendar-body .fc .fc-day:last-child {
  border-right: none;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .fc .fc-day {
    padding-right: 10px;
  }
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .calendar-body .fc .fc-day {
    padding-right: 5px;
  }
}
.main #schedule .schedule .calendar-body .fc .fc-day-today {
  background: #EEF4FF !important;
}
.main #schedule .schedule .calendar-body .fc .fc-day-today .fc-daygrid-day-number > span.active .fc-daygrid-day-number::before {
  background-color: #A247DB;
}
.main #schedule .schedule .calendar-body .fc .fc-day-today .fc-daygrid-day-number .fc-daygrid-day-number {
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.main #schedule .schedule .calendar-body .fc .fc-day-today .fc-daygrid-day-number .fc-daygrid-day-number::before {
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  background-color: #004BAE;
  border-radius: 50%;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-frame {
  height: 106px;
  position: relative;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-frame::before {
  display: block;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #DEE2E9;
  position: absolute;
  left: 0;
  bottom: 0;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-number {
  color: #1A1A2E;
  font-size: 16px;
  font-weight: 600;
  padding: 0;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-number > span {
  cursor: pointer;
  position: relative;
  z-index: 1;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-number > span.active,
.main #schedule .schedule .calendar-body .fc .fc-day-today .fc-daygrid-day-number > span.active {
  color: #fff;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-number > span.active::before {
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  background-color: #A247DB;
  border-radius: 50%;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-event-harness {
  padding: 0;
}
.main #schedule .schedule .calendar-body .fc .fc-h-event .fc-event-title {
  padding: 3px 8px 0;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event {
  font-weight: 500;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color1 .fc-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color1 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color1 {
  background-color: #3B68AD;
  border-color: #3B68AD;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color2 .fc-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color2 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color2 {
  background-color: #D83D3D;
  border-color: #D83D3D;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color3 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color3,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color3 .fc-title {
  background-color: #875FC0;
  border-color: #875FC0;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color4 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color4,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color4 .fc-title {
  background-color: #C94E0C;
  border-color: #C94E0C;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color5 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color5,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color5 .fc-title {
  background-color: #2B8185;
  border-color: #2B8185;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color6 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color6,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color6 .fc-title {
  background-color: #40841E;
  border-color: #40841E;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color7 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color7,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color7 .fc-title {
  background-color: #896944;
  border-color: #896944;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color8 .fc-event-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .color8 .fc-title,
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-events .fc-event.color8 {
  background-color: #E9EAEF;
  color: #4B4F5A;
  border-color: #E9EAEF;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-day-bottom {
  padding: 0;
}
.main #schedule .schedule .calendar-body .fc .fc-daygrid-more-link {
  background-color: #004BAE;
  border: none;
  color: #fff;
  font-weight: 500;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover {
  padding-right: 0;
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);
  border: 1px solid #E9EAEF;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-daygrid-event-harness + .fc-daygrid-event-harness {
  margin-top: 5px !important;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event .fc-event-title {
  display: block;
  font-weight: 500;
  background: #fff !important;
  color: #000;
  padding: 11px 33px;
  border: 1px solid #E1E4EB;
  line-height: 1;
  border-radius: 5px;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event .fc-event-title::after {
  top: 15px;
  left: 15px;
  width: 7px;
  height: 7px;
  border: none;
  background-color: #A9ABC2;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color1 .fc-event-title::after {
  background-color: #5691EA;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color2 .fc-event-title::after {
  background-color: #1BAD82;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color3 .fc-event-title::after {
  background-color: #A580D6;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color4 .fc-event-title::after {
  background-color: #ED653C;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color5 .fc-event-title::after {
  background-color: #0FAFB9;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color6 .fc-event-title::after {
  background-color: #63AD40;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color7 .fc-event-title::after {
  background-color: #896944;
}
.main #schedule .schedule .calendar-body .fc .fc-more-popover .fc-event.color8 .fc-event-title::after {
  background-color: #A9ABC2;
}
.main #schedule .schedule .calendar-body .fc .fc-popover-title {
  line-height: 1;
  font-size: 18px;
  font-weight: 600;
}
.main #schedule .schedule .calendar-body .fc .fc-popover-close {
  padding: 0;
  width: 24px;
  height: 24px;
}
.main #schedule .schedule .calendar-body .fc .fc-popover-close::before {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  line-height: 1;
  content: "\f4c8";
  color: #fff;
}
.main #schedule .schedule .calendar-body .fc-popover-body {
  max-height: 500px;
  overflow-y: auto;
}
.main #schedule .schedule .calendar-body .fc-popover-body::-webkit-scrollbar {
  height: 7px;
  width: 7px;
}
.main #schedule .schedule .calendar-body .fc-popover-body::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 7px;
  border: 2px solid transparent;
}
.main #schedule .schedule .calendar-body .fc-popover-body::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 7px;
}
.main #schedule .schedule .calendar-body .fc-theme-standard .fc-popover-header {
  background-color: #004BAE;
  height: 50px;
}
.main #schedule .schedule .calendar-body .calendar-cont {
  width: calc(100% - 460px);
  background-color: #fff;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-cont {
    width: calc(100% + 10px);
  }
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .calendar-body .calendar-cont {
    width: calc(100% + 5px);
  }
}
.main #schedule .schedule .calendar-body .calendar-cont .fc-toolbar {
  display: none;
}
.main #schedule .schedule .calendar-body .calendar-cont table .fc-head th {
  font-size: 14px;
  font-weight: 600;
  height: 40px;
  background-color: #004BAE;
  color: #fff;
  border-left: 1px solid #CED4DA;
}
.main #schedule .schedule .calendar-body .calendar-cont table .fc-body .fc-day-number {
  height: 120px;
  vertical-align: baseline;
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  padding: 8px;
  border: 1px solid #CED4DA;
  border-width: 0px 1px 1px 1px;
}
@media only screen and (max-width: 64.05em) {
  .main #schedule .schedule .calendar-body .calendar-cont table .fc-body .fc-day-number {
    height: 69px;
  }
}
.main #schedule .schedule .calendar-body .calendar-cont table .fc-body .fc-day-number.fc-sun {
  color: #DD2E2E;
}
.main #schedule .schedule .calendar-body .calendar-cont table .fc-body .fc-day-number.fc-other-month {
  background-color: #F8F9FA;
  color: #B8BABB;
}
.main #schedule .schedule .calendar-body .calendar-cont table .ui-widget-content,
.main #schedule .schedule .calendar-body .calendar-cont table .fc-day-grid-container {
  height: auto !important;
}
.main #schedule .schedule .calendar-body .calendar-list {
  width: 430px;
  overflow-y: auto;
}
.main #schedule .schedule .calendar-body .calendar-list::-webkit-scrollbar {
  height: 7px;
  width: 7px;
}
.main #schedule .schedule .calendar-body .calendar-list::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 7px;
  border: 2px solid transparent;
}
.main #schedule .schedule .calendar-body .calendar-list::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 7px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list {
    width: 100%;
    overflow-y: visible;
    overflow-x: auto;
    height: auto;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul {
  height:580px;
  padding-right: 10px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul {
    display: flex;
    gap: 30px;
    height: auto;
    padding-right: 0;
    padding-bottom: 10px;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul li {
    width: 288px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li + li {
  margin-top: 10px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul li + li {
    margin-top: 0;
  }
}
@media only screen and (max-width: 64.05em) {
  .main #schedule .schedule .calendar-body .calendar-list ul li {
    padding: 13px 0;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li a {
  padding: 30px;
  background-color: #ffffff;
  border: 1px solid #E9EAEF;
  display: block;
  border-radius: 20px;
}
.main #schedule .schedule .calendar-body .calendar-list ul li a:focus-visible {
  outline: 2px dashed #004BAE;
  outline-offset: -2px;
}
.main #schedule .schedule .calendar-body .calendar-list ul li .list-category {
  display: flex;
  gap: 5px;
}
.main #schedule .schedule .calendar-body .calendar-list ul li .list-category span {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  border-radius: 5px;
  padding: 5px 10px;
  line-height: 1;
}
@media only screen and (max-width: 48em) {
  .main #schedule .schedule .calendar-body .calendar-list ul li .list-category span {
    font-size: 13px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li .list-category span.cate {
  background-color: #238753;
}
.main #schedule .schedule .calendar-body .calendar-list ul li .list-category span.day {
  text-align: center;
  padding: 4px 8px;
  background-color: #D64113;
}
@media only screen and (max-width: 48em) {
  .main #schedule .schedule .calendar-body .calendar-list ul li .list-category span.day {
    font-size: 13px;
    padding: 3px 8px;
    margin-left: 4px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li .list-category span.end {
  background-color: #757373;
}
.main #schedule .schedule .calendar-body .calendar-list ul li strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  margin-top: 15px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul li strong {
    font-size: 14px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li .text {
  font-size: 18px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  margin-top: 15px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul li .text {
    font-size: 16px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li .data {
  font-size: 16px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 25px;
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .calendar-body .calendar-list ul li .data {
    font-size: 14px;
  }
}
.main #schedule .schedule .calendar-body .calendar-list ul li .data::before {
  display: block;
  content: "\eb21";
  font-family: "remixicon";
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
}
.main #schedule .schedule .calendar-body .type2 {
  height: 614px;
  overflow-y: auto;
  padding-right: 10px;
}
.main #schedule .schedule .calendar-body .type2::-webkit-scrollbar {
  width: 7px;
}
.main #schedule .schedule .calendar-body .type2::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.3);
  border-radius: 7px;
  border: 2px solid transparent;
}
.main #schedule .schedule .calendar-body .type2::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 7px;
}
.main #schedule .schedule .calendar-body .type2 > ul > li {
  background-color: #F7F8FA;
  border: 1px solid #E9EAEF;
  display: flex;
  gap: 24px;
  align-items: center;
  border-radius: 20px;
  padding: 20px 35px;
}
@media only screen and (max-width: 48em) {
  .main #schedule .schedule .calendar-body .type2 > ul > li {
    gap: 12px;
  }
}
.main #schedule .schedule .calendar-body .type2 > ul > li + li {
  margin-top: 10px;
}
@media only screen and (max-width: 48em) {
  .main #schedule .schedule .calendar-body .type2 > ul > li + li {
    margin-top: 16px;
  }
}
.main #schedule .schedule .calendar-body .type2 > ul > li strong {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #004BAE;
  color: #1A1A2E;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 40px;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul li .circle {
  padding: 5px 10px;
  line-height: 1;
  font-size: 14px;
  z-index: 1;
  font-weight: 700;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul li .circle::after {
  z-index: -1;
  width: 100%;
  transform: none;
  top: 0;
  height: 100%;
  border-radius: 5px;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul li a {
  display: block;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul li .text {
  margin-top: 6px;
}
.main #schedule .schedule .calendar-body .type2 > ul > li ul li .etc {
  font-size: 16px;
  color: #6B7280;
  font-weight: 600;
}
.main #schedule .schedule.year-view .head .left ul {
  display: none;
}
.main #schedule .schedule .download {
  position: absolute;
  top: 112px;
  right: 224px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  background-color: #004BAE;
  color: #fff;
  height: 50px;
  gap: 10px;
  padding: 0 30px;
  font-size: 16px;
  font-weight: 600;
}
@media all and (max-width: 1530px) {
  .main #schedule .schedule .download {
    top: 109px;
    right: calc(3% + 180px);
  }
}
@media all and (max-width: 1230px) {
  .main #schedule .schedule .download {
    top: 97px;
  }
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .download {
    display: flex;
    position: static;
    height: 36px;
    line-height: 1;
    margin: 0 auto;
    width: 184px;
    margin: 30px auto 0;
    padding: 0 20px;
  }
}
.main #schedule .schedule .download::before {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  color: #fff;
  content: "\ec56";
}
@media all and (max-width: 768px) {
  .main #schedule .schedule .download::before {
    font-size: 18px;
  }
}
.main #media {
  position: relative;
  background-color: #fff;
  background-image: url("/humanframe/theme/kaia/assets/image/new_2026/main/section06_bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.main #media .main-head {
  text-align: center; margin-top:13rem;
}
.main #media .main-title {
  color: #238753;
}
.main #media .main-subtitle {
  font-family: 'Gong Gothic';
  font-weight: bold;
  color: #000;
}
.main #media .media-desc {
  margin: 14px auto 0;
  max-width: 820px;
  font-size: 15px;
  font-weight: 500;
  color: #4B4F5A;
  line-height: 1.6;
  word-break: keep-all;
}
@media all and (max-width: 768px) {
  .main #media .media-desc {
    font-size: 13px;
    margin-top: 10px;
  }
}

/* ---------- 홍보 구분 탭 (가운데 정렬) ---------- */
.main #media .media-tab {
  position: relative;
  display: flex;
  justify-content: center;
  margin-top: 34px;
}
@media all and (max-width: 1230px) {
  .main #media .media-tab {
    margin-top: 24px;
  }
}
.main #media .media-tab .active-btn {
  display: none;
  background-color: #011A39;
  color: #fff;
  height: 44px;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 22px;
}
@media all and (max-width: 768px) {
  .main #media .media-tab .active-btn {
    display: flex;
  }
  .main #media .main-head {margin-top:50px;}
}
.main #media .media-tab .active-btn::after {
  display: block;
  font-family: "remixicon";
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
  content: "\ea4e";
}
.main #media .media-tab .active-btn.active::after {
  content: "\ea78";
}
.main #media .media-tab .tab-panel {
  display: flex;
  gap: 10px;
}
@media all and (max-width: 768px) {
  .main #media .media-tab .tab-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    z-index: 20;
    flex-direction: column;
    gap: 0;
    background-color: #fff;
    border: 1px solid #E1E4EB;
    border-radius: 16px;
    overflow: hidden;
    margin-top: 6px;
  }
}
.main #media .media-tab .tab-panel .tab-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 52px;
  padding: 0 28px;
  border-radius: 30px;
  border: 1px solid #E1E4EB;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  color: #1A1A2E;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
@media all and (max-width: 1230px) {
  .main #media .media-tab .tab-panel .tab-btn {
    height: 44px;
    padding: 0 20px;
    font-size: 14px;
  }
}
@media all and (max-width: 768px) {
  .main #media .media-tab .tab-panel .tab-btn {
    width: 100%;
    border: none;
    border-bottom: 1px solid #EBEDF2;
    border-radius: 0;
    justify-content: start;
    padding: 0 24px;
    height: 46px;
  }
  .main #media .media-tab .tab-panel .tab-btn:last-child {
    border-bottom: none;
  }
}
.main #media .media-tab .tab-panel .tab-btn i {
  display: block;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  background-color: #1A1A2E;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.main #media .media-tab .tab-panel .tab-btn.active {
  background-color: #004BAE;
  color: #fff;
  border-color: #004BAE;
}
.main #media .media-tab .tab-panel .tab-btn.active i {
  background-color: #fff;
}
.main #media .media-tab .tab-panel .tab-btn:focus-visible {
  outline: 2px dashed #004BAE;
  outline-offset: 4px;
}

/* ---------- 카드 캐러셀 (다른 섹션과 동일한 inner 폭에 맞춤 - 좌우 카드 1개씩은 보이지 않도록 처리) ---------- */
.main #media .media-panel-wrap {
  position: relative;
  max-width: 1400px;
  width: 100%;
  margin: 46px auto 0;
  overflow: hidden;
}
@media all and (max-width: 1530px) {
  .main #media .media-panel-wrap {
    max-width: 100%;
    padding: 0 3%;
    box-sizing: border-box;
  }
}
@media all and (min-width: 1531px) {
  .main #media .media-panel-wrap {
    transform: translateX(20px);
  }
}
@media all and (max-width: 1230px) {
  .main #media .media-panel-wrap {
    margin-top: 30px;
  }
}
.main #media .media-panel {
  display: none;
}
.main #media .media-panel.active {
  display: block;
}
.main #media .media-slide {
  padding: 4px 0 4px;
}
.main #media .media-slide .swiper-slide {
  padding: 0 12px;
  box-sizing: border-box;
}
@media all and (max-width: 768px) {
  .main #media .media-slide .swiper-slide {
    width: 260px;
    padding: 0 8px;
  }
}
.main #media .media-slide .swiper-slide .media-anchor {
  display: block;
}
.main #media .media-slide .swiper-slide .media-img {
  position: relative;
  height: 260px;
  border-radius: 14px;
  overflow: hidden;
  filter: grayscale(15%) brightness(0.94);
  transition: 0.3s;
}
@media all and (max-width: 1530px) {
  .main #media .media-slide .swiper-slide .media-img {
    height: 260px;
  }
}
@media all and (max-width: 1230px) {
  .main #media .media-slide .swiper-slide .media-img {
    height: 220px;
  }
}
@media all and (max-width: 768px) {
  .main #media .media-slide .swiper-slide .media-img {
    height: 200px;
  }
}
.main #media .media-slide .swiper-slide:hover .media-img {
  filter: grayscale(0%) brightness(1);
  transform: scale(1.03);
}
.main #media .media-slide .swiper-slide .media-img > img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: 0.3s;
}
.main #media .media-slide .swiper-slide .media-img > iframe {
  width: 100%;
  height: 100%;
}
.main #media .media-slide .swiper-slide .media-cate {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background-color: rgba(15, 20, 30, 0.62);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.main #media .media-slide .swiper-slide .media-cate.n2 {
  background-color: rgba(0, 75, 174, 0.78);
}
.main #media .media-slide .swiper-slide .media-subject {
  margin-top: 18px;
  font-size: 17px;
  font-weight: 700;
  color: #1A1A2E;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media all and (max-width: 1230px) {
  .main #media .media-slide .swiper-slide .media-subject {
    margin-top: 14px;
    font-size: 15px;
  }
}
.main #media .media-slide .swiper-slide .media-date {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
  color: #8A8F99;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
}
.main #media .media-slide .swiper-slide .media-date::before {
  display: block;
  font-family: "remixicon";
  font-size: 14px;
  content: "\eb21";
  font-weight: 400;
  color: #8A8F99;
}

/* ---------- 이전 / 정지 / 다음 / 더보기 (하단 중앙 한 줄) ---------- */
.main #media .media-bottom-control {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 40px;
  padding-bottom: 70px;
}
@media all and (max-width: 1230px) {
  .main #media .media-bottom-control {
    margin-top: 26px;
    padding-bottom: 50px;
  }
}
.main #media .media-bottom-control .arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  border: 1px solid #E1E4EB;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #media .media-bottom-control .arrow:hover {
  background-color: #F1F3F7;
}
.main #media .media-bottom-control .arrow::before {
  display: block;
  font-family: "remixicon";
  font-size: 22px;
  line-height: 1;
  color: #1A1A2E;
}
.main #media .media-bottom-control .arrow.prev::before {
  content: "\ea64";
}
.main #media .media-bottom-control .arrow.next::before {
  content: "\ea6e";
}
.main #media .media-bottom-control .arrow.pause::before {
  content: "\efd8";
}
.main #media .media-bottom-control .arrow.play::before {
  content: "\f00a";
}
@media all and (max-width: 768px) {
  .main #media .media-bottom-control .arrow {
    width: 44px;
    height: 44px;
  }
  .main #media .media-bottom-control .arrow::before {
    font-size: 18px;
  }
}
.main #media .media-bottom-control .more {
  height: 52px;
  padding: 0 34px;
  border-radius: 30px;
  background-color: #004BAE;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #media .media-bottom-control .more:hover {
  background-color: #003a8a;
}
@media all and (max-width: 768px) {
  .main #media .media-bottom-control .more {
    height: 44px;
    padding: 0 26px;
    font-size: 14px;
  }
}

.main #news {
  background-color: #F5F7FB;
  color: #1A1A2E;
}
.main #news .main-head {
  text-align: center; margin-top:6rem;
}
.main #news .main-title {
  color: #004BAE;
  opacity: 1;
}
.main #news .main-subtitle {
  font-family: 'Gong Gothic';
  font-weight: bold;
  color: #1A1A2E;
}
.main #news .news-wrap {margin-top:10px; display: flex; gap: 70px;}
@media all and (max-width: 1530px) {
  .main #news .news-wrap {
    margin-top: 30px;
  }
}
@media all and (max-width: 1024px) {
  .main #news .news-wrap {
    gap: 20px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-wrap {
    flex-wrap: wrap;
    margin-top: 20px;
    gap: 30px;
    justify-content: center;
  }
}
.main #news .news-wrap .news-item {
  flex-basis: 100%;
  position: relative;
  min-width: 0;
}
.main #news .news-wrap .news-item.news-board {
  display: flex;
  flex-direction: column;
}

/* ---------- 공지사항 / 공공발주정보 탭 보드 ---------- */
.main #news .news-board-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.main #news .news-tabs {
  display: flex;
  gap: 8px;
}
.main #news .news-tabs .tab-btn {
  padding:10px 22px;
  border-radius:50px;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  color: #4B4F5A;
  font-size:20px;
  font-weight: 700;
  transition: 0.2s;
}
.main #news .news-tabs .tab-btn:hover {
  background-color: #F1F3F7;
}
.main #news .news-tabs .tab-btn.active {
  background-color: #004BAE;
  border-color: #004BAE;
  color: #fff;
}
@media all and (max-width: 768px) {
  .main #news .news-tabs .tab-btn {
    height: 36px;
    padding: 0 16px;
    font-size: 13px;
  }
}
.main #news .news-add {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border: 1px solid #D8DBE3;
  transition: 0.2s;
}
.main #news .news-add i {
  display: block;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #news .news-add:hover {
  background-color: #F1F3F7;
  border-color: #B8BCC8;
}

.main #news .news-board-body {
  margin-top:15px;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border: 1px solid #E7EAF0;
  border-radius: 20px;
  padding:15px 40px;
  box-shadow: 0px 10px 20px 0px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
@media all and (max-width: 768px) {
  .main #news .news-board-body {
    padding: 6px 20px;
    border-radius: 16px;
  }
}

.main #news .news-list {
  display: none;
}
.main #news .news-list.active {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}
.main #news .news-list .news-anchor,
.main #news .news-list #listPublicOrder .news-anchor {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding:15px 0;
  border-bottom: 1px solid #EBEDF2;
  background: none;
  height: auto;
  border-radius: 0;
}
.main #news .news-list .news-anchor:last-child,
.main #news .news-list #listPublicOrder .news-anchor:last-child {
  border-bottom: none;
}
.main #news .news-list .news-anchor:hover .news-subject,
.main #news .news-list #listPublicOrder .news-anchor:hover .news-subject {
  color: #004BAE;
}
.main #news .news-list .dot {
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #004BAE;
}
.main #news .news-list .news-subject {
  flex: 1;
  min-width: 0;
  font-size:17px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: 0.2s;
}
.main #news .news-list .news-date {
  flex-shrink: 0;
  font-size:16px;
  font-weight: 500;
  color: #8A8F99;
}
@media all and (max-width: 768px) {
  .main #news .news-list .news-subject {
    font-size: 14px;
  }
  .main #news .news-list .news-date {
    font-size: 12px;
  }
  .main #news .news-list .news-anchor,
  .main #news .news-list #listPublicOrder .news-anchor {
    padding: 14px 0;
  }
}
/* 공공발주정보는 JS가 news-cate / news-text(info) / 별도 news-more 링크까지 함께
   생성하지만, 홈 화면 목록은 공지사항과 동일하게 "제목 + 날짜" 한 줄로 축약 */
.main #news .news-list #listPublicOrder .news-cate,
.main #news .news-list #listPublicOrder .news-text {
  display: none;
}
.main #news .news-list #listPublicOrder > .news-more {
  display: none;
}
.main #news .news-list #listPublicOrder .news-date {
  position: static;
  opacity: 1;
}
.main #news .news-list #listPublicOrder .news-date::before {
  display: none;
}
.main #news .news-list .no-result {
  padding: 30px 0;
  text-align: center;
  color: #8A8F99;
  font-size: 14px;
}

/* ---------- 뉴스레터 ---------- */
.main #news .news-wrap .news-item.newsletter {
  flex-basis: 480px;
  flex-shrink: 0;
}
@media all and (max-width: 1230px) {
  .main #news .news-wrap .news-item.newsletter {
    flex-basis: 288px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-wrap .news-item.newsletter {
    flex-basis: auto;
    width: 390px;
    max-width: 100%;
  }
}
.main #news .news-item-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
}
.main #news .news-wrap .news-item .news-title {
  font-size: 30px;
  font-weight: 700;
  margin-bottom: 0;
  color: #1A1A2E;
}
@media all and (max-width: 1024px) {
  .main #news .news-wrap .news-item .news-title {
    font-size: 26px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-wrap .news-item .news-title {
    font-size: 20px;
  }
}
.main #news .news-wrap .news-item.newsletter .news-more {
  position: static;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #D8DBE3;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.2s;
}
.main #news .news-wrap .news-item.newsletter .news-more i {
  display: block;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B4F5A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3C/svg%3E") no-repeat center/contain;
}
.main #news .news-wrap .news-item.newsletter .news-more:hover {
  background-color: #F1F3F7;
}
.main #news .news-wrap .news-item.newsletter .news-anchor {
  display: block;
  position: relative;
  padding: 0;
  height: auto;
  border-radius: 16px;
  overflow: hidden;
  background-color: transparent;
}
.main #news .news-wrap .news-item.newsletter .news-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.main #news .news-wrap .news-item.newsletter .news-img.mb {
  display: none;
}
@media all and (max-width: 1230px) {
  .main #news .news-wrap .news-item.newsletter .news-img.mb {
    display: block;
  }
  .main #news .news-wrap .news-item.newsletter .news-img.pc {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-wrap .news-item.newsletter .news-img {
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.main #news .news-link {
  background-color: #4581cf;
  border-radius: 10px;
  margin-top:50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding:30px;
}
@media all and (max-width: 1530px) {
  .main #news .news-link {
    margin-top: 30px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-link {
    flex-wrap: wrap;
    padding: 25px 30px 30px;
    justify-content: center;
  }
}
.main #news .news-link .link-title {
  flex-basis: 380px;
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-title {
    flex-basis: 100%;
    text-align: center;
  }
}
.main #news .news-link .link-title .title {font-size: 22px; font-weight: 700; color:#fff;}

@media all and (max-width: 1024px) {
  .main #news .news-link .link-title .title {
    font-size: 24px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-title .title {
    font-size: 20px;
  }
}
.main #news .news-link .link-title .text {
  font-size: 16px;
  font-weight: 500;
  opacity: 0.7;
  margin-top: 15px;
  word-break: keep-all;
  color:#fff;
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-title .text {
    font-size: 14px;
  }
}
.main #news .news-link .link-img {
  display: flex;
  gap: 70px;
  line-height: 0;
  text-align: left;
}
@media all and (max-width: 1530px) {
  .main #news .news-link .link-img {
    flex-basis: 40%;
    flex-wrap: wrap;
    gap: 15px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-img {
    display: inline-flex;
  }
}
@media all and (max-width: 1530px) {
  .main #news .news-link .link-img .link-item {
    flex-basis: 100%;
  }
}
.main #news .news-link .link-img .link-inner {
  position: relative;
  transition: 0.3s;
  display: inline-block;
}
@media all and (max-width: 1530px) {
  .main #news .news-link .link-img .link-inner {
    padding-right: 41px;
  }
}
@media all and (max-width: 1024px) {
  .main #news .news-link .link-img .link-inner {
    padding-right: 36px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-img .link-inner {
    padding-right: 0;
  }
}
.main #news .news-link .link-img .link-inner::before, .main #news .news-link .link-img .link-inner::after {
  display: block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto 0;
  opacity: 0;
  transition: 0.3s;
}
@media all and (max-width: 1024px) {
  .main #news .news-link .link-img .link-inner::before, .main #news .news-link .link-img .link-inner::after {
    width: 22px;
    height: 22px;
  }
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-img .link-inner::before, .main #news .news-link .link-img .link-inner::after {
    display: none;
  }
}
.main #news .news-link .link-img .link-inner::before {
  content: "";
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
}
.main #news .news-link .link-img .link-inner::after {
  font-family: "remixicon";
  content: "\ea70";
  font-size: 18px;
  color: #fff;
  text-align: center;
  line-height: 26px;
}
@media all and (max-width: 1024px) {
  .main #news .news-link .link-img .link-inner::after {
    font-size: 15px;
    line-height: 22px;
  }
}
.main #news .news-link .link-img .link-inner > img {
  display: block;
}
@media all and (max-width: 1024px) {
  .main #news .news-link .link-img .link-inner > img {
    height: 33px;
  }
}
.main #news .news-link .link-img .link-inner:hover {
  padding-right: 41px;
}
@media all and (max-width: 768px) {
  .main #news .news-link .link-img .link-inner:hover {
    padding-right: 0;
  }
}
.main #news .news-link .link-img .link-inner:hover::before, .main #news .news-link .link-img .link-inner:hover::after {
  opacity: 1;
}
.main .popup-layer {
  width: auto;
  height: auto;
  position: static;
  background: none;
}
@media only screen and (max-width: 64.05em) {
  .main .popup-layer > div {
    width: 75% !important;
    height: auto !important;
    top: 164px !important;
    left: 50% !important;
    transform: translateX(-50%);
  }
  .main .popup-layer > div img {
    width: 100%;
    height: auto;
  }
  .main .popup-layer.length3 > div:nth-child(1) {
    top: 100px !important;
    left: 45% !important;
  }
  .main .popup-layer.length3 > div:nth-child(2) {
    top: 132px !important;
    left: 50% !important;
  }
  .main .popup-layer.length3 > div:nth-child(3) {
    left: 55% !important;
  }
  .main .popup-layer.length2 > div:nth-child(1) {
    top: 125px !important;
    left: 46% !important;
  }
}

[data-modal] {
  visibility: hidden;
  position: fixed;
  transition: visibility 0s 0.4s;
}
[data-modal].active {
  visibility: visible;
  transition: visibility 0s 0s;
}

[data-modal-open],
[data-modal-close] {
  cursor: pointer;
}

.popup-modal {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  top: 0;
  left: 0;
  z-index: 999999999;
  width: 100%;
  height: 100%;
  padding: 20px;
  flex-direction: column;
}
.popup-modal::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background 0.4s;
}
.popup-modal.active::before {
  background-color: rgba(0, 0, 0, 0.65);
}
.popup-modal .modal-con {
  display: flex;
  overflow: hidden;
  position: relative;
  max-width: 660px;
  width: 100%;
  max-height: 100%;
  margin: auto;
  border-radius: 12px;
  flex-direction: column;
  opacity: 0;
  transition: opacity 0.4s;
}
.popup-modal.active .modal-con {
  opacity: 1;
}
.popup-modal .modal-con .con-head {
  display: flex;
  overflow: hidden;
  padding-bottom: 60px;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.popup-modal .modal-con .con-head .logo {
  display: block;
  width: 1em;
  padding-top: 0.256756em;
  font-size: 148px;
  background: url(/humanframe/theme/kaia/assets/image/new_2026/common/logo-white.svg) no-repeat top center/1em;
}
.popup-modal .modal-con .con-head > .tit {
  display: block;
  font-weight: 700;
  font-size: 24px;
  color: inherit;
}
@media all and (max-width: 768px) {
  .popup-modal .modal-con .con-head {
    padding-bottom: 40px;
  }
}
@media all and (max-width: 600px) {
  .popup-modal .modal-con .con-head {
    padding-bottom: 20px;
  }
}
.popup-modal .modal-con .con-body {
  display: block;
  overflow: hidden;
  position: relative;
  padding: 0 80px;
  background-color: transparent;
  flex-grow: 1;
}
.popup-modal .modal-con .con-body .slide-box {
  display: block;
  overflow-x: hidden;
  overflow-y: scroll;
  position: relative;
  max-width: 516px;
  width: 100%;
  max-height: 100%;
  margin: 0 auto;
  border-radius: 8px;
  background-color: #fff;
  padding-left: 8px;
}
@media (hover: hover) and (pointer: fine) {
  .popup-modal .modal-con .con-body .slide-box::-webkit-scrollbar {
    width: 8px;
    height: 8px;
    box-sizing: content-box;
  }
  .popup-modal .modal-con .con-body .slide-box::-webkit-scrollbar-thumb {
    border-radius: 8px;
    background: #8E8E8E;
  }
  .popup-modal .modal-con .con-body .slide-box::-webkit-scrollbar-track {
    padding: 0 8px;
    border-radius: 10px;
    background: #ffffff;
  }
}
.popup-modal .modal-con .con-body .slide-container {
  display: block;
  overflow: hidden;
  padding: 6px;
  border-radius: 20px;
  background-color: #fff;
}
.popup-modal .modal-con .con-body .slide-container .swiper-slide .item {
  display: block;
  overflow: hidden;
  outline-offset: -2px;
}
.popup-modal .modal-con .con-body .slide-container .swiper-slide .item img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.popup-modal .modal-con .con-body .slide-controls {
  display: flex;
  position: absolute;
  top: 50%;
  left: 50%;
  right: 0;
  width: 100%;
  gap: 10px;
  transform: translateX(-50%);
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl {
  display: flex;
  position: absolute;
  top: 0;
  width: 50px;
  height: 50px;
  border-radius: 999px;
  background-color: #fff;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 10px 20px 0 rgba(0, 0, 0, 0.1);
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl::before {
  content: "";
  display: flex;
  font-family: "remixicon";
  font-weight: normal;
  font-size: 24px;
  color: #000;
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl:focus-visible {
  outline: 2px dashed #D64113;
  outline-offset: -4px;
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl.prev {
  left: 0;
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl.prev::before {
  content: "\ea60";
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl.next {
  right: 0;
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl.next::before {
  content: "\ea6c";
}
.popup-modal .modal-con .con-body .slide-controls .btn-ctrl.swiper-button-lock {
  background-color: #666666;
}
@media all and (max-width: 768px) {
  .popup-modal .modal-con .con-body {
    padding: 0 60px;
  }
}
@media all and (max-width: 600px) {
  .popup-modal .modal-con .con-body {
    padding: 0 40px;
  }
  .popup-modal .modal-con .con-body .slide-controls .btn-ctrl {
    width: 30px;
    height: 60px;
  }
}
.popup-modal .modal-con .con-foot {
  display: flex;
  padding-top: 80px;
  gap: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.popup-modal .modal-con .con-foot .count {
  display: flex;
  height: 42px;
  padding: 0 28px;
  border-radius: 999px;
  background-color: #fff;
  font-weight: 600;
  font-size: 16px;
  color: var(--color-text-90);
  gap: 0.3em;
  align-items: center;
}
.popup-modal .modal-con .con-foot .count .num {
  color: #D64113;
}
.popup-modal .modal-con .con-foot .btn-ctrl-modal {
  display: flex;
  height: 42px;
  padding: 0 28px;
  border-radius: 999px;
  background-color: #D64113;
  font-weight: 600;
  font-size: 16px;
  color: #fff;
  align-items: center;
}
.popup-modal .modal-con .con-foot .btn-ctrl-modal::after {
  content: "\eb96";
  display: block;
  margin-left: 10px;
  font-family: "remixicon";
  font-weight: normal;
  font-size: 18px;
  border-radius: 999px;
}
.popup-modal .modal-con .con-foot .btn-ctrl-modal:focus-visible {
  outline: 2px dashed #fff;
  outline-offset: -4px;
}
@media all and (max-width: 768px) {
  .popup-modal .modal-con .con-foot {
    padding-top: 40px;
  }
  .popup-modal .modal-con .con-foot .count {
    padding: 0 15px;
    font-size: 15px;
  }
  .popup-modal .modal-con .con-foot .btn-ctrl-modal {
    padding: 0 15px;
    font-size: 15px;
  }
}
@media all and (max-width: 600px) {
  .popup-modal .modal-con .con-foot {
    padding-top: 20px;
  }
  .popup-modal .modal-con .con-foot .btn-ctrl-modal {
    padding: 0 15px;
    font-size: 15px;
  }
}


/* footer */
footer .top-link {background-color:#6a85a7 !important;}
footer .top-link .link-wrap .link-swiper .swiper-slide > a {color:#fff !important;}
/* footer 끝 */

