/* =========================
   CSS RESET (PC 기준)
========================= */

/* 기본 요소 초기화 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
}

/* HTML5 display-role reset */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

/* 사용 폰트 */
/* 프리텐다드 Pretendard */
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");

/* 프리텐다드 Pretendard font-weight 폰트 두께
-----------------------
Thin
font-weight:100;
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */


/* 구글 노토산스 Noto Sans KR - 고딕 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap');

/* 구글 노토산스 Noto Sans KR  font-weight 폰트 두께
-----------------------
Thin
font-weight:100;
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */

/* 구글 노토세리프 Noto Serif KR - 명조 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+KR:wght@200..900&display=swap');

/* 구글 노토세리프Noto Serif KR  font-weight  폰트 두께
-----------------------
ExtraLight
font-weight:200;
Light
font-weight:300;
Regular
font-weight:400;
Medium
font-weight:500;
SemiBold
font-weight:600;
Bold
font-weight:700;
ExtraBold
font-weight:800;
Black
font-weight:900; */

/* body */
body {
	margin: 0;
	padding: 0;
	line-height: 1;
	font-family: "pretendard", 'Noto Sans KR', "맑은 고딕", "Malgun Gothic", Arial, sans-serif;
	color: #000;
	background: #fff;
	height: auto !important;
    overflow: auto !important;
}

/* 리스트 */
ol, ul {
	list-style: none;
}

/* 링크 */
a {
	text-decoration: none;
	color: inherit;
}

/* 이미지 */
img {
    border: 0;
    display: block;
    max-width: 100%;
    height: auto;
}

/* 테이블 */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* 버튼 */
button {
	border: none;
	background: none;
	cursor: pointer;
	font-family: inherit;
}

/* input / textarea */
input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	border: none;
	outline: none;
}

/* placeholder */
input::placeholder,
textarea::placeholder {
	color: #aaa;
}

/* strong */
strong {
	font-weight: bold;
}

/* em */
em {
	font-style: normal;
}

/* hidden */
.hidden {
	display: none !important;
}

/* clearfix */
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}




/*===== 폰트 크기 =====*/
.font_12 {
	font-size: 12px !important;
}

.font_13 {
	font-size: 13px !important;
}

.font_14 {
	font-size: 14px !important;
}

.font_15 {
	font-size: 15px !important;
}

.font_16 {
	font-size: 16px !important;
}

.font_17 {
	font-size: 17px !important;
}

.font_18 {
	font-size: 18px !important;
}

.font_19 {
	font-size: 19px !important;
}

.font_20 {
	font-size: 20px !important;
}

.font_22 {
	font-size: 22px !important;
}

.font_23 {
	font-size: 23px !important;
}

.font_24 {
	font-size: 24px !important;
}

.font_25 {
	font-size: 25px !important;
}

.font_27 {
	font-size: 27px !important;
}

.font_30 {
	font-size: 30px !important;
}

.font_35 {
	font-size: 35px !important;
}

.font_40 {
	font-size: 40px !important;
}

.font_45 {
	font-size: 45px !important;
}

.font_50 {
	font-size: 50px !important;
}

.font_55 {
	font-size: 55px !important;
}

.font_60 {
	font-size: 60px !important;
}


/* 레드 컬러 공통 */
.red_default {
	color: #fe2743 !important;
}
.red_light_01 {
	color:#fe2743 !important;
}
.red_dark {
	color: #bb2337 !important;	
} 
.red_sub {
	color: #cf1926 !important;
}

/* 폰트 두께 */
.font_M {
	font-weight:500 !important;
}
.font_SB {
	font-weight:600 !important;
}
.font_B {
	font-weight:700 !important;
}

.font_EB {
	font-weight:800 !important;
}

/*===== 디스플레이 =====*/ 
.dp_b {
	display: block !important;
}

.dp_ib {
	display: inline-block !important;
}


/* float 위치 */
.fL {
	float: left !important;
}

.fR {
	float: right !important;
}


/*===== 가로정렬 =====*/
.aL {
	text-align:left !important;
}
.aR {
	text-align:right !important;
}
.aC {
	text-align:center !important;
}
.aJ {
	text-align: justify !important;
}


/*===== 패딩값 =====*/
.pt5 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pt45 {
	padding-top: 45px !important;
}

.pt50 {
	padding-top: 50px !important;
}

.pt60 {
	padding-top: 60px !important;
}

