@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@400;700&display=swap');
body { font-family: 'Noto Serif KR', serif; }

/* section01: 비주얼 ==================================================== */
.visual-section {
    position: relative;
}

.visual-swiper {
    position: relative;
    width: 100%;
    height: 100svh;            /* 히어로 = 한 화면. 헤더(header--overlay, fixed)가 위에 겹침 */
    min-height: 480px;         /* 낮은 창에서도 카피/페이지네이션 확보 */
    overflow: hidden;
}

/* svh 미지원 구형 브라우저 폴백 */
@supports not (height: 100svh) {
    .visual-swiper {
        height: 100vh;
    }
}

.visual-slide {
    position: relative;
    width: 100%;
}

/* 히어로 카피 가독성용 딤 — 슬라이드 전체 균일 */
.visual-slide::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: rgba(0, 0, 0, 0.05);
    pointer-events: none;
}

/* 레거시 #main_visual .swiper-slide img { height:auto !important } 무력화 + 본문 <p> 카피 오버레이 컨테이너 */
#main_visual .visual-slide-visual {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 20px;
    height: 100%;
    box-sizing: border-box;
    text-align: center;
}

/* 배경 이미지 — figure는 절대배치로 깔고, 그 위에 관리자가 입력한 <p> 카피를 흐름으로 얹는다 */
#main_visual .visual-slide-visual figure {
    position: absolute;
    inset: 0;
    height: 100%;
    margin: 0;
    z-index: 0;
}

#main_visual .visual-slide-visual figcaption {
    display: none;
}

#main_visual .visual-slide-visual img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
    transform-origin: center center;
}
#main_visual .visual-slide-visual > .text{max-width:386px; opacity: 80%; margin-top:-35px}
#main_visual .visual-slide-visual > .text img{width:98%}
#main_visual .visual-slide-visual > .text2{max-width:455px; opacity: 80%; margin-top: -40px; margin-bottom: 25px;}
#main_visual .visual-slide-visual > .text2 img{width:98%}

/* ── 비주얼관리 본문에 입력한 카피 (유지보수자는 텍스트만 수정) ──
 * 1번째 문단 = 리드 문구, 2번째 문단부터 = 대제목. 켄번즈는 figure > img 에만 걸려 텍스트는 흔들리지 않는다. */
#main_visual .visual-slide-visual > p {
    position: relative;
    z-index: 2;
    max-width: var(--container-max-width);
    margin: 0;
    padding: 0 40px;
    pointer-events: none;
}

#main_visual .visual-slide-visual > p:first-of-type {
    font-size: var(--font-size-display-lg);
	font-weight: var(--font-weight-bold);
    line-height: 1.4;
    color: var(--color-white);
	margin-top:-40px
}
#main_visual .visual-slide-visual > p:first-of-type ~ p {
	margin-top:-25px;
    font-size:  var(--font-size-heading-sm);
    font-weight: var(--font-weight-regular);
    line-height: 1.2;
    color: rgba(var(--color-white-rgb), 0.85);    
	font-family:Noto Serif KR;
}
#main_visual .visual-slide-visual > p span{color:#fdf3d1}
/* ── 자동 줌인(켄번즈) — 서울대(medicine.snu.ac.kr) 기준 ──
 * 레이아웃(높이/overflow)은 건드리지 않고 transform 만 애니메이션 → 배너 높이에 영향 없음. */
.visual-swiper .swiper-slide-active .visual-slide-visual img {
    animation: visualScale 8s ease forwards;
}

/* 스탑 버튼 → 줌 일시정지 (서울대 .slider-paused 와 동일) */
.visual-section.is-visual-paused .swiper-slide-active .visual-slide-visual img {
    animation-play-state: paused;
}

@keyframes visualScale {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.08);
    }
}

@media (prefers-reduced-motion: reduce) {
    .visual-swiper .swiper-slide-active .visual-slide-visual img {
        animation: none;
    }
}

.visual-swiper-control {
    position: absolute;
    left: 50%;
    bottom: 8%;   /* 히어로 aspect-ratio 16/9 높이의 8% (기존 88px ≈ 1080의 8.1%) — 화면 폭 따라 자동 스케일 */
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 8px;
}

.visual-swiper-pagination {
    display: flex;
    align-items: center;
}

.visual-swiper-pagination .swiper-pagination-bullet {
    width: 32px;
    height: 32px;
    margin: 0 !important;
    padding: 10px;
    background-color: var(--color-gray600);
    background-clip: content-box;
    opacity: 1;
    border-radius: 50%;
    cursor: pointer;
}

.visual-swiper-pagination .swiper-pagination-bullet-active {
    background-color: var(--color-white);
}

.visual-swiper-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    background: none;
    border: none;
    color: var(--color-white);
    cursor: pointer;
}

/* section02: research / quick-service ==================================================== */
.research-quick-section {
    width: 100%;
    overflow: hidden;   /* ::before/::after 배경 확장분(100vw)이 뷰포트 밖으로 넘치는 부분 클립 */
}

/* section02 전용 콘텐츠 레일 — 공통 .wrap(max-width:1520 + page-padding) 위에 2컬럼 배치 */
.research-quick-wrap {
    display: flex;
    align-items: stretch;
}

/* section-head / section-title / section-more — section02~05 공용 섹션 헤더 컴포넌트 */
.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 37px;
}

.section-title {
    font-family: var(--font-accent);
    font-size: var(--font-size-heading-xl);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-heading-xl);
    color: var(--color-white);
}

/* 아이콘은 <i class="icon icon-view-more">로 분리 */
.section-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--color-white);
}

.section-more .icon {
    width: 32px;
    height: 32px;
}

/* basic.css의 a:hover{text-decoration:underline}보다 우선해야 해서 hover/focus도 같이 명시 */
.section-more,
.section-more:hover,
.section-more:focus {
    text-decoration: none;
}

.research-card {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    flex: 1204 1 0;
    padding: 70px 60px 70px 0;   /* 카드 내부 여백만 (좌측 레일은 .wrap 담당) */
}

/* 배경 = 카드 + 왼쪽 뷰포트 끝까지 단일 레이어 (콘텐츠 정렬과 분리) */
.research-card::before {
    content: '';
    position: absolute;
    inset: 0 0 0 auto;
    right: 0;                     /* research / quick 경계 */
    width: 100vw;                 /* 왼쪽으로 뷰포트 넘게 → 섹션 overflow:hidden 이 클립 */
    z-index: -1;
    background: var(--color-primary) url('/pages/medicine_jnu/img/main/section02-research-bg.webp') center / cover no-repeat;
}

.research-card-item {
    display: flex;
    align-items: stretch;
    gap: 32px;
    width: 100%;
    height: 354px;
}

/* basic.css의 a:hover{text-decoration:underline}보다 우선해야 해서 hover/focus도 같이 명시 */
.research-card-item,
.research-card-item:hover,
.research-card-item:focus {
    text-decoration: none;
}

.research-card-thumb {
    display: block;
    flex: 0 0 41.8%;
    min-width: 300px;
    max-height: 354px;            /* 카드 좁아져도 썸네일 하한 */
    overflow: hidden;
}

.research-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.research-card-body {
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex: 1 1 0;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    color: var(--color-white);
}

.research-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 84px;
    font-family: var(--font-base);
    font-size: var(--font-size-heading-lg);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-heading-lg);
}

.research-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    -webkit-box-orient: vertical;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    line-height: 32px;
    font-weight: 300;
}

.research-card-date {
    font-family: var(--font-base);
    font-size: var(--font-size-label-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-label-md);
}

.research-card-empty {
    width: 100%;
    color: var(--color-white);
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-md);
}

.quick-service {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    flex: 716 1 0;
    padding: 70px 0 70px 45px;   /* 좌측 45 = 색 경계 안쪽 갭 / 우측 레일은 .wrap 담당 */
}

.quick-service::after {
    content: '';
    position: absolute;
    inset: 0 auto 0 0;
    left: 0;                      /* research / quick 경계 */
    width: 100vw;                 /* 오른쪽으로 뷰포트 넘게 */
    z-index: -1;
    background: var(--color-secondary) url('/pages/medicine_jnu/img/main/section02-quick-bg.webp') center / cover no-repeat;
}

.quick-service .section-title {
    margin-bottom: 37px;
}

.quick-service-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(145px, 1fr));
    gap: 18px;
}

.quick-service-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    height: 100%;
    padding: 33px 33.5px;
    border-radius: 6px;
    background-color: var(--color-quick-service);
}

/* basic.css의 a:hover{text-decoration:underline}보다 우선해야 함 */
.quick-service-item a,
.quick-service-item a:hover,
.quick-service-item a:focus {
    text-decoration: none;
}

.quick-service-item a:hover,
.quick-service-item a:focus {
    background-color: var(--color-quick-service-hover);
}

.quick-service-item .icon {
    width: 32px;
    height: 32px;
    color: var(--color-white);
}

.quick-service-item span {
    display: block;
    max-width: 100%;
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body-md);
    color: var(--color-white);
    text-align: center;
}

/* section03: notice ==================================================== */
.notice-section {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: #ececec;
}

.notice-section::before,
.notice-section::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
}

.notice-section::before {
    background: url('/pages/medicine_jnu/img/main/section03_left.png') left bottom no-repeat;
    opacity: 0.1;
}

.notice-section::after {
    background: url('/pages/medicine_jnu/img/main/section03_right.png') right center no-repeat;
    opacity: 0.15;
}

.notice-section .section-title,
.notice-section .section-more {
    color: var(--color-text-title2);
}

.notice-wrap {
    width: 100%;
    overflow: hidden;
    min-width: 0;
    padding-top: 70px;
    padding-bottom: 70px;
}

.notice-content {
    display: flex;
    align-items: flex-start;
    gap: 112px;
    min-width: 0;
}

.notice-tabs {
    display: flex;
    flex-direction: column;
    gap: 25px;
    flex-shrink: 0;
    width: 162px;
}

.notice-tabs-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-right: 15px;
    color: #657885;
    font-family: var(--font-base);
    font-size: var(--font-size-heading-sm);
    line-height: 36px;
    font-weight: var(--font-weight-medium);
    text-align: left;
    cursor: pointer;
}

.notice-tabs-btn:hover {
    color: var(--color-text-body)
}

.notice-tabs-btn::before {
    content: '';
    flex-shrink: 0;
    width: 3px;
    height: 24px;
    border-radius: 30px;
    background: transparent;
}

.notice-tabs-btn.is-active {
    color: var(--color-black);
    font-weight: var(--font-weight-semibold);
}

.notice-tabs-btn.is-active::before {
    background: var(--color-black);
}

.notice-carousel {
    display: flex;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-width: 0;
    min-height: 400px;
}

.notice-carousel-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    background: var(--color-white);
    border: 1px solid var(--color-border-base);
    border-radius: 50px;
    color: var(--color-black);
    cursor: pointer;
}

.notice-carousel-list {
    overflow: hidden;
    min-width: 0;
    height: 400px;
}

.notice-carousel-list .swiper-wrapper {
    display: flex;
    height: 100%;
}

.notice-card {
    display: flex;
    flex-shrink: 0;
    width: 349px;
    height: 100%;
    padding: 30px 30px 45px;
    background: var(--color-white);
}

.notice-card a {
    display: flex;
    flex-direction: column;
    gap: 35px;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.notice-card-badge {
    align-self: flex-start;
}

.notice-card-body {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.notice-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 23px;
    line-height: 33px;
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
}

.notice-card-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body-md);
    color: var(--color-text-body);
}

.notice-card-date {
    font-family: var(--font-number);
    font-size: var(--font-size-body-md);
    line-height: var(--line-height-body-md);
    color: var(--color-text-body);
	position: absolute;
    bottom: 40px;
}









/* section04: schedule / magazine / gallery ==================================================== */
.schedule-magazine-gallery-section {
    width: 100%;
    padding: 100px 0;
}

.schedule-magazine-gallery-wrap {
    display: flex;
    flex-direction: column;
    gap: 88px;
}

.schedule-magazine {
    display: flex;
    align-items: stretch;
    gap: 28px;
    width: 100%;
}

.schedule {
    display: flex;
    flex-direction: column;
    gap: 37px;
    flex: 1004 1 0;
    min-width: 0;
}

.schedule-head ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.schedule .section-title,
.schedule .section-more,
.magazine .section-title,
.magazine .section-more,
.gallery .section-title,
.gallery .section-more {
    color: var(--color-text-title2);
}

.schedule-list {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.schedule-item a {
    display: flex;
    align-items: center;
    gap: 50px;
    height: 100px;
    padding: 0 37px 0 25px;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border-base);
    text-decoration: none;
}

/* 마지막 행만 border 대신 inset box-shadow — 레이아웃 높이에 더해지지 않게 해서
 * magazine과 실측 높이를 맞춤(그 위 항목들의 구분선은 그대로 border 유지) */
.schedule-item:last-child a {
    border-bottom: 0;
    box-shadow: inset 0 -1px 0 var(--color-border-base);
}

.schedule-item a:hover,
.schedule-item a:focus {
    background: var(--color-primary);
}

.schedule-date {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    min-width: 100px;
    color: var(--color-black);
}

.schedule-item a:hover .schedule-date,
.schedule-item a:focus .schedule-date {
    color: var(--color-white);
}

.schedule-year {
    font-family: var(--font-number);
    font-size: 18px;
    font-weight: var(--font-weight-medium);
    font-style: normal;
    color: var(--color-text-muted);
}

.schedule-item a:hover .schedule-year,
.schedule-item a:focus .schedule-year {
    color: var(--color-white);
}

.schedule-day-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.schedule-day {
    font-family: var(--font-number);
    font-size: 24px;
    font-weight: var(--font-weight-bold);
}

.schedule-weekday {
    font-family: var(--font-base);
    font-size: 17px;
    font-weight: var(--font-weight-medium);
}

.schedule-title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
    min-width: 0;
    color: var(--color-black);
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-body-md);
    font-size: 22px;
    line-height: normal;
}

.schedule-item a:hover .schedule-title,
.schedule-item a:focus .schedule-title {
    color: var(--color-white);
}

.magazine {
    display: flex;
    flex-direction: column;
    gap: 37px;
    flex: 488 1 0;
    min-width: 380px;
}

.magazine-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.magazine-desc {
    margin-top: -20px;
    color: var(--color-text-body);
    font-family: var(--font-base);
    font-size: var(--font-size-body-md);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-md);
}

.magazine_area {
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 20px;
}

.popup_list {
    flex: 1;
    overflow: hidden;
}

.magazine-card.swiper-slide {
    position: relative;
    flex-shrink: 0;
    width: 356px;
    height: 500px;
    border-radius: 8px;
    overflow: hidden;
}

.magazine-card a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

/* 표지 이미지 — 카드 전체 배경 (img 자체가 magazine-card-thumb) */
.magazine-card-thumb {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 텍스트 오버레이 — 좌측 38px, 흰색 (호수 / 의학소식 / 발행월) */
.magazine-card-issue,
.magazine-title,
.magazine-card-date {
    position: absolute;
    left: 38px;
    z-index: 1;
    color: var(--color-white);
}

.magazine-card-issue {
    top: 111px;
    font-size: 18px;
    font-weight: var(--font-weight-regular);
}

/* 의학소식 — 붓글씨 이미지(magazin-title.png), Figma Magazin_title 144×44 */
.magazine-title {
    top: 160px;
    width: 144px;
    height: auto;
}

.magazine-card-date {
    top: 235px;
    font-size: 20px;
    font-weight: var(--font-weight-regular);
}

/* magazine-head 오른쪽 액션 묶음 (Magazine 제목과 justify-between) — prev / next / 더보기 */
.magazine-head-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.magazine_prev,
.magazine_next,
.magazine_play {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--color-white);
    border: 1px solid var(--color-border-base);
    border-radius: 50px;
    color: var(--color-black);
    cursor: pointer;
}

.gallery {
    display: flex;
    flex-direction: column;
    gap: 37px;
    width: 100%;
}

.gallery-head ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.gallery-list .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 28px;
}

.gallery-card {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.gallery-card a {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-decoration: none;
}

.gallery-card-thumb {
    display: block;
    width: 100%;
    height: 350px;
    overflow: hidden;
}

.gallery-card-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.gallery-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 20px;
    line-height: 33px;
    font-weight: var(--font-weight-medium);
    color: var(--color-black);
}

