@charset "utf-8";

@font-face {
    font-family: 'BMJUA';
    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/BMJUA.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-1Thin';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-2ExtraLight';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-3Light';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-4Regular';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-5Medium';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-6SemiBold';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-7Bold';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2') format('woff2');
	font-style: normal;
}
@font-face {
	font-family: 'Paperlogy-8ExtraBold';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2') format('woff2');
	font-style: normal;
}
 @font-face {
	font-family: 'Paperlogy-9Black';
	src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2') format('woff2');
	font-style: normal;
}
@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansLight.woff') format('woff');
    font-weight: 300;
    font-display: swap;
}
@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansMedium.woff') format('woff');
    font-weight: 500;
    font-display: swap;
}
@font-face {
    font-family: 'GMarketSans';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/GmarketSansBold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}

/* 슬라이드 공통 버튼 */
.btn-frame-AS {
	position: absolute;
    bottom: 55px;
    left: 20px;
	z-index: 1; 
	display: flex
}
.btn-frame-AS .autoplay-btn-wrap { position: relative; z-index: 1; }
.btn-frame-AS .slide-btn { position: relative; z-index: 0; }
.btn-frame-AS .slide-btn .btn {
	position: absolute;
	display: flex;
	gap: 40px;
}
.autoplay-btn { 
	position: absolute; 
	left: 35px; 
	width: 30px;
    height: 30px;
	padding: 5px;
    box-sizing: border-box;
	cursor: pointer;
	/* border: 1px solid #222; */
}
.autoplay-btn div { 
	position: absolute; 
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.autoplay-btn div img {
    width: 80%;
    height: 80%;
    object-fit: contain;
    margin: 0 auto;
}
.silde-arrow.right { transform: rotate(180deg); }
.btn-frame-AS .slide-btn .btn > div {
	width: 30px;
    height: 30px;
    padding: 5px;
    box-sizing: border-box;
	cursor: pointer;
}
.btn-frame-AS .slide-btn .btn > div img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.autoplay-btn .play { display: none; }
.autoplay-btn .pause { display: block; }
.swiper-scrollbar-horizontal { border-radius: 10px; }


/* 슬라이드 일부 버튼 */
.btn-frame-AS.otherStyle {
    left: -24%;
    top: 22%;
}

@media all and (max-width: 1500px) {
	.btn-frame-AS.otherStyle { left: -25%; top: 22%; }
}

@media all and (max-width: 1080px) {
    .btn-frame-AS.otherStyle {
        left: -34%;
		top: 27%;
    }
}

@media all and (max-width: 768px) {
	.btn-frame-AS.otherStyle { left: 85%; top: -42px; }
}

@media all and (max-width: 650px) {
	.btn-frame-AS.otherStyle { left: 81%; }
}

@media all and (max-width: 500px) {	
	.btn-frame-AS.otherStyle { left: 77%; }
}

@media all and (max-width: 429px) {
	.btn-frame-AS.otherStyle { left: 73%; }
}

@media all and (max-width: 375px) {
	.btn-frame-AS.otherStyle { left: 0; }
}

/* 슬라이드 버튼 2 */
.btn-frame-AS.otherStyle2 {
    top: 130px;
    left: 50%;
    width: 1440px;
    transform: translateX(-50%);
	bottom: initial;
}
.btn-frame-AS.otherStyle2 .slide-btn { width: 100%; }

@media all and (max-width: 1500px) {
	.btn-frame-AS.otherStyle2 { 
	    width: initial;
        top: 80px;
        left: 30px;
	}
}
@media all and (max-width: 1280px) {
	.btn-frame-AS.otherStyle2 { 
        top: 105px;
	}
}
@media all and (max-width: 1080px) {
	.btn-frame-AS.otherStyle2 { 
        left: 20px;
	}
}
@media all and (max-width: 992px) {
    .btn-frame-AS.otherStyle2 {
        top: 102px;
    }
}
@media all and (max-width: 768px) {
    .btn-frame-AS.otherStyle2 {
        top: 81px;
        left: 82%;
    }
}
@media all and (max-width: 650px) {
    .btn-frame-AS.otherStyle2 {
        left: 77%;
    }
}
@media all and (max-width: 578px) {
    .btn-frame-AS.otherStyle2 {
        top: 69px;
    }
}
@media all and (max-width: 500px) {
    .btn-frame-AS.otherStyle2 {
        top: 69px;
		left: 75%;
    }
}
@media all and (max-width: 429px) {
    .btn-frame-AS.otherStyle2 {
        left: 71%;
    }
}
@media all and (max-width: 375px) {
    .btn-frame-AS.otherStyle2 {
        left: 10px;
        top: 105px;
    }
}

/* 메인 배너 */
.mainBanner {
	width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
.mainBanner .swiper1 {
	height: 100%;
	width: 1440px;
	height: 400px;
	border: 1px solid #ddd;
	position: relative;
}
.swiper1 .swiper-slide .realBanner {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.swiper1 .swiper-slide .realBanner-m { display: none; }
/* .swiper-pagination.swiper-pagination-progressbar.swiper-pagination-horizontal {
    top: 562px;
} */
.swiper-horizontal>.swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal {
    height: var(--swiper-pagination-progressbar-size, 6px) !important;
}
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill { background: #000 !important; }

.swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media all and (max-width: 1500px) {
	.mainBanner .swiper1 { width: 100%; height: 450px; padding-bottom: 15px; }
}
@media all and (max-width: 1280px) {
	.mainBanner .swiper1 { height: 370px; }
}
@media all and (max-width: 1080px) {
	.swiper1 { height: 350px; }
}
@media all and (max-width: 992px) {
	.mainBanner .swiper1 { height: 300px; } 
}
@media all and (max-width: 768px) {
	.mainBanner .swiper1 { height: 250px; }
}
@media all and (max-width: 650px) {
	.swiper1 .swiper-slide .realBanner { display: none; }
	.swiper1 .swiper-slide .realBanner-m { display: block; width: 100%; }
	.mainBanner .swiper1 { height: initial;	}
}


/* 중간 배너 */
.banner-wrap {
    width: 1440px;
    height: 150px;
    margin: 60px auto 0;
	display: flex;
    justify-content: space-between;
	gap: 40px; 
	box-sizing: border-box;
}

.banner-wrap .c-banner { width: 50%; background: #eee; position: relative; overflow: hidden; }
.banner-wrap .c-banner .bg-shadow {
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0; 
	background: rgba(0, 0, 0, 0.3);
}
.banner-wrap .c-banner img {
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-wrap .c-banner .mini-banner-txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	
    display: flex;
    flex-direction: column;
	padding-left: 40px;
}

.banner-wrap .left-banner .mini-banner-txt { padding-top: 10px; gap: 12px; }

.banner-wrap .left-banner .mini-banner-txt-1 {
	font-family: 'Gmarket Sans';
    font-weight: 800;
    font-size: 26px;
    color: #fff;
}

.banner-wrap .left-banner {
	display: block;
}

.banner-wrap .left-banner .mini-banner-txt-2 {
	font-family: 'Gmarket Sans';
	font-size: 16px;
    color: #fff;
}

.banner-wrap .right-img-wrap img {
	position: absolute;
    right: 30px;
}

.banner-wrap .right-img-wrap .mini-logo-1 {
    top: 15px;
    width: 25px;
    height: 25px;
}

.banner-wrap .right-img-wrap .arrow-goto {
    width: 65px;
    height: 100%;
    object-fit: contain;
    bottom: -30px;
}

.banner-wrap .right-banner { background: #2f211e; display: flex; justify-content: space-between; }
.banner-wrap .right-banner .mini-banner-txt { gap: 8px; position: initial; transform: translateY(0%); justify-content: center; }

.banner-wrap .right-banner .mini-banner-txt-1 { 
    font-weight: 800;
	color: #ffeb3b;
    font-size: 26px;
    line-height: 30px;
    padding-bottom: 1px;
}

.banner-wrap .right-banner .mini-banner-txt-2 {
	color: #fff;
	font-size: 16px; 
}

.banner-wrap .right-banner .kakao-right-img { width: 40%; padding-right: 10px; }
.banner-wrap .right-banner .kakao-right-img .st-1 {
	display: flex;
	justify-content: center;
    align-items: center;
    gap: 5px;
	padding: 10px 0 5px;
}

.banner-wrap .right-banner .kakao-right-img img {
	object-position: top;
}

.banner-wrap .right-banner .kakao-fr-txt {
	color: #2f211e; 
	background: #ffeb3b;
	font-family: 'Gmarket Sans';
	font-weight: 700;
	padding: 5px 10px;
    border-radius: 5px;
	border: 1px dashed;
}
.banner-wrap .right-banner .kakao-mini-logo { width: 20px; }

/* 공통 라인 */
.common-swiper-line {
	width: 1440px; 
	margin: auto;
	display: flex;
	box-sizing: border-box;
}

.common-swiper-line .swiper-slide { width: 380px; }
.common-swiper-line .tlt { font-size: 40px; line-height: 44px; font-weight: 800; width: 280px; }
.common-swiper-line .tlt span { display: block; }

.poster-txt { text-align: left; margin: 12px 0 17px; display: block; }
.poster-txt .p-tlt { font-size: 18px; font-weight: 700; padding-bottom: 10px; color: #111; padding: 10px 0; word-break: keep-all;
	white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
} 
.poster-txt .vcate { color: #222; font-size: 16px; padding-bottom: 10px; display: inline-block; }
.poster-txt .des { 
	font-weight: 400; 
	font-size: 17px; line-height: 22px; height: 44px; overflow: hidden;
	text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
	color: #777;
    
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical
}
.poster-txt .count { display: flex; justify-content: space-between; padding-top: 12px; align-items: flex-end; padding: 8px 10px; border-radius: 3px; }
.poster-txt .count .day-num { font-weight: 600; font-size: 16px; color: #111; 

	color: #ff4b4b; /* 강렬한 레드/코랄 */
    font-weight: bold;
}
.poster-txt .count .day-txt {
	font-size: 17px;
    font-weight: 600;
}
.poster-txt .count .day-txt.end { color: #ff0000; }
.poster-txt .count .day-txt.ing { color: #004eff; }

.swiper-horizontal .swiper-scrollbar { width: 98%!important; height: 6px !important; }
.swiper-horizontal .swiper-scrollbar .swiper-scrollbar-drag { background: rgba(0,0,0,0.4); }

 @media all and (max-width: 1500px) {
	.common-swiper-line { width: 100%; padding: 0 20px; }
	.common-swiper-line .tlt { 
		width: 20%; 
		font-size: 36px;
		line-height: 42px;
	}
}
@media all and (max-width: 1280px) {
	.common-swiper-line { margin: 0 auto }
	.common-swiper-line .tlt {
	    font-size: 34px;
        line-height: 40px;
	}
}
@media all and (max-width: 1080px) {
	.common-swiper-line .tlt { width: 25%; }
}
@media all and (max-width: 992px) {
	.common-swiper-line { overflow: hidden; }
	.common-swiper-line .tlt {
        font-size: 28px;
        line-height: 32px;
    }
}
@media all and (max-width: 768px) {
	.common-swiper-line { margin: 0 auto; flex-direction: column; }
	.common-swiper-line .tlt { width: 100%; padding-bottom: 15px; }
	.common-swiper-line .tlt span { display: inline-block; }
}
@media all and (max-width: 578px) {
	.common-swiper-line { padding: 10px; margin: 0 auto; }
	.common-swiper-line .tlt {
        font-size: 26px;
        line-height: 30px;
    }
	.poster-txt .des { font-size: 15px; }
	.poster-txt .p-tlt { font-size: 17px; line-height: 21px; }
}
@media all and (max-width: 375px) {
	.common-swiper-line .tlt { padding-bottom: 50px; }
}


/* 첫번째 라인 */
.onePick-line { width: 1160px; position: relative; }

.onePick-line .swiper-slide .p-img-wrap {
	display: block;
	width: 100%;
    position: relative;
	box-shadow: 4px 4px 3px 1px rgba(0, 0, 0, 0.2);
	border-radius: 18px;
}

.onePick-line .swiper-slide .p-img-wrap:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.onePick-line .swiper-slide .p-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
	position: absolute;
	left: 0;
	border-radius: 18px;
}

.onePick-line .onePick-pagination {
	position: absolute;
    z-index: 1;
    top: 570px !important;
	margin-bottom: 0; 
}
.onePick-scrollbar.swiper-scrollbar-horizontal {
    background: #ddd;
    width: 100%;
    height: 7px;
	margin-top: 40px;
}
.swiper-horizontal .swiper-scrollbar {
	width: 98% !important;
	height: 6px !important;
}
.swiper-scrollbar-drag {
	background: rgba(0,0,0,0.4);
}
@media all and (max-width: 578px) {
	.onePick-line-wrap { padding-top: 10px; padding-bottom: 20px; }
	.onePick-scrollbar.swiper-scrollbar-horizontal { margin-top: 20px; }
}

/* 인기행사 */
.realTime-line-wrap { padding-top: 90px; }
.realTime-line { width: 1160px; position: relative; }

.realTime-line .swiper-slide .p-img-wrap {
	display: block;
	width: 100%;
	height: 380px;
    position: relative;
}

.realTime-line .swiper-slide .p-img-wrap:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.realTime-line .swiper-slide .p-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
	position: absolute;
	left: 0;
	box-shadow: 4px 4px 3px 1px rgba(0, 0, 0, 0.2);
	border-radius: 18px;
}

.realTime-line .realTime-pagination {
	position: absolute;
    z-index: 1;
    top: 570px !important;
	margin-bottom: 0; 
}

.realTime-line .realTime-pagination {
    position: absolute;
    z-index: 1;
    top: 700px !important;
    margin-bottom: 0;
}
.realTime-scrollbar.swiper-scrollbar-horizontal {
    background: #ddd;
    width: 100%;
    height: 7px;
	margin-top: 40px;
}
.swiper-horizontal .swiper-scrollbar {
	width: 98% !important;
	height: 6px !important;
}
.swiper-scrollbar-drag {
	background: rgba(0,0,0,0.4);
}
/* .realTime-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag { width: 20%!important; } */
.realTime-btn {
	position: absolute;
    z-index: 1;
} 

@media all and (max-width: 1080px) {
	.realTime-line-wrap { padding-top: 70px; }
}

@media all and (max-width: 578px) {
	.realTime-line-wrap { padding-top: 50px; }
	.realTime-scrollbar.swiper-scrollbar-horizontal { margin-top: 20px; }
}
@media all and (max-width: 475px) {
	.realTime-line-wrap { padding-top: 20px; }
}

/* 공공 데이터 영역 */
.auto-section-wrap { padding: 80px 0; margin-top: 50px; background-color: #f7f7f7; }
.auto-section { width: 1440px; margin: auto; }
.auto-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 17px;
	margin-right: 7px;
	/* flex-direction: column;
	justify-content: space-between;
	position: relative; */
}
.auto-title-wrap { display: flex; gap: 20px; }
.auto-title-wrap .filter-list { display: flex; align-items: flex-end; gap: 15px; }
.auto-title-wrap .filter-list li.active a { font-weight: 700; color: #0040ed; } 
.auto-title {
    font-size: 24px;
    font-weight: 700;
    color: #111;
    margin: 0;
}
.auto-title span {
    font-size: 14px;
    color: #007bff;
    margin-left: 8px;
    font-weight: 400;
}
.update-badge {
    font-size: 14px;
    color: #007bff;
    /* background: #eef6ff; */
    padding: 0;
    border-radius: 20px;
    font-weight: 500;
}
/* .update-badge { position: absolute; right: 0; bottom: 0; } */
.auto-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.auto-card {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 16px;
    padding: 18px 15px 18px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,0.02);
    cursor: pointer;

	display: flex;
	flex-direction: column;
    align-items: flex-start;
	/* background-image: linear-gradient(180deg, #fdfbfb 0%, #eff1f2 100%); */
}
.auto-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.08);
    border-color: #d1d1d1;
}
.auto-card .conBox { margin-left: 5px; }
.auto-section .tag {
    display: flex;
	align-items: center;
    font-size: 15px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    margin-bottom: 9px;

	max-height: 35px;
    overflow: hidden;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    box-sizing: border-box;
}

/* 카테고리별 컬러 (정책, 장학, 시험) */
.policy .tag { background: #eef6ff; color: #007bff; }
.scholarship .tag { background: #fff4e5; color: #ff922b; }
.exam .tag { background: #f3f0ff; color: #7950f2; }

/* 카드 제목 */
.auto-section .title {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
	text-align: left;
    overflow: hidden;
	width: 100%;
}
.auto-section .desc {
    font-size: 16px;
    color: #666;
    margin: 0;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
	text-align: left;
    text-overflow: ellipsis;
	width: 100%;
}

@media all and (max-width: 1280px) {
	.auto-section .title { font-size: 20px; -webkit-line-clamp: 1; }
	.auto-section .tag { margin-bottom: 6px; }
}
@media all and (max-width: 1200px) {
    .auto-container { 
        display: flex;
        padding-bottom: 15px;
        overflow-x: scroll;
		scroll-snap-type: x mandatory; 
	}
    .auto-card {
        flex: 1 1;
        scroll-snap-align: center;
    }
}
@media all and (max-width: 578px) {
	.auto-header { flex-wrap: wrap; }
}

/* 중간 배너 */
.main-middle-banner {
	width: 1440px; 
	height: 300px;
	background: #f5c149;
	margin: 90px auto;
	background: url(/public/assets/img/main/renewal/banner/mini-banner-2.png) no-repeat;
	box-sizing: border-box;
    padding-left: 80px;
	display: flex;
    align-items: center;
    justify-content: space-between;
	overflow: hidden;
}
.txt-all-wrap .txt-all .t-line-1 {
	font-family: 'Gmarket Sans';
	color: #444;
	padding-bottom: 6px;
    display: block;
	font-size: 20px
}
.txt-all-wrap .txt-all .t-line-2 {
	font-family: 'BMJUA';
	font-size: 34px;
	line-height: 38px;
}
.button-all { 
	margin-top: 15px; 
    display: flex;
	gap: 25px;
}
.button-all a {
    border: 0;
    background: transparent;
    padding: 0;
    height: 100%;
	width: 130px;
}
.button-all a img { 
	width: 100%;
    border: 2px solid #f5c149;
    border-radius: 10px;
	padding: 5px;
    background: #000;
	box-sizing: border-box;
}

.button-all a:hover img {
    transition: all .5s;
    border: 2px solid #ffed99;
}

/* 신규행사 */
.newEvent-line-wrap { padding-top: 90px; }
.newEvent-line { width: 1160px; position: relative; }
.newEvent-line .swiper-slide .p-img-wrap {
	display: block;
	width: 100%;
	height: 380px;
    position: relative;
}

.newEvent-line .swiper-slide .p-img-wrap:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.newEvent-line .swiper-slide .p-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
	position: absolute;
	left: 0;
	box-shadow: 4px 4px 3px 1px rgba(0, 0, 0, 0.2);
	border-radius: 18px;
}

.newEvent-line .newEvent-pagination {
	position: absolute;
    z-index: 1;
    top: 570px !important;
	margin-bottom: 0; 
}

.newEvent-line .newEvent-pagination {
    position: absolute;
    z-index: 1;
    top: 700px !important;
    margin-bottom: 0;
}

.newEvent-scrollbar.swiper-scrollbar-horizontal {
    background: #ddd;
    width: 100%;
    height: 7px;
	margin-top: 40px;
}
.newEvent-scrollbar.swiper-scrollbar-horizontal .swiper-scrollbar-drag { background: rgba(0,0,0,0.4); }

@media all and (max-width: 1440px) {
    /* 고정된 가로폭을 화면 폭에 맞게 강제 해제 */
    .auto-section, 
    .main-middle-banner {
        width: 100%;
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media all and (max-width: 1080px) {
	.newEvent-line-wrap { padding-top: 70px; }
}
@media all and (max-width: 768px) {
    .main-middle-banner {
        height: auto;
        padding: 40px 20px;
        background-size: cover;
    }
    .button-all {
        justify-content: center;
    }
}
@media all and (max-width: 578px) {
	.newEvent-line-wrap { padding-top: 50px; padding-bottom: 20px; }
	.newEvent-scrollbar.swiper-scrollbar-horizontal { margin-top: 20px; }
}

/* ai curation */
.curation-line-wrap { 
	background: #d8eaff; 
	padding: 120px 20px 110px;
	flex-direction: column;
	width: 100%;
	position: relative; 
}
.curation-line-wrap .curation-tlt {
	font-size: 46px;
    font-weight: 700;
	text-align: center;
    margin: 0 auto 50px;
}
.curation-line-wrap .swiper-slide a { display: block; }
.curation-line-wrap .swiper-slide a img { width: 100%; }

.field {
    padding-top: 25px;
	color: #000;
}
.field .detail-field {
	color: #707070;
	font-size: 15px;
	padding-bottom: 10px;
	font-weight: 400;
	text-align: left;
}
.field .tlt-field {
	font-size: 18px;
	color: #000;
	font-weight: 500;

	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}
.field .last-line {
	display: flex;
	justify-content: space-between;
	padding-top: 40px;
}
.field .last-line .company-field { 
	color: #3f3f3f;
    font-size: 16px;
    font-weight: 400;
}
.field .last-line .charge-field {
	font-size: 20px;
    font-weight: 600;
}
.charge-field.free { color: #3d6cb4; }

.curation-line-wrap .swiper-wrapper {
    transition-timing-function: linear !important;
}
.curation-line-wrap .swiper-slide {
	background: transparent;
}

.curation-scrollbar.swiper-scrollbar-horizontal {
    background: #fff;
    width: 100%;
    height: 6px;
	margin-top: 40px;
}
.curation-scrollbar .swiper-horizontal .swiper-scrollbar {
	width: 98% !important;
	height: 7px !important;
}
.curation-scrollbar .swiper-scrollbar-drag {
	background: rgba(0,0,0,0.2);
}

@keyframes flowRolling { 
    0% { transform: translateX(0); } 
    100% { transform: translateX(-100%); } 
}


@media all and (max-width: 1500px) {
    .curation-line-wrap { padding: 70px 20px; }
	.main-middle-banner { width: 100%; }
}
@media all and (max-width: 1280px) { 
	.curation-line-wrap { margin-top: 70px; padding: 110px 0; margin: 110px auto 60px; }
	.curation-line-wrap {
	    padding: 100px 20px;
        margin: 70px auto 0px;
	}
	.curation-line-wrap .curation-tlt {
		font-size: 34px;
		font-weight: 700;
		margin-bottom: 40px;
	}
	.curation-line-wrap .curation-tlt  { font-size: 40px; }
}
@media all and (max-width: 992px) {
	.curation-line-wrap { padding: 100px 20px 80px; }
	.curation-line-wrap .curation-tlt { font-size: 32px; margin-bottom: 30px; }
}
@media all and (max-width: 768px) {
	.curation-line-wrap {
        margin-top: 30px;
        padding: 80px 20px 70px;
        position: relative;
    }
}
@media all and (max-width: 578px) {
	.curation-line-wrap { padding: 70px 10px 50px }
	.curation-line-wrap .curation-tlt {
        font-size: 26px;
        margin: 0 0 15px;
        text-align: left;
		padding-bottom: 40px; 
    }
}


/* 강사추천 */
.instructor-line-wrap {
    width: 1440px;
    margin: 130px auto 80px;
    display: flex;
	flex-direction: column;
    padding-bottom: 50px;
	align-items: flex-end;
	box-sizing: border-box;
	position: relative; 
}
.instructor-line-wrap .more-click-btn {
	text-align: right;
    font-weight: 700;
    display: inline-block;
	margin-bottom: 10px
}
.instructor-line-wrap .contents-frame { display: flex; width: 100%; }
.instructor-line-wrap .tlt {
	font-size: 40px;
	line-height: 44px;
    font-weight: 800;
    width: 280px;
	margin-bottom: 70px;
}
.instructor-line-wrap .tlt span { display: block; }
.instructor-line-wrap .left-area { width: 20%; }
.instructor-line-wrap .right-area { width: 80%; }
.instructor-c-go {
    display: flex;
    align-items: center;
    justify-content: space-between;
	width: 200px;
}
.instructor-c-go .arrow-bg {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #b1d6ff;
	position: relative;
	display: block;
}
.instructor-c-go .txt { font-size: 18px; font-weight: 600; display: inline-block; }
.instructor-c-go .arrow-bg img {
	position: absolute;
	bottom: 10px;
    right: 5px;
}

 .instructor-face {
	display: block;
	width: 100%;
    margin: 0 auto;
    position: relative;
    border: 1px solid #ddd;
}

.instructor-face:after {
	content: "";
	display: block;
	padding-bottom: 100%;
}

.instructor-face img {
    width: 100%;
    height: 100%;
    object-fit: none;
    object-position: bottom;
    position: absolute;
    left: 0;
}
.instructor-txt { padding-top: 20px; }
.instructor-txt .i-hashtag { 
	color: #777; 
	font-weight: 400;
	padding-bottom: 8px;
    display: block;
	font-size: 15px;
}
.instructor-txt .i-tlt {
    font-weight: 700;
    font-size: 20px;
    padding-bottom: 10px;
	width: 300px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
	color: #111;
}
.instructor-txt .des { color: #444; line-height: 18px; 
	width: 100%;
    text-overflow: ellipsis;
    overflow: hidden;
    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
/* .instructor-line-wrap .rank-list-wrap { display: flex; gap: 20px; margin-bottom: 30px; } */
.instructor-line-wrap .rank-list-wrap { display: flex; flex-wrap: wrap; gap: 20px; }
.instructor-line-wrap .rank-list-wrap .rank-list { width: 33%; flex-grow: 1; flex-basis: 300px; overflow: hidden; }
.rank-list-wrap .rank-list .instructor-face { background: #ffc543; }
.rank-list-wrap .rank-list:nth-child(2) .instructor-face { background: #ffe588; }
.rank-list-wrap .rank-list:nth-child(3) .instructor-face { background: #ffb200; }
.rank-list-wrap .rank-list:nth-child(4) .instructor-face { background: #dfd8d8; }
.rank-list-wrap .rank-list:nth-child(5) .instructor-face { background: #b5daff; }
.rank-list-wrap .rank-list:nth-child(6) .instructor-face { background: #b7edff; }

@media all and (max-width: 1500px) {
	.instructor-line-wrap { width: 100%; padding: 0 20px 50px; display }
	.instructor-line-wrap .contents-frame .left-area { width: 20%; }
	.instructor-line-wrap .contents-frame .right-area { width: 80%; }
}
@media all and (max-width: 1280px) {
	.instructor-line-wrap { padding: 0 20px; margin: 90px auto 100px; }
	.instructor-line-wrap .tlt { font-size: 34px; }
	.instructor-c-go { display: none; }
	.instructor-line-wrap .contents-frame .left-area {
        width: 100%;
        display: flex;
		justify-content: space-between;
		margin-bottom: 20px;
    }
	.instructor-line-wrap .tlt { margin-bottom: 0; width: auto; }
	.instructor-line-wrap .tlt span { display: inline-block; }
	.instructor-line-wrap .contents-frame {
		display: flex;
		flex-direction: column;
	}
	.instructor-line-wrap .contents-frame .right-area { width: 100%; }
	.instructor-line-wrap .rank-list-wrap { gap: 15px; }
	.instructor-line-wrap .more-click-btn { position: absolute; top: 20px; }
}
@media all and (max-width: 1080px) {
	.instructor-face { overflow: hidden; }
	.instructor-face img { padding-top: 30px; }
}
@media all and (max-width: 992px) {
	.instructor-line-wrap { margin: 70px auto;}
	.instructor-line-wrap .tlt, .endEvent-line-wrap .tlt {
        font-size: 28px;
        line-height: 32px;
    }
	.instructor-c-go { display: none; }
	.instructor-face img { object-fit: contain; }
	.notice-line-wrap .notice-line .inner .inner__left h2 {
		margin-right: 30px;
		padding-right: 30px;
	}
}
@media all and (max-width: 768px) {
	.instructor-line-wrap .rank-list-wrap .rank-list { flex-basis: 45%;	}
	.field .last-line .charge-field { font-size: 17px; }
}
@media all and (max-width: 578px) {
	.instructor-line-wrap { padding: 0 10px; }
	.instructor-txt .i-tlt { font-size: 20px; width: initial; }
	.instructor-line-wrap .contents-frame .left-area { margin-bottom: 15px; }
	.instructor-line-wrap .rank-list-wrap {
        gap: 10px;
    }
	.instructor-line-wrap .tlt {
		font-size: 26px;
        line-height: 30px;
	}
	.instructor-line-wrap .more-click-btn { top: 13px; }
}
@media all and (max-width: 450px) {
	.instructor-txt { padding-top: 10px; }
	.instructor-txt .des { font-size: 14px; }
	.instructor-txt .i-tlt { font-size: 18px; padding-bottom: 7px; }
	.instructor-txt .i-hashtag { font-size: 14px; }
	.instructor-line-wrap .rank-list-wrap { gap: 20px; }
}


/* 마감되는 행사 */
.endEvent-line-wrap {
	width: 100%;
	padding: 90px 0;
	display: block;
	background-color: #b3d2f9;

    /* background-image: linear-gradient(-225deg, #5D9FFF 0%, #B8DCFF 48%, #6BBBFF 100%); */
	/* background-image: linear-gradient(-225deg, #E3FDF5 0%, #FFE6FA 100%); */
	/* background-image: linear-gradient( 180deg, #FFFEFF 0%, #b4ddff 100%); */
}
.endEvent-line-wrap .tlt {
    font-size: 40px;
	line-height: 44px;
    font-weight: 800;
	width: 1440px;
    margin: 0 auto 30px;
	color: #111;
	text-align: center;
}
.endEvent-line-wrap .content-wrap {
	width: 1440px; 
	margin: 0 auto;
    box-sizing: border-box;
	position: relative;
}
.endEvent-line-wrap .swiper-wrapper { z-index: 11; }
.end-list-wrap { display: flex; width: 100%; gap: 0; box-sizing: border-box; }
.swiper-wrapper.end-list-wrap { height: initial; }
.mainBanner .mySwiper .swiper-wrapper { height: initial; }
.end-list-wrap .end-list { background: #fff; width: 25%; border-radius: 3px; overflow: hidden; 
	
	background-color: #ffffff; /* 카드는 흰색으로 */
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* 은은한 그림자 */
    overflow: hidden;
}
.end-list-wrap .end-list a { display: block; }

.end-list-wrap .end-list .p-img-wrap { height: 350px; overflow: hidden; background-color: #f5f5f5; border-bottom: 1px solid #ddd; box-shadow: 7px 6px 6px -1px rgba(0, 0, 0, 0.2); 
	height: 330px;
    overflow: hidden;
    background-color: #f5f5f5;
    border-bottom: 1px solid #ddd;
    box-shadow: 7px 6px 6px -1px rgba(0, 0, 0, 0.2);
    background: #fff;
    border: 4px solid #fff;
    border-radius: 10px;
}
.end-list-wrap .end-list .poster-txt { padding: 0 13px; }
.end-list-wrap .end-list .poster-txt .count { margin-top: 10px; }
.end-list-wrap .end-list a img { 
	width: 100%; 
	height: 100%;
    object-fit: cover;
    object-position: top;
}
.btn.endEvent-btn {
    position: relative;
    z-index: 1;
    width: 100%;
    top: -280px;
    transform: translate(-50%, -50%);
    left: 50%;
}
.endEvent-prev-btn, .endEvent-next-btn {
	width: 50px;
	height: 50px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.9);
}
.endEvent-next-btn { 
	position: absolute;
	top: 0;
	right: 1px;
}
.endEvent-btn .silde-arrow { 
	width: 50px;
	height: 50px;
	object-fit: none;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.9);

	cursor: pointer;
}
.endEvent-btn .silde-arrow:hover {
	color: #fff;
	background: rgba(0,0,0,0.3);
}

@media all and (max-width: 1500px) {
	.endEvent-line-wrap { padding: 80px 20px 70px; }
	.endEvent-line-wrap .tlt { width: 100%; }
	.endEvent-line-wrap .content-wrap { width: 100%; padding: 0 20px; }
	.end-list-wrap { width: 100%; }
}
@media all and (max-width: 1280px) {
	.endEvent-line-wrap .tlt {
		font-size: 34px;
        line-height: 40px;
	}
	.endEvent-line-wrap { padding: 90px 0; }
    .endEvent-line-wrap .tlt { margin: 0 auto 40px; }
}
@media all and (max-width: 1200px) {
    .endEvent-line-wrap { padding: 80px 0; }
}
@media all and (max-width: 1080px) {
	.endEvent-line-wrap .tlt { margin: 0 auto 30px; }
}
@media all and (max-width: 992px) {
    .endEvent-line-wrap {
        padding: 60px 0;
   }
   .endEvent-line-wrap .content-wrap {
       width: 100%;
      position: relative;
   }
   .poster-txt .count { padding: 8px 0; }
   .end-list-wrap .end-list .poster-txt {
		margin: 5px 0 7px;
   }
}
@media all and (max-width: 768px) {
   .endEvent-line-wrap .tlt { 
		margin-bottom: 15px; 
        font-size: 30px;
        line-height: 36px;
   }
   .end-list-wrap .end-list .poster-txt .des {
		font-size: 16px;
		line-height: 20px;
		height: 40px;
   }
   .end-list-wrap .end-list .poster-txt .count { 
		margin-top: 3px; 
		padding: 5px 0;
   }
   .end-list-wrap .end-list .poster-txt .vcate { padding-bottom: 5px; }
   .end-list-wrap .end-list .poster-txt .count span { font-size: 15px; }
}
@media all and (max-width: 578px) {
   .endEvent-line-wrap .content-wrap { padding: 0 10px; }
   .endEvent-line-wrap .tlt {
      font-size: 26px;
        line-height: 30px;
      margin-bottom: 0;
      padding-bottom: 15px;
   }
}
@media all and (max-width: 500px) {
   .endEvent-line-wrap .tlt { padding-bottom: 20px; }
}
@media all and (max-width: 375px) {
   .endEvent-line-wrap .tlt { padding-bottom: 20px; }
}



@media all and (max-width: 1440px) {
	.end-list-wrap .end-list .p-img-wrap { height: 310px; }
}
@media all and (max-width: 1400px) {
	.end-list-wrap .end-list .p-img-wrap { height: 290px; }
}
@media all and (max-width: 1360px) {
	.end-list-wrap .end-list .p-img-wrap { height: 270px; }
}
@media all and (max-width: 1280px) {
	.end-list-wrap .end-list .p-img-wrap { height: 260px; }
}
@media all and (max-width: 1200px) {
	.end-list-wrap .end-list .p-img-wrap { height: 250px; }
}
@media all and (max-width: 1080px) {
	.end-list-wrap .end-list .p-img-wrap { height: 250px; }
}
@media all and (max-width: 1050px) { 
	.end-list-wrap .end-list .p-img-wrap { height: 290px; }
}
@media all and (max-width: 992px) {
    .end-list-wrap .end-list .p-img-wrap { height: 260px; }
}
@media all and (max-width: 900px) {
    .end-list-wrap .end-list .p-img-wrap { height: 240px; }
}
@media all and (max-width: 850px) {
    .end-list-wrap .end-list .p-img-wrap { height: 220px; }
}
@media all and (max-width: 768px) {
   .end-list-wrap .end-list .p-img-wrap { height: 180px; }
}
@media all and (max-width: 650px) {
	.end-list-wrap .end-list .p-img-wrap { height: 220px; }
}
@media all and (max-width: 600px) {
	.end-list-wrap .end-list .p-img-wrap { height: 210px; }
	}
@media all and (max-width: 578px) {
   .end-list-wrap .end-list .p-img-wrap { height: 200px; }
}
@media all and (max-width: 550px) {
	.end-list-wrap .end-list .p-img-wrap { height: 190px; }
}
@media all and (max-width: 500px) {
   .end-list-wrap .end-list .p-img-wrap { height: 170px; }
}
@media all and (max-width: 460px) {
   .end-list-wrap .end-list .p-img-wrap { height: 160px; }
}
@media all and (max-width: 425px) {
   .end-list-wrap .end-list .p-img-wrap { height: 160px; }
}

/* 에이이노브만의 특별 서비스 */
.outer_special-ainnov-wrap { width: 100%; overflow: hidden; }
.special-ainnov-wrap {
	padding: 100px 0;
	display: flex;
	width: 1440px;
    margin: auto;
	flex-direction: column;
	position: relative;
	z-index: 0;
}
.special-ainnov-wrap .s-c- { position: absolute; border-radius: 50%; background-image: linear-gradient(180deg, #92fe9d 0%, #00c9ff 100%); z-index: -1; }
.special-ainnov-wrap .s-c-1 {
	top: 20px; 
	left: 20px;
	width: 100px;
	height: 100px; 
	opacity: .9;
}
.special-ainnov-wrap .s-c-2 {
	bottom: 100px;
	right: 0;
	width: 300px;
	height: 300px;
	opacity: .3;
}
/* .special-ainnov-wrap .special-tlt {
	width: 1440px;
	margin: 0 auto;
	text-align: center;
} */
.special-ainnov-wrap .special-tlt .tlt { 
	font-family: 'GMarketSans';
    font-size: 30px;
    line-height: 36px;
	margin-bottom: 25px;
	text-align: center;
}
.special-ainnov-wrap .special-tlt .des {
    font-size: 18px;
    line-height: 22px;
	word-break: keep-all;
	text-align: center;
    color: #555;
}
.special-ainnov-wrap .content-wrap {
	width: 100%;
	margin: 60px auto 20px;
	display: flex;
    justify-content: space-around;
    align-items: flex-end;
}
.special-ainnov-wrap .content-wrap .list { text-align: center;}
.special-ainnov-wrap .content-wrap .list a { display: block; }
.special-ainnov-wrap .content-wrap .list a img { height: 70px; }
.special-ainnov-wrap .content-wrap .list a .des { padding-top: 20px; color: #333; font-size: 20px; font-weight: 600; }


@media all and (max-width: 1500px) {
	.special-ainnov-wrap { width: 100%; padding: 80px 0; }
	.special-ainnov-wrap .s-c-1 { top: 130px; left: 20px; width: 80px; height: 80px; opacity: .7; }
	.special-ainnov-wrap .s-c-2 { width: 270px; height: 270px; bottom: 60px; opacity: .3; }
	.special-ainnov-wrap .special-tlt { width: 100%; }
	.special-ainnov-wrap .content-wrap { width: 100%; }
}
@media all and (max-width: 1279px) {
	.special-ainnov-wrap { margin: 40px 0; }
}
@media all and (max-width: 1080px) {
	.special-ainnov-wrap .special-tlt .tlt {
        font-size: 28px;
        line-height: 34px;
    }
}
@media all and (max-width: 992px) {
	.special-ainnov-wrap .content-wrap .list a img { height: 55px; }
	.special-ainnov-wrap { margin: 0 0 40px; }
	.special-ainnov-wrap .special-tlt .tlt { font-size: 28px; line-height: 36px; }
	.special-ainnov-wrap .special-tlt .des { padding: 0 20px; box-sizing: border-box; }
	.special-ainnov-wrap .content-wrap .list a .des { font-size: 18px; }
}
@media all and (max-width: 768px) {
	.special-ainnov-wrap {
        margin: 40px 0;
    }
	.special-ainnov-wrap .special-tlt .tlt {
        font-size: 26px;
        line-height: 32px;
    }
	.special-ainnov-wrap .content-wrap .list a img {
		height: 50px;
	}
}
@media all and (max-width: 650px) {
	.special-ainnov-wrap .s-c-2 {
        width: 180px;
        height: 180px;
	}
}
@media all and (max-width: 578px) {
	.special-ainnov-wrap .special-tlt .tlt { 
		margin-bottom: 15px;
	    font-size: 24px;
        line-height: 28px;
	}
	.special-ainnov-wrap {
		margin: 30px 0;
	}
	.special-ainnov-wrap .content-wrap { 
		flex-direction: column;
		align-items: center;
		margin: 40px auto 0px;
		gap: 55px;
	}
	.special-ainnov-wrap .content-wrap .list a .des { padding-top: 10px; }
}
@media all and (max-width: 475px) {
	.special-ainnov-wrap .special-tlt .tlt {
		font-size: 22px;
        line-height: 26px;
	}
	.special-ainnov-wrap .special-tlt .des {
		font-size: 16px;
		line-height: 20px;
	}
}



/* 카테고리 선택 */
.category-line-wrap { 
	background: #f5f5f5;
	width: 100%; padding: 80px 0; 
	/* background-image: linear-gradient(to top, #dfe9f3 0%, white 100%); */
}
.category-line-wrap .category-tlt {
	width: 1100px;
	margin: 0 auto;
	text-align: center;
}
.category-line-wrap .category-tlt .tlt {
    font-size: 28px;
	font-weight: 700;
	margin-bottom: 20px;
}
.category-line-wrap .category-tlt .des {
    font-size: 18px;
    line-height: 22px;
    color: #777;
}
.category-list-wrap {
	width: 1200px;
    margin: 40px auto 0;
	text-align: center;
	box-sizing: border-box;
}
.category-list-wrap .category-box {
	display: inline-block;
	padding: 12px 20px;
	background: #fff;
	border-radius: 50px;
	border: 1px solid #ddd;
	box-sizing: border-box;
	font-weight: 500;
	margin-left: 10px;
	margin-right: 10px;
    margin-bottom: 10px;
	transition: all .5s;
	color: #444;
	font-size: 18px;
}
.category-list-wrap .category-box:hover {
	background: #aaa;
	color: #fff;
}



@media all and (max-width: 1500px) {
	/* 공공데이터 */
	.auto-section-wrap { padding: 50px 30px; margin-top: 50px; }
	.auto-section { width: 100%; }
	/* 미니배너 */
	.banner-wrap { width: 100%; gap: 20px; padding: 0 20px; }

	/* 원픽 행사 */
	.onePick-line { width: 80%; } 

	/* 실시간 인기행사 */
	.realTime-line { width: 80%;}

	/* 인기 행사 */
	.newEvent-line { width: 80%; }

	/* 관심행사 */
	.category-list-wrap { width: 100%; padding: 0 20px; }
	.category-line-wrap .category-tlt { width: 100%; }

	/* 공통 */
	.realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap { height: 350px; }
}

@media all and (max-width: 1349px) {
	.realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap { height: 300px; }
}

@media all and (max-width: 1279px) {
	.category-line-wrap { padding: 80px 0 70px; }

	/* 중간배너 */
	.main-middle-banner { height: 280px; margin: 80px auto; }
	.txt-all-wrap .txt-all .t-line-1 { font-size: 18px; }
	.txt-all-wrap .txt-all .t-line-2 {
	    font-size: 32px;
		line-height: 36px;
	}
	.button-all { gap: 5px; }
	.main-middle-banner { position: relative; z-index: 0; padding-left: 40px; }
	.main-middle-banner .img-all-wrap img {
        position: absolute;
        right: -150px;
        top: 60%;
		transform: translateY(-50%);
		z-index: -1;
		width: 70%;
    }
	.banner-wrap .c-banner .mini-banner-txt { padding-left: 20px; }
}

@media all and (max-width: 1199px) {
	/* 공통 */
    .realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap {
        height: 270px;
    }
	/* 미니배너 */
	.banner-wrap .right-banner .kakao-right-img { width: 30%; }
	.banner-wrap .right-banner .mini-banner-txt-1 { font-size: 23px; line-height: 25px; }
	.banner-wrap .right-banner .kakao-fr-txt { padding: 3px 5px; font-size: 15px; }
}

@media all and (max-width: 1150px) {
    .realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap {
        height: 260px;
    }
}

@media all and (max-width: 1079px) {
	/* 미니배너 */
	.banner-wrap { margin: 50px auto 0; }
	/* 원픽 행사 */
	.onePick-line { width: 75%; }

	/* 실시간 인기행사 */
	.realTime-line { width: 75%; }

	/* 새로운 행사 */
	.newEvent-line { width: 75%; }

	/* 공통 */
	.realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap { height: 320px; }
}

@media all and (max-width: 991px) {
	.realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap {
        height: 290px;
    }

	/* 미니배너 */
	.banner-wrap .right-banner .kakao-right-img { width: 20%; padding-right: 15px; }

	/* 중간배너 */
	.main-middle-banner { height: 240px; padding-left: 30px; }
	.txt-all-wrap .txt-all .t-line-1 {
        font-size: 15px;
    }
	.txt-all-wrap .txt-all .t-line-2 {
        font-size: 24px;
        line-height: 28px;
    }
	.main-middle-banner .img-all-wrap img { width: 75%; }
	.button-all { margin-top: 10px; }

	.instructor-line-wrap .rank-list-wrap .rank-list { flex-basis: 220px; }
}

@media all and (max-width: 920px) {
    .realTime-line .swiper-slide .p-img-wrap,
	.newEvent-line .swiper-slide .p-img-wrap {
        height: 240px;
    }
	.banner-wrap .c-banner .mini-banner-txt { padding-left: 10px; }
	.banner-wrap .right-banner .mini-banner-txt-1 { font-size: 24px; line-height: 26px; }
	.banner-wrap .right-banner .kakao-right-img { width: 27%; }
	.banner-wrap .right-banner .kakao-fr-txt { padding: 2px 3px; padding: 2px 3px; }
}

@media all and (max-width: 900px) {
	.banner-wrap .right-banner .mini-banner-txt-1 { font-size: 21px; line-height: 26px; }
	.banner-wrap .right-banner .mini-banner-txt-2 { font-size: 15px; }
}

@media all and (max-width: 768px) {
	/* 원픽 행사 */
	.onePick-line {
        width: 100%;
    }

	/* 실시간 인기행사 */
	.realTime-line {
        width: 100%;
    }

	/* 새로운 행사 */
	.newEvent-line {
        width: 100%;
    }
	
	/* 미니 배너 */
	.banner-wrap { flex-direction: column; gap: 10px; height: 250px; }
	.banner-wrap .c-banner { width: 100%; height: 150px; }

	/* 중간 배너 */
	.main-middle-banner {
        margin: 30px auto 80px;
		background-position: bottom;
		background-size: cover;
    }
	.main-middle-banner .img-all-wrap img {
        width: 65%;
		right: -80px;
    }

	/* 관심 행사 */
	.category-line-wrap {
        padding: 70px 0 50px;
    }
	.category-list-wrap { margin: 30px auto 0; }
	.category-line-wrap .category-tlt .tlt { margin-bottom: 15px; }
	.category-list-wrap .category-box { margin-left: 7px; margin-right: 7px; }

	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 300px;
    }

	/* 카테고리 */
	.category-list-wrap .category-box { font-size: 17px; }

	/* 실시간 맞춤 정보 */
	.auto-section-wrap { padding: 50px 10px; margin-top: 30px; }
}

@media all and (max-width: 700px) {
	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 270px;
    }
}

@media all and (max-width: 650px) {
	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 240px;
    }
}

@media all and (max-width: 610px) {
	.banner-wrap .c-banner .mini-banner-txt { padding-left: 20px; }
}

 @media all and (max-width: 578px) {
 	.banner-wrap { padding: 0 10px; margin: 34px auto 40px; }
 	.banner-wrap .left-banner .mini-banner-txt-1 { font-size: 24px; }
 	.banner-wrap .right-banner .mini-banner-txt-1 { font-size: 20px; }

	/* 중간배너 */ 
	.main-middle-banner { 
		height: 450px;
	    align-items: flex-start;
        margin: 30px auto 40px;
	}
	.txt-all-wrap { padding-top: 40px; }
	.main-middle-banner .img-all-wrap img {
        width: 105%;
        right: -90px;
        top: 60%;
    }
	/* 관심행사 */
	.category-line-wrap {
        padding: 60px 0 50px;
    }
	.category-list-wrap {
		padding: 0 10px;
	}
	.category-line-wrap .category-tlt .tlt { 
		font-size: 22px; 
		margin-bottom: 15px;
        padding: 0 5px;
        word-break: keep-all;
        line-height: 27px;
	}
	.category-list-wrap .category-box {
        margin-left: 5px;
        margin-right: 5px;
		margin-bottom: 7px;
		padding: 10px 15px;
		font-size: 15px;
    }

	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 220px;
    }
}

 @media all and (max-width: 500px) {
 	.banner-wrap { height: initial; }
	.banner-wrap .left-banner { height: 120px; }
	.banner-wrap .right-banner .mini-banner-txt {
        padding-left: 0;
        text-align: center;
    }
	.banner-wrap .right-banner {
		flex-direction: column;
		height: 200px;
        padding: 15px 0;
	}
	.banner-wrap .right-banner .kakao-right-img {
		width: 60%;
		padding-right: 0;
		margin: 0 auto;
	}

	/* 중간배너 */
	.main-middle-banner { height: 400px; }

 }

@media all and (max-width: 429px) {
	/* 중간배너 */
	.main-middle-banner { height: 370px; margin: 20px auto 70px; }
	.main-middle-banner .img-all-wrap img { top: 70%; }

	/* 관심 행사 */
	.category-line-wrap .category-tlt .des { font-size: 16px; }
	
}
@media all and (max-width: 400px) {
	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 230px;
    }
}
@media all and (max-width: 375px) {
	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 210px;
    }
	
	/* 중간배너 */
	.main-middle-banner {
        height: 330px;
    }
}

@media all and (max-width: 375px) {
	/* 공통 */
	.newEvent-line .swiper-slide .p-img-wrap,
	.realTime-line .swiper-slide .p-img-wrap {
        height: 190px;
    }	
}

/* vod 영역 */
.vod-container { padding: 60px 20px; background-color: #e6f1ff;
	background-image: linear-gradient(to top, white 0%, #e6f1ff 100%);
	background-image: linear-gradient(to top, white 0%, #b3d2f9 100%);
}
.vod-header { margin-bottom: 45px; }
.vod-label p { 
	display: inline-block; background: #ff4757; color: #fff; 
	padding: 5px 15px; border-radius: 4px; font-weight: 800; font-size: 13px; margin-bottom: 15px;
}
.vod-main-title { font-size: 34px; font-weight: 800; color: #111; margin-bottom: 8px; letter-spacing: -1px; }
.vod-sub-title { font-size: 17px; color: #666; }
.vod-wrapper ul { 
	display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); 
	gap: 25px; list-style: none; padding: 0; 
}
.vod-item { 
	background: #fff; border-radius: 15px; overflow: hidden; 
	box-shadow: 0 10px 30px rgba(0,0,0,0.05); border: 1px solid #eee; transition: 0.3s;
}
.vod-item:hover { transform: translateY(-10px); box-shadow: 0 15px 35px rgba(0,0,0,0.12); }
.vod-item a { text-decoration: none; color: inherit; display: block; }
.vod-item img { width: 100%; height: 180px; object-fit: cover; display: block; }
.vod-content-box { padding: 25px; }
.vod-tag { 
	display: inline-block; font-size: 12px; font-weight: 700; color: #ff4757; 
	margin-bottom: 12px; border: 1px solid #ff4757; padding: 2px 8px; border-radius: 3px;
}
.vod-name { font-size: 18px; font-weight: 700; color: #222; line-height: 1.4; margin: 0; }

@media media and (max-width: 768px) {
	.vod-container { padding: 40px 15px; }
	.vod-main-title { font-size: 28px; }
	.vod-sub-title { font-size: 14px; }
.vod-wrapper ul {
	grid-template-columns: 1fr; 
	gap: 15px;
}
	.vod-item img { height: 200px; }
}
@media media and (max-width: 578px) {

}

/* 리뉴얼 vod */
.vod-section {
	padding: 80px 20px;
	background-color: #ffffff;
	font-family: 'Pretendard', -apple-system, sans-serif;
}
.vod-inner { max-width: 1440px; margin: 0 auto; }
.vod-header {
	position: relative;
	text-align: center;
	margin-bottom: 50px;
}
.vod-top-label {
    font-size: 22px;
    color: #ed234b;
    font-weight: 600;
    margin-bottom: 10px;
	display: block;
}
.vod-main-title {
	font-size: 34px;
	font-weight: 800;
	color: #111;
	margin: 0;
	letter-spacing: -1px;
	word-break: keep-all;
	line-height: 1.2;
}
.vod-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.vod-card {
	transition: transform 0.3s;
}
.vod-card:hover { transform: translateY(-10px); }
.vod-link { text-decoration: none; display: block; color: inherit; }
.vod-thumb-wrapper {
    width: 100%;
    /* 1:1 비율 고정 */
    aspect-ratio: 1 / 1; 
    
    overflow: hidden;
    margin-bottom: 15px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    background-color: #f0f0f0;
	border-radius: 18px;
}

.vod-thumb-wrapper img {
    width: 100%;
    height: 100%;
    /* 핵심: 이미지가 비율에 맞춰 정사각형을 꽉 채우도록 함 (중요) */
    object-fit: cover; 
    /* 이미지의 중심을 기준으로 맞춤 */
    object-position: center; 
    display: block;
    transition: transform 0.3s ease; /* 호버 효과를 위한 예비 코드 */
	border-radius: 18px;
}

/* 마우스를 올렸을 때 이미지가 살짝 커지는 효과 (선택 사항) */
.vod-card:hover .vod-thumb-wrapper img {
    transform: scale(1.05);
}
.vod-belong-ss { display: flex; align-items: baseline; gap: 10px; }
.vod-info { padding: 7px; }
.vod-instr {
	font-size: 20px;
	font-weight: 800;
	color: #333;
}
.vod-belong {
	font-size: 18px;
	color: #00897b;
	font-weight: 600;
}
.vod-subject {
	margin-top: 10px;
	font-size: 17px;
	color: #666;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media screen and (max-width: 992px) {
	.vod-top-label { font-size: 20px; }
	.vod-main-title { font-size: 32px; }
	.vod-belong-ss { flex-wrap: wrap; s}
	.vod-list { gap: 20px; }
	.vod-instr { font-size: 19px; }
	.vod-belong { font-size: 17px; }
}
@media screen and (max-width: 900px) {
	.vod-belong-ss { gap: 5px; flex-direction: column; }
}
@media screen and (max-width: 768px) {
	.vod-main-title { font-size: 26px; }
	.vod-more-btn { display: none; }
	/* .vod-list { grid-template-columns: 1fr; } */
	.vod-list { gap: 15px; }
}
@media screen and (max-width: 650px) { 
	.vod-list { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 429px) {
	.vod-instr { font-size: 18px; }
	.vod-belong { font-size: 16px; }
	.vod-subject { font-size: 16px; line-height: 1.2; }
}