.pt70 {
	padding-top: 70px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pt90 {
	padding-top: 90px !important;
}

.pt100 {
	padding-top: 100px !important;
}

.pt138 {
	padding-top: 138px !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.pb3 {
	padding-bottom: 3px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pb45 {
	padding-bottom: 45px !important;
}

.pb50 {
	padding-bottom: 50px !important;
}

.pb60 {
	padding-bottom: 60px !important;
}

.pb70 {
	padding-bottom: 70px !important;
}

.pb77 {
	padding-bottom: 77px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pb90 {
	padding-bottom: 90px !important;
}

.pb100 {
	padding-bottom: 100px !important;
}

.pb120 {
	padding-bottom: 120px !important;
}

.pb130 {
	padding-bottom: 130px !important;
}

.pb138 {
	padding-bottom: 138px !important;
}

.pb150 {
	padding-bottom: 150px !important;
}

.pb200 {
	padding-bottom: 200px !important;
}

.pb300 {
	padding-bottom: 300px !important;
}

.pb400 {
	padding-bottom: 400px !important;
}

.pb500 {
	padding-bottom: 500px !important;
}

.pb600 {
	padding-bottom: 600px !important;
}


.pl0 {
	padding-left: 0 !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.pl45 {
	padding-left: 45px !important;
}

.pl50 {
	padding-left: 50px !important;
}



.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pr45 {
	padding-right: 45px !important;
}

.pr50 {
	padding-right: 50px !important;
}

.pr0 {
	padding-right: 0 !important;
}


/*===== 마진값 =====*/
.ml_minus20 {
	margin-left: -20px !important;
}

.ml_minus10 {
	margin-left: -10px !important;
}

.ml_minus5 {
	margin-left: -5px !important;
}

.mr_minus20 {
	margin-right: -20px !important;
}

.mr_minus10 {
	margin-right: -10px !important;
}

.mr_minus5 {
	margin-right: -5px !important;
}

.mr0 {
	margin-right: 0 !important;
}

.mr5 {
	margin-right: 5px !important;
}

.mr7 {
	margin-right: 7px !important;
}

.mr8 {
	margin-right: 8px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.mr50 {
	margin-right: 50px !important;
}

.mr60 {
	margin-right: 60px !important;
}

.mr70 {
	margin-right: 70px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.mr90 {
	margin-right: 90px !important;
}

.mr100 {
	margin-right: 100px !important;
}


.mt_minus5 {
	margin-top: -5px !important;
}

.mt_minus10 {
	margin-top: -10px !important;
}

.mt_minus20 {
	margin-top: -20px !important;
}

.mt5 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt45 {
	margin-top: 45px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt75 {
	margin-top: 75px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mt105 {
	margin-top: 105px !important;
}

.mt110 {
	margin-top: 110px !important;
}

.mt120 {
	margin-top: 120px !important;
}

.mt130 {
	margin-top: 130px !important;
}

.mt140 {
	margin-top: 140px !important;
}

.mt150 {
	margin-top: 150px !important;
}

.mt160 {
	margin-top: 160px !important;
}


.mb0 {
	margin-bottom: 0px !important;
}

.mb3 {
	margin-bottom: 3px !important;
}

.mb5 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb13 {
	margin-bottom: 13px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb45 {
	margin-bottom: 45px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb55 {
	margin-bottom: 55px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb65 {
	margin-bottom: 65px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb75 {
	margin-bottom: 75px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb85 {
	margin-bottom: 85px !important;
}

.mb90 {
	
	margin-bottom: 90px !important;
}
.mb95 {
	margin-bottom: 95px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.mb130 {
	margin-bottom: 130px !important;
}

.mb150 {
	margin-bottom: 150px !important;
}

.mb175 {
	margin-bottom: 175px !important;
}

.mb180 {
	margin-bottom: 180px !important;
}

.mb200 {
	margin-bottom: 200px !important;
}

.mb220 {
	margin-bottom: 220px !important;
}

.mb240 {
	margin-bottom: 240px !important;
}

.mb250 {
	margin-bottom: 250px !important;
}

.mb280 {
	margin-bottom: 280px !important;
}

.mb300 {
	margin-bottom: 300px !important;
}

.mb400 {
	margin-bottom: 400px !important;
}

.mb500 {
	margin-bottom: 500px !important;
}


.ml5 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml11 {
	margin-left: 11px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.ml50 {
	margin-left: 50px !important;
}

.ml55 {
	margin-left: 55px !important;
}

.ml58 {
	margin-left: 58px !important;
}

.ml60 {
	margin-left: 60px !important;
}

.ml65 {
	margin-left: 65px !important;
}

.ml70 {
	margin-left: 70px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.ml90 {
	margin-left: 90px !important;
}

.ml100 {
	margin-left: 100px !important;
}

.a_L {
	text-align: left !important;
}
.a_C {
	text-align: center !important;
}
.a_R {
	text-align: right !important;
}

/*===== 1280영역 =====*/
.w1280 {
	display: block;
	width: 1280px !important;
	position: relative !important;
}

.w1280_c {
	display: block;
	width: 1280px !important;
	margin: 0 auto !important;
	position: relative !important;
}




.container {
	display: block;
	width: 100%; 
	margin: 0 auto;
}

/* =========================
   HEADER
========================= */
/* 260607 수정 및 추가 */
#header_container {
	position: fixed;
	top: 0;
	width: 100%;
	height: 108px;
	z-index: 1000;
	background: rgba(255,255,255,0);

	/* 수정 */
	transition:
		background-color 0.5s,
		transform 0.4s ease;

	transform: translateY(0);
}
/* =========================================================
   📌 스크롤 내리면 헤더 숨김
========================================================= */
#header_container.hide {
	transform: translateY(-108px);
}

/* #header_container {
	position: fixed;
	top: 0;
	width: 100%;
	height: 108px;
	z-index: 1000;
	background: rgba(255,255,255,0);
	transition: all 0.5s;
} */

#header_container:hover,
#header_container.on {
	background-color: rgba(255, 255, 255, 0.95);
	/* backdrop-filter: blur(15px); */
}

/* =========================
   로고
========================= */

.header_inner {
	width: 1280px;
	margin: 0 auto;
	position: relative;
}

.header_logo {
	position: absolute;
	top: 12px;
	left: 0;
}

.logo_white { display: block; }
.logo_color { display: none; }

#header_container:hover .logo_white,
#header_container.on .logo_white {
	display: none;
}

#header_container:hover .logo_color,
#header_container.on .logo_color {
	display: block;
}

/* =========================
   GNB
========================= */

.gnb {
	position: absolute;   /* ❗ fixed → absolute */
	right: 0;             /* ⭐ header_inner 기준 오른쪽 */
	top: 0;
	z-index: 1100;
}

.gnb .area {
	margin: 0 auto;
	position: relative;
}

/* depth1 */
.depth1 {
	display: flex;
	justify-content: flex-end; /* 👉 오른쪽 정렬 */
	padding-left: 0; /* ❗ 제거 */
}

.depth1 > li {
	position: relative;
	padding: 45px 60px 45px 0;
	z-index: 15;
}

.depth1 > li:last-child {
	padding-right: 0;
}

/* 메뉴 링크 */
.depth1 > li > div > a {
	font-size: 17px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s;
	display: block;
}

/* 기본 hover */
.depth1 > li:hover > div > a {
	color: #fe2743;
}

/* 헤더 hover 상태 */
#header_container:hover .depth1 > li > div > a,
#header_container.on .depth1 > li > div > a {
	color: #000;
}

#header_container:hover .depth1 > li:hover > div > a,
#header_container.on .depth1 > li:hover > div > a {
	color: #fe2743;
}

/* =========================
   depth2 애니메이션
========================= */

.depth2 {
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 200px;
	padding-top: 20px;	
	background: none;
	backdrop-filter: none;
	z-index: 20;

	/* 🔥 애니메이션 초기 상태 */
	opacity: 0;
	transform: translateY(-20px);
	pointer-events: none;

	transition: 
		opacity 0.4s ease,
		transform 0.4s ease;
}

/* 🔥 hover 시 */
/* 기본은 막기 */
.depth1 > li:hover .depth2 {
	opacity: 0;
	pointer-events: none;
}

/* 있는 경우만 열기 */
.depth1 > li.has-depth2:hover .depth2 {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* depth2가 있는 경우만 hover 작동 */
.depth1 > li:has(.depth2):hover .depth2 {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.depth1 > li:not(.has-depth2):hover {
	cursor: default;
}

/* =========================
   depth2 내부
========================= */

.depth2 li {
	margin-top: 10px;
}

.depth2 li a {
	display: block;
	font-size: 17px;
	color: #000;
	line-height: 24px;
	margin-bottom: 10px;
	transition: color 0.2s;
}

.depth2 li a:hover {
	color: #fe2743;
}

/* =========================
   🔥 배경 애니메이션 (수정)
========================= */

.depth1 > li.has-depth2::after {
	content: "";
	position: absolute;
	left: -100vw;
	top: 100%;
	width: 200vw;

	/* 🔥 높이 증가 (+100px 반영) */
	height: 0;

	background: rgba(255,255,255,0.95);
	/* backdrop-filter: blur(15px); */

	border-top: none;

	z-index: 10;

	/* 🔥 아래로 펼쳐지는 느낌 */
	transform-origin: top;
	transition: all 0.4s ease;
}

/* 펼쳐질 때 */
.depth1 > li.has-depth2:hover::after {
	height: 190px;   /* 260405 depth2 전체 메뉴 한 줄이 줄어들면서 높이값 수정 */
	/* height: 230px;  */

	border-top: 1px solid rgba(167,167,167,1);
	border-bottom: 1px solid rgba(167,167,167,1);
}



/* 메인 상단 슬라이드 영역 */
.section_01_wrap {
	display: flex;
    position: relative;
    width: 100%;
    height: 959px; 
    overflow: hidden;
}

.section_01_inner {
    position: absolute;    
	top: 407px;
	left: 50%;
	margin-left: -269px ;
    width: 540px;
    max-width: 1280px;     
    text-align: center;
	z-index: 20; /* 배경(10)보다 위로 */
	opacity: 0;
}

/* 슬로건 */
.section_01_slogan {
	transform:translateZ(0);
    backface-visibility:hidden;
}

.section_01_slogan img{
    display:block;
    width:532px;
    height:auto;

    image-rendering:auto;
    -webkit-transform:translateZ(0);
    transform:translateZ(0);
}

/* 일시, 장소 */
.section_01_day_place {
	display: flex;              
	align-items: center;        /* 🔥 세로 중앙정렬 */
	margin-top: 20px;
	width: 540px;
	height: 54px;
	background: #fff;
	border-radius: 50px;
	-web-kit-border-radius: 50px;
	box-sizing: border-box;
	text-align: left;
	/* padding: 8px 0; */
}
.circle_black_01 {
	display: inline-block;
	width: 38px;
	height: 38px;
	background: #000;
	border-radius: 50%;
	-web-kit-border-radius: 50%;
	box-sizing: border-box;
	text-align: center;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 12px;
	font-weight: 400;
	color: #fff;
	line-height: 40px;
}
.section_01_day_place .circle_black_01:nth-child(1){
	margin-left: 9px;
}
.section_01_day_place .circle_black_01:nth-child(3){
	margin-left: 35px;
}
.section_01_day_place span:nth-child(2), .section_01_day_place span:nth-child(4) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	padding-left: 10px;
}

/* 참가신청, 일정 버튼, 디데이 */
.section_01_quick_day {
	display: block;
	margin: 20px auto;
	width: 529px;
}
.section_01_quick_day ul {
	/* overflow: hidden; */    /* 아래에서 위로 올라오는 애니메이션 어색해지지 않게 주석처리 */ 
}
.section_01_quick_day ul li {
	float: left;
	margin-right: 9px;
}
.section_01_quick_day ul li:last-child {
	margin-right: 0;
}

/* 참가신청버튼 */
.btn_Registration {
	display: inline-block;
	width: 170px;
	height: 65px;
	background: #0099e0;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	transition: background-color 0.3s ease;
}
.btn_Registration:hover {
	background: #006db2; 
}
.btn_Registration span:nth-child(1) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	padding: 14px 0 5px;
}
.btn_Registration span:nth-child(2) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #a2e9ff;
}



/* 참가신청 말풍선 관련 css는 style_main_260602.css 파일로 옮김 */


/* 일정 버튼 */
.btn_Schedule {
	display: inline-block;
	width: 170px;
	height: 65px;
	background: #0099e0;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	transition: background-color 0.3s ease;
}
.btn_Schedule:hover {
	background: #006db2; 
}
.btn_Schedule span:nth-child(1) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 20px;
	font-weight: 500;
	color: #fff;
	padding: 15px 0 5px;
}
.btn_Schedule span:nth-child(2) {
	display: block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: 500;
	color: #a2e9ff;
}

/* 디데이 */
.D-DAy {
	display: inline-block;
	width: 170px;
	height: 65px;
	background: #5100a4;
	text-align: center;
	border-radius: 10px;
	-web-kit-border-radius: 10px;
	box-sizing: border-box;
	line-height: 65px;
}
.D-DAy span:nth-child(1) {
	display: inline-block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 35px;
	font-weight: 200;
	color: #be8cf1;
	text-align: left !important;
}
.D-DAy span:nth-child(2) {
	display: inline-block;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 35px;
	font-weight: 500;
	color: #fff;
	text-align: right !important;
}

.section_01_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* 헤더보다는 아래, 래퍼 안에서는 배경 역할 */
    background-color: #000;
}

/* 공통 슬라이드 이미지 스타일 */
.section_01_bg div {
    position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

	opacity: 0;
	transform: scale(1.05); /* 🔥 추가 (시작 살짝 확대) */
	/* transition: opacity 1s ease; */

	z-index: 1;
}
/* 활성 슬라이드 */
.section_01_bg div.active {
	opacity: 1;
}
.section_01_bg::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	
	background: linear-gradient(
		to bottom,
		rgba(0,0,0,0.55),
		rgba(0,0,0,0.4),
		rgba(0,0,0,0.45)
	);
	/* background: rgba(0,0,0,0.5); */
	z-index: 2;
}

/* 슬라이드 이미지 */
.slide_01 { 
	background-image: url('/images/main/top_slide_01.jpg'); 
}
.slide_02 { 
	background-image: url('/images/main/top_slide_02.jpg'); 
}
.slide_03 { 
	background-image: url('/images/main/top_slide_03.jpg'); 
}
.slide_04 { 
	background-image: url('/images/main/top_slide_04.jpg'); 
}



/* section_02 - 주제 성구 */
.section_02_wrap {
	display: flex; 
	align-items: center;
	justify-content: center;
	width: 100%; 
	height: 0;
	background: #0064e0;
	position: relative; 
	overflow: hidden;
	z-index: 10;
}
.section_02_text {
	margin-top: 8px;
	font-family: "Noto Serif KR", '명조', serif;
}
.section_02_text span { 
	display: block;
	font-family: "Noto Serif KR", '명조', serif;
	color: #fff; 
	opacity: 0;
	text-align: center;
}
.section_02_text span:nth-child(1), .section_02_text span:nth-child(2) {
	font-size: 52px;
	font-weight: 500;
	letter-spacing: -3px;
	margin-bottom: 20px;
}
.section_02_text span:nth-child(3) { 
	font-size: 20px; 
	font-weight: 400;
	color: #53e0fe;
	margin-top: 10px;
}

.wave img {
	position: absolute;
	bottom: -150px;
	width: auto;
	height: auto;
	opacity: 0;
}

/* 추가 */
.wave img:nth-child(1),
.wave img:nth-child(2),
.wave img:nth-child(3) {
	left: 0;
}

.wave img:nth-child(4),
.wave img:nth-child(5) {
	right: 0;
}

/* section_03 - 인사말 */
.section_03_wrap {
	display: flex;
	opacity: 0;
	visibility: hidden;
	transform: translateY(80px);
	width: 100%;
	height: 592px;
	background: url('/images/main/section03_bg.jpg') no-repeat;
	background-position: center center;
	background-size: cover;
}
.section_03_inner {
	display: block;
	width: 1280px;
	opacity: 0;
	transform: translateY(60px);
}
.section_03_inner p {
	opacity: 0;
	transform: translateY(30px);
}
.section_03_inner p:nth-child(1) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 45px;
	font-weight: 300;
	color: #0064e0;
	margin-bottom: 48px;
	letter-spacing: -1.5px;
}
.section_03_inner p:nth-child(2) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 20px;
	font-weight: 300;
	color: #000;
	line-height: 40px;
	word-break: keep-all;
    text-align: justify;
	margin-bottom: 68px;
}
.section_03_inner p:nth-child(2) span {
	display: block;
	font-size: 25px;
	font-weight: 500;
	margin-bottom: 20px;
}
.section_03_inner p:nth-child(3) {
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 18px;
	font-weight: 300;
	color: #000;
	text-align: right;
}
.section_03_inner p:nth-child(3) span {
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
}

/* section_04 - 강사 */
.section_04_wrap {
	display: flex;
	align-items: center; 
	justify-content: center;
	width: 100%;
	height: 0;
	background-color: #e9e9df;
	overflow: visible; 
	position: relative;
	pointer-events: none;  /* 초기에는 hover 완전 차단 */
}
.section_04_wrap.lock {
	pointer-events: none;
}
.section_04_wrap.active {
	pointer-events: auto;  /* 활성화되면 hover 가능 */
}
.section_04_wrap.active .lecturer_item:hover .lecturer_01_over,
.section_04_wrap.active .lecturer_item:hover .lecturer_02_over,
.section_04_wrap.active .lecturer_item:hover .lecturer_03_over,
.section_04_wrap.active .lecturer_item:hover .lecturer_04_over {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.lecturer_container { 
	display: flex; 
	gap: 0; 
	align-items: center;
	justify-content: center;
	width: 100%; 
	max-width: 1200px;
	margin: 0 auto;
}

.lecturer_item {
	position: relative; 
	flex: 1;
	z-index: 1;
	pointer-events: none;
}
.lecturer_item:hover {
	z-index: 50;   
}
.section_04_wrap.active .lecturer_item {
	pointer-events: auto;
}

/* section_04 - 강사 01 */
.lecturer_01 {
	width: 320px;
	height: 450px;
	box-sizing: border-box;
}
.lecturer_01 img {
	z-index: 1;
}
/* section_04 - 강사 01 마우스오버 */
.lecturer_01_over {
	display: none;
	width: 394px;
	height: 554px;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,.5);
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.5);
}
.lecturer_01_over img {
	z-index: 1;
}

/* section_04 - 강사 02 */
.lecturer_02 {
	width: 320px;
	height: 450px;
	box-sizing: border-box;
}
.lecturer_02 img {
	z-index: 1;
}
/* section_04 - 강사 02 마우스오버 */
.lecturer_02_over {
	display: none;
	width: 394px;
	height: 554px;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,.5);
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.5);
}
.lecturer_02_over img {
	z-index: 1;
}

/* section_04 - 강사 03 */
.lecturer_03 {
	width: 320px;
	height: 450px;
	box-sizing: border-box;
}
.lecturer_03 img {
	z-index: 1;
}
/* section_04 - 강사 03 마우스오버 */
.lecturer_03_over {
	display: none;
	width: 394px;
	height: 554px;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,.5);
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.5);
}
.lecturer_03_over img {
	z-index: 1;
}