.gallery-card-date {
    font-family: var(--font-number);
    font-size: 18px;
    color: var(--color-gray700);
}

/* section05: hall of fame ==================================================== */

.hall-of-fame {
    width: 100%;
    padding: 80px 0;

    background-color: var(--color-primary);
    background-image: url('/pages/medicine_jnu/img/main/section05-bg.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    /* 아래에서 올라오는 효과 영역 잘라주기 */
    overflow: hidden;
}


/* =========================================================
   전체 영역
========================================================= */

.hall-of-fame-wrap {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-height: 295px;
}


/* =========================================================
   왼쪽 콘텐츠
========================================================= */

.hall-of-fame-content {
    position: relative;
    z-index: 2;

    max-width: 650px;
}


.hall-of-fame-desc {
    margin: 35px 0 59px 0;

    color: var(--color-white);

    font-family: var(--font-base);
    font-size: 26px;
    line-height: 39px;
}


/* =========================================================
   버튼
========================================================= */

.hall-of-fame-btn {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    width: 263px;

    padding: 20px 25px;

    background: none;

    border: 1px solid var(--color-white);

    color: var(--color-white);

    font-family: var(--font-base);
    font-size: 18px;
    font-weight: var(--font-weight-semibold);

    cursor: pointer;

    transition:
        background-color 0.3s ease,
        color 0.3s ease;
}


.hall-of-fame-btn .icon {
    width: 24px;
    height: 24px;

    color: var(--color-white);

    transition: color 0.3s ease;
}


.hall-of-fame-btn:hover {
    background-color: #fff !important;
    color: #1c574b !important;
}


.hall-of-fame-btn:hover .icon {
    color: #1c574b !important;
}


/* =========================================================
   오른쪽 연도 전체
========================================================= */

/* 오른쪽 전체 연도 */
.hall-of-fame-year {
    position: absolute;
    top: 50%;
    right: 0;

    width: 220px;

    padding-right: 18px;

    border-right: 1px solid rgba(255,255,255,0.35);

    box-sizing: border-box;

    z-index: 2;

    /* 처음 위치 */
    opacity: 0;
    transform: translateY(calc(-50% + 70px));

    transition:
        opacity 0.8s ease,
        transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}


/* 화면에 들어오면 아래 → 위 */
.hall-of-fame-year.is-active {
    opacity: 1;
    transform: translateY(-50%);
	margin-top:30px
}


/* FROM / TO */
.hall-year-row {
    display: flex;
    flex-direction: column;
    align-items: flex-end;

    width: 100%;
}

.hall-year-from {
    margin-bottom: 28px;
}

.hall-year-label {
    display: block;

    margin-bottom: 10px;

    font-family: var(--font-base);

    font-size: 18px;
    font-weight: 400;
    line-height: 1;

    text-align: right;
}


/* FROM */
.hall-year-from .hall-year-label {
    color: #fff;
}

.hall-year-from .hall-year-number {
    display: block;

    color: rgba(255,255,255,0.85);

    font-family: var(--font-accent);
    font-size: 72px;
    font-weight: 500;

    line-height: 74px;
    letter-spacing: -3px;
    white-space: nowrap;
}


/* TO */
.hall-year-to .hall-year-label {
    color: #d8c579;
}


/* 숫자가 보이는 창 */
.hall-year-roller {
    position: relative;

    width: 100%;
    height: 74px;

    overflow: hidden;

    text-align: right;
}


/* 1944 ~ 2026 전체 묶음 */
.hall-year-track {
    width: 100%;

    transform: translate3d(0, 0, 0);

    will-change: transform;
}


/* 각각의 연도 */
.hall-year-track span {
    display: block;

    width: 100%;
    height: 74px;
    color: #d8c579;
    font-family: var(--font-accent);
    font-size: 72px;
    font-weight: 500;

    line-height: 74px;
    letter-spacing: -2px;

    text-align: right;
    white-space: nowrap;
}


/* 롤링 시작 */
.hall-year-roller.is-rolling .hall-year-track {
    transform: translate3d(
        0,
        var(--roll-distance),
        0
    );

    transition:
        transform 2.8s cubic-bezier(0.16, 1, 0.3, 1);
}


/* responsive ==================================================== */
@media (max-width: 1140px) {
    /* .wrap(theme.css, 맨 뒤 로드)의 page-padding 을 이기려면 셀렉터 우선순위 ↑ */
    .research-quick-section .research-quick-wrap {
        flex-direction: column;
        padding-left: 0;         /* 세로 스택 — page-padding 제거(카드가 여백 담당, 중복 방지) */
        padding-right: 0;
    }

    .research-card,
    .quick-service {
        flex: none;
        width: 100%;
        padding: 40px 24px;      /* 카드 내부 여백 */
    }

    .research-card::before,
    .quick-service::after {
        width: 100%;             /* 세로 스택 — 카드=뷰포트폭, 좌우 확장 불필요 */
    }
}

@media (max-width: 1023px) {
    .notice-content {
        flex-direction: column;
        gap: 37px;
    }

    .notice-tabs {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 12px 18px;
        width: 100%;
    }

    .notice-tabs-btn {
        justify-content: center;
        gap: 0;
        width: 100%;
        padding: 0 0 8px;
        border-bottom: 2px solid transparent;
        text-align: center;
    }

    .notice-tabs-btn::before {
        display: none;
    }

    .notice-tabs-btn.is-active {
        border-bottom-color: var(--color-black);
    }

    .schedule-magazine {
        flex-direction: column;
        gap: 80px;
    }

    .schedule,
    .magazine {
        flex: none;
        width: 100%;
    }
}

/* <1520 — 폭 비례로 히어로 높이 점진 감소 (16:9 추종 + 화면 세로 상한) */
@media (max-width: 1520px) {
    .visual-swiper {
        height: min(100svh, 56.25vw);
    }
}

@media (max-width: 768px) {
    /* 폭 좁을수록 너무 낮아짐 → 높이 432px 고정, 이미지는 cover */
    .visual-swiper {
        height: 432px;
        min-height: 0;
    }

    .notice-carousel-nav {
        position: absolute;
        visibility: hidden;
        pointer-events: none;
    }

    .schedule-item a {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        height: auto;
        padding: 16px 10px;
    }

    .schedule-date {
        flex-direction: row;
        align-items: baseline;
        gap: 6px;
        min-width: 0;
    }

    .schedule-day-row {
        justify-content: flex-start;
        gap: 4px;
    }

    .schedule-title {
        -webkit-line-clamp: 2;
        line-clamp: 2;
    }

    #main_visual .visual-slide-visual > p:first-of-type {
           font-size: 28px; 
    }

    #main_visual .visual-slide-visual > p:first-of-type ~ p {
    font-size: 14px;
    }

    .research-card-item {
        flex-direction: column;
        gap: 20px;
        height: auto;
    }

    .research-card-thumb {
        width: 100%;
        flex-basis: auto;
        min-width: 0;
        max-height: none;
        aspect-ratio: 16 / 9;
    }

    .research-card-body {
        flex: none;
        gap: 12px;
        overflow: visible;
    }

    .research-card-title {
        min-height: 0;
    }

    .research-card-excerpt {
        display: none;
    }

    .quick-service-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .quick-service-item a {
        height: 180px;
        padding: 0;
    }
#main_visual .visual-slide-visual > .text{width:50%; margin-top: 5px;}
#main_visual .visual-slide-visual > .text img{width:90%}
#main_visual .visual-slide-visual > .text2{width:50%; margin-top:15px}
#main_visual .visual-slide-visual > .text2 img{width:90%}

.hall-of-fame-year.is-active {display:none}
}

