/* 공통 */
:root{
	--main-color : #89C56D;
	--main-strong : #58963B;   /* Primary/Heavy - 버튼 hover 등 */
	--sub-color : #00B7EE;
	--font-outfit : 'Outfit', 'Pretendard', sans-serif;
	--font-noto : 'Noto Sans KR', 'Pretendard', sans-serif;
	--gra : linear-gradient(94deg, #89C56D 10.77%, #00B7EE 90.04%);
	--ease : cubic-bezier(.22,.61,.36,1);
}
@font-face {font-family: 'Noto Sans KR'; font-weight: 400; font-style: normal; src: url('/font/NotoSansKR-Regular.woff') format('woff'); font-display: swap;}
@font-face {font-family: 'Noto Sans KR'; font-weight: 700; font-style: normal; src: url('/font/NotoSansKR-Bold.woff') format('woff'); font-display: swap;}
p, dd{word-break:keep-all !important;}
.pc{display:block !important;}
.pc2{display:block !important;}
.mob{display:none !important;}
.mob2{display:none !important;}
.mob_br{display:none;}
.inner{width: 100%; max-width:104rem; margin:0 auto; padding: 0 2rem;}
.ta-l {text-align: left;}
.ta-c {text-align: center;}
.ta-r {text-align: right;}
.flex {display: flex; align-items: center;}
.flex-jb {display: flex; align-items: center; justify-content: space-between;}
.flex-jc {display: flex; align-items: center; justify-content: center;}
.flex-je {display: flex; align-items: center; justify-content: flex-end;}


/* ===== MAIN ===== */
body{overflow: clip;}   /* reset.css의 body overflow:hidden 은 스크롤 고정(pin)을 방해하므로 clip 으로 대체 */
.main{background: #000; color: #fff; overflow-x: clip;}
.main img{display: block;}
.main .bg{position: absolute; inset: 0; z-index: 0;}
.main .bg img{width: 100%; height: 100%; object-fit: cover;}

/* 섹션 공통 헤드 (Figma sec_label / sec_tit) */
.main .sec_label{display: flex; align-items: center; gap: 0.625rem; font-size: 1.25rem; font-weight: 700; line-height: 1.45; letter-spacing: -0.00625rem; background-image: var(--gra); -webkit-background-clip: text; background-clip: text; color: transparent;}
.main .sec_label::before{content: ""; width: 0.875rem; height: 0.875rem; flex-shrink: 0; border-radius: 50%; background: var(--main-color);}
.main .sec_tit{font-size: 3.5625rem; font-weight: 700; line-height: 1.12; letter-spacing: -0.0890625rem; color: #fff;}
.main .sec_tit span{display: block;}
.main .gra_txt{background-image: var(--gra); -webkit-background-clip: text; background-clip: text; color: transparent;}


/* visual (Figma 7398:7267) */
.visual{position: relative; height: 59.375rem; display: flex; align-items: center; padding: 10rem 0 3.75rem;}
.visual .vis_bg{position: absolute; inset: 0; z-index: 0;}
.visual .vis_bg img{width: 100%; height: 100%; object-fit: cover; object-position: center top;}
.visual::after{content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(0,0,0,0) 63.46%, #000 95.67%);}   /* visual_dim */
.visual .inner{position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; gap: 2.5rem;}
.visual .vis_txt{display: flex; flex-direction: column; align-items: flex-start; gap: 3.75rem;}
.visual .vis_txt .label{font-size: 1.25rem; font-weight: 500; line-height: 1.45; letter-spacing: -0.00625rem; max-width: 47.5rem; margin-bottom: -2.25rem;}
.visual .vis_txt .tit{font-family: var(--font-outfit); font-size: 5rem; font-weight: 700; line-height: 1.1; letter-spacing: -0.15rem; white-space: nowrap;}
.visual .vis_txt .date{display: flex; flex-direction: column; gap: 0.75rem; max-width: 56.25rem;}
.visual .vis_txt .day{font-family: var(--font-outfit); font-size: 2.25rem; font-weight: 700; line-height: 1.22; letter-spacing: -0.03375rem; background-image: linear-gradient(111.12deg, #89C56D 10.77%, #00B7EE 90.04%); -webkit-background-clip: text; background-clip: text; color: transparent;}
.visual .vis_txt .place{font-size: 2rem; font-weight: 500; line-height: 1.25; letter-spacing: -0.03rem;}
.visual .dday{display: flex; align-items: flex-start; gap: 1.5625rem; padding: 1.25rem 3.75rem; border-radius: 3.125rem; border: 1px solid rgba(255,255,255,0.4); background: rgba(255,255,255,0.1); white-space: nowrap;}
.visual .dday .item{display: flex; align-items: flex-end; gap: 0.5rem; font-family: var(--font-outfit);}
.visual .dday strong{font-size: 2.8125rem; font-weight: 600; line-height: 1.15; letter-spacing: -0.0375rem; text-align: center;}
.visual .dday strong[data-unit="sec"]{min-width: 3.75rem;}   /* 초 단위만 매초 바뀌므로 폭 고정 */
.visual .dday span{font-size: 1rem; font-weight: 700; line-height: normal;}
.visual .vis_logo{width: 40.625rem;}
.visual .vis_logo img{width: 100%;}


/* sec01 (Figma 7398:7326) - 스크롤 시 우측 이미지가 풀화면으로 커져 sec02 배경이 됨 (ScrollTrigger pin) */
.main .sec01{position: relative; height: 100vh; height: 100svh; overflow: hidden; display: flex; align-items: center; background: #000;}
.main .sec01 .sec01_cont{position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; pointer-events: none;}
.main .sec01 .sec_head{display: flex; flex-direction: column; align-items: flex-start; gap: 0.75rem;}
.main .sec01 .sec_tit{white-space: nowrap;}
.main .sec01 .img_box{width: 40.625rem; aspect-ratio: 650 / 321; flex-shrink: 0;}
.main .sec01 .img_fix{position: absolute; z-index: 1; left: 0; top: 0; width: 40.625rem; aspect-ratio: 650 / 321; border-radius: 2.3333rem; overflow: hidden; opacity: 0; background: #000 url("/img/main/sec02_bg.jpg") no-repeat center / cover;}
.main .sec01 .img_fix.ready{opacity: 1;}
.main .sec01 .img_fix iframe{position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; border: 0; pointer-events: none; -webkit-mask-image: -webkit-radial-gradient(white, black); -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden;}


/* sec02 (Figma 7414:4480) - 섹션 고정 + 텍스트 흰색 채움 */
.main .sec02{position: absolute; inset: 0; z-index: 3; display: flex; align-items: center; opacity: 0; pointer-events: none;}
.main .sec02 .inner{position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 6.25rem; text-align: center;}
.main .sec02 .sec_head{display: flex; flex-direction: column; align-items: center; gap: 0.75rem;}
.main .sec02 .body{display: flex; flex-direction: column; gap: 3.75rem;}
.main .sec02 .body span{display: block;}
.main .sec02 .desc{font-size: 1.75rem; font-weight: 400; line-height: 1.29; letter-spacing: -0.0175rem; color: #E1E2E4;}
.main .sec02 .strong{font-size: 2rem; font-weight: 700; line-height: 1.25; letter-spacing: -0.03rem; color: #fff;}
.main .sec02 .sec_tit{--fc: #fff; --bc: rgba(255,255,255,0.6);}
.main .sec02 .fill{display: block; color: transparent; background-image: linear-gradient(90deg, var(--fc) 0%, var(--fc) 50%, var(--bc) 50%, var(--bc) 100%); background-size: 200% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text;}


/* sec03 (Figma 7398:7341) - 영상 자동재생 */
.main .sec03{position: relative; background: #E0E4EA;}
.main .sec03 .video{position: relative; width: 100%; aspect-ratio: 128 / 72; overflow: hidden; background: #000;}
.main .sec03 .video iframe{position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 100%; height: 100%; border: 0; pointer-events: none; -webkit-mask-image: -webkit-radial-gradient(white, black); -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden;}


/* sec04 (Figma 7398:7347) - 카드 펼침 */
.main .sec04{position: relative; height: 100vh; height: 100svh; overflow: hidden; display: flex; align-items: center; background: #000;}
.main .sec04 .inner{position: relative; max-width: none; padding: 0; height: 41.5rem;}
.main .sec04 .sec_head{position: absolute; left: 50%; top: 0; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 4rem; z-index: 1;}
.main .sec04 .big_tit{font-family: var(--font-outfit); font-size: 11.25rem; font-weight: 200; line-height: 1; letter-spacing: -0.1875rem; text-align: center; white-space: nowrap; color: #fff;}
.main .sec04 .card_wrap{position: absolute; left: 0; right: 0; top: 8.125rem; z-index: 2; overflow: visible;}
.main .sec04 .card_list{display: flex; align-items: center; justify-content: center; gap: 1.25rem; height: 34.65rem;}
.main .sec04 .card{width: 28.125rem; flex-shrink: 0; will-change: transform;}
.main .sec04 .card1{transform: rotate(-21.22deg);}
.main .sec04 .card2{transform: rotate(-5.29deg);}
.main .sec04 .card3{transform: rotate(18.4deg);}
.main .sec04 .card_in{display: flex; flex-direction: column; align-items: center; gap: 2.5rem; padding: 5.625rem 2.5rem; border-radius: 1.25rem; text-align: center; color: #fff;}
.main .sec04 .card1 .card_in{background: linear-gradient(91.98deg, #58963B 8.17%, #89C56D 92.86%);}
.main .sec04 .card2 .card_in{background: linear-gradient(91.88deg, #129265 8.17%, #46BC93 92.86%);}
.main .sec04 .card3 .card_in{background: linear-gradient(91.98deg, #00A1D1 8.17%, #5BD6FB 92.86%);}
.main .sec04 .card .tit{display: block; font-size: 2.8125rem; font-weight: 700; line-height: 1.15; letter-spacing: -0.05625rem; white-space: nowrap;}
.main .sec04 .card .desc{margin-top: -1.5625rem; font-family: var(--font-noto); font-size: 1.25rem; font-weight: 400; line-height: 1.45; white-space: nowrap;}
.main .sec04 .card .btn{display: inline-flex; align-items: center; justify-content: center; padding: 1rem 2.5rem; border-radius: 5rem; border: 1px solid #fff; background: transparent; font-family: var(--font-noto); font-size: 1.125rem; font-weight: 700; line-height: 1.5; letter-spacing: -0.025rem; color: #fff; white-space: nowrap; transition: background-color 0.3s var(--ease), color 0.3s var(--ease);}
.main .sec04 .card .btn:hover{background: #fff;}
.main .sec04 .card1 .btn:hover{color: #43712D;}
.main .sec04 .card2 .btn:hover{color: #129265;}
.main .sec04 .card3 .btn:hover{color: #00A1D1;}
.main .sec04 .card_page{display: none;}


/* sec05 (Figma 7398:7370) - 후원 배너 좌측 흐름 */
.main .sec05{position: relative; min-height: 64.5625rem; padding: 8.75rem 0; display: flex; align-items: center;}
.main .sec05 .bg{bottom: auto; height: 64.125rem;}
.main .sec05 .inner{position: relative; z-index: 1; max-width: 91.5rem; display: flex; flex-direction: column; gap: 4rem;}   /* 1400 + 좌우 여백 */
.main .sec05 .sec_head{display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem;}
.main .sec05 .sec_label::before{width: 0.75rem; height: 0.75rem;}
.main .sec05 .body{display: flex; align-items: stretch; gap: 3.75rem;}
.main .sec05 .list{width: 42.5rem; min-width: 0; flex-shrink: 0;}
.main .sec05 .list li{display: flex; align-items: center; gap: 2.5rem; padding: 1.25rem 0; border-bottom: 1px solid rgba(255,255,255,0.2);}
.main .sec05 .list li + li{border-top: 1px solid rgba(255,255,255,0.1);}
.main .sec05 .list li:last-child{border-bottom: 0;}
.main .sec05 .list .th{width: 6.875rem; flex-shrink: 0; font-size: 1.25rem; font-weight: 700; line-height: 1.45; letter-spacing: -0.00625rem; color: #878A93;}
.main .sec05 .list .td{flex: 1 1 0; min-width: 0; font-size: 1.5rem; font-weight: 700; line-height: 1.33; letter-spacing: -0.015rem; color: #fff;}
.main .sec05 .list .host{width: 10.08875rem;}
.main .sec05 .list .org{width: 21.66rem;}
.main .sec05 .logo{flex: 1 1 0; display: flex; align-items: center; justify-content: center; padding: 2.25rem; border-radius: 1.25rem; border: 1px solid rgba(255,255,255,0.12); background: rgba(255,255,255,0.05);}
.main .sec05 .logo img{width: 15.5rem;}
.main .sec05 .banner{margin-top: -1.5rem; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);}
.main .sec05 .banner .track{display: flex; width: max-content; animation: bnMarquee 40s linear infinite;}
.main .sec05 .banner ul{display: flex; flex-shrink: 0;}
.main .sec05 .banner li{width: 20rem; height: 7.5rem; flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
.main .sec05 .banner li img{height: auto;}
@keyframes bnMarquee{0%{transform: translateX(0);} 100%{transform: translateX(-50%);}}


/* sec06 (Figma 7398:7558) */
.main .sec06{padding: 8.75rem 0 6.25rem;}
.main .sec06 .inner{display: flex; flex-direction: column; align-items: center; gap: 4rem;}
.main .sec06 .sec_head{display: flex; flex-direction: column; align-items: center; gap: 1.5rem;}
.main .sec06 .info{display: flex; gap: 2.5rem; width: 100%;}
.main .sec06 .box{flex: 50.625 1 0; min-width: 0; display: flex; flex-direction: column; gap: 8.75rem; padding: 3.75rem 3rem; border-radius: 1.25rem; border: 1px solid rgba(255,255,255,0.08); background: #141618;}
.main .sec06 .venue{display: flex; flex-direction: column; gap: 0.5rem;}
.main .sec06 .venue .name{font-size: 2.25rem; font-weight: 700; line-height: 1.22; letter-spacing: -0.03375rem;}
.main .sec06 .venue .hall{font-size: 1.25rem; font-weight: 500; line-height: 1.45; letter-spacing: -0.00625rem;}
.main .sec06 .way{display: flex; flex-direction: column; gap: 1.5rem;}
.main .sec06 .row{display: flex; align-items: flex-start; gap: 1rem; font-size: 1.25rem; font-weight: 700; line-height: 1.45; letter-spacing: -0.00625rem;}
.main .sec06 .row .th{width: 4.5rem; flex-shrink: 0; color: #9ECD88;}
.main .sec06 .row .td{flex: 1 1 0; min-width: 0; color: #C2C4C8;}
.main .sec06 .bus{display: flex; flex-direction: column; gap: 0.75rem; padding-left: 5.5rem;}
.main .sec06 .bus li{display: flex; align-items: center; gap: 1rem;}
.main .sec06 .tag{width: 4.125rem; flex-shrink: 0; padding: 0.375rem 0; border-radius: 62.4375rem; font-size: 1rem; font-weight: 700; line-height: 1.5; text-align: center; color: #fff;}
.main .sec06 .tag.green{background: #31A935;}
.main .sec06 .tag.red{background: #C3320E;}
.main .sec06 .tag.blue{background: #1273CE;}
.main .sec06 .route{flex: 1 1 0; min-width: 0; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #AEB0B6;}
.main .sec06 .map{flex: 46.875 1 0; min-width: 0; border-radius: 1.25rem; overflow: hidden; background: #fff;}
/* 카카오 약도(roughmap)는 인라인 크기를 주입하므로 !important 로 컨테이너에 맞춤 */
.main .sec06 .map .root_daum_roughmap{width: 100% !important; height: 100%;}
.main .sec06 .map .root_daum_roughmap .wrap_map{height: 100% !important;}
.main .sec06 .map .root_daum_roughmap .cont{display: none;}


/* sec07 (Figma 7398:7594) - 1번째 좌측, 2번째 우측 흐름 */
.main .sec07{position: relative; height: 18.7889rem; padding-bottom: 3.75rem;}
.main .sec07 .band{position: absolute; left: -10%; width: 120%; padding: 1.25rem 0; overflow: hidden; font-family: var(--font-outfit); font-size: 2.25rem; font-weight: 700; line-height: 1.15; color: #fff; white-space: nowrap;}
.main .sec07 .band1{top: 3.75rem; background: #00B7EE; transform: rotate(4.28deg); z-index: 1;}
.main .sec07 .band2{top: 7.3125rem; background: #89C56D; transform: rotate(-2.41deg); z-index: 2;}
.main .sec07 .track{display: flex; width: max-content; animation: bandMarquee 50s linear infinite;}
.main .sec07 .band2 .track{animation-direction: reverse;}
.main .sec07 .track span{display: block; padding-right: 1.25rem;}
@keyframes bandMarquee{0%{transform: translateX(0);} 100%{transform: translateX(-50%);}}


@media screen and (max-width:1640px){
    html {font-size: 80%;}

    .main .sec05 .inner{max-width: 91.5rem;}
    .main .sec04 .inner{max-width: none;}
}

@media screen and (max-width:1320px){
    .visual .vis_txt .tit{font-size: 4.125rem; letter-spacing: -0.08rem;}
    .visual .vis_logo{width: 35.25rem;}
    .visual .vis_txt .day{font-size: 2rem;}
    .visual .vis_txt .place{font-size: 1.875rem;}
}

@media screen and (max-width:1024px){
    html {font-size: 100%;}

    /* 공통 */
    .inner{padding: 0 1.25rem; max-width: 100%;}
    .pc{display:none !important;}
    .mob{display:block !important;}
    .mob_br{display: block;}


    /* ===== MAIN ===== */
    .main .sec_label{gap: 0.5rem; font-size: 0.875rem; line-height: 1.43; letter-spacing: 0;}
    .main .sec_label::before{width: 0.625rem; height: 0.625rem;}
    .main .sec_tit{font-size: 1.75rem; line-height: 1.29; letter-spacing: -0.0175rem;}


    /* visual (mob 7520:12594) */
    .visual{height: 30.75rem; display: block; padding: 6.25rem 0 0;}
    .visual .vis_bg img{object-position: center;}
    .visual::after{background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0.92) 100%);}
    .visual .vis_txt{gap: 1.5rem;}
    .visual .vis_txt .label{font-size: 0.875rem; line-height: 1.43; letter-spacing: 0; max-width: none; margin-bottom: -0.625rem;}
    .visual .vis_txt .tit{font-size: 2rem; line-height: 1.08; letter-spacing: -0.04rem; white-space: normal;}
    .visual .vis_txt .date{gap: 0.5rem; max-width: none;}
    .visual .vis_txt .day{font-size: 1.125rem; line-height: 1.3; letter-spacing: 0; background-image: linear-gradient(105.77deg, #89C56D 10.77%, #00B7EE 90.04%);}
    .visual .vis_txt .place{font-size: 1rem; line-height: 1.5; letter-spacing: 0;}
    .visual .dday{width: 100%; height: 4rem; align-items: center; justify-content: space-between; gap: 0; padding: 0 1.375rem;}
    .visual .dday .item{align-items: baseline; gap: 0.375rem;}
    .visual .dday strong{font-size: 1.625rem; line-height: 1.1; letter-spacing: 0; text-align: center;}
    .visual .dday strong[data-unit="sec"]{min-width: 2.1875rem;}
    .visual .dday span{font-size: 0.75rem; line-height: 1.33;}
    .visual .vis_logo{width: 18.8125rem;}


    /* sec01 */
    .main .sec01 .sec01_cont{flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.75rem;}
    .main .sec01 .sec_head{gap: 0.5rem;}
    .main .sec01 .sec_tit{white-space: normal; display: flex; flex-direction: column; gap: 0.25rem;}
    .main .sec01 .sec_tit span:first-child{font-size: 1.5rem; line-height: 1.33; letter-spacing: -0.015rem;}
    .main .sec01 .sec_tit span:last-child{font-size: 1.375rem; line-height: 1.45; letter-spacing: -0.006875rem;}
    .main .sec01 .img_box,
    .main .sec01 .img_fix{width: 100%; aspect-ratio: 344 / 170.208;}
    .main .sec01 .img_fix{width: calc(100% - 2.5rem); border-radius: 1.23488rem;}


    /* sec02 */
    .main .sec02::before{content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.5);}
    .main .sec02 .inner{gap: 2rem;}
    .main .sec02 .sec_head{gap: 1rem;}
    .main .sec02 .sec_tit{display: flex; flex-direction: column; gap: 0.25rem;}
    .main .sec02 .sec_tit span:first-child{font-size: 1.5rem; line-height: 1.33; letter-spacing: -0.015rem;}
    .main .sec02 .sec_tit span:last-child{font-size: 1.375rem; line-height: 1.45; letter-spacing: -0.006875rem;}
    .main .sec02 .body{gap: 1.5rem;}
    .main .sec02 .desc{font-size: 1rem; line-height: 1.5; letter-spacing: 0;}
    .main .sec02 .strong{font-size: 1.125rem; line-height: 1.5; letter-spacing: 0;}


    /* sec04 (mob 7520:12674) - 스와이프 */
    .main .sec04{height: auto; padding: 3.75rem 0; display: block; overflow: visible;}
    .main .sec04 .inner{height: 28.25rem; padding: 0;}
    .main .sec04 .sec_head{width: 100%; gap: 1.5rem;}
    .main .sec04 .big_tit{font-size: 4.25rem; letter-spacing: -0.1875rem;}
    .main .sec04 .card_wrap{top: 7.784rem; left: 1.25rem; right: 1.25rem; width: calc(100% - 2.5rem); overflow: hidden;}
    .main .sec04 .card_list{justify-content: flex-start; gap: 0; height: auto;}
    .main .sec04 .card{width: calc((100% - 32px) / 3); transform: none;}
    .main .sec04 .card_in{gap: 1.1667rem; padding: 1.8667rem 1.4rem; border-radius: 1.1667rem; aspect-ratio: 1 / 1; justify-content: center;}
    .main .sec04 .card1 .card_in{background: linear-gradient(135deg, #58963B 0%, #89C56D 71.43%);}
    .main .sec04 .card2 .card_in{background: linear-gradient(135deg, #89C56D 0%, #00B7EE 71.43%);}
    .main .sec04 .card3 .card_in{background: linear-gradient(135deg, #00A1D1 0%, #5BD6FB 71.43%);}
    .main .sec04 .card .tit{font-size: 1.4rem; line-height: 1.33; letter-spacing: -0.014rem;}
    .main .sec04 .card .desc{margin-top: 0; font-family: inherit; font-size: 0.81688rem; line-height: 1.43;}
    .main .sec04 .card .btn{padding: 0.7rem 1.4rem; border-radius: 4.6667rem; border: 0; background: #fff; font-family: inherit; font-size: 0.81688rem; line-height: 1.43; letter-spacing: 0;}
    .main .sec04 .card1 .btn{color: #43712D;}
    .main .sec04 .card2 .btn{color: #43712D;}
    .main .sec04 .card3 .btn{color: #43712D;}
    .main .sec04 .card_page{display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2.5rem; margin-left: -1.25rem;}
    .main .sec04 .card_page .swiper-pagination-bullet{width: 1rem; height: 0.5rem; margin: 0; border-radius: 62.4375rem; background: rgba(255,255,255,0.25); opacity: 1; transition: width 0.3s;}
    .main .sec04 .card_page .swiper-pagination-bullet-active{width: 3rem; background: linear-gradient(96.46deg, #89C56D 10.77%, #00B7EE 90.04%);}


    /* sec05 (mob 7520:12688) */
    .main .sec05{min-height: 0; padding: 3.75rem 0; flex-direction: column; align-items: stretch; gap: 2rem;}
    .main .sec05 .bg{height: 100%;}
    .main .sec05 .inner{max-width: 100%; gap: 2rem;}
    .main .sec05 .sec_head{gap: 0.875rem;}
    .main .sec05 .body{gap: 2rem;}
    .main .sec05 .list{width: 50%;}
    .main .sec05 .list li{gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,0.12);}
    .main .sec05 .list li + li{border-top: 0;}
    .main .sec05 .list li:nth-child(n+4){padding: 1.125rem 0;}
    .main .sec05 .list .th{width: 3.25rem; font-size: 0.875rem; line-height: 1.43; letter-spacing: 0;}
    .main .sec05 .list .td{font-size: 1rem; line-height: 1.5; letter-spacing: 0;}
    .main .sec05 .list .host{width: 7.375rem;}
    .main .sec05 .list .org{width: 12.25rem;}
    .main .sec05 .logo{padding: 2.25rem 1.5rem;}
    .main .sec05 .logo img{width: 8.25rem;}
    .main .sec05 .banner{position: relative; z-index: 1; margin: 0 0 0 1.25rem;}
    .main .sec05 .banner li{width: 8.125rem; height: 3.5625rem;}
    .main .sec05 .banner li img{transform: scale(0.675);}


    /* sec06 (mob 7520:13239) */
    .main .sec06{padding: 3.75rem 0;}
    .main .sec06 .inner{gap: 2rem;}
    .main .sec06 .sec_head{gap: 0.875rem;}
    .main .sec06 .info{flex-direction: column; gap: 2rem;}
    .main .sec06 .box{flex: none; width: 100%; gap: 1.5rem; padding: 1.75rem 1.25rem; border-radius: 1.25rem;}
    .main .sec06 .venue{gap: 0.625rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.12);}
    .main .sec06 .venue .name{font-size: 1.5rem; line-height: 1.33; letter-spacing: -0.015rem;}
    .main .sec06 .venue .hall{font-size: 0.875rem; line-height: 1.43; letter-spacing: 0;}
    .main .sec06 .way{gap: 1.5rem;}
    .main .sec06 .row{flex-direction: column; gap: 0.5rem; font-size: 1rem; line-height: 1.5; letter-spacing: 0;}
    .main .sec06 .row .th{width: auto; font-size: 0.875rem; line-height: 1.43; background-image: linear-gradient(106.02deg, #89C56D 10.77%, #00B7EE 90.04%); -webkit-background-clip: text; background-clip: text; color: transparent;}
    .main .sec06 .row .td{flex: none; width: 100%;}
    .main .sec06 .bus{padding-left: 0; gap: 0.75rem; margin-top: -0.75rem;}
    .main .sec06 .bus li{gap: 0.75rem;}
    .main .sec06 .tag{width: 3.625rem; padding: 0.3296rem 0; font-size: 0.875rem; line-height: 1.43;}
    .main .sec06 .route{font-size: 0.875rem; line-height: 1.43;}
    .main .sec06 .map{flex: none; width: 100%; height: 22rem;}


    /* sec07 (mob 7520:13270) */
    .main .sec07{height: 13.6856rem;}
    .main .sec07 .band{padding: 0.75rem 0; font-size: 1.5rem;}
    .main .sec07 .band1{top: 3.75rem;}
    .main .sec07 .band2{top: 6.218rem;}
}

/* 태블릿 (481 ~ 1024) : 모바일 시안 기준, 카운트다운만 간격 보정 */
@media screen and (min-width:481px) and (max-width:1024px){
    .visual .dday{width: auto; justify-content: flex-start; gap: 1.5rem; padding: 0 2.5rem;}
}

@media screen and (max-width:860px){
    .main .sec04 .card_wrap{right: auto; width: calc(100% - 1.25rem); overflow: visible;}
    .main .sec04 .card{width: 16.3333rem;}
    .main .sec04 .card3{margin-right: 1.25rem;}
}

@media screen and (max-width:768px){
    .pc2{display:none !important;}
    .mob2{display:block !important;}
    .visual{height: 43.75rem;}
    .visual .inner{flex-direction: column; align-items: stretch;}
    .visual .vis_logo{width: 20rem; margin: 0 auto;}
    .main .sec05 .body{flex-direction: column;}
    .main .sec05 .list{width: 100%;}
}


@media screen and (max-width:580px){
    .main .sec06 .bus li{align-items: flex-start;}
    .main .sec06 .bus li:nth-child(2){align-items: center;}
    .main .sec06 .map{height: 16.6267rem;}
}

.mob_500{display: none;}
@media screen and (max-width:500px){
    .mob_500{display: block;}
}