/* section_04 - 강사 04 */
.lecturer_04 {
	width: 320px;
	height: 450px;
	box-sizing: border-box;
}
.lecturer_04 img {
	z-index: 1;
}
/* section_04 - 강사 04 마우스오버 */
.lecturer_04_over {
	display: none;
	width: 394px;
	height: 554px;
	box-sizing: border-box;
	box-shadow: 0 0 20px rgba(0,0,0,.5);
	-webkit-box-shadow: 0 0 20px rgba(0,0,0,.5);
}
.lecturer_04_over img {
	z-index: 1;
}

.lecturer_01,
.lecturer_02,
.lecturer_03,
.lecturer_04 {
	position: relative;
	z-index: 1;
	opacity: 0;
	cursor: pointer;
}

.lecturer_01_over,
.lecturer_02_over,
.lecturer_03_over,
.lecturer_04_over {
	display: block;          /* display:none 제거 */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.9);
	opacity: 0;
	z-index: 100;   /* 🔥 무조건 위 */
	pointer-events: none;    /* 마우스 충돌 방지 */
	transition: 
		opacity 0.3s ease,
		transform 0.3s ease;
}

.section_05_wrap,
.section_06_wrap,
.section_07_wrap,
.section_08_wrap {
	visibility: hidden;
}

