@charset "utf-8";

.seoul-top {
  height: 48px;
}
/* top menu */
.top-menu {
  background: var(--main-500);
}
.top-menu .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-menu .left-menu {
  display: flex;
  align-items: center;
}
.top-menu .left-menu a {
  display: inline-flex;
  padding: 12px 32px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 0 32px 0 0;
  color: var(--White, #fff);
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 20.8px */
}
.top-menu .left-menu li:not(:first-child) a {
  padding: 12px 32px 12px 64px;
  margin-left: -32px;
}
.top-menu .left-menu a.left-menu01 {
  background: var(--primary-900);
}
.top-menu .left-menu a.left-menu02 {
  background: var(--Mint, #00c6cd);
}
.top-menu .left-menu a.left-menu03 {
  background: var(--Green, #7fc241);
}
.top-menu .left-menu a.left-menu04 {
  background: var(--Yellow, #f49a00);
}
.top-menu .left-menu li:nth-child(1) {
  z-index: 4;
}
.top-menu .left-menu li:nth-child(2) {
  z-index: 3;
}
.top-menu .left-menu li:nth-child(3) {
  z-index: 2;
}
.top-menu .left-menu li:nth-child(4) {
  z-index: 1;
}
.top-menu .left-menu a.is-active {
  background: var(--White, #fff);
}
.top-menu .left-menu li:nth-child(1) a.is-active {
  color: var(--Primary-900, #197aef);
}
.top-menu .left-menu li:nth-child(2) a.is-active {
  color: var(--Mint, #00c6cd);
}
.top-menu .left-menu li:nth-child(3) a.is-active {
  color: var(--Green, #7fc241);
}
.top-menu .left-menu li:nth-child(4) a.is-active {
  color: var(--Yellow, #f49a00);
}
.top-menu .right-menu {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-right: 24px;
}
.top-menu .right-menu a {
  color: var(--Gray-900, #111827);
  text-align: center;
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 18.2px */
  display: flex;
  align-items: center;
  gap: 6px;
}
.top-menu .right-menu a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
}
.menu-top-login::before {
  background: url(../../images/new/image/icon_login.svg) no-repeat center center;
}
.menu-top-admin::before {
  background: url(../../images/new/image/icon_home.svg) no-repeat center center;
  filter: invert(100%);
}
.menu-top-signup::before {
  background: url(../../images/new/image/icon_signup.svg) no-repeat center center;
}
.menu-top-logout::before {
  background: url(../../images/main/layout/icon_lock.png) no-repeat center center;
  filter: invert(100%);
}
.menu-top-sitemap::before {
  background: url(../../images/new/image/icon_sitemap.svg) no-repeat center center;
}

.menu-top-user {
  font-size: 14px;
}

/* header */

.header {
  height: 90px;
  position: sticky;
  top: 0;
  width: 100%;
  z-index: 99;
  background: var(--White, #fff);
}
.main-header {
  height: 100%;
}
.header .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-right-menu {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-right-menu li a {
  display: flex;
  padding: 33px 24px 31px 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: var(--Gray-900, #111827);
  text-align: center;
  font-family: Paperlogy;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 23.4px */
  border-bottom: 2px solid transparent;
}
.header-right-menu li a:hover {
  color: var(--main-900);
}
.header-right-menu li a.is-active {
  color: var(--main-900);
  border-bottom: 2px solid var(--main-900);
}
.sub-menu {
  padding: 32px 0;
  position: absolute;
  width: 100%;
  left: 0;
  top: 90px;
  background: #fff;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.3s ease-out,
    opacity 0.3s ease-out,
    padding 0.3s ease-out;
  border-bottom: 1px solid var(--Gray-200, #e8e8e8);
  border-top: 1px solid var(--Gray-100, #fafafc);
}
.sub-menu.is-visible {
  max-height: 500px;
  opacity: 1;
  padding: 32px 0;
}
.sub-menu.is-hidden {
  max-height: 0;
  opacity: 0;
  padding: 0;
}
.sub-menu .menu-step {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.sub-menu .menu-step > li > a {
  border-radius: 10px;
  border: 1px solid var(--Gray-300, #d1d5db);
  background: #fff;
  display: flex;
  padding: 14px 20px 14px 28px;
  justify-content: space-between;
  align-items: center;
  color: var(--Gray-700, #374151);
  font-family: Paperlogy;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 31px; /* 172.222% */
}
.sub-menu-link:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_link.svg) no-repeat center center;
  filter: brightness(0);
  opacity: 0.7;
}
.sub-menu-drop-down:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_drop_down_arrow.svg) no-repeat center center;
  filter: brightness(0);
  opacity: 0.7;
  transition: transform 0.3s ease;
}
.sub-menu-drop-down.is-collapsed:after {
  transform: rotate(-180deg);
}
.sub-menu-link:hover:after,
.sub-menu-drop-down:hover:after {
  filter: brightness(1);
  opacity: 1;
}
.sub-menu .menu-step > li a:hover {
  color: var(--main-900);
}
.sub-menu .menu-step > li > ul {
  padding: 16px 0;
  max-height: 500px;
  overflow: hidden;
  transition:
    max-height 0.3s ease,
    padding 0.3s ease;
}
.sub-menu .menu-step > li > ul.is-collapsed {
  max-height: 0;
  padding: 0;
}
.sub-menu .menu-step > li > ul a {
  color: var(--Gray-700, #374151);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 31px; /* 193.75% */
  margin-left: 28px;
  position: relative;
}
.sub-menu .menu-step > li > ul a:before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 4px;
  aspect-ratio: 1/1;
  background: var(--Gray-700, #374151);
  border-radius: 50%;
  position: absolute;
  left: -16px;
  top: 50%;
  transform: translateY(-50%);
}
.sub-menu .menu-step > li > ul a:hover:before {
  background: var(--main-900);
}
.top-sec {
  margin-top: 20px;
}

/* top slide */
.top-slide {
  display: flex;
  align-items: center;
  /* aspect-ratio: 130/48; */
  aspect-ratio: 130/52;
  width: 100%;
  border-radius: 16px;
  overflow: hidden;
}
.tab-btn-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  align-self: stretch;
  position: relative;
  width: 98px;
}
.tab-btn-wrap button {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 100%;
  flex: 1;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--main-400);
}
.tab-btn-wrap button.is-active {
  background: var(--main-900);
  color: var(--White, #fff);
}
.tab-btn-img-box {
  display: flex;
  width: 42px;
  height: 42px;
  padding: 9px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 21px;
  background: var(--White, #fff);
}
.tab-btn-wrap button.is-active img {
  filter: var(--icon-color);
}
.top-slide-wrap {
  position: relative;
  flex: 1;
  height: 100%;
  overflow: hidden;
  aspect-ratio: 130 / 52;
}
.top-slide-swiper {
  width: 100%;
  /* height: 100%; */
  height: calc(100% - 40px);
}
.top-slide-swiper .swiper-slide {
  width: 100%;
  height: 100%;
}
.top-slide-swiper .swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-silde-info {
}
.top-slide-info {
  /* position: absolute; */
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(17, 24, 39, 0.5);
  padding: 9px 18px;
  z-index: 9;
}
.top-slide-title {
  color: #fff;
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 22.4px */
  flex: 1;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.top-slide-page-wrap {
  display: flex;
  align-items: center;
  gap: 32px;
}
.top-slide-page {
  display: flex;
  align-items: center;
  gap: 8px;
}
.top-slide-page p {
  color: #fff;
  text-align: center;
  font-family: Pretendard;
  font-size: 16px;
  font-style: normal;
  font-weight: 200;
  line-height: 140%; /* 22.4px */
}
.top-slide-page p:nth-child(1) {
  font-weight: 700;
}
.top-slide-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
.top-slide-controls button {
  cursor: pointer;
}
.top-slide-controls button.hidden {
  display: none;
}

/* main-cta */
.main-cta-btns {
  margin-top: 16px;
  display: flex;
  padding: 8px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 16px;
  background: linear-gradient(0deg, #0b6ce2 0%, #0066e0 100%);
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.15);
}
.main-cta-btns li {
  flex: 1;
  /* height: stretch; */
  height: auto;
}
.main-cta-btns li a {
  display: flex;
  align-items: center;
  gap: 12px;
  /* padding: 16px; */
  padding: 26px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  height: 100%;
}
.main-cta-btns li a:hover {
  background: rgba(255, 255, 255, 0.15);
}
.main-cta-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1;
}
.main-cta-btns li a p {
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: 145%; /* 31.9px */
}
.main-cta-btns li a span {
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 145%;
}
.main-cta-btns li a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_write.svg) no-repeat center center;
}

/* sec-quick-menu */
.sec-quick-menu {
  background: linear-gradient(0deg, #f5faff 78.37%, #fff 100%);
  padding: 64px 0;
  margin-top: 40px;
}
.quick-menu-title {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  margin-bottom: 34px;
}
.quick-menu-title span {
  color: var(--main-900);
}
.quick-menu-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  gap: 24px;
}
.quick-menu-list a {
  display: flex;
  width: 100%;
  padding: 20px 16px 20px 20px;
  justify-content: space-between;
  align-items: center;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 16px 0 rgba(25, 122, 239, 0.08);
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  transition: all 0.3s ease;
}
.quick-menu-list a:hover {
  box-shadow: 0 12px 16px 0 rgba(25, 122, 239, 0.12);
  transform: translateY(-16px);
}
.quick-menu-list a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_right_arrow_b.svg) no-repeat center center;
}
.quick-menu-list .has-dropdown a:after{
	background: url(../../images/new/image/icon_drop_down_arrow.svg) no-repeat center center;
}

.quick-menu-list .quick-sub-menu-list a:after {
	background: url(../../images/new/image/icon_right_arrow_b.svg) no-repeat center center;
}

.quick-menu-list div {
  display: flex;
  align-items: center;
  gap: 14px;
}
.quick-menu-list .menu01:before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_quick_menu01.svg) no-repeat center center;
}
.quick-menu-list .menu02:before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_quick_menu02.svg) no-repeat center center;
}
.quick-menu-list .menu03:before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_quick_menu03.svg) no-repeat center center;
}
.quick-menu-list .menu04:before {
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_quick_menu04.svg) no-repeat center center;
}
/* search */
.sec-main-search .row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 100px 0;
  gap: 100px;
}
.search-wrap {
  border-radius: 100px;
  border: 4px solid var(--main-900);
  background: var(--White, #fff);
  display: flex;
  max-width: 640px;
  width: 100%;
  height: 72px;
  padding-left: 48px;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.search-wrap input {
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 28px */
  border: none;
  background: transparent;
  width: calc(100% - 80px);
  min-width: 0;
}
.search-wrap input::placeholder {
  color: var(--Gray-400, #9ca3af);
}
.search-wrap button {
  display: flex;
  width: 88px;
  height: 72px;
  padding: 29px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  border-radius: 100px;
  background: var(--main-900);
  position: absolute;
  right: -4px;
}
.sec-main-icon-menu {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 64px;
}
.icon-menu-list {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  width: 100%;
}
.title {
  color: var(--Gray-900, #111827);
  text-align: center;
  font-family: Paperlogy;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 56px */
}
.icon-menu-list li {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}
.icon-menu-list li a {
  display: flex;
  flex-direction: column;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 33.6px */
  transition: all 0.3s ease;
}
.icon-menu-list li a span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  transform: translateY(-10px);
  text-align: center;
}
.icon-menu-list li a:hover {
  transform: translateY(-12px);
}
.icon-menu-img {
  display: flex;
  padding: 24px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  background: var(--main-400);
}
.title-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
}
.sub-title {
  color: var(--Gray-500, #687280);
  text-align: center;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 28px */
}
.sec-main-campus {
  padding: 100px 0;
  background: var(--main-400);
}
.sec-main-campus .row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 64px;
}
.campus-type-list {
  border-radius: 100px;
  border: 1px solid var(--Gray-200, #e8e8e8);
  background: var(--White, #fff);
  /* display: inline-flex; */
  display: inline-grid;
  grid-template-columns: repeat(2, 1fr);
  padding: 6px;
  align-items: center;
}
.campus-type-list a {
  display: flex;
  padding: 14px 32px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  color: var(--Gray-400, #9ca3af);
  text-align: center;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  transition: none !important;
  transition-timing-function: initial !important;
  white-space: nowrap;
}
.campus-type-list a.is-active {
  background: var(--main-900);
  color: var(--White, #fff);
}
.main-campus-list {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 48px;
  width: 100%;
}
.campus-list-wrap {
  gap: 48px 30px;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.campus-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.campus-title-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.campus-title {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
}
.campus-more-btn {
  font-family: Paperlogy;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 25.2px */
  color: var(--Gray-900, #111827);
  display: flex;
  align-items: center;
  gap: 4px;
}
/* .campus-more-btn:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_list_plus.svg) no-repeat center center;
} */
.course-list {
  border-radius: 8px;
  border: 1px solid var(--Gray-200, #e8e8e8);
  background: var(--White, #fff);
  height: 395px;
  overflow: auto;
}
.course-list a {
  display: flex;
  padding: 24px 21px 22px 28px;
  align-items: flex-start;
  gap: 14px;
  align-self: stretch;
  justify-content: space-between;
}
.course-list a:hover .course-item-title p {
  text-decoration: underline;
}
.course-list li {
  border-bottom: 1px solid var(--Gray-200, #e8e8e8);
}
.course-list li:nth-child(n + 4):last-child {
  border-bottom: none;
}
.course-item-title {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.course-item-title p {
  overflow: hidden;
  color: var(--Gray-900, #111827);
  text-overflow: ellipsis;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 28px */
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.course-item-title span {
  overflow: hidden;
  color: var(--Gray-500, #687280);
  text-overflow: ellipsis;
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 19.6px */
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.course-item-state {
  display: flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 22.4px */
}
.course-item-state.is-open {
  background: var(--main-500);
  color: var(--main-900);
}
.course-item-state.is-ing {
  background: var(--Gray-100, #E0E7FF);
  color: var(--Gray-400, #7C3AED);
}
.course-item-state.is-closed {
  background: var(--Gray-100, #fafafc);
  color: var(--Gray-400, #9ca3af);
}
.color-main {
  color: var(--main-900);
}
.color-east {
  color: var(--Mint, #00c6cd);
}
.color-central {
  color: var(--Green, #7fc241);
}
.color-north {
  color: var(--Yellow, #f49a00);
}
.color-main {
  color: var(--main-900);
}
.campus-list-column {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.campus-list-bottom-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.campus-list-bottom-wrap a {
  padding: 38px 40px;
  border-radius: 8px;
  flex: 1;
  background: var(--main-500);
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 26px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  display: flex;
  align-items: center;
  gap: 12px;
  position: relative;
}
.campus-list-bottom-wrap a p {
  z-index: 9;
}
.campus-list-bottom-wrap a strong {
  font-weight: 600;
}
.campus-list-bottom-wrap a:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_link.svg) no-repeat center center;
  background-size: contain;
  filter: brightness(0);
}
.campus-list-bottom-wrap a::before {
  content: "";
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  aspect-ratio: 187/112;
  border-radius: 16px 8px 8px 100px;
  background: url(<path-to-image>) lightgray -28.575px -33.333px / 131.237%
    146.097% no-repeat;
  background: url(../../images/new/image/img_campus_btn01.png) no-repeat center center;
}
.campus-list-bottom-wrap a:nth-child(2)::before {
  background: url(../../images/new/image/img_campus_btn02.png) no-repeat center center;
}
/* board */
.sec-board {
  padding: 100px 0;
}
.notice-title-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sec-board .row {
  display: flex;
  align-items: flex-start;
  gap: 42px;
}
.sec-board .row > div {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.board-title-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.notice-title {
  display: flex;
  align-items: center;
  gap: 16px;
}
.notice-title button {
  color: var(--Gray-400, #9ca3af);
  font-family: Paperlogy;
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 39.2px */
}
.notice-title button.is-active {
  color: var(--main-900);
  font-weight: 700;
}
.add-btn {
  border-radius: 16px;
  background: var(--main-400);
  padding: 4px;
  text-indent: -9999px;
  width: 32px;
  height: 32px;
  position: relative;
}
.add-btn:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  aspect-ratio: 1/1;
  background: url(../../images/new/image/icon_list_plus.svg) no-repeat center center;
  position: absolute;
  top: 4px;
  right: 4px;
  filter: var(--icon-color);
}
.board-title-wrap h2 {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 39.2px */
}
.notice-list {
  display: flex;
  flex-direction: column;
}
.notice-item a {
  border-bottom: 1px solid var(--Gray-200, #e8e8e8);
  display: flex;
  padding: 18px 0;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  justify-content: space-between;
}
.notice-category {
  border-radius: 2500px;
  border: 1px solid var(--Primary-900, #197aef);
  display: flex;
  padding: 4px 20px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: var(--Primary-900, #197aef);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
}
.notice-category.type01 {
  color: var(--primary-900);
  border: 1px solid var(--primary-900);
}
.notice-category.type02 {
  color: var(--mint);
  border: 1px solid var(--mint);
}
.notice-category.type03 {
  color: var(--green);
  border: 1px solid var(--green);
}
.notice-item-title {
  overflow: hidden;
  color: var(--Gray-900, #111827);
  text-overflow: ellipsis;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  flex: 1;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.notice-item-date {
  color: var(--Gray-500, #687280);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
}
.notice-item a:hover .notice-item-title {
  text-decoration: underline;
}
.campus-tag {
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  display: inline-flex;
  padding: 6px 16px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  line-height: 140%; /* 22.4px */
  border-radius: 100px;

  margin-top: 16px;
}
.campus-tag.campus-main {
  color: var(--primary-900, #197aef);
  border: 1px solid var(--primary-900, #197aef);
  background: var(--White, #fff);
}
.campus-tag.campus-east {
  color: var(--Mint, #00c6cd);
  border: 1px solid var(--Mint, #00c6cd);
  background: var(--White, #fff);
}
.campus-tag.campus-central {
  color: var(--Green, #7fc241);
  border: 1px solid var(--Green, #7fc241);
  background: var(--White, #fff);
}
.campus-tag.campus-north {
  color: var(--Yellow, #f49a00);
  border: 1px solid var(--Yellow, #f49a00);
  background: var(--White, #fff);
}
.bidNotice.campus-main {
  color: var(--primary-900, #197aef);
  border: 1px solid var(--primary-900, #197aef);
  background: var(--White, #fff);
}
.bidNotice.campus-east {
  color: var(--Mint, #00c6cd);
  border: 1px solid var(--Mint, #00c6cd);
  background: var(--White, #fff);
}
.bidNotice.campus-central {
  color: var(--Green, #7fc241);
  border: 1px solid var(--Green, #7fc241);
  background: var(--White, #fff);
}
.bidNotice.campus-north {
  color: var(--Yellow, #f49a00);
  border: 1px solid var(--Yellow, #f49a00);
  background: var(--White, #fff);
}
.board-wrap {
  min-width: 0;
}
.board-list {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.interview-swiper {
  width: 100%;
  max-width: 100%;
  overflow: visible;
}
.interview-swiper .swiper-wrapper {
  display: flex;
}
.interview-swiper .swiper-slide {
  width: auto;
  height: auto;
  flex-shrink: 0;
}
.board-item {
  display: block;
  width: 100%;
  height: 100%;
}
.board-content {
  overflow: hidden;
  color: var(--Gray-900, #111827);
  text-overflow: ellipsis;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 12px;
}
.img-box {
  border-radius: 8px;
  overflow: hidden;
  aspect-ratio: 305/234;
  width: 100%;
  position: relative;
}
.img-box img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.3s ease;
}
.board-item:hover .board-content {
  text-decoration: underline;
}
.board-item:hover .img-box img {
  transform: translate(-50%, -50%) scale(1.05);
}
.info-board {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.board-date {
  color: var(--Gray-500, #687280);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
  margin-top: 10px;
}
.sec-info-board {
  padding: 40px 0 140px;
}
.info-board .board-content {
  -webkit-line-clamp: 2;
}

.slide-logos {
  display: flex;
  position: relative;
  overflow: hidden;
  height: 100px;
  width: 100%;
  border-top: 1px solid var(--Gray-200, #e8e8e8);
  background: var(--White, #fff);
  padding: 30px 0;
}
.slide-logo-list {
  display: flex;
  align-items: center;
  gap: 56px;
  position: absolute;
  width: max-content;
  padding: 0 24px;
}
.slide-logo-list img {
  height: 40px;
}
.slide-logo-list:nth-child(1) {
  animation: slide01 20s linear 0s infinite;
}
.slide-logo-list:nth-child(2) {
  animation: slide02 20s linear 0s infinite;
}
@keyframes slide01 {
  0% {
    transform: translateX(100%);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slide02 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.slide-logos:hover .slide-logo-list {
  animation-play-state: paused;
}
/* footer */
footer {
  background: url(../../images/new/image/img_footer_bg.png) no-repeat center center;
  background-size: cover;
  background-color: #1b2b43;
  padding: 48px 0;
}
.footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #687280;
}
.footer-top-link {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-top-rule {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}
.footer-select-wrap {
  position: relative;
}
.footer-select {
  display: flex;
  /* width: 200px; */ width: 180px;
  padding: 12px 16px;
  justify-content: space-between;
  align-items: center;
  border-radius: 8px;
  background: #364763;
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  position: relative;
  cursor: pointer;
}
.footer-select:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  aspect-ratio: 1/1;
  /* background: url("../../images/new/image/icon_footer_select_arrow.svg") no-repeat center center; */
  transition: transform 0.3s ease;
}
.footer-select.visitus:after {
  background: url("../../images/new/image/icon_footer_select_arrow.svg") no-repeat center center;  
}
.footer-select-wrap.is-active .footer-select:after {
  transform: rotate(180deg);
}
.footer-dropdown {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  background: #2d3e54;
  border-radius: 8px;
  margin-bottom: 4px;
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.footer-select-wrap.is-active .footer-dropdown {
  max-height: 300px;
  opacity: 1;
}
.footer-dropdown li a {
  display: block;
  padding: 12px 16px;
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  transition: background-color 0.2s ease;
}
.footer-dropdown li a:hover {
  background: #3d5169;
}
.top-info {
  display: flex;
  justify-content: space-between;
}
.top-info-left {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.top-info-left ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.top-info-left ul li {
  display: flex;
  align-items: center;
  gap: 4px;
}
.top-info-title {
  color: var(--Gray-200, #e8e8e8);
  font-family: Paperlogy;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 21px */
}
.top-info-text {
  color: var(--Gray-200, #e8e8e8);
  font-family: Paperlogy;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 21px */
}
.footer-copy {
  color: var(--Gray-200, #e8e8e8);
  font-family: Paperlogy;
  font-size: 13px;
  font-style: normal;
  font-weight: 300;
  line-height: 140%; /* 21px */
}
.top-info-rigfht {
  display: flex;
  flex-direction: column;
  gap: 42px;
  align-items: flex-end;
}
.footer-call-num {
  display: flex;
  align-items: center;
  gap: 16px;
}
.footer-call-num li {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.footer-call-title {
  color: var(--Gray-300, #d1d5db);
  font-family: Paperlogy;
  font-size: 15px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 21px */
}
.footer-call-number {
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%; /* 28px */
}
.header-mobile-btns {
  display: none;
}
.btn-menu {
  width: 40px;
  height: 40px;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  border: none;
}
.btn-menu img {
  width: 24px;
  height: 24px;
}
.footer-blog {
  display: none;
}
.footer-sns {
  display: none;
}
/* Mobile Menu */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 380px;
  height: 100vh;
  background: var(--White, #fff);
  z-index: 1001;
  transition: right 0.3s ease;
  overflow-y: auto;
}
.mobile-menu.is-active {
  right: 0;
}
.mobile-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0.3s ease;
}
.mobile-menu-overlay.is-active {
  opacity: 1;
  visibility: visible;
}
.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 16px;
  background: linear-gradient(90deg, #2d8db8 0%, #3752d5 55.29%);
}
.mobile-menu-top-btns {
  display: flex;
  gap: 24px;
}
.mobile-top-btn {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 14px;
  font-weight: 500;
}
.mobile-top-btn img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}
.btn-close {
  width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-close img {
  width: 32px;
  height: 32px;
  filter: brightness(0) invert(1);
}
.mobile-menu-nav {
  padding: 0;
}
.mobile-menu-item {
  border-bottom: 1px solid var(--Gray-200, #e8e8e8);
}
.mobile-menu-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 17px 16px;
  width: 100%;
  text-align: left;
  background: var(--White, #fff);
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
}
.mobile-menu-title::after {
  content: "";
  width: 20px;
  height: 20px;
  background: url(../../images/new/image/icon_footer_select_arrow.svg) no-repeat center;
  transition: transform 0.3s ease;
  filter: brightness(0);
}

.mobile-menu-item.is-active .mobile-menu-title::after {
  transform: rotate(180deg);
  filter: brightness(0) invert(1);
}
.mobile-submenu {
  max-height: 0;
  overflow: hidden;
  background: var(--Primary-400, #f5faff);
  transition: max-height 0.3s ease;
}
.mobile-menu-item.is-active .mobile-submenu {
  max-height: 500px;
}
.mobile-menu-item.is-active .mobile-menu-title {
  color: #fff;
}
.mobile-menu-item.is-active .mobile-menu-title {
  background: var(--Primary-900, #197aef);
}
.mobile-submenu-item:last-child {
  border-bottom: none;
}
.mobile-submenu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 16px 16px 32px;
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 18.2px */
}
.mobile-submenu-item.has-dropdown .mobile-submenu-link {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.mobile-submenu-item:not(.has-dropdown) .mobile-submenu-link::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../images/new/image/icon_link.svg) no-repeat center;
  background-size: contain;
  transition: transform 0.3s ease;
  filter: brightness(0);
  display: block;
  opacity: 0.7;
}
.mobile-submenu-item.has-dropdown .mobile-submenu-link::after {
  content: "";
  width: 16px;
  height: 16px;
  background: url(../../images/new/image/icon_footer_select_arrow.svg) no-repeat center;
  background-size: contain;
  transition: transform 0.3s ease;
  filter: brightness(0);
  opacity: 0.7;
}
.mobile-submenu-item.has-dropdown.is-active .mobile-submenu-link::after {
  transform: rotate(180deg);
}
.mobile-third-menu {
  max-height: 0;
  overflow: hidden;
  background: var(--White, #fff);
  transition: max-height 0.3s ease;
}
.mobile-submenu-item.has-dropdown.is-active .mobile-third-menu {
  max-height: 300px;
}
.mobile-third-menu a {
  display: flex;
  align-items: center;
  padding: 6px 20px 6px 42px;
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 130%; /* 18.2px */
}
.mobile-third-menu a:first-child {
  padding-top: 16px;
}
.mobile-third-menu a:last-child {
  padding-bottom: 16px;
}
.mobile-third-menu a::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  aspect-ratio: 1/1;
  background-color: var(--Gray-900, #111827);
  border-radius: 10px;
  margin-right: 8px;
}
.mobile-third-menu a:last-child {
  border-bottom: none;
}
/* 캠퍼스 */
.campus-top-sec-wrap {
  display: grid;
  grid-template-columns: 97fr 31fr;
  gap: 20px;
}
.campus-top-sec-wrap .top-slide {
  aspect-ratio: 97 / 52;
  width: auto;
  flex: 1;
}
.campus-cta-btns-wrap {
  display: flex;
  /* aspect-ratio: 310 / 480; */
  aspect-ratio: 310 / 520;
  padding: 24px;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  border-radius: 16px;
  background: #fafafc;
}
.campus-cta-btns-wrap .campus-title {
  font-size: 24px;
}
.campus-cta-btns-wrap .add-btn {
  background: var(--White, #fff);
  width: 32px;
  height: 32px;
}
.campus-cta-btns-wrap .campus-cta-btns {
  width: 100%;
  flex: 1;
  overflow: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.campus-cta-btns-wrap .campus-cta-btns a {
  border-radius: 8px;
  border: 1px solid var(--Gray-200, #e8e8e8);
  background: var(--White, #fff);
  display: flex;
  padding: 14px 20px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  align-self: stretch;
}
.campus-cta-btns-wrap .main-cta-title {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  align-self: stretch;
}
.campus-cta-btns-wrap .main-cta-title p {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 22.4px */
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.campus-cta-btns-wrap .main-cta-title span {
  color: var(--Gray-500, #687280);
  font-family: Paperlogy;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 16.8px */
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.campus-body .icon-menu-list li {
  align-items: flex-start;
}
.campus-body .icon-menu-list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
}
.sec-campus-cta {
  padding: 60px 0 20px;
}
.sec-campus-list-wrap {
  padding: 80px 0 110px;
  background: var(--campus-background);
}
.campus-search-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 180px;
}
.campus-number {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.campus-number-title {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%; /* 33.6px */
}
.campus-number-phone {
  color: var(--main-900);
  font-family: Paperlogy;
  font-size: 40px;
  font-style: normal;
  font-weight: 800;
  line-height: 140%; /* 56px */
}
.campus-number-time {
  color: var(--Gray-500, #687280);
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 22.4px */
  margin-top: 6px;
}
.campus-number-email {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
}
.campus-number-email p {
  color: var(--Gray-500, #687280);
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%; /* 22.4px */
}
.campus-search {
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.campus-search h2 {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
}
.campus-search h2 strong {
  color: var(--main-900);
}
.sec-campus-list-wrap .title-wrap {
  margin-bottom: 64px;
}
.sec-campus-list-wrap .course-list a {
  padding: 16px;
  display: flex;
  align-items: center;
}
.sec-campus-list-wrap .course-list img {
  width: 84px;
  height: 84px;
  border-radius: 8px;
}
.sec-campus-list-wrap .course-list {
  height: 353px;
}
.campus-body .board-content {
  -webkit-line-clamp: 2;
}
.sec-schedule {
  padding: 40px 0 140px;
}
.sec-schedule h2 {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  text-align: center;
}
.sec-schedule h2 strong {
  color: var(--main-900);
}
.schedule-title {
  margin-bottom: 50px;
}

.schedule-title .add-btn {
  display: none;
}
.schedule-month,
.schedule-day {
  display: flex;
  border-radius: 34px;
  background: var(--main-400);
  padding: 6px;
  align-items: center;
  position: relative;
}
.month-list,
.day-list {
  display: flex;
  flex: 1;
  height: 100%;
}
.month-list li {
  flex: 1;
  height: 100%;
}
.month-list li button {
  display: flex;
  padding: 14px 0;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  color: var(--Gray-400, #9ca3af);
  text-align: center;
  font-family: Paperlogy;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 28px */
  border-radius: 100px;
}
.month-list li button.is-active {
  background: var(--main-900);
  color: var(--White, #fff);
}
.schedule-month a {
  border-radius: 100px;
  background: var(--main-500);
  display: flex;
  width: 56px;
  height: 56px;
  padding: 4px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
}
.schedule-month a:hover {
  background: var(--main-900);
}
.schedule-month a:hover:after {
  filter: brightness(0) invert(1);
}
.schedule-month a:after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../../images/new/image/icon_list_plus.svg) no-repeat center center;
  filter: var(--icon-color);
}
.day-list li button {
  display: flex;
  width: 40px;
  height: 40px;
  padding: 14px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  color: var(--Gray-600, #485563);
  text-align: center;
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 22.4px */
  border-radius: 100%;
}
.day-list li button.is-scheduled {
  background: var(--main-500);
}
.day-list li button.is-active {
  background: var(--main-900);
  color: var(--White, #fff);
}

.day-list::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 1px;
  background: var(--main-500);
  width: calc(100% - 48px);
  left: 24px;
}
.day-list {
  flex-wrap: wrap;
}
.schedule-btn {
  display: flex;
  width: 40px;
  height: 90px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 8px;
  background: var(--Gray-100, #fafafc);
}
.schedule-btn img {
  width: 20px;
  height: 20px;
  filter: brightness(0);
}
.schedule-item-date {
  color: var(--Gray-400, #9ca3af);
  font-family: Paperlogy;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 25.2px */
}
.schedule-item-title {
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 22px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 30.8px */
}
.schedule-item-list {
  display: grid;
  flex: 1;
  grid-template-columns: repeat(3, 1fr);
}
.schedule-item-wrap {
  display: flex;
  margin-top: 38px;
}
.schedule-item {
  display: flex;

  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  flex: 1 0 0;
  border-left: 1px solid var(--Gray-200, #e8e8e8);
  background: var(--White, #fff);
}
.schedule-item a {
  padding: 16px 28px;
  width: 100%;
}
.schedule-item a:hover .schedule-item-title {
  text-decoration: underline;
}
.schedule-item:nth-child(3n-2) {
  border-left: none;
}
.schedule-item-empty {
  grid-column: 1 / -1;
  text-align: center;
  border-left: none !important;
}
.schedule-item-empty .schedule-item-title {
  width: 100%;
  text-align: center;
  font-size: 18px;
  color: var(--Gray-400, #9ca3af);
}
.schedule-day {
  padding: 14px 16px;
}
.footer-rule-link {
  color: var(--White, #fff);
  font-family: Paperlogy;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
}
.footer-rule-link:hover {
  text-decoration: underline;
}
.campus-body .footer-top-rule {
  gap: 16px;
}
.campus-top-info-left {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.top-info-address {
  color: var(--Gray-200, #e8e8e8);
  font-family: Paperlogy;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 21px */
}
.campus-top-info-left ul {
  flex-direction: row;
}
.campus-body .top-info-rigfht {
  gap: 24px;
}
.top-banner {
  height: 100px;
  display: block;
  overflow: hidden;
}
.top-banner .row {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.banner-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.banner-title p {
  color: var(--Gray-800, #1f2b37);
  text-align: center;
  font-family: Paperlogy;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 145%; /* 34.8px */
}
.banner-title h3 {
  color: var(--main-900);
  text-align: center;
  font-family: Paperlogy;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 145%; /* 52.2px */
}
.campus-main .top-banner {
  display: none;
}
.campus-east .top-banner {
  background: var(--east-top-banner);
}
.campus-east .top-banner .row::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 285.917px;
  height: 87.235px;
  background: url(../../images/new/image/img_banner_top_east01.png) no-repeat center center;
}
.campus-east .top-banner .row::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  width: 307.999px;
  height: 88.745px;
  background: url(../../images/new/image/img_banner_top_east02.png) no-repeat center center;
}
.campus-central .top-banner {
  background: var(--central-top-banner);
}
.campus-central .top-banner .row::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 247.587px;
  height: 88.621px;
  background: url(../../images/new/image/img_banner_top_central01.png) no-repeat center center;
}
.campus-central .top-banner .row::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  width: 235px;
  height: 84.147px;
  background: url(../../images/new/image/img_banner_top_central02.png) no-repeat center center;
}
.campus-north .top-banner {
  background: var(--north-top-banner);
}
.campus-north .top-banner .row::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  width: 270px;
  height: 87.58px;
  background: url(../../images/new/image/img_banner_top_north01.png) no-repeat center center;
}
.campus-north .top-banner .row::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  width: 241.016px;
  height: 90px;
  background: url(../../images/new/image/img_banner_top_north02.png) no-repeat center center;
}
.campus-body .main-campus-list .course-list {  
  -ms-overflow-style: auto;
  scrollbar-width: auto;
}
/* sub */
.sub-top-title {
  padding: 60px 0;
}
.top-title-background01 {
  background: url(../../images/new/image/img_sub_title_background01.png) no-repeat center
    center;
}
.sub-top-title .row {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.sub-top-title h2 {
  color: #fff;
  font-family: Paperlogy;
  font-size: 44px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 57.2px */
}
.top-title-menu-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.top-title-menu {
  display: flex;
  align-items: center;
  gap: 8px;
}
.title-menu-home-btn {
  display: flex;
  width: 48px;
  height: 48px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  aspect-ratio: 1/1;
  border-radius: 100px;
  background: var(--Primary-900, #197aef);
}
.title-menu-print-btn {
  display: flex;
  width: 48px;
  height: 48px;
  justify-content: center;
  align-items: center;
  gap: 85px;
  flex-shrink: 0;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
}
.title-menu-select-wrap {
  position: relative;
}
.title-menu-select {
  display: flex;
  width: 220px;
  height: 48px;
  padding: 13px 20px 12px 30px;
  justify-content: space-between;
  align-items: center;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 23.4px */
  cursor: pointer;
  transition: all 0.2s;
}
.title-menu-select:hover {
  background: rgba(255, 255, 255, 0.8);
}
.title-menu-select-wrap.is-active .title-menu-select {
  background: var(--White, #fff);
}
.title-menu-select img {
  width: 16px;
  height: 16px;
  transition: transform 0.3s;
}
.title-menu-select-wrap.is-active .title-menu-select img {
  transform: rotate(180deg);
}
.title-menu-options {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  display: none;
  width: 220px;
  padding: 8px;
  align-items: flex-start;
  flex-direction: column;
  border-radius: 24px;
  background: var(--White, #fff);
  box-shadow: 0 4px 16px 0 rgba(0, 0, 0, 0.1);
  z-index: 100;
}
.title-menu-select-wrap.is-active .title-menu-options {
  display: flex;
}
.title-menu-options li {
  width: 100%;
}
.title-menu-options li button {
  display: flex;
  width: 100%;
  padding: 12px 24px;
  align-items: center;
  gap: 8px;
  border-radius: 18px;
  background: var(--White, #fff);
  color: var(--Gray-900, #111827);
  font-family: Paperlogy;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s;
}
.title-menu-options li button:hover {
  border-radius: 18px;
  background: var(--Primary-400, #f5faff);
}
.title-menu-options li button.is-active {
  color: var(--Primary-900, #197aef);
}
.sub-contents {
  padding: 80px 0;
}
.page-title {
  color: var(--Gray-900, #111827);
  text-align: center;
  font-family: Paperlogy;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%; /* 52px */
}
@media all and (max-width: 1100px) {
  .header-right-menu li a {
    padding: 33px 22px 31px 22px;
  }
}
@media all and (max-width: 1023px) {
  .main-header {
  	padding-left: 10px;
  }
  .top-menu .right-menu {
    display: none;
  }
  .top-menu .left-menu {
    width: 100%;
  }
  .top-menu .row {
    padding: 0;
  }
  .top-menu .left-menu li {
    flex: 1;
  }
  .top-menu .left-menu a {
    font-size: 14px;
    width: calc(100% + 20px);
    padding: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    border-radius: 0 20px 0 0;
  }
  .top-menu .left-menu li:nth-child(1) a {
    width: 100%;
  }
  .top-menu .left-menu li:not(:first-child) a {
    padding: 0;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    margin-left: -20px;
  }

  .header-right-menu {
    display: none;
  }
  .sub-menu {
    display: none;
  }
  .header {
    height: 60px;
  }
  .header-mobile-btns {
    display: block;
  }
  .main-header .header-logo img {
    display: block;
    width: auto !important;
    height: 40px;
    max-width: 160px;
    object-fit: contain;
  }
  .top-menu {
    background: none;
  }
  .top-slide {
    flex-direction: column;
    border-radius: 0;
    /* aspect-ratio: 400/268; */
    height: calc((100vw * 268 / 400) + 40px);
    width: calc(100% + 40px);
    transform: translateX(-20px);
  }
  .campus-top-sec-wrap .top-slide {
	/* width: calc(100% + 20px) !important;
	transform: translateX(-20px) !important; */
	width: 100% !important;
	transform: none !important;
	flex-direction: column;
	border-radius: 0;
	
	/* 
	   2. 비율 고정 대신 vw 기반 높이 계산 
	   (이미지 비율 400/268 + 하단 컨트롤러 고정 40px)
	*/
	height: calc((100vw * 268 / 400) + 40px);
	aspect-ratio: auto !important;
  }
  .top-slide-swiper{
  	width: 100%;
  	height: calc(100% - 40px);
  }
  .top-slide-wrap {
    width: 100%;
  }
  .tab-btn-wrap button {
    flex-direction: row;
    font-size: 14px;
    padding: 0 8px;
  }
  .top-slide-swiper .swiper-slide img {
	  width: 100%;
	  height: 100%;
	  object-fit: fill;
	}
  .tab-btn-wrap button p {
    flex: 1;
    max-width: fit-content;
  }
  .tab-btn-wrap {
    flex-direction: row;
    width: 100%;
    height: 46px;
  }
  .tab-btn-wrap br {
    display: none;
  }
  .tab-btn-img-box {
    width: 28px;
    height: 28px;
  }
  .tab-btn-img-box img {
    min-width: 16px;
    min-height: 16px;
  }
  .top-slide-title {
    display: none;
  }
  .top-slide-info {
    justify-content: center;
  }
  .icon-menu-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    width: 100%;
    gap: 16px;
  }
  .campus-list-bottom-wrap {
    flex-direction: column;
  }
  .campus-list-bottom-wrap a {
    width: 100%;
  }
  .main-cta-btns {
    flex-direction: column;
  }
  .main-cta-btns li {
    width: 100%;
  }
  .main-cta-btns li a {
    padding: 10px 16px;
  }
  .main-cta-btns li a p {
    font-size: 18px;
  }
  .quick-menu-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .campus-list-wrap {
    grid-template-columns: 1fr;
  }
  .campus-item {
    width: 100%;
  }
  .course-list {
    height: auto;
    max-height: 395px;
  }
  .course-list li:last-child {
    border-bottom: none;
  }
  .sec-board .row {
    flex-direction: column;
  }
  .sec-board .row > div {
    width: 100%;
  }
  .board-list,
  .board-list {
    /* overflow: visible !important; */
    padding: 0 20px !important;
    width: calc(100% + 40px);
    max-width: calc(100% + 40px);
    transform: translateX(-20px);
  }
  .footer-top {
    flex-direction: column;
    gap: 24px;
    align-items: flex-start;
  }
  .top-info {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 24px;
  }
  .top-info-rigfht {
    align-items: flex-start;
  }
  /* 캠퍼스 */
  .campus-top-sec-wrap {
    grid-template-columns: 1fr;
    gap: 0px;
    padding: 0;
  }
  .campus-cta-btns-wrap {
    aspect-ratio: initial;
    border-radius: 0;
  }
  /* .campus-top-sec-wrap .top-slide {
    transform: none;
    aspect-ratio: 400 / 268;
  } */
  .sec-campus-cta {
    padding: 32px 0;
  }
  .campus-cta-btns-wrap .campus-cta-btns {
    max-height: 236px;
  }
  .campus-body .icon-menu-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .icon-menu-list li a {
    font-size: 18px;
  }
  .icon-menu-list li a span {
    font-size: 18px;
    font-weight: 600;
  }
  .sec-campus-list-wrap .course-list {
    max-height: 350px;
    height: auto;
  }
  .top-banner {
    height: 50px;
  }
  .campus-body .top-banner .row::before {
    background-size: cover;
    background-position: top right;
  }
  .campus-body .top-banner .row::after {
    background-size: cover;
    background-position: top left;
  }
  .campus-body .top-banner .row::before {
    height: 45px;
    width: 68px;
  }
  .campus-body .top-banner .row::after {
    height: 45px;
    width: 68px;
  }
  .banner-title p {
    font-size: 14px;
    z-index: 1;
    filter: drop-shadow(0 0 4px var(--main-500));
  }
  .banner-title h3 {
    font-size: 18px;
    z-index: 1;
    filter: drop-shadow(0 0 4px var(--main-500));
  }
  .top-sec {
    margin-top: 0px;
  }
}

@media all and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .mobile-menu {
    width: 100%;
    right: -100%;
  }
  .schedule-item-wrap {
    display: block;
  }
  .schedule-item-list {
    display: flex;
    flex-direction: column;
    width: 100%;
  }
  .schedule-item {
    border-left: none;
    border-top: 1px solid var(--Gray-200, #e8e8e8);
    flex: none;
  }
  .schedule-item:first-child {
    border-top: none;
  }
  .schedule-btn {
    display: none;
  }
  .mobile-menu-header {
    padding: 16px;
  }
  .mobile-menu-top-btns {
    gap: 24px;
  }
  .mobile-top-btn {
    font-size: 14px;
  }
  .mobile-top-btn img {
    width: 20px;
    height: 20px;
  }
  .sec-quick-menu {
    padding: 60px 0;
    margin-top: 24px;
  }
  .quick-menu-title {
    font-size: 24px;
    margin-bottom: 24px;
  }
  .quick-menu-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 8px;
  }
  .quick-menu-list a {
    font-size: 18px;
  }
  .quick-menu-list a:hover {
    transform: translateY(0);
  }
  .sec-main-search .row {
    padding: 60px 20px;
  }
  .search-wrap input {
    font-size: 18px;
    width: calc(100% - 62px);
  }
  .search-wrap button {
    width: 62px;
    height: 62px;
    padding: 16px;
  }
  .search-wrap {
    height: 62px;
    padding-left: 32px;
  }
  .search-wrap button img {
    width: 24px;
    height: 24px;
  }
  .sec-board .row {
    gap: 60px;
  }
  .sec-board {
    padding: 60px 0;
  }
  .sec-info-board {
    padding: 0 0 100px;
  }
  .sec-main-campus {
    padding: 60px 0;
  }
  .title {
    font-size: 28px;
  }
  .sec-main-icon-menu {
    gap: 40px;
  }
  .icon-menu-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .icon-menu-list li a {
    font-size: 18px;
  }
  .sub-title {
    font-size: 16px;
  }
  .icon-menu-img {
    padding: 20px;
  }
  .sec-main-search .row {
    gap: 60px;
  }
  .campus-type-list a {
    font-size: 16px;
    padding: 10px 24px;
  }
  .campus-title {
    font-size: 24px;
  }
  .campus-more-btn {
    font-size: 16px;
  }
  .course-list a {
    padding: 20px 20px 20px 24px;
  }
  .course-list {
    max-height: 371px;
  }
  .campus-list-bottom-wrap a::before {
    display: none;
  }
  .campus-list-bottom-wrap {
    gap: 14px;
  }
  .campus-list-bottom-wrap a {
    font-size: 20px;
    padding: 24px;
    justify-content: space-between;
  }
  .campus-list-bottom-wrap a p {
    flex: 1;
    max-width: max-content;
  }
  .notice-title button {
    font-size: 24px;
  }
  .notice-category {
    font-size: 14px;
  }
  .notice-item-title {
    font-size: 18px;
  }
  .notice-item-date {
    font-size: 14px;
  }
  .notice-item a {
    flex-direction: column;
    align-items: flex-start;
  }
  .notice-title {
    gap: 8px;
  }
  .sec-main-campus .row {
    gap: 32px;
  }
  .footer-top-rule {
    flex-direction: column;
    width: 100%;
  }
  .footer-select-wrap,
  .footer-select {
    width: 100%;
  }
  .footer-call-num {
    flex-direction: column;
    align-items: flex-start;
  }
  .top-info-title,
  .top-info-text {
    font-size: 14px;
  }
  .footer-copy {
    font-size: 12px;
  }
  .top-slide-info {
    padding: 6px;
  }
  .board-content {
    font-size: 18px;
  }
  /* 캠퍼스 */
  .campus-body .icon-menu-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .campus-search-wrap {
    grid-template-columns: 1fr;
    gap: 32px;
    margin-bottom: 56px;
  }
  .campus-number {
    align-items: center;
  }
  .campus-number-title {
    font-size: 20px;
  }
  .campus-number-phone {
    font-size: 32px;
  }
  .campus-search h2 {
    display: none;
  }
  .sec-campus-list-wrap {
    padding: 60px 0;
  }
  .sec-schedule h2 {
    font-size: 24px;
  }
  .schedule-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .schedule-title .add-btn {
    display: block;
  }
  .schedule-title {
    margin-bottom: 24px;
  }
  .schedule-month a {
    display: none;
  }
  .month-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .month-list li button {
    font-size: 16px;
    padding: 8px 0;
  }
  .month-list,
  .day-list {
    justify-content: center;
  }
  .schedule-item-date {
    font-size: 16px;
  }
  .schedule-item-title {
    font-size: 18px;
  }
  .schedule-item a {
    padding: 16px;
  }
  .sec-schedule {
    padding: 0 0 110px;
  }
  .campus-body .footer-top-rule {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .campus-top-info-left ul {
    flex-direction: column;
  }
  .sub-top-title {
    padding: 24px 0;
  }
  .sub-top-title .row {
    gap: 22px;
  }
  .sub-top-title h2 {
    font-size: 22px;
  }
  .title-menu-print-btn {
    display: none;
  }
  .top-title-menu {
    width: 100%;
  }
  .title-menu-select-wrap {
    flex: 1;
  }
  .title-menu-select,
  .title-menu-options {
    width: 100%;
  }
  .title-menu-select {
    font-size: 14px;
    padding: 7px 16px;
    height: auto;
  }
  .title-menu-home-btn img {
    width: 16px;
    height: 16px;
  }
  .title-menu-home-btn {
    width: 32px;
    height: 32px;
  }
  .title-menu-options li button {
    padding: 8px 14px;
    font-size: 14px;
  }
  .title-menu-options {
    padding: 4px;
  }
  .page-title {
    font-size: 24px;
    /* text-align: left; */ text-align: center;
  }
  .sub-contents {
    padding: 40px 0;
  }
}

.main-header .header-logo img {
	width: 160px;
}


.campus-home.sub-top-bg-01,
.campus-HOME.sub-top-bg-01{
	background: url(../../images/new/image/img_sub_title_background01.png) no-repeat center
}

.campus-db.sub-top-bg-01,
.campus-DB.sub-top-bg-01{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/db_01.png) no-repeat center 57% / cover;
}

.campus-jb.sub-top-bg-01,
.campus-JB.sub-top-bg-01{
	background: url(../../images/new/image/img_sub_title_background01.png) no-repeat center
}

.campus-bb.sub-top-bg-01,
.campus-BB.sub-top-bg-01{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/bb_01.png) no-repeat center 64% / cover;
}

.campus-home.sub-top-bg-02,
.campus-HOME.sub-top-bg-02{
	background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../../images/main/sub/A6504351.jpg) no-repeat center 55% / cover; 
}

.campus-db.sub-top-bg-02,
.campus-DB.sub-top-bg-02{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/B6500980.jpg) no-repeat center 85% / cover;
}

.campus-jb.sub-top-bg-02,
.campus-JB.sub-top-bg-02{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/jb_02.jpg) no-repeat center 86% / cover;
	
}

.campus-bb.sub-top-bg-02,
.campus-BB.sub-top-bg-02{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/A6503948.jpg) no-repeat center 80% / cover;
}



.campus-home.sub-top-bg-03,
.campus-HOME.sub-top-bg-03{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/db_03.jpg) no-repeat center 34% / cover;
}

.campus-db.sub-top-bg-03,
.campus-DB.sub-top-bg-03{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/db_03.jpg) no-repeat center 34% / cover;
}

.campus-jb.sub-top-bg-03,
.campus-JB.sub-top-bg-03{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/jb_03.jpg) no-repeat center 86% / cover;
	
}

.campus-bb.sub-top-bg-03,
.campus-BB.sub-top-bg-03{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/bb_03.jpg) no-repeat center 65% / cover;
}








.campus-home.sub-top-bg-04,
.campus-HOME.sub-top-bg-04{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/db_04.jpg) no-repeat center 90% / cover;
}

.campus-db.sub-top-bg-04,
.campus-DB.sub-top-bg-04{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/db_04.jpg) no-repeat center 90% / cover;
}

.campus-jb.sub-top-bg-04,
.campus-JB.sub-top-bg-04{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/jb_04.jpg) no-repeat center 70% / cover;
	
}

.campus-bb.sub-top-bg-04,
.campus-BB.sub-top-bg-04{
	background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../../images/main/sub/bb_04.jpg) no-repeat center 50% / cover;
}


/* 260714 LJY 메인페이지 자동스크롤 */
.course-list {
    height: 395px;
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: auto;

    -ms-overflow-style: none;
    scrollbar-width: none;
}

@media (max-width: 767px) {
    .campus-main .main-campus-list .campus-list-wrap {
        grid-template-columns: minmax(0, 1fr);
    }
    .campus-main .main-campus-list .campus-list-column,
    .campus-main .main-campus-list .campus-item,
    .campus-main .main-campus-list .course-list,
    .campus-main .main-campus-list .course-list > li {
        min-width: 0;
        max-width: 100%;
    }
    .campus-main .main-campus-list .course-list > li > a {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }
    .campus-main .main-campus-list .course-item-title {
        min-width: 0;
        overflow: hidden;
    }
    .campus-main .main-campus-list .course-item-title p,
    .campus-main .main-campus-list .course-item-title span {
        min-width: 0;
        max-width: 100%;
        overflow-wrap: anywhere;
    }
    .course-list {
        height: 371px;
        max-height: 371px;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
}


/* 검색창 css */

/* 모달 전체 배경 오버레이 */
.search-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(2px);
	z-index: 10000;
	box-sizing: border-box;
	
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s inline-out, visibility 0.25s ease-in-out;
}

.search-modal-overlay.is-visible {
	opacity: 1;
	visibility: visible;
}

/* [수정] 모달 컨테이너 (화면 높이에 맞춰 가변되도록 높이 제한) */
.search-modal-container {
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #ffffff;
	width: 92%;
	max-width: 960px;
	
	/* 
		[핵심] 최대 높이를 화면 전체 높이의 75%로 제한합니다.
		내부 컨텐츠가 적으면 그만큼만 줄어들고, 많아지면 75vh까지만 커진 후 락이 걸립니다.
	*/
	max-height: 75vh; 
	
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column; /* 헤더와 바디를 세로로 정렬하여 높이 자동 계산 */
	overflow: hidden;
	box-sizing: border-box;

	transform: translate(-50%, -50%) scale(0.95);
	opacity: 0;
	transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.25s ease-out;
}

.search-modal-overlay.is-visible .search-modal-container {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

/* [고정] 팝업 헤더 (스크롤 시 상단에 무조건 고정됨) */
.search-modal-header {
	padding: 20px 24px;
	border-bottom: 1px solid #edf1f6;
	position: relative;
	text-align: center;
	flex-shrink: 0; /* 컨테이너가 줄어들 때 헤더 높이가 찌그러지지 않도록 방어 */
}

.search-modal-header h2 {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: #111111;
}

.modal-close-btn {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	font-size: 28px;
	color: #888888;
	cursor: pointer;
	line-height: 1;
}

/* [수정] 팝업 바디 (컨텐츠가 넘칠 때 이곳에만 스크롤바 생성) */
.search-modal-body {
	padding: 10px 24px 24px 24px;
	
	/* [핵심] 부모 박스 높이가 가득 차면 자동으로 내부 스크롤바 생성 */
	overflow-y: auto; 
	flex: 1; /* 남은 여유 공간을 바디 영역이 모두 차지하도록 강제 */
	
	box-sizing: border-box;
	-webkit-overflow-scrolling: touch; /* iOS 모바일 환경에서 부드러운 스크롤 보장 */
}

.search-result-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* 개별 검색 아이템 박스 */
.search-result-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid #edf1f6;
	gap: 20px;
}

.search-result-item:last-child {
	border-bottom: none;
}

.result-item-info {
	flex: 1;
	min-width: 0;
}

.item-title-row {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 10px;
}

.campus-badge {
	display: inline-block;
	padding: 4px 8px;
	font-size: 11px;
	font-weight: 600;
	color: #ffffff;
	border-radius: 4px;
	white-space: nowrap;
}

.campus-badge.campus-jb { background-color: rgba(127, 194, 65, 1); }
.campus-badge.campus-db { background-color: rgba(0, 198, 205, 1); }
.campus-badge.campus-bb { background-color: rgba(244, 154, 0, 1); }
.campus-badge.campus-home { background-color: rgba(25, 122, 239, 1); }

.item-title {
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	color: #222222;
	line-height: 1.4;
	flex: 1;
	min-width: 0;
	word-break: break-all;
}

.item-keyword-row {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
}

.keyword-label {
	font-size: 13px;
	color: #666666;
	font-weight: 500;
	white-space: nowrap;
}

.keyword-tags {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
	min-width: 0;
}

.keyword-tags span {
	display: inline-block;
	font-size: 12px;
	color: #e52540;
	background-color: #fff0f1;
	border: 1px solid #ffd4d7;
	padding: 2px 8px;
	border-radius: 4px;
	font-weight: 500;
	margin-right: 4px;
	vertical-align: middle;
}

.result-item-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.btn-intro, .btn-status {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 85px;
	height: 38px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	box-sizing: border-box;
}

.btn-intro {
	border: 1px solid #1a73e8;
	color: #1a73e8;
	background-color: #ffffff;
}

.btn-status.is-ing {
	background-color: #6b5ce7;
	color: #ffffff;
	border: 1px solid #6b5ce7;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.btn-status.is-open {
	background-color: #1a73e8;
	color: #ffffff;
	border: 1px solid #1a73e8;
}

.btn-status.is-closed {
	background-color: #f5f5f5;
	color: #888888;
	border: 1px solid #dddddd;
}

/* ================================================================
   [수정] 모바일 해상도 대응 미디어 쿼리 (768px 이하)
   ================================================================ */
@media screen and (max-width: 768px) {
	.search-modal-container {
		width: 94%;
		/* 
			키보드가 올라오거나 작은 모바일 화면에서도 헤더와 하단 버튼 영역이 잘리지 않도록 
			최대 높이를 조금 더 여유 있게(82%) 가두어 둡니다.
		*/
		max-height: 82vh; 
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	
	.search-modal-body {
		padding: 10px 16px 20px 16px;
	}

	.search-result-item {
		flex-direction: column;
		align-items: stretch;
		gap: 14px;
		padding: 16px 0;
	}

	.result-item-info {
		padding-right: 0;
		width: 100%;
	}

	.result-item-actions {
		justify-content: flex-end;
		width: 100%;
	}
	
	.btn-intro, .btn-status {
		flex: 1;
		max-width: 50%;
		height: 40px;
		font-size: 14px;
	}
}

/* 퀵메뉴 최대 개수 미만일 때 가운데 정렬 */
@media all and (min-width: 1023px) {
  .quick-menu-list {
    grid-template-columns: repeat(var(--menu-count, 4), 1fr);
    width: var(--menu-width, 100%);
    margin: 0 auto;
  }

  .campus-body .icon-menu-list {
    grid-template-columns: repeat(var(--menu-count, 6), 1fr);
    width: var(--menu-width, 100%);
    margin: 0 auto;
  }
}
