/* BASIC css start */
    @font-face {
        font-family: 'SchoolSafetyNotification';
        src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimAllimjangTTF-R.woff2') format('woff2');
        font-weight: 400;
        font-display: swap;
    }
    @font-face {
        font-family: 'SchoolSafetyNotification';
        src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2408-5@1.0/HakgyoansimAllimjangTTF-B.woff2') format('woff2');
        font-weight: 700;
        font-display: swap;
    }

    /* 기본 설정: 흰색 깜빡임 방지 */
    body { margin: 0; padding: 0; background-color: #000; overflow-x: hidden; }

    .campaign_container { position: relative; width: 100%; height: 100vh; }
    
    /* 인트로 섹션 */
    
    /* 인트로 */
    #intro { 
        position: fixed; 
        inset: 0; 
        z-index: 100; 
        background: #000; 
        display: flex; align-items: center; justify-content: center;
        transition: opacity 0.3s steps(2); /* 점멸 느낌을 위한 짧은 전환 */
    }
    .intro_btm_txt { position: absolute; top: 49.72%; left: 50%; transform: translateX(-50%); }
    .intro_top_txt { position: absolute; top: 23.15%; left: 50%; transform: translateX(-50%); }
    .into_txt_wrap { 
        position: absolute; left: 50%; top: 30.56%; transform: translateX(-50%); 
        width: 1116px; /* 너비 고정: 왼쪽에서 타이핑되는 느낌 유지 */
        display: flex; justify-content: flex-start;
    }
    .intro-text { 
        font-family: 'SchoolSafetyNotification', sans-serif;
        font-size: 120px; color: #fff; font-weight: bold; letter-spacing: -1px;
        text-align: left; white-space: nowrap;
    }
    /* 마지막 마침표 깜빡임 */
    .last-dot { animation: dotBlink 0.8s infinite; }
    @keyframes dotBlink {
        0%, 100% { opacity: 1; }
        50% { opacity: 0; }
    }

    /* 메인 섹션: 점멸하듯 나타나는 효과 */
    .main-content {
        display: none; 
        position: relative; width: 100%; height: 100vh;
    }
    .main-content.show {
        display: block;
        animation: impact-in 0.4s ease-out; /* 확 나타나는 효과 */
    }
    @keyframes impact-in {
        0% { transform: scale(1.1); opacity: 0; }
        100% { transform: scale(1); opacity: 1; }
    }

    /* 전광판(Marquee) 설정 */
    .marquee-container {
        width: 100%; 
        overflow: hidden;
        background: transparent;
        position: absolute; top: 36.39%;
        z-index: 2;
        pointer-events: none; /* 클릭 방해 금지 */
    }
    .marquee-text {
        display: flex;
        width: fit-content;
        animation: marquee-img 60s linear infinite;
    }
    .marquee-text img {
        display: block; height: 150px;
        padding-right: 320px;
    }
    @keyframes marquee-img {
        0% { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }

    /* 로고 */
    .campaign_logo { position: absolute; left: 5%; top: 6.48%; }
    .campaign_logo, .campaign_tabs, .campaignSwiper .arrow {
        z-index: 10;
    }

    /* slide */
    .campaignSwiper { position: relative; width: 100%; height: 100%; }
    .campaignSwiper .swiper-slide.bg-05 { background-color: #bd9097; }
    .campaignSwiper .swiper-slide.bg-04 { background-color: #343f51; }
    .campaignSwiper .swiper-slide.bg-03 { background-color: #95a229; }
    .campaignSwiper .swiper-slide.bg-02 { background-color: #b7a290; }
    .campaignSwiper .swiper-slide.bg-01 { background-color: #151515; }
    .campaignSwiper .chapter_img, 
    .campaignSwiper .chapter_txt {
        position: absolute;
        z-index: 3; /* 전광판(2)보다 위로 올림 */
        left: 50%; transform: translateX(-50%);
    }
    .campaignSwiper .chapter_img { top: 20.37%; }
    .campaignSwiper .chapter_txt { bottom: 7.69%; }
    .campaignSwiper .arrow { position: absolute; top: 65.28%; cursor: pointer; padding: 0 0 20px; }
    .campaignSwiper .arrow.arrow-next { right: 3.91%; }
    .campaignSwiper .arrow.arrow-prev { left: 3.96%; }
    .campaignSwiper .chapter_img .goCont { 
        position: absolute; top: 41.57%; left: 50%; transform: translateX(-50%);
        width: 56.05%; height: 13.74%; 
        background-color: rgba(255, 255, 255, 0.8);
        border: 1px solid #151515; border-radius: 50px; box-sizing: border-box;
        font-family: 'SchoolSafetyNotification', sans-serif; 
        font-size: 24px; color: #151515; letter-spacing: -1px;
        text-align: center; line-height: 3.3;
    }

    /* 탭 */
    .campaign_tabs { position: absolute; right: 4.95%; top: 6.85%; }
    .campaign_tabs ul { display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 93px; }
    .campaign_tabs .campaign_tab { 
        font-family: 'SchoolSafetyNotification', sans-serif; font-size: 24px; color: #fff; 
        opacity: 0.2; 
        cursor: pointer; 
    }
    .campaign_tabs .campaign_tab.sel { opacity: 1; }
/* BASIC css end */