/* section_05 - 홍보영상 */
.section_05_wrap {
	display: flex;
	width: 100%;
	/* height: 920px; */  /* 임시 */
	height: 1272px;   /* 하단 슬라이드 모두 포함된 높이 */
	background: linear-gradient(to right, #6c131a, #a71a2b);   
	position: relative;
}
.section_05_inner {
	display: block;
	width: 1280px;	 
	margin-top: -36px;    /* 하단 슬라이드 모두 있을 경우 */
}
.section_05_slide {
	width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.slide_mask {
	width: 1280px;
	overflow: hidden;
	margin: 0 auto;
	user-select: none;
	cursor: grab;
}
.slide_mask ul {
	pointer-events: auto;
}
.slide_mask li {
	pointer-events: auto;
	cursor: pointer;
}
.slide_mask:active {
	cursor: grabbing;
}

.section_05_slide ul {
	display: flex;
	justify-content: flex-start;
}
.section_05_slide ul li {
	flex: 0 0 426px;
	width: 426px;
	margin-right: 1px;
}
/* 마지막 li는 간격 제거 */
.section_05_slide ul li:last-child {
	margin-right: 0;
}

.e_movie_1280 {
	width: 1280px;
	margin: 0 auto 50px;   /* 하단 슬라이드 모두 있을 경우 */
}
.e_movie_m {
	width: 426px;
	flex-shrink: 0;
	margin-right: 1px;
	cursor: pointer;
} 
.e_movie_m:last-child {
	margin-right: 0;
}

.slide_title {
	display: block;
	text-align: center;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-size: 15px;
	font-weight: 400;
	color: #fff;
	margin-top: 10px;
}

.slide_paging {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: calc(100% + 30px); 
}

.paging_dot {
	display: inline-block;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #6c131a;
	margin: 0 5px;
	cursor: pointer;
}

.paging_dot.on {
	background: #ff1634;
}

.slide_arrow {

}
.slide_arrow_left,
.slide_arrow_right {
	position: absolute;
	top: 45%;
	transform: translateY(-50%);
	cursor: pointer;
	z-index: 10;
}
.slide_arrow_left {
	left: -86px;
}
.slide_arrow_right {
	right: -86px;
}
.slide_arrow_left img:hover {
	content: url('/images/main/slide_arrow_left_on.png');
	left:-86px;

	/* 애니메이션 적용 */
    animation: movePrevtButton 0.5s infinite linear;
}
.slide_arrow_right img:hover {
	content: url('/images/main/slide_arrow_right_on.png');
	right: -86px;
    
    /* 애니메이션 적용 */
    animation: moveNextButton 0.5s infinite linear;
}

@keyframes moveNextButton {
    0% { transform: translateX(0); } /* 원래 위치 */
    50% { transform: translateX(10px); } /* 오른쪽으로 이동 */
    100% { transform: translateX(0); } /* 다시 원래 위치 */
}

@keyframes movePrevtButton {
    0% { transform: translateX(0); } /* 원래 위치 */
    50% { transform: translateX(-10px); } /* 오른쪽으로 이동 */
    100% { transform: translateX(0); } /* 다시 원래 위치 */
}




/* =========================================================
   📌 유튜브 레이어 팝업
========================================================= */

/* 전체 오버레이 */
.video_overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,0.7);

    opacity: 0;
    visibility: hidden;

	z-index: 9999;
}