@media (max-width: 500px) {
    .notice-tabs {
        display: flex;
        flex-direction: row;
        gap: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .notice-tabs::-webkit-scrollbar {
        display: none;
    }

    .notice-tabs li {
        flex: 0 0 auto;
    }

    .notice-tabs-btn {
        width: auto;
        padding: 0 12px 8px;
        white-space: nowrap;
    }
}

@media (max-width: 420px) {
    .research-card-title {
        font-size: 22px;
        line-height: 32px;
    }

    .quick-service-item a {
        height: 150px;
    }

    .quick-service-item span {
        font-size: 16px;
    }

    .notice-tabs-btn {
        font-size: 18px;
    }

    .schedule-title {
        font-size: 18px;
        line-height: 27px;
    }
}

@media (max-width: 1240px) {
    .notice-section::after {
        display: none;
    }
}






/* 레거시 ================================================================================= */



/*.section_head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px;padding-right:260px}
.section_head .section_tit{font-size:36px;color:#000;font-weight:800;display:flex;align-items:center;gap:16px}
.section_head .section_more{font-size:14px;font-weight:500;color:#888;border:1px solid #ccc;padding:6px 18px;text-decoration:none;border-radius:6px}
.section_head .section_more:hover{color:#333;border-color:#999;text-decoration:none}
.section_head .section_sub{font-size:24px;color:#888;margin-top:14px;font-weight:400}
.section_head .section_nav{display:flex;gap:4px;align-items:center}
.section_nav button{width:50px;height:50px;border:1px solid #ddd;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:border-color 0.3s;padding:0;position:relative}
.section_nav button:hover{border-color:#333;background:#fff url(/pages/medicine_jnu/img/layout/icon_btn_arrow_on.svg) no-repeat center center}
.section_nav button img{width:auto;height:auto;transition:opacity 0.2s}
.section_nav button:hover img{opacity:0}
.section_nav .section_prev:hover{transform:rotate(180deg)}
.section_nav .section_next img{transform:rotate(180deg)}

*/
/*비주얼*/
/*
.visual_program_group{position:relative;width:100vw;margin-left:calc(-50vw + 50%);overflow:hidden}
.visual_wrap{position:relative;width:100%;padding:0 100px;z-index:2}
.visual_wrap .visual_box{position:relative;border-radius:20px;overflow:hidden}
.visual_box .swiper-button-lock{display:block !important}
#main_visual .swiper-slide{position: relative;}
#main_visual .swiper-slide img{width:100% !important;height:auto !important;display:block;object-fit:cover}
#main_visual .swiper-slide > p{margin:0;padding:0;line-height:0;font-size:0}
#main_visual .swiper-slide > a{display:block;line-height:0;font-size:0;  margin:0; padding:0;}
#main_visual .visual_text{position:absolute;left:160px;bottom:134px;z-index:10;pointer-events:none}
#main_visual .visual_label{font-size:18px;background:linear-gradient(to right, #FF475E, #FFB761);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;margin-bottom:20px;letter-spacing:1px}
#main_visual .visual_title{font-size:52px;color:#fff;font-weight:800;line-height:1.3;margin-bottom:38px}
#main_visual .visual_desc{font-size:24px;color:#fff;font-weight:400;line-height:1.6;opacity:0.9}
#main_visual .visual_control{position:absolute;right:160px;bottom:130px;z-index:10;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.visual_control .visual_fraction{font-size:18px;color:rgba(255,255,255,0.4);font-weight:300;letter-spacing:4px}
.visual_fraction .swiper-pagination-current{font-size:24px;font-weight:700;color:#fff}
.visual_control .visual_nav{display:flex}
.visual_nav button{width:52px;height:52px;display:flex !important;align-items:center;justify-content:center;background:rgba(0,0,0,0.25);border:1px solid rgba(255,255,255,0.15);cursor:pointer;padding:0;transition:background 0.3s;opacity:1 !important;visibility:visible !important;overflow:visible}
.visual_nav button:hover{background:rgba(0,0,0,0.65)}
.visual_nav button + button{border-left:0}
.visual_nav button img{width:auto !important;height:auto !important}
#visual_next img{transform:rotate(180deg)}

*/
/* research */
/*
.research_section{position:relative;width:100vw;margin-left:calc(-50vw + 50%);padding:80px 100px;background:#f7f8fa}
.research_inner{display:flex;gap:60px;max-width:1400px;margin:0 auto;align-items:flex-start}
.research_area{flex:1;min-width:0}
.magazine_area{flex:none;width:420px;min-width:0}

.research_head,
.magazine_area .tit{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}

.research_head .section_tit,
.magazine_area .tit h4{font-size:36px;color:#000;font-weight:800}

.research_list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.research_card{display:block;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;text-decoration:none}
.research_img{display:block;aspect-ratio:4/3;background:#eee;overflow:hidden}
.research_img img{width:100%;height:100%;object-fit:cover;display:block}
.research_info{display:block;padding:20px}
.research_tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:18px;line-height:1.45;color:#222;font-weight:700}
.research_content{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-size:14px;line-height:1.5;color:#777}
.research_date{display:block;margin-top:14px;font-size:14px;color:#999}


.magazine_area .popup_list{overflow:hidden;border-radius:12px}
.magazine_area .popup_track{list-style:none;margin:0;padding:0}
.magazine_area .swiper-slide{position:relative;overflow:hidden;background:#fff}
.magazine_area .popup_num{display:flex;align-items:center;gap:8px}
.magazine_area .popup_num button{width:32px;height:32px;border:1px solid #ddd;background:#fff no-repeat center/14px auto;border-radius:50%;cursor:pointer}
.magazine_area .magazine_prev{background-image:url('/pages/medicine_jnu/img/layout/icon_btn_arrow_off.svg');transform:rotate(180deg)}
.magazine_area .magazine_next{background-image:url('/pages/medicine_jnu/img/layout/icon_btn_arrow_off.svg')}
.magazine_area .magazine_play::before{content:'';display:block;width:0;height:0;margin:0 auto;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #555}
.magazine_area .magazine_play.paused::before{width:10px;height:12px;border:0;border-left:3px solid #555;border-right:3px solid #555}

*/
/*지원프로그램*/
/*
.program_section{position:relative;z-index:1;margin-top:80px;padding:0 0 100px;overflow:visible}
.program_section::before{content:'';position:absolute;left:0;top:-80px;bottom:0;width:100%;background:linear-gradient(to bottom, #fff 0%, transparent 40%), linear-gradient(to right, #FEEFEB, #E8F1FF);z-index:-1}
.program_wrap{position:relative;z-index:1;padding:0 0 0 260px;overflow:visible}
#program_list{overflow:hidden}
#program_list .swiper-slide{width:380px}
#program_list .swiper-slide a{display:block;height:300px;background:#fff;border:1px solid #f0f0f0;padding:36px 32px;text-decoration:none;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,0.06);transition:all 0.4s}
#program_list .swiper-slide a:hover{background:linear-gradient(135deg, #FF9E48, #2121FF);border-color:transparent;box-shadow:0 8px 32px rgba(33,33,255,0.3);text-decoration:none}
#program_list .swiper-slide a:hover .program_badge{background:rgba(255,255,255,0.25);color:#fff}
#program_list .swiper-slide a:hover .program_card_tit{color:#fff}
#program_list .swiper-slide a:hover dl dt{color:rgba(255,255,255,0.7)}
#program_list .swiper-slide a:hover dl dd{color:#fff}
#program_list .program_badge{display:inline-block;font-size:14px;padding:7px 18px;font-weight:600;margin-bottom:20px;border-radius:4px;transition:all 0.4s}
#program_list .program_badge.on{background:#333;color:#fff}
#program_list .program_badge.off{background:#bbb;color:#fff}
#program_list .program_card_tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:18px;font-weight:700;color:#222;line-height:1.4;height:67px;margin-bottom:24px;transition:color 0.4s}
#program_list dl{display:flex;align-items:center;margin-top:10px}
#program_list dl dt{font-size:16px;color:#aaa;margin-right:14px;min-width:28px;transition:color 0.4s}
#program_list dl dd{font-size:16px;color:#444;transition:color 0.4s}

*/
/* 학사일정 */
/* .main_schedule_section{position:relative;border:1px solid #111;border-radius:8px;background:#f5f5f5;padding:26px 52px}
.main_schedule_slide{overflow:hidden}
.main_schedule .tit {display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.main_schedule .tit h3{font-size:36px;color:#000;font-weight:800}
.main_schedule_item a{position:relative;display:block;text-align:center;text-decoration:none;color:#111;padding-top:18px}
.main_schedule_item a:before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:#111}
.main_schedule_dot{position:absolute;top:-5px;left:50%;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:#000}
.main_schedule_item strong{display:block;font-size:18px;font-weight:800;line-height:1.2}
.main_schedule_item p{margin-top:8px;font-size:13px;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.main_schedule_arrow{position:absolute;top:50%;width:32px;height:48px;margin-top:-24px;border:0;background:transparent;font-size:34px;font-weight:200;color:#111;cursor:pointer}
.main_schedule_list{padding-top:16px}
.main_schedule_list ul{list-style:none;margin:0;padding:0}
.main_schedule_list li{border-bottom:1px solid #eee}
.main_schedule_list li a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;text-decoration:none}
.main_schedule_list li a:hover{text-decoration:none}
.main_schedule_list li a:hover .main_schedule_list_tit{color:#000}
.main_schedule_list .main_schedule_list_tit{font-size:16px;color:#444;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;padding-right:20px}
.main_schedule_list .main_schedule_list_date{font-size:14px;color:#aaa;flex-shrink:0} */

/* research */
/*
.main_schedule_section{position:relative;width:100vw;margin-left:calc(-50vw + 50%);padding:80px 100px;background:#f7f8fa}
.main_schedule_inner{display:flex;gap:60px;max-width:1400px;margin:0 auto;align-items:flex-start}
.main_schedule_area{flex:1;min-width:0}
.magazine_area{flex:none;width:420px;min-width:0}

.main_schedule_head h3,
.magazine_area .tit h3{font-size:36px;color:#000;font-weight:800; display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.main_schedule_head .section_tit .section_more{font-size:14px;font-weight:500;color:#888;border:1px solid #ccc;padding:6px 18px;text-decoration:none;border-radius:6px}

.main_schedule_list{display:flex;flex-direction: column;gap:24px}
.main_schedule_card{display:block;background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;text-decoration:none}
.main_schedule_img{display:block;aspect-ratio:4/3;background:#eee;overflow:hidden}
.main_schedule_img img{width:100%;height:100%;object-fit:cover;display:block}
.main_schedule_info{display:block;padding:20px}
.main_schedule_tit{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:18px;line-height:1.45;color:#222;font-weight:700}
.main_schedule_content{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:10px;font-size:14px;line-height:1.5;color:#777}
.main_schedule_date{display:block;margin-top:14px;font-size:14px;color:#999}

*/
/*포토뉴스*/
/*
.photo_section{position:relative;width:100vw;margin-left:calc(-50vw + 50%);overflow:hidden;padding:80px 0 100px}
.photo_wrap{position:relative;padding:0 0 0 260px;overflow:visible}
#photo_list{overflow:hidden}
#photo_list .swiper-slide{width:485px}
#photo_list .swiper-slide a{display:block;position:relative;height:380px;overflow:hidden;border-radius:12px;text-decoration:none}
#photo_list .swiper-slide a:hover{text-decoration:none}
#photo_list .swiper-slide a:hover .photo_card_img img{transform:scale(1.08);filter:brightness(1.15)}
#photo_list .photo_card_img{width:100%;height:100%}
#photo_list .photo_card_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s, filter 0.5s}
#photo_list .photo_card_info{position:absolute;left:0;bottom:0;width:100%;padding:80px 32px 30px;background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%)}
#photo_list .photo_card_tit{display:block;font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}
#photo_list .photo_card_date{font-size:16px;color:rgba(255,255,255,0.7)}

*/
/*전체 공지사항*/
/*
.notice_section{position:relative;width:100vw;margin-left:calc(-50vw + 50%);overflow:hidden;padding:80px 0 100px}
.notice_wrap{position:relative;padding:0 0 0 260px;overflow:visible}
#notice_list{overflow:hidden}
#notice_list .swiper-slide{width:485px}
#notice_list .swiper-slide a{display:block;position:relative;height:380px;overflow:hidden;border-radius:12px;text-decoration:none}
#notice_list .swiper-slide a:hover{text-decoration:none}
#notice_list .swiper-slide a:hover .notice_card_img img{transform:scale(1.08);filter:brightness(1.15)}
#notice_list .notice_card_img{width:100%;height:100%}
#notice_list .notice_card_img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.5s, filter 0.5s}
#notice_list .notice_card_info{position:absolute;left:0;bottom:0;width:100%;padding:80px 32px 30px;background:linear-gradient(to top, rgba(0,0,0,0.6) 0%, transparent 100%)}
#notice_list .notice_card_tit{display:block;font-size:20px;font-weight:700;color:#fff;margin-bottom:8px}
#notice_list .notice_card_date{font-size:16px;color:rgba(255,255,255,0.7)}

*/
/*공지사항 & 팝업존*/
/*
.notice_popup_section{position:relative;width:100vw;margin-left:calc(-50vw + 50%);padding:80px 100px 100px}
.notice_popup_inner{display:flex;gap:90px;background:#F5F6F8;border-radius:20px;padding:60px 160px}
.notice_area{flex:1;min-width:0}

.notice_head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.notice_head .section_tit{font-size:36px;color:#000;font-weight:800}
.notice_head .section_more{font-size:14px;font-weight:500;color:#888;border:1px solid #ccc;padding:6px 18px;text-decoration:none;border-radius:6px}
.notice_head .section_more:hover{color:#333;border-color:#999;text-decoration:none}

.notice_featured{margin-bottom:28px}
.notice_featured a{display:flex;align-items:center;gap:24px;text-decoration:none}
.notice_featured a:hover{text-decoration:none}
.notice_badge{display:flex;flex-direction:column;align-items:center;justify-content:center;width:90px;height:90px;background:linear-gradient(135deg, #004098, #5CB531);border-radius:10px;flex-shrink:0}
.notice_badge .notice_badge_day{font-size:28px;font-weight:800;color:#fff;line-height:1}
.notice_badge .notice_badge_month{font-size:13px;color:rgba(255,255,255,0.8);margin-top:4px}
.notice_featured_info{min-width:0}
.notice_featured .notice_featured_tit{display:block;font-size:20px;font-weight:700;color:#222;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice_featured .notice_featured_desc{font-size:15px;color:#888;line-height:1.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.notice_list{border-top:2px solid #333;padding-top:16px}
.notice_list ul{list-style:none;margin:0;padding:0}
.notice_list li{border-bottom:1px solid #eee}
.notice_list li a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;text-decoration:none}
.notice_list li a:hover{text-decoration:none}
.notice_list li a:hover .notice_list_tit{color:#000}
.notice_list .notice_list_tit{font-size:16px;color:#444;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;padding-right:20px}
.notice_list .notice_list_date{font-size:14px;color:#aaa;flex-shrink:0}

.popup_head{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.popup_head .section_tit{font-size:36px;color:#000;font-weight:800}
.popup_control{display:flex;align-items:center;gap:12px}
.popup_control .section_nav{display:flex;gap:4px;align-items:center}
.popup_fraction{font-size:15px;color:#888;font-weight:500;min-width:40px;text-align:center}
.popup_fraction .swiper-pagination-current{font-weight:700;color:#333}

#popup_slider .swiper-slide img{width:100%;height:380px;object-fit:cover;display:block}

.main_popup{flex:none;width:600px;}
.main_popup .tit{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}
.main_popup .tit h4{font-size:36px;color:#000;font-weight:800}
.main_popup .popup_num{display:flex;align-items:center;gap:10px}
.main_popup .popup_num p{font-size:15px;color:#888;font-weight:500}
.main_popup .popup_num p.active{font-weight:700;color:#333}
.main_popup .popup_num .line{display:block;width:16px;height:1px;background:#ccc}
.main_popup .popup_num button{width:32px;height:32px;border:1px solid #ddd;background:#fff no-repeat center/14px auto;border-radius:50%;cursor:pointer}
.main_popup .popup_num .popup_prev{background-image:url('/pages/medicine_jnu/img/layout/icon_btn_arrow_off.svg');transform:rotate(180deg)}
.main_popup .popup_num .popup_next{background-image:url('/pages/medicine_jnu/img/layout/icon_btn_arrow_off.svg')}
.main_popup .popup_num .popup_play::before{content:'';display:block;width:0;height:0;margin:0 auto;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid #555}
.main_popup .popup_num .popup_play.paused::before{width:10px;height:12px;border:0;border-left:3px solid #555;border-right:3px solid #555}
.main_popup .popup_list{overflow:hidden;border-radius:12px}
.main_popup .popup_track{list-style:none;margin:0;padding:0}
.main_popup .swiper-slide{position:relative;overflow:hidden}
.main_popup .swiper-slide img{width:100%;background:#fff;display:block}
*/
/*관련기관*/
/*
.quick_section{display:flex;align-items:center;gap:20px;position:relative;width:100vw;margin-left:calc(-50vw + 50%);padding:0 100px 80px}
.quick_section .quick_arrow{width:56px;height:56px;border:none;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.quick_section .quick_arrow:hover svg path{stroke:#2e2e2e}
.quick_section .quick_list{display:flex;gap:12px;flex:1;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}
.quick_section .quick_list::-webkit-scrollbar{display:none}
.quick_list .quick_item{display:flex;align-items:center;justify-content:center;gap:12px;min-width:calc((100% - 36px) / 4);flex:0 0 auto;height:72px;background:#fff;border:1px solid #d9d9d9;border-radius:12px;text-decoration:none}
.quick_list .quick_item:hover{text-decoration:none;border-color:#3763F6}
.quick_item .quick_item_logo{height:36px}
.quick_item .quick_item_logo_wide{height:28px;width:141px;object-fit:contain}
.quick_item .quick_item_logo_dh{height:20px;width:107px;object-fit:contain}
.quick_item span{font-weight:700;font-size:18px;color:#000;white-space:nowrap}
.quick_item .quick_item_brand{font-weight:600;font-size:18px;color:#000}



.program_wrap {
    position: relative;
    z-index: 1;
    padding: 0 260px;
    overflow: visible;
}

.program_calendar {
}

.program_month_slide {
    padding: 20px 0 20px;
    border-top: 2px solid #000;
}

.program_month_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.program_month_btn {
    flex: 1 1 0;
    border: 0;
    background: transparent;
    color: #111;
    font-size: min(max(14px, 1.5vw), 22px);
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

.program_month_btn.on {
    color: #015FF2;
}

.program_date_slide {
    padding: 0;
    border-top: 1px solid #000;
}

.program_date_group {
    display: none;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
}

.program_date_group.on {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.program_date_btn {
    position: relative;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #000;
    font-weight: 700;
    line-height: 44px;
    text-align: center;
    cursor: pointer;
}

.program_date_btn span {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 34px;
    line-height: 34px;
}

.program_date_btn.sat span {
    color: #34A6E7;
}

.program_date_btn.sun span {
    color: #FF5A36;
}

.program_date_btn.today span {
    color: #fff;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(120,255,124,1) 0%, rgba(0,56,255,1) 100%);
}

.program_card_slider_area {
    position: relative;
    margin-top: 24px;
}

.program_card_slide {
    width: 100%;
    overflow: hidden;
}

.program_card_slide .swiper-slide {
    height: auto;
}

.program_arrow {
    position: absolute;
    top: 50%;
    z-index: 10;
    width: 60px;
    height: 80px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 54px;
    font-weight: 200;
    line-height: 1;
    transform: translateY(-50%);
    cursor: pointer;
}

.program_prev {
    left: -100px;
    text-align: left;
}

.program_next {
    right: -100px;
    text-align: right;
}

.program_arrow:hover,
.program_arrow:focus {
    color: #015FF2;
}

.program_date_btn.has_program span {
    color: #fff;
    border-radius: 50%;
    background: #000;
}

.program_date_btn.has_program.sat span,
.program_date_btn.has_program.sun span {
    color: #fff;
}

.program_date_btn.has_program.today span {
    color: #fff;
    background: #000;
}

.program_card_slider_area {
    position: relative;
    margin-top: 24px;
}

.program_arrow {
    position: absolute;
    top: 50%;
    z-index: 50;
    width: 60px;
    height: 80px;
    border: 0;
    background: transparent;
    color: #111;
    font-size: 54px;
    font-weight: 200;
    line-height: 1;
    transform: translateY(-50%);
    cursor: pointer;
}

.program_prev {
    left: -100px;
}

.program_next {
    right: -100px;
}


@media screen and (min-width:1580px) and (max-width:1845px){
#program_list dl dt{font-size:16px;}
#program_list dl dd{font-size:16px;}
#program_list .program_card_tit {
    display: -webkit-box;
    font-size: 18px;
    font-weight: 700;
    height: 45px;
    margin-bottom: 20px;
    transition: color 0.4s;
}

}
*/
/****** Tablet (Landscape) & Desktop ******/
/*
@media screen and (min-width:1024px) and (max-width:1500px){
*/
/* 공통 섹션 */
/*
.section_head{padding-right:130px}
.section_head .section_tit{font-size:30px}
.section_head .section_sub{font-size:20px}

*/
/* 비주얼 */
/*
.visual_wrap{padding:0 30px}
#main_visual .visual_text{left:100px;right:100px;bottom:auto;top:50%;transform:translateY(-50%)}
#main_visual .visual_title{font-size:44px;margin-bottom:30px}
#main_visual .visual_desc{font-size:20px}
#main_visual .visual_control{right:40px;bottom:40px;gap:8px;flex-direction:row;align-items:center}

*/
/* 지원프로그램 */
/*
.program_section{margin-top:60px}
.program_wrap{padding:0 70px 0 130px}
#program_list .swiper-slide{width:400px}
#program_list .swiper-slide a{height:280px;padding:30px 28px}
#program_list .program_card_tit{font-size:20px;height:56px;margin-bottom:20px}
#program_list dl dt{font-size:16px;}
#program_list dl dd{font-size:12px;}

*/
/* 포토뉴스 */
/*
.photo_section{padding:60px 0 80px}
.photo_wrap{padding:0 0 0 130px}
#photo_list .swiper-slide{width:400px}
#photo_list .swiper-slide a{height:320px}
#photo_list .photo_card_tit{font-size:18px}

*/
/* 전체 공지사항 */
/*
.notice_section{padding:60px 0 80px}
.notice_wrap{padding:0 0 0 130px}
#notice_list .swiper-slide{width:400px}
#notice_list .swiper-slide a{height:320px}
#notice_list .notice_card_tit{font-size:18px}

*/
/* 공지사항 & 팝업존 */
/*
.notice_popup_section{padding:60px 30px 80px}
.notice_popup_inner{padding:50px 40px 0 100px;gap:60px}
.popup_area{width:420px}
#popup_slider .swiper-slide img{height:320px}
.notice_head .section_tit{font-size:30px}
.popup_head .section_tit{font-size:30px}
.notice_badge{width:80px;height:80px}
.notice_badge .notice_badge_day{font-size:24px}
.notice_featured .notice_featured_tit{font-size:18px}

*/
/* 관련기관 */
/*
.quick_section{padding:0 30px 60px}
}


*/
/****** Tablet (Portrait) ******/
/*
@media screen and (min-width:768px) and (max-width:1023px){
*/
/* 공통 섹션 */
/*
.section_head{padding-right:80px}
.section_head .section_tit{font-size:26px}
.section_head .section_sub{font-size:18px}
.section_nav button{width:44px;height:44px}

*/
/* 비주얼 */
/*
.visual_wrap{padding:0 20px}
#main_visual .swiper-slide img{height:480px !important}
#main_visual .visual_text{left:50px;right:50px;bottom:auto;top:50%;transform:translateY(-50%)}
#main_visual .visual_label{font-size:15px;margin-bottom:15px}
#main_visual .visual_title{font-size:36px;margin-bottom:24px}
#main_visual .visual_desc{font-size:18px}
#main_visual .visual_control{right:30px;bottom:30px;gap:8px;flex-direction:row;align-items:center}
.visual_nav button{width:44px;height:44px}

*/
/* 지원프로그램 */
/*
.program_section{margin-top:50px;padding-bottom:80px}
.program_wrap{padding:0 45px 0 60px;}
.program_wrap .section_head{}
#program_list .swiper-slide{width:340px}
#program_list .swiper-slide a{height:260px;padding:28px 24px}
#program_list .program_card_tit{font-size:18px;height:50px;margin-bottom:18px}

*/
/* 포토뉴스 */
/*
.photo_section{padding:50px 0 70px}
.photo_wrap{padding:0 20px 0 0;}
.photo_wrap .section_head{padding-left:60px}
#photo_list .swiper-slide{width:340px}
#photo_list .swiper-slide a{height:280px}
#photo_list .photo_card_tit{font-size:17px}
#photo_list .photo_card_info{padding:60px 24px 24px}


*/
/* 전체 공지사항 */
/*
.notice_section{padding:50px 0 70px}
.notice_wrap{padding:0 20px 0 0;}
.notice_wrap .section_head{padding-left:60px}
#notice_list .swiper-slide{width:340px}
#notice_list .swiper-slide a{height:280px}
#notice_list .notice_card_tit{font-size:17px}
#notice_list .notice_card_info{padding:60px 24px 24px}

*/
/* 공지사항 & 팝업존 */
/*
.notice_popup_section{padding:30px 20px 70px}
.notice_popup_inner{padding:40px;gap:40px}
.popup_area{width:300px}
#popup_slider .swiper-slide img{height:260px}
.notice_head .section_tit{font-size:26px}
.popup_head .section_tit{font-size:26px}
.notice_badge{width:70px;height:70px}
.notice_badge .notice_badge_day{font-size:22px}
.notice_badge .notice_badge_month{font-size:12px}
.notice_featured .notice_featured_tit{font-size:17px}
.notice_featured .notice_featured_desc{font-size:14px}
.notice_list .notice_list_tit{font-size:15px}

*/
/* 관련기관 */
/*
.quick_section{padding:0 20px 50px}
.quick_list .quick_item{min-width:220px;height:60px;flex-shrink:0}

    
 .program_month_inner {
        justify-content: flex-start;
        overflow-x: hidden;
        white-space: nowrap;
    }

    .program_date_group.on {
		overflow-x: hidden;
		justify-content: flex-start;
	}

	.program_date_btn {
		flex: 0 0 34px;
	}

	.program_date_btn span {
		width: 34px;
		height: 34px;
		line-height: 34px;
		font-size: 14px;
	}

    .program_arrow {
        display:none;
    }

    .section_head .section_nav {
        position: absolute;
        right: 80px;
    }
    #notice_list {margin-left:60px;}
}


*/
/****** Small Tablet (Portrait) ******/
/*
@media screen and (min-width:600px) and (max-width:767px){
*/
/* 공통 섹션 */
/*
.section_head{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}
.section_head .section_tit_area{flex:1;min-width:115px}
.section_head .section_tit{font-size:22px}
.section_head .section_sub{display:none}
.section_head .section_more{position:absolute;right:0px;top:50%;transform:translateY(-50%);font-size:13px;padding:5px 14px}
.section_head .section_nav{flex-shrink:0;margin-right:10px}
.section_nav button{width:38px;height:38px}

*/
/* 비주얼 */
/*
.visual_wrap{padding:0 15px}
.visual_wrap .visual_box{border-radius:14px}
#main_visual .swiper-slide img{height:420px !important}
#main_visual .visual_text{left:36px;right:36px;bottom:auto;top:50%;transform:translateY(-50%)}
#main_visual .visual_label{font-size:14px;margin-bottom:12px}
#main_visual .visual_title{font-size:30px;margin-bottom:16px}
#main_visual .visual_desc{font-size:16px}
#main_visual .visual_control{right:24px;bottom:24px;gap:8px;flex-direction:row;align-items:center}
.visual_control .visual_fraction{font-size:14px;letter-spacing:3px}
.visual_fraction .swiper-pagination-current{font-size:19px}
.visual_nav button{width:40px;height:40px}

*/
/* 지원프로그램 */
/*
.program_section{margin-top:40px;padding-bottom:70px}
.program_wrap{padding:0}
#program_list .swiper-slide{width:300px}
#program_list .swiper-slide a{height:250px;padding:24px 20px}
#program_list .program_card_tit{font-size:17px;height:48px;margin-bottom:16px}

*/
/* 포토뉴스 */
/*
.photo_section{padding:40px 0 60px}
.photo_wrap{padding:0 15px 0 45px}
#photo_list .swiper-slide{width:300px}
#photo_list .swiper-slide a{height:250px}
#photo_list .photo_card_tit{font-size:16px}
#photo_list .photo_card_info{padding:50px 20px 20px}

*/
/* 전체 공지사항 */
/*
.notice_section{padding:40px 0 60px}
.notice_wrap{padding:0 15px 0 45px}
#notice_list .swiper-slide{width:300px}
#notice_list .swiper-slide a{height:250px}
#notice_list .notice_card_tit{font-size:16px}
#notice_list .notice_card_info{padding:50px 20px 20px}

*/
/* 공지사항 & 팝업존 */
/*
.notice_popup_section{padding:40px 15px 60px}
.notice_popup_inner{flex-direction:column;padding:30px 30px;gap:30px;border-radius:14px}
.notice_area{width:100%}
.popup_area{width:100%}
#popup_slider .swiper-slide img{height:260px}
.notice_head .section_tit{font-size:22px}
.popup_head .section_tit{font-size:22px}
.notice_badge{width:70px;height:70px}
.notice_badge .notice_badge_day{font-size:22px}
.notice_badge .notice_badge_month{font-size:12px}
.notice_featured .notice_featured_tit{font-size:17px}
.notice_featured .notice_featured_desc{font-size:14px}
.notice_list .notice_list_tit{font-size:15px}

*/
/* 관련기관 */
/*
.quick_section{padding:0 15px 40px}
.quick_section .quick_arrow{width:44px;height:44px}
.quick_list .quick_item{min-width:200px;height:56px;flex-shrink:0}
.quick_item span{font-size:16px}

#program_list dl dd {
    font-size: 14px;
}

    .program_wrap {
        padding: 0 15px 0 45px;
    }
 .program_month_inner {
        justify-content: flex-start;
        overflow-x: hidden;
        white-space: nowrap;
    }

    .program_month_btn {
        flex: 0 0 auto;
        min-width: 58px;
        font-size: 15px;
    }

    .program_date_group.on {
		overflow-x: hidden;
		justify-content: flex-start;
	}

	.program_date_btn {
		flex: 0 0 34px;
	}

	.program_date_btn span {
		width: 34px;
		height: 34px;
		line-height: 34px;
		font-size: 14px;
	}

    .program_arrow {
        display:none;
    }

    .section_head .section_nav {
        position: absolute;
        right: 80px;
    }

    .program_month_slide {
        padding: 15px 0 15px;
        border-top: 2px solid #000;
    }
}


*/
/****** Mobile ******/
/*
@media screen and (max-width:599px){
*/
/* 공통 섹션 */
/*
.section_head{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}
.section_head .section_tit_area{flex:1;min-width:115px}
.section_head .section_tit{font-size:20px}
.section_head .section_sub{display:none}
.section_head .section_more{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;padding:4px 12px}
.section_head .section_nav{flex-shrink:0;margin-right:10px}
.section_nav button{width:34px;height:34px}

*/
/* 비주얼 */
/*
.visual_wrap{padding:0 10px}
.visual_wrap .visual_box{border-radius:10px}
#main_visual .swiper-slide img{height:380px !important}
#main_visual .visual_text{left:30px;right:30px;bottom:auto;top:50%;transform:translateY(-50%)}
#main_visual .visual_label{font-size:12px;margin-bottom:10px}
#main_visual .visual_title{font-size:27px;margin-bottom:14px}
#main_visual .visual_desc{font-size:14px}
#main_visual .visual_control{right:20px;bottom:20px;gap:6px;flex-direction:row;align-items:center}
.visual_control .visual_fraction{font-size:13px;letter-spacing:2px}
.visual_fraction .swiper-pagination-current{font-size:17px}
.visual_nav button{width:36px;height:36px}

*/
/* 지원프로그램 */
/*
.program_section{margin-top:30px;padding-bottom:60px}
#program_list .swiper-slide{width:260px}
#program_list .swiper-slide a{height:240px;padding:22px 20px}
#program_list .program_card_tit{font-size:16px;height:45px;margin-bottom:14px}
#program_list .program_badge{font-size:12px;padding:5px 14px;margin-bottom:14px}
#program_list dl dt{font-size:13px}
#program_list dl dd{font-size:13px}

*/
/* 포토뉴스 */
/*
.photo_wrap{padding:0;}
.photo_section{padding:30px 0 50px}
#photo_list .swiper-slide{width:260px}
#photo_list .swiper-slide a{height:220px}
#photo_list .photo_card_date{font-size:12px}
#photo_list .photo_card_info{padding:40px 18px 18px}

*/
/* 전체 공지사항 */
/*
.notice_wrap{padding:0;}
.notice_section{padding:30px 0 50px}
#notice_list .swiper-slide{width:260px}
#notice_list .swiper-slide a{height:220px}
#notice_list .notice_card_date{font-size:12px}
#notice_list .notice_card_info{padding:40px 18px 18px}

*/
/* 공지사항 & 팝업존 */
/*
.notice_popup_section{padding:30px 10px 50px}
.notice_popup_inner{flex-direction:column;padding:24px 20px;gap:24px;border-radius:10px}
.notice_area{width:100%}
.popup_area{width:100%}
#popup_slider .swiper-slide img{height:220px}
.notice_head .section_tit{font-size:20px}
.notice_head .section_more{font-size:13px;padding:5px 14px}
.popup_head .section_tit{font-size:20px}
.notice_badge{width:60px;height:60px}
.notice_badge .notice_badge_day{font-size:20px}
.notice_badge .notice_badge_month{font-size:11px}
.notice_featured a{gap:16px}
.notice_featured .notice_featured_tit{font-size:16px;margin-bottom:6px}
.notice_featured .notice_featured_desc{font-size:13px}
.notice_list .notice_list_tit{font-size:14px}
.notice_list .notice_list_date{font-size:12px}
.notice_list li a{padding:12px 0}

*/
/* 관련기관 */
/*
.quick_section{padding:0 10px 30px;gap:10px}
.quick_section .quick_arrow{width:40px;height:40px}
.quick_list .quick_item{min-width:180px;height:52px;flex-shrink:0}
.quick_item span{font-size:15px}


.photo_section .photo_wrap .section_head .section_tit_area .section_tit{padding-left:27px;}
.program_section .program_wrap .section_head .section_tit_area .section_tit a{right:0px;}
.photo_section .photo_wrap .section_head .section_nav{margin-left:100px;}
#photo_list {margin-left:27px;}

.notice_section .notice_wrap .section_head .section_tit_area .section_tit{padding-left:27px;}
.notice_section .notice_wrap .section_head .section_nav{margin-left:100px;}
#notice_list {margin-left:27px;}

    .program_wrap {
        padding: 0 10px 0 27px;
    }

 .program_month_inner {
        justify-content: flex-start;
        overflow-x: hidden;
        white-space: nowrap;
    }

    .program_month_btn {
        flex: 0 0 auto;
        min-width: 58px;
        font-size: 15px;
    }

    .program_date_group.on {
		overflow-x: hidden;
		justify-content: flex-start;
	}

	.program_date_btn {
		flex: 0 0 34px;
	}

	.program_date_btn span {
		width: 34px;
		height: 34px;
		line-height: 34px;
		font-size: 14px;
	}

    .program_arrow {
        display:none;
    }

    .program_month_slide {
        padding: 15px 0 15px;
        border-top: 2px solid #000;
    }
}


*/
/****** Mobile ******/
/*
@media screen and (max-width:360px){
*/
/* 공통 섹션 */
/*
.section_head{position:relative;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px}
.section_head .section_tit_area{flex:1;min-width:115px}
.section_head .section_tit{font-size:20px}
.section_head .section_sub{display:none}
.section_head .section_more{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;padding:4px 12px}
.section_head .section_nav{flex-shrink:0;margin-right:10px}
.section_nav button{width:34px;height:34px}

*/
/* 비주얼 */
/*
.visual_wrap{padding:0 10px}
.visual_wrap .visual_box{border-radius:10px}
#main_visual .swiper-slide img{height:380px !important}
#main_visual .visual_text{left:30px;right:30px;bottom:auto;top:50%;transform:translateY(-50%)}
#main_visual .visual_label{font-size:12px;margin-bottom:10px}
#main_visual .visual_title{font-size:27px;margin-bottom:14px}
#main_visual .visual_desc{font-size:14px}
#main_visual .visual_control{right:20px;bottom:20px;gap:6px;flex-direction:row;align-items:center}
.visual_control .visual_fraction{font-size:13px;letter-spacing:2px}
.visual_fraction .swiper-pagination-current{font-size:17px}
.visual_nav button{width:36px;height:36px}

*/
/* 지원프로그램 */
/*
.program_section{margin-top:30px;padding-bottom:60px}
.program_wrap{padding:0}
#program_list .swiper-slide{width:260px}
#program_list .swiper-slide a{height:240px;padding:22px 20px}
#program_list .program_card_tit{font-size:16px;height:45px;margin-bottom:14px}
#program_list .program_badge{font-size:12px;padding:5px 14px;margin-bottom:14px}
#program_list dl dt{font-size:13px}
#program_list dl dd{font-size:13px}

*/
/* 포토뉴스 */
/*
.photo_section{padding:30px 0 50px}
#photo_list .swiper-slide{width:260px}
#photo_list .swiper-slide a{height:220px}
#photo_list .photo_card_tit{font-size:15px}
#photo_list .photo_card_date{font-size:12px}
#photo_list .photo_card_info{padding:40px 18px 18px}

*/
/* 전체 공지사항 */
/*
.notice_section{padding:30px 0 50px}
#notice_list .swiper-slide{width:260px}
#notice_list .swiper-slide a{height:220px}
#notice_list .notice_card_tit{font-size:15px}
#notice_list .notice_card_date{font-size:12px}
#notice_list .notice_card_info{padding:40px 18px 18px}

*/
/* 공지사항 & 팝업존 */
/*
.notice_popup_section{padding:30px 10px 50px}
.notice_popup_inner{flex-direction:column;padding:24px 20px;gap:24px;border-radius:10px}
.notice_area{width:100%}
.popup_area{width:100%}
#popup_slider .swiper-slide img{height:220px}
.notice_head .section_tit{font-size:20px}
.notice_head .section_more{font-size:13px;padding:5px 14px}
.popup_head .section_tit{font-size:20px}
.notice_badge{width:60px;height:60px}
.notice_badge .notice_badge_day{font-size:20px}
.notice_badge .notice_badge_month{font-size:11px}
.notice_featured a{gap:16px}
.notice_featured .notice_featured_tit{font-size:16px;margin-bottom:6px}
.notice_featured .notice_featured_desc{font-size:13px}
.notice_list .notice_list_tit{font-size:14px}
.notice_list .notice_list_date{font-size:12px}
.notice_list li a{padding:12px 0}

*/
/* 관련기관 */
/*
.quick_section{padding:0 10px 30px;gap:10px}
.quick_section .quick_arrow{width:40px;height:40px}
.quick_list .quick_item{min-width:180px;height:52px;flex-shrink:0}
.quick_item span{font-size:15px}


.photo_section .photo_wrap .section_head .section_tit_area .section_tit{padding-left:27px;}
.program_section .program_wrap .section_head .section_tit_area .section_tit a{right:0px;}
.photo_section .photo_wrap .section_head .section_nav{margin-left:100px;}
#photo_list {margin-left:27px;}


.notice_section .notice_wrap .section_head .section_tit_area .section_tit{padding-left:27px;}
.notice_section .notice_wrap .section_head .section_nav{margin-left:100px;}
#notice_list {margin-left:27px;}

    .program_wrap {
        padding: 0 10px 0 27px;
    }

 .program_month_inner {
        justify-content: flex-start;
        overflow-x: hidden;
        white-space: nowrap;
    }

    .program_month_btn {
        flex: 0 0 auto;
        min-width: 58px;
        font-size: 15px;
    }

    .program_date_group.on {
		overflow-x: hidden;
		justify-content: flex-start;
	}

	.program_date_btn {
		flex: 0 0 34px;
	}

	.program_date_btn span {
		width: 34px;
		height: 34px;
		line-height: 34px;
		font-size: 14px;
	}

    .program_arrow {
        display:none;
    }

    .program_month_slide {
        padding: 15px 0 15px;
        border-top: 2px solid #000;
    }
}*/