/* scroll */
::-webkit-scrollbar { width:5px; height: 3px; }
::-webkit-scrollbar-track { background:#eee; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; }
::-webkit-scrollbar-thumb { height:50px; width:50px; background:#000; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }
::-webkit-scrollbar-thumb:window-inactive { background:#000; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }

.scroll_on { opacity: 0; transition: all 1s;}
.scroll_on.active {opacity: 1 !important;transform: translate(0, 0) !important;}
.scroll_on.type_top {transform: translate(0, -50px);}
.scroll_on.type_bottom {transform: translate(0, 50px);}
.scroll_on.type_left {transform: translate(-50px, 0);}
.scroll_on.type_right {transform: translate(50px, 0);}

.scroll_on02 { opacity: 0; transition: all 1s;}
.scroll_on02.active {opacity: 1 !important; }

.wrap { position: relative; width: 1440px; margin: 0 auto; }

/* head */
#header { position: absolute; left: 0px; top: 0px; width: 100%; height: 100px; z-index: 9000; -webkit-transition: all 0.3s; -moz-transition: all 0.3s; -ms-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; background: #fff; }
#header.scrolled { position: fixed; box-shadow: 0 0px 30px rgba(0, 0, 0, 0.05); }
#header:after { content:""; opacity:0; visibility:hidden; position:absolute; left:50%; top:100px; z-index:1; width:100%; height:1px; background:#ddd; -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%); -webkit-transition:opacity 0.3s; -moz-transition:opacity 0.3s; -ms-transition:opacity 0.3s; -o-transition:opacity 0.3s; transition:opacity 0.3s; }
.head .wrap { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 90px; }

.logo { position: absolute; top: 25px; left: 2%; z-index: 9; }

#header .hd-menu .gnb-wrap { height:100%;}
#header .hd-menu .gnb-wrap .gnb { display:flex; justify-content:center; align-items:center;height:100%; text-align:center; }
#header .hd-menu .gnb-wrap .gnb > li { position: relative; display: flex; justify-content: center; align-items: center; padding: 0px 40px; height: 100px; -webkit-transition: all ease .3s; -moz-transition: all ease .3s; -ms-transition: all ease .3s; -o-transition: all ease .3s; transition: all ease .3s; }
#header .hd-menu .gnb-wrap .gnb > li:after { content:""; position:absolute; left:50%; bottom:0; width:0; height:3px; background:#f6b44a; -webkit-transform:translate(-50%); -moz-transform:translate(-50%); -ms-transform:translate(-50%); -o-transform:translate(-50%); transform:translate(-50%); }
#header .hd-menu .gnb-wrap .gnb > li > a { display: flex; justify-content: center; align-items: center; color: #222; font-size: 20px; font-weight: 600; letter-spacing: -0.03em; line-height: 1; }
#header.on .hd-menu .gnb-wrap .gnb > li { padding: 0px 40px; }
#header.on .hd-menu .gnb-wrap .gnb > li.on > a{ color:#f6b44a; } 
#header .hd-menu .gnb-wrap .gnb > li .depth { opacity:0; visibility:hidden; position:absolute; left:0; top:100%; padding-top:30px; width:100%; }
#header .hd-menu .gnb-wrap .gnb > li .depth:before { content: ""; position: absolute; left: 0; top: 30px; width: 1px; height: 190px; background: #ddd; }
#header .hd-menu .gnb-wrap .gnb > li:first-child .depth:before {display:none;}
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li > a { display: block; padding: 8px 10px; color: #666; font-size: 1em; letter-spacing: -0.03em; line-height: 1.4; word-break: keep-all; }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li { position:relative;}  
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li > i { position:absolute; right:0; top:10px; font-size:2rem; color:#666; cursor:pointer;}
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li > i:hover { color:#f6b44a;}
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li > a > span {position:relative;} 
#header .hd-menu .gnb-wrap .gnb > li.open .depth { display:block;} 
#header .hd-menu .gnb-wrap .gnb > li.open > a:after { top:28px; border-left:2px solid #999; border-top:2px solid #999; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); } 
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li:hover > a{ color:#666; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li.active > a, #header .hd-menu .gnb-wrap .gnb > li .depth2 > li.on > a, #header .hd-menu .gnb-wrap .gnb > li.open .depth > ul > li.on > a{ color:#f6b44a; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li.on > a{ color:#f6b44a; }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li.active > a { color:#f6b44a }
#header .hd-menu .gnb-wrap .gnb > li:nth-child(1) .depth > ul > li.active .depth2 { display:block; }
#header .hd-menu .gnb-wrap .gnb > li .depth > ul > li:hover > a { color: #f6b44a; font-weight: 500; }

#header.on { overflow:hidden; height:350px; background:#fff; -webkit-box-shadow:1px 1px 25px rgb(67 67 67 / 10%); box-shadow:1px 1px 25px rgb(67 67 67 / 10%);}
#header.on:after { opacity:1; visibility:visible;}
#header.on .hd-menu .gnb-wrap .gnb > li > a, #header.scrolled .hd-menu .gnb-wrap .gnb > li > a { color:#000; }
#header.on .hd-menu .gnb > li .depth { opacity:1; visibility:visible; -webkit-transition-delay: 0.1s; -moz-transition-delay: 0.1s; -ms-transition-delay: 0.1s; -o-transition-delay: 0.1s; transition-delay: 0.1s; -webkit-transition:all 0.3s; -moz-transition:all 0.3s; -ms-transition:all 0.3s; -o-transition:all 0.3s; transition:all 0.3s; }

.menu-toggler, .mobile_menu { display: none; }

.head_rightbox { position: absolute; top: 30px; right: 2%; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.head_rightbox .sns_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 45px; height: 45px; border-radius: 500px; color: #fff; }
.head_rightbox .sns_btn01 { background: #504e4d; }
.head_rightbox .sns_btn02 { background: #ff0000; }
.head_rightbox .sns_btn03 { background: radial-gradient(circle farthest-corner at 32% 106%,#ffe17d 0%,#ffcd69 10%,#fa9137 28%,#eb4141 42%,transparent 82%) , linear-gradient(135deg,#234bd7 12%,#c33cbe 58%); }
.head_rightbox .sns_btn i { font-size: 22px; }
.head_rightbox .sns_btn img { width: 22px; filter: brightness(0) invert(1); }

/* footer */
.footer { position: relative; padding: 50px 0; background: #111; color: #fff; font-size: 0.9em; line-height: 1.5; }
.footer a { color: #fff; }
.footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; }

.footer_inr01, .footer_inr03 { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: space-between; gap: 20px; }
.footer_inr03 { text-align: right; }

.footer_inr p { font-weight: 300; }
.footer_inr01 .footer_text02 { color: rgba(255, 255, 255, 0.6); }

.footer_inr02 h4 { margin-bottom: 20px; font-size: 20px; }
.footer_inr02 ul { display: flex; flex-direction: column; flex-wrap: wrap; gap: 10px; }
.footer_inr02 ul li a { color: rgba(255, 255, 255, 0.8); transition: all 0.3s; }
.footer_inr02 ul li a:hover { color: rgba(255, 255, 255, 1); text-decoration: underline; }

.ft_snslist { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.ft_snslist li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 45px; height: 45px; background: #292929; border-radius: 500px;  color: #fff; transition: all 0.3s; }
.ft_snslist li a:hover { background: #444; }
.ft_snslist li a i { font-size: 25px; }
.ft_snslist li a img { width: 22px; filter: brightness(0) invert(1); }

/* main */
.main_vis { position: relative; display: flex; flex-wrap: wrap; align-content: center; width: 100%; height: 830px; margin-top: 100px; background: #f6b44a; }
.main_vis .wrap { display: flex; flex-wrap: wrap; }
.main_left { width: 40%; }
.main_title { margin-bottom: 50px; }
.main_title img { max-width: 90%; }
.main_schedule { margin-bottom: 30px; }
.main_schedule ul { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.main_schedule ul li { text-align: center; }
.main_schedule ul li img { max-width: 100%; }
.main_host ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0px; }
.main_host ul li img { max-width: 100%; }

.main_right { display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; gap: 30px; width: 60%; padding-left: 80px;}
.main_iconlist { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap: 30px; }
.main_iconlist li {  }
.main_iconlist li img { max-width: 100%; }

@keyframes wobble {
    0%, 80%, 100% { transform: rotate(0deg); }
    83%           { transform: rotate(15deg); }
    87%           { transform: rotate(-12deg); }
    91%           { transform: rotate(10deg); }
    95%           { transform: rotate(-6deg); }
    98%           { transform: rotate(3deg); }
}

/* .main_icon01 { animation: wobble 5s ease-in-out infinite; animation-delay: 0s; }
.main_icon03 { animation: wobble 5s ease-in-out infinite; animation-delay: 0.6s; }
.main_icon04 { animation: wobble 5s ease-in-out infinite; animation-delay: 1.2s; }
.main_icon05 { animation: wobble 5s ease-in-out infinite; animation-delay: 1.8s; }
.main_icon07 { animation: wobble 5s ease-in-out infinite; animation-delay: 2.4s; }
.main_icon09 { animation: wobble 5s ease-in-out infinite; animation-delay: 3.0s; }
.main_icon10 { animation: wobble 5s ease-in-out infinite; animation-delay: 3.6s; }
.main_icon11 { animation: wobble 5s ease-in-out infinite; animation-delay: 4.2s; } */

.main_textdeco { position: absolute; right: 2%; top: 50%; transform: translate(-50%, -50%); }

.main_day { padding: 30px 0; background: #e86756; color: #fff; font-family: 'Presentation'; }
.main_day .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.main_day_text h3 { margin-bottom: 15px; font-size: 42px; font-family: 'Presentation'; }
.main_day_text p { font-size: 1.3em; }

/* 카운트다운 숫자 영역 */
.dday-counter {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: clamp(12px, 4vw, 40px);
	flex-wrap: wrap;
}

.dday-unit {
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}

/* 숫자 박스 */
.dday-number {
	position: relative;
	width: clamp(68px, 14vw, 110px);
	height: clamp(72px, 15vw, 116px);
	display: flex;
	align-items: center;
	justify-content: center;
}

.dday-number::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: 4px;
	background: #fff;
}

/* 상단 하이라이트 라인 */
.dday-number::after {
	content: '';
	position: absolute;
	top: 0; left: 10%; right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, #c4a464, transparent);
}

.dday-number span {
	font-family: 'Presentation';
	font-size: clamp(32px, 7vw, 56px);
	font-weight: 600;
	color: #e86756;
	line-height: 1;
	letter-spacing: -1px;
	transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s;
	display: block;
	position: relative;
}

/* 숫자 변경 애니메이션 */
.dday-number span.flip { animation: flipNumber 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); }

@keyframes flipNumber {
	0%   { transform: translateY(-8px); opacity: 0.3; }
	100% { transform: translateY(0);    opacity: 1; }
}

/* 라벨 */
.dday-label {
	font-size: clamp(9px, 1.5vw, 14px);
	letter-spacing: 2px;
	color: #fff;
	text-transform: uppercase;
	margin-top: 12px;
	opacity: 0.7;
}

/* 구분자 콜론 */
.dday-separator {
	font-family: 'Cinzel', serif;
	font-size: clamp(24px, 5vw, 40px);
	color: rgba(255, 255, 255, 0.7);
	align-self: center;
	margin-top: -20px;
	animation: pulse 2s ease-in-out infinite;
	position: relative;
}

@keyframes pulse {
	0%, 100% { opacity: 0.3; }
	50%       { opacity: 0.8; }
}

/* D-DAY 메인 배지 */
.dday-badge {
	display: none;
	align-items: center;
	gap: 10px;
	padding: 10px 28px;
	border: 1px solid rgba(196, 164, 100, 0.4);
	border-radius: 2px;
	margin-bottom: 14px;
}

.dday-badge-text {
	font-size: clamp(11px, 2vw, 13px);
	color: #c4a464;
	letter-spacing: 4px;
}

.dday-badge-num {
	font-size: clamp(22px, 4vw, 32px);
	font-weight: 600;
	color: #f0ede6;
	letter-spacing: 2px;
	min-width: 60px;
	text-align: center;
}

/* 이벤트 종료 시 */
.dday-ended {
	font-size: 20px;
	color: #c4a464;
	letter-spacing: 3px;
}

/* 반응형 */
@media (max-width: 480px) {
	.dday-separator { display: none; }
	.dday-counter { gap: 10px; }
}

.main_con { padding: 100px 0; }

.main_con01 .wrap { display: flex; flex-wrap: wrap; align-items: flex-start; }
.main_con01 .imgbox { position: relative; width: 550px; }
.main_con01 .imgbox:before { content:''; position: absolute; right: -20px; bottom: 50%; width: 100%; height: 20px; background: #f6b44a; }
.main_con01 .imgbox:after { content:''; position: absolute; right: -20px; bottom: -20px; width: 100%; height: 50%; background: #f6b44a; border-radius: 0 0 0 50px; }
.main_con01 .imgbox img { position: relative; border-radius: 0 50px; z-index: 9; max-width: 100%; }
.main_con01 .textbox { text-align: justify; width: calc(100% - 550px); padding-left: 100px; font-size: 1.1em; line-height: 1.7; }
.main_con01 .textbox p { color: #444; word-break: keep-all; }
.main_con01 .sign { display: block; text-align: right; margin-top: 80px; }

/* sub */
.sub_vis { position: relative; display: flex; flex-wrap: wrap; align-content: center; width: 100%; height: 500px; margin-top: 100px; background: #f6b44a; }
.sub_vis .wrap { display: flex; flex-wrap: wrap; align-content: center; align-items: center; }
.sub_vis_left { width: 40%; }
.sub_vis_left .main_schedule { margin-bottom: 0px; }
.sub_vis_title { margin-bottom: 30px; }
.sub_vis_title img { max-width: 100%; }
.sub_vis_right { display: flex; flex-wrap: wrap; align-content: center; justify-content: flex-end; gap: 20px; width: 60%; padding-left: 80px;}
.sub_vis_right .main_iconlist { gap: 20px; }
.sub_vis_right .main_iconlist li img { width: 110px; max-width: 100%; }

.sidebar { position: absolute; left: 0; bottom: -50px; z-index: 9; text-align: center; width: 100%; }
.sidebar_inr { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; margin: 10px auto 0; padding: 20px 30px; background: #fff; border-radius: 20px; box-shadow: 0 0px 30px rgba(0, 0, 0, 0.15); }
.sidebar_inr li { flex: 1; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 60px; border-left: 1px solid #d9e1eb; }
.sidebar_inr.wh02 li { min-width: 250px; }
.sidebar_inr li:first-child { border-left: none; }
.sidebar_inr.sidebar_wh05 li { flex: none; width: 20%; }

.sidebar_inr li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0 5px; width: 100%; min-width: 200px; padding: 0 10px; color: #444; font-size: 20px; font-weight: 600; transition: all 0.3s; }
.sidebar_inr li.active a, .sidebar_inr li a:hover { color: #e86756; }

.sub_contents { padding: 150px 0 0; color: #333; font-size: 1.1em; }
.board_contents { padding: 150px 0 ; color: #333; font-size: 1.1em; }

.sub_title { text-align: center; width: 100%; margin-bottom: 80px; }
.sub_title h2 { position: relative; z-index: 1; font-size: 48px; font-weight: 800; }
.sub_title h2 span { display: block; margin-bottom: 20px; color: #f6b44a; font-size: 24px; font-weight: 500; }

.sub_page_inr { padding: 150px 0; }
.sub_page_inr_first { padding-top: 0px; }

.sub_page_inr:nth-child(even) { background: #fbf6ec; }

/* 다이어그램 */
.seon-diagram { display: flex; align-items: center; justify-content: center; gap: 0; width: 100%; max-width: 1200px; margin: 0 auto; }
.seon-box-left {
	background: #f0a56b;
	padding: 50px 80px 50px 60px;
	min-width: calc(50% - 90px); min-height: 300px; border-radius: 20px;
	display: flex; flex-direction: column; justify-content: center;
}
.seon-box h3 { margin-bottom: 30px; font-size: 32px; font-weight: 700; color: #fff; line-height: 1; }
.seon-box h3 span { display: block; margin-bottom: 10px; color: rgba(255, 255, 255, 0.8); font-size: 18px; font-weight: 500; text-transform: uppercase; }
.seon-box ul li { color: #fff; margin-bottom: 10px; }
.seon-box ul li:last-child { margin-bottom: 0px; }
.seon-box ul li::before { content: '• '; }

.seon-box-center { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 300px; height: 300px; background: #e86756; border-radius: 50%; margin: 0 -60px; flex-shrink: 0; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.seon-box-center h3 { font-size: 36px; font-weight: 800; color: #fff; margin-bottom: 8px; }
.seon-box-center p { color: rgba(255,255,255,0.9); line-height: 1.6; }

.seon-box-right {
	background: #457B9D;
	padding: 50px 60px 50px 80px;
	min-width: calc(50% - 90px); min-height: 300px; border-radius: 20px;
	display: flex; flex-direction: column; justify-content: center; align-items: flex-end;
}
.seon-box-right h3 { text-align: right; }
.seon-box-right ul { text-align: right; }

/* 버블 다이어그램 */
.bubble-diagram { display: flex; flex-direction: column; align-items: center; gap: 0; margin-bottom: 80px; }
.bubble-top { position: relative; }
.bubble-center { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 240px; height: 240px; background: #e86756; border-radius: 50%; color: #fff; font-size: 28px; font-weight: 700; line-height: 1.4; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.15);; }
.bubble-lines { position: relative; display: flex; justify-content: center; gap: 200px; padding-top: 30px; }
.bubble-lines::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 30px; background: rgba(0, 0, 0, 0.1); }
.bubble-lines::after { content: ''; position: absolute; top: 30px; left: calc(50% - 220px); width: 440px; height: 2px; background: rgba(0, 0, 0, 0.1); }
.bubble-line-item { position: relative; display: flex; flex-direction: column; align-items: center; padding-top: 30px; }
.bubble-line-item::before { content: ''; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 2px; height: 30px; background: rgba(0, 0, 0, 0.1); }
.bubble-sub { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; width: 240px; height: 240px; background: #f0a56b; border-radius: 50%; color: #fff; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.15); }
.bubble-sub.green { background: #457B9D; }
.bubble-sub h4 { font-size: 28px; }
.bubble-sub-label { text-align: center; margin-top: 20px; color: rgba(255, 255, 255, 0.8); font-size: 0.9em; letter-spacing: -0.03em; word-break: keep-all; }

.about02_textbox { text-align: center; margin-bottom: 80px; font-size: 1.2em; font-weight: 400; line-height: 1.5; word-break: keep-all; }

.about02_textbox02 { display: flex; flex-wrap: wrap; gap: 20px; text-align: center; }
.about02_textbox02 .about02_text { flex:1; padding: 50px; background: #fff; border-radius: 10px; }
.about02_textbox02 .about02_text h3 { margin-bottom: 30px; font-size: 32px; font-weight: 800; letter-spacing: -0.03em; }
.about02_textbox02 .about02_text h3 span { position: relative; }
.about02_textbox02 .about02_text h3 span:after { content:''; position: absolute; top: 0px; right: -20px; width: 8px; height: 8px; border-radius: 10px; background: #e86756; }
.about02_textbox02 .about02_text p { line-height: 1.7; word-break: keep-all; }

.competition h3 { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-bottom: 50px; font-size: 28px; letter-spacing: -0.03em; }
.competition h3 .sub_stitle_icon img { height: 50px; }
.competition_schedule01 { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 80px; }
.competition_schedule01 li { display: flex; flex-wrap: wrap; align-content: center; width: 100%; height: 70px; background: #fbf6ec; border-radius: 10px; }
.competition_schedule01 li > div { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; text-align: center; height: 70px; }
.competition_schedule01 li .time { width: 30%; background: #fff; border: 2px solid #f6b44a; border-radius: 10px; color: #222; box-shadow: 0 0px 20px rgba(245, 179, 74, 0.5); }
.competition_schedule01 li .subject { width: 50%; }
.competition_schedule01 li .place { width: 20%; }

.competition_table01 { width: 100%; border-top: 2px solid #f6b44a; }
.competition_table01 th, .competition_table01 td { text-align: center; padding: 20px 15px; border-bottom: 1px solid #ddd; }
.competition_table01 th { font-weight: 600; }
.competition_table01 thead th { background: #fbf6ec; border-left: 1px solid #ddd; font-weight: 700; }
.competition_table01 thead th:first-child { border-left: none; }
.competition_table01 tbody td { border-left: 1px solid #ddd; }

.schedule_box { position: relative; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; background: #fbecec; padding: 20px 30px; border-radius: 10px; }
.schedule_box:before { content: '개막식 14:00 ~ 15:00'; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: right;  height: 50px; padding: 0 20px; background: #fff; border-radius: 500px; font-size: 15px; font-weight: 600; box-shadow: 0 0px 20px rgba(0, 0, 0, 0.1); }
.schedule_text { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; height: 50px; padding: 0 30px; background: #e86756; border-radius: 500px; color: #fff; font-size: 0.95em; font-weight: 600; box-shadow: 0 0px 20px rgba(232, 103, 86, 0.5); }

.festival_textbox { text-align: center; margin-bottom: 80px; font-size: 1.15em; font-weight: 400; line-height: 1.5; }
.festival_textbox  span{ font-size: 0.8em; }

.tabs { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; margin-bottom: 50px; background: #f4f4f4; border-radius: 500px; }
.tabs li { position: relative; }
.tabs li a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 240px; height: 70px; padding: 0 20px; border-radius: 500px; font-size: 1.05em; font-weight: 600; transition: all 0.3s; }
.tabs li.active a, .tabs li.active:hover a  { background: #e86756; color: #fff; box-shadow: 0 0px 20px rgba(232, 103, 86, 0.5); }
.tabs li:hover a { background: #fff; color: #e86756; box-shadow: 0 0px 20px rgba(232, 103, 86, 0.5); }

.tab_container { overflow: hidden; width: 100%; }
.tab_content {  }

.programbox { display: flex; flex-wrap: wrap; gap: 10px; }
.program_item { display: flex; flex-wrap: wrap; align-content: flex-start; gap: 20px; flex: 1; }
.program_item h4 { display: flex; flex-wrap: wrap; align-content: center; justify-content: center; align-items: center; text-align: center; width: 100%; height: 100px; border-radius: 10px; color: #fff; font-size: 24px; }
.program_item01 h4 { background: #6384c2; }
.program_item02 h4 { background: #0a8386; }
.program_item03 h4 { background: #f4b4d0; }
.program_item04 h4 { background: #a37b3d; }
.program_item h4 span { display: block; width: 100%; margin-top: 10px; font-size: 16px; font-weight: 500; }

.program_itemlist { display: flex; flex-wrap: wrap; align-content: flex-start; align-items: flex-start; gap: 10px; width: 100%;}
.program_itemlist li { text-align: center; width: 100%; padding: 30px 10px; border: 2px solid #ddd; border-radius: 10px; transition: all 0.3s; }

.program_itemlist li:hover { box-shadow: 0 0px 30px rgba(0, 0, 0, 0.15); }
.program_item01 .program_itemlist li:hover { border: 2px solid #6384c2; }
.program_item02 .program_itemlist li:hover { border: 2px solid #0a8386; }
.program_item03 .program_itemlist li:hover { border: 2px solid #f4b4d0; }
.program_item04 .program_itemlist li:hover { border: 2px solid #a37b3d; }

.program_itemlist li h5 { margin-bottom: 10px; font-size: 20px; word-break: keep-all; }
.program_itemlist li h5 .eng_title { display: block; font-size: 14px; }
.program_itemlist li p { margin-bottom: 15px; font-size: 0.9em; }
.program_itemlist li .time { display: block; }

.program_itemlist li a.more { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 10px; width: 100%; height: 45px; margin-top: 15px; border-radius: 500px; color: #444; font-weight: 600; transition: all 0.3s; display: none; }
.program_item01 .program_itemlist li a.more { background: #e3ebf9; }
.program_item02 .program_itemlist li a.more { background: #e1efef; }
.program_item03 .program_itemlist li a.more { background: #f5eaef; }
.program_item04 .program_itemlist li a.more { background: #e9e2d6; }
.program_item01 .program_itemlist li a.more:hover { background: #6384c2; color: #fff; }
.program_item02 .program_itemlist li a.more:hover { background: #0a8386; color: #fff; }
.program_item03 .program_itemlist li a.more:hover { background: #f4b4d0; }
.program_item04 .program_itemlist li a.more:hover { background: #a37b3d; color: #fff; }



.coming-soon { 
  opacity: 0.4; 
  cursor: not-allowed; 
  pointer-events: none; 
}
.badge { 
  font-size: 10px; 
  background: #ccc; 
  padding: 2px 5px; 
  border-radius: 10px; 
}