.video_popup {
    width: 800px;
    height: 450px;

    transform: translateY(-80px);
    opacity: 0;
}

/* 팝업 박스 */
.video_popup {
    position: relative;
    width: 800px;
    height: 450px;
    background: #000;

	border-radius: 15px; 
}
.video_iframe_wrap {
    width: 100%;
    height: 100%;

	border-radius: 15px;
	overflow: hidden;
}

/* iframe */
.video_iframe_wrap iframe {
	display: block; /* 🔧 여백 제거 */
    width: 100%;
    height: 100%;
}

/* 닫기 버튼 */
.video_close {
    position: absolute;
    top: 5px;
    right: -45px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: none;
	display: flex;
    align-items: center;     /* 세로 중앙 */
    justify-content: center; /* 가로 중앙 */
    cursor: pointer;
}

.video_close img {
     width: 50%;
    height: auto; /* 🔧 비율 깨짐 방지 */
}




/* section_06 - 뉴스, 공지사항 */
.section_06_wrap {
	display: flex;
	width: 100%;
	padding: 90px 0 155px;
	background: #fff;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.section_06_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.section_06_inner ul {
	display: flex;
	justify-content: space-between;
}
.section_06_inner ul li {
	float: left;
	width: 610px;
	max-height: 343px;
	/* height: 343px; */
	width: calc((100% - 59px) / 2);
	/* margin-right: 59px; */
}
.section_06_inner ul li:last-child {
	margin-right: 0;
}
.section_06_box {
	position: relative;
}
.section_06_title {	
	font-size: 30px;
	font-weight: 300;
	color: #bb2337;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 34px;
}
.section_06_more {
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: 29px;
	border: 1px solid #555;
	border-radius: 35px;
	-web-kitborder-radius: 35px;
	background: url('/images/main/icon_more.png') no-repeat;
	background-size: 9px 9px;
	background-position: right +10px center;
    font-size: 12px;
	color: #000;
    text-align: left;
    line-height: 29px;
    text-indent: 13px;
}
.section_06_more:hover {
	background: url('/images/main/icon_more_red_over.png') no-repeat;
	background-size: 9px 9px;
	background-position: right +10px center;
	border: 1px solid #bb2337;  
	color: #bb2337;
}
.section_06_list {
	display: block;
	
}
.section_06_list div {
	padding: 22px 0;  /* 고해상도 모니터에서 두번째 라인이 두꺼워지는 문제로 짝수 단위로 패딩값 수정 */
	/* padding: 23px 0 22px; */
	/* border-bottom: 1px solid #a7a7a7; */
	position: relative;
	overflow: hidden;
	background: none;
}
.section_06_list div::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #a7a7a7;
	transform: translateZ(0);
	z-index: 1;
}
/* 🔥 애니메이션 라인 */
.section_06_list div::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(to right, #bb2337, #ff6b81);
	/* background: #bb2337; */

	transform: scaleX(0);
	transform-origin: var(--origin, left); /* 🔥 핵심 */
	transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1) 0.08s;

	z-index: 2;
}
/* 🔥 hover 시 라인 */
.section_06_list div:hover::before {
	transform: scaleX(1);
}

/* 🔥 hover 시 텍스트 색 */
.section_06_list div:hover a,
.section_06_list div:hover span {
	color: #bb2337;
}
/* 🔥 dot은 별도로 */
.section_06_list div .dot {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-75%);
	width: 5px;
	height: 5px;
	background: url('/images/main/dot_red.png') no-repeat center;
	background-size: 5px 5px;
	transition: transform 0.3s ease;
}
.section_06_list div:hover .dot {
	transform: translateY(-75%) scale(1.2);
	transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.section_06_list div a {
	display: inline-block;
	width: 514px;
	font-size: 16px;
	font-weight: 300;
	color: #000;
	text-align: left;
	padding-left: 17px;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	/* transition: color 0.3s ease; */
}
.section_06_list div span {
	display: inline-block;
	position: absolute;
	right: 0;
	font-size: 13px;
	font-weight: 300;
	color: #8d8d8d;
	text-align: right;
	/* transition: color 0.3s ease; */
}
.section_06_list div:hover a, .section_06_list div:hover span {
	color: #bb2337;
}



/* section_07 - 협력, 참여 */
.section_07_wrap {
	display: flex;
	width: 100%;
	padding: 88px 0 100px;
	background: #f8f8f8;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
}
.section_07_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.section_07_inner ul {

}
.section_07_inner ul li {
	float: left;
	width: 610px;
	margin-right: 59px;
}
.section_07_inner ul li:last-child {
	margin-right: 0;
}
.section_07_box {
	position: relative;
}
.section_07_title {	
	font-size: 30px;
	font-weight: 300;
	color: #000;
	text-align: center;
	padding-bottom: 25px;
	margin-top: 10px;
	margin-bottom: 25px;
	border-bottom: 1px solid #a7a7a7;
}
.section_07_box img { 
	margin: 0 auto;
}



/* section_08 - 푸터 */
.section_08_wrap {
	display: flex;
	width: 100%;
	padding: 49px 0 70px;
	background: #3b2828;
	position: relative;
	font-family: 'pretendard','Noto Sans KR', sans-serif;
	font-weight: 300;
}
.section_08_inner {
	display: block;
	width: 1280px;
	margin: 0 auto;
}
.section_08_inner ul {

}
.section_08_inner ul li {
	float: left;
}
.section_08_inner ul li:nth-child(1) {
	margin-right: 40px;
}
.section_08_inner ul li:nth-child(2) {
	margin-top: 20px;
}
.section_08_inner .footer_info {
	text-align: left;
}
.footer_info_text_01 {
	font-size: 16px;
	color: #7a7a7a;
	margin-bottom: 15px;
}
.footer_info_text_01:nth-child(3) {
	margin-bottom: 30px;
}
.footer_info_subject {
	color: #cac9c9;
	margin-right: 5px;
}
.footer_info_text_01:nth-child(3) .address {
	display: inline-block;
	margin-right: 25px;
}
.footer_info_text_01:nth-child(3) .phone {
	display: inline-block;
}
.footer_info_text_02 {
	font-size: 12px;
	color: #7a7a7a;
}
.footer_info_text_02 span {
	display: inline-block;
	margin-right: 30px;
}


.ani_section {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 auto;

	opacity: 0;              /* 보이지 않음 */
	transform: translateY(80px); /* 아래에서 올라오는 느낌 */
	visibility: hidden;       /* 화면에서 차지하지 않도록 */
	will-change: opacity, transform; /* 성능 최적화 */
	transition: none;          /* JS에서 처리되므로 CSS 트랜지션 제거 */
}