@import url('https://fonts.googleapis.com/css?family=Black+Han+Sans:400');

/* 윙배너 */
/* 할인 원형 배지 */
.promo_discount {
    width:150px;
    height: 150px;
    border-radius: 50%;
    position: fixed;
    z-index: 100;
    background:#ff6c00;
    animation: pulse 2s infinite ease-in-out;
    right:50px;
    top:460px;
}
.discount_circle {
    justify-content: center;
    height:100%;
    display:flex;
    align-items: center;
}

@keyframes pulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.05);
    }
}

/* 바턴배너 */
.bottom_banner_wrap{
    background-color: #ffda77;
    position: fixed;
    bottom:0;
    left:0;
    width:100%;
    z-index: 100;
    display:flex;
    align-items: center;
    justify-content: center;
    padding:20px;
    cursor: pointer;
}
.bottom_banner_wrap .bottom_banner_wrap_inner{
    width:1200px;
}
.bottom_banner_wrap .bottom_banner_wrap_inner ul{
    display: flex;
    align-items: center;
    justify-content: center;
    gap:30px;
}
.bottom_banner_wrap .bottom_banner_wrap_inner li{
    font-size:24px;
}
.bottom_banner_wrap .bottom_banner_wrap_inner li:nth-child(1){
    background-color:#111;
    color:#ffda77;
    padding:10px 20px;
    border-radius: 50px;
}
.bottom_banner_wrap .bottom_banner_wrap_inner li:nth-child(2){
    font-weight: 500;
    color:#212121;
}
.bottom_banner_wrap .bottom_banner_wrap_inner li:nth-child(3){
    background-color:#111;
    color:#ffda77;
    padding:10px 70px;
    border-radius: 50px;
}

/* 기본 리셋 */
.firefighting_promo_container {
    width: 100%;
    min-height: 100vh;
    background: url(https://image.engineerlab.co.kr/data/www/engr/promotion/2026/firefighting/1/bg.jpg) no-repeat center center;
    position: relative;
    overflow: hidden;
}

.flame_container{
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.flame_container img{
    display:block;
    width:100%;
    height:auto;
}
  




.firefighting_promo_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.firefighting_promo_content {
    text-align: center;
    position: relative;
}

/* PC/모바일 유틸리티 클래스 */
.pc_none {
    display: none;
}

.m_none {
    display: block;
}

@media screen and (max-width: 768px) {
    .pc_none {
        display: block;
    }
    
    .m_none {
        display: none;
    }
}

/* 상단 텍스트 */
.promo_instructors_text{
    margin-top:-233px;
    position: relative;
    z-index: 5;
}
.promo_main_title{
    padding:30px 0 70px 0;
}

/* 강사 이미지 영역 */
.promo_instructors {
    margin-bottom: 50px;
}

.instructor_images {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    position: relative;
}

.instructor_image {
    position: relative;
}

.instructor_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.instructor_woman {
    z-index: 3;
}

.instructor_man {
    margin-left: -30px;
    z-index: 2;
}

/* 강사 이름 */
.instructor_names {
    font-size: 48px;
    font-weight: 800;
    color: #fff;
    text-shadow: 0 0 20px rgba(255, 100, 0, 0.6);
    letter-spacing: 2px;
    margin-bottom: 40px;
}



/* 하단 텍스트 */
.promo_bottom_text {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    text-shadow: 0 0 15px rgba(255, 100, 0, 0.4);
    letter-spacing: -0.5px;
}

/* 모바일 버전 */
@media screen and (max-width: 768px) {
    .firefighting_promo_container {
        background: url('https://image.engineerlab.co.kr/data/www/engr/promotion/2026/firefighting/m/1/bg.jpg') 
        center top / contain no-repeat;
        background-size: cover;
        width: 100%;
        height: auto;
        position: relative;
        aspect-ratio: 720 / 878;
        min-height:100%;
    }
}

/* 작은 모바일 */
@media screen and (max-width: 480px) {
   
    
    .instructor_image {
        width: 120px;
        height: 170px;
    }
    
    .instructor_names {
        font-size: 20px;
    }
    
    .discount_circle {
        width: 180px;
        height: 180px;
        font-size: 18px;
    }
    
    .promo_bottom_text {
        font-size: 16px;
    }
}

/* 두 번째 섹션: 합격 레전드 */
.firefighting_section2_container {
    width: 100%;
    background: #111;
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

.firefighting_section_inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    position: relative;
    z-index: 2;
}

.section_title {
    text-align: center;
    margin-bottom: 60px;
}

/* 상단 영역 */

/* 공용 스타일 */
.section_top {
    margin-bottom: 80px;
}

.section2_number {
    font-size: 120px;
    font-weight: 900;
    color: #ff6600;
    line-height: 1;
    margin-bottom: 30px;
    text-shadow: 0 0 40px rgba(255, 100, 0, 0.8);
}

.section2_question {
    font-size: 32px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 20px;
}

.section2_tagline {
    font-size: 48px;
    font-weight: 800;
    color: #ff6600;
    text-shadow: 0 0 30px rgba(255, 100, 0, 0.6);
}

/* 프로세스 플로우 */
.section2_process {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.process_box {
    border: 3px solid #ff6600;
    border-radius: 15px;
    background: #000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height:200px;
    position: relative;
    box-sizing: border-box;
    width:24%;
}

.process_box_last {
    position: relative;
}

.process_icon {
    width: 80px;
    height: 80px;
}

.process_icon img{
    display: block;
    width: 100%;
    height: auto;
}


.process_text {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    text-align: center;
    font-weight: 400;
}
.process_text strong{
    font-size: 25px;
    font-weight: 600;
    color: #ff6600;
}

.process_book_btn {
    position: absolute;
    top: -30px;
    right: -36px;
    background: #333;
    color: #ffda77;
    font-size: 16px;
    font-weight: 600;
    width:100px;
    height:100px;
    border-radius: 20px;
    text-decoration: none;
    transition: all 0.3s;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.process_book_btn:hover {
    background: #ff6600;
    color: #fff;
}

.process_plus,
.process_equals {
    font-size: 80px;
    color: #ff6600;
    text-shadow: 0 0 20px rgba(255, 100, 0, 0.6);
    font-family: 'Black Han Sans', sans-serif;
}

.process_result {
    width: 250px;
    height: 200px;
    background: #ff6600;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 48px;
    font-weight: 900;
    color: #fff;
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    box-shadow: 0 10px 40px rgba(255, 100, 0, 0.5);
    animation: resultPulse 2s infinite ease-in-out;
}

@keyframes resultPulse {
    0%, 100% {
        transform: scale(1);
        box-shadow: 0 10px 40px rgba(255, 100, 0, 0.5);
    }
    50% {
        transform: scale(1.05);
        box-shadow: 0 15px 50px rgba(255, 100, 0, 0.7);
    }
}

/* 섹션2 모바일 레이아웃  */
@media screen and (max-width: 768px) {
    .firefighting_section2_container{
        padding: 80px 0 90px;
    }

    .firefighting_section2_container .section_top{
        text-align: center;
        margin-bottom: 45px;
    }
    .firefighting_section2_container .section_top img{
        width:100%;
    }

    .firefighting_section2_container .section2_number{
        font-size: 92px;
        margin-bottom: 12px;
    }

    .firefighting_section2_container .section2_question{
        font-size: 22px;
        margin-bottom: 12px;
    }

    .firefighting_section2_container .section2_tagline{
        font-size: 26px;
        line-height: 1.25;
        word-break: keep-all;
    }

    .firefighting_section2_container .section2_process.section2_process_m{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 0;
    }

    .firefighting_section2_container .section2_row{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;
        width: 100%;
    }

    .firefighting_section2_container .section2_row .process_box{
        width: min(42vw, 220px);
        height: 160px;
        border-width: 2px;
        border-radius: 16px;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_icon{
        width: 58px;
        height: 58px;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_text{
        font-size: 15px;
        padding-top:10px;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_text strong{
        font-size: 17px;
    }

    .firefighting_section2_container .section2_row .process_plus{
        font-size: 44px;
        line-height: 1;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_plus_mid{
        font-size: 44px;
        line-height: 1;
        margin: 2px 0;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_box_last{
        width: min(60vw);
        height: 170px;
        border-radius: 16px;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_book_btn{
        top: -18px;
        right: -18px;
        width: 92px;
        height: 92px;
        font-size: 13px;
        line-height: 1.15;
        border-radius: 50%;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_equals{
        font-size: 52px;
        line-height: 1;
        margin-top: 2px;
    }

    .firefighting_section2_container .section2_process.section2_process_m .process_result{
        width: min(60vw);
        height: 155px;
        border-radius: 18px;
        font-size: 42px;
        animation: none;
    }
}


/* 세 번재 섹션: 부제 */
.firefighting_section3_container{
    width: 100%;
    background: #fff;
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

.firefighting_section3_container .section3_process{
    display: flex;
    align-items: center;
    justify-content: center;
}
.firefighting_section3_container .section3_process .process_box_3{
    width:45%;
    margin-left:-30px;
    padding:80px 10px;
    border-radius: 15px;
    text-align: center;
}

.firefighting_section3_container .section3_process .process_box_3_01{
    background-color:#343030;
}
.firefighting_section3_container .section3_process .process_box_3_02{
    background-color:#ff6c00;
}

.firefighting_section3_container .process_box_3_01_text_box{
    padding:10px 30px;
    background-color:#000;
    color:#fff;
    font-size: 20px;
    display: inline-block;
    border-radius: 10px;
}
.firefighting_section3_container .process_text{
    padding-top:10px;
}
.process_box_3_01 .process_box_3_01_text{
    color:rgba(255, 255, 255, 0.6)
}
.process_box_3_01 .process_text{
    color:rgba(255, 255, 255, 0.6)
}

.process_box_3_02 .process_box_3_01_text{
    font-size:32px;
}
.process_box_3_02 .process_text{
    font-size:32px;
}

/* 섹션3 모바일 레이아웃*/
@media screen and (max-width: 768px) {
    .section_title {
    margin-bottom: 0;
    }
    .firefighting_section3_container{
        padding: 70px 0 80px;
    }

    .firefighting_section3_container .section_title{
        margin-bottom: 35px;
    }

    .firefighting_section3_container .section_title img{
        width: 100%;
        height: auto;
        display: block;
    }

    .firefighting_section3_container .section3_process.section3_process_m{
        position: relative;
        display: block;
        width: 100%;
        max-width: 720px;
        margin: 0 auto;
        padding: 0 10px;
        box-sizing: border-box;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3{
        width: 88%;
        margin: 0;
        padding: 34px 18px 30px;
        border-radius: 18px;
        text-align: center;
        box-sizing: border-box;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_01{
        background-color: #343030;
        position: relative;
        z-index: 1;
        margin-right: auto;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_02{
        background-color: #ff6c00;
        position: relative;
        z-index: 2;
        margin-left: auto;
        margin-top: -15px;
        padding-top: 42px;
        padding-bottom: 36px;
        box-shadow: 0 18px 44px rgba(0,0,0,0.22);
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_01_text_box{
        padding: 12px 22px;
        font-size: 16px;
        border-radius: 14px;
        display: inline-block;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_01 .process_box_3_01_text_box{
        color: rgba(255,255,255,0.75);
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_02 .process_box_3_01_text_box{
        color: #fff;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_text{
        padding-top: 18px;
        font-size: 18px;
        line-height: 1.25;
        letter-spacing: -0.2px;
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_01 .process_text{
        color: rgba(255,255,255,0.65);
    }

    .firefighting_section3_container .section3_process.section3_process_m .process_box_3_02 .process_text{
        color: #111;
        font-weight: 800;
        font-size: 22px;
    }
}

/* 네 번째 섹션: 시간 대비 최대학습 */
.firefighting_section4_container{
    background-color:#111;
    padding:100px 0;
    position: relative;
    overflow: hidden;
}

/* 섹션4 모바일 (이미지형) */
@media screen and (max-width: 768px) {
    .firefighting_section4_container{
        padding: 70px 0 80px;
    }

    .firefighting_section4_container .section_title{
        margin-bottom: 28px;
    }

    .firefighting_section4_container .section_title img{
        display: block;
        width: 100%;
        height: auto;
    }

    .firefighting_section4_container .section4_process img{
        display: block;
        width: 100%;
        height: auto;
    }
}

/* 다섯 번째 섹션: 전기/기계 패스 */
.firefighting_section5_container{
    background-color:#fff;
    position: relative;
    overflow: hidden;
    padding-bottom: 80px;
}

.firefighting_section5_container .ffg_bg{
    position: relative;
    width: 100%;
    height: 100px;
    z-index: 1;
    background-color:#ff6c00;
    margin: 0 auto;
    text-align: center;
}
.firefighting_section5_container .ffg_bg::before{
    content: '▼';
    position: absolute;
    color:#ff6c00;
    bottom:-31px;
    left:50%;
    transform: translateX(-50%);
    font-size: 40px;
}

.firefighting_section5_container .ffg_bg img{
    padding-top:25px;
}

/* 강사 카드 (스샷 스타일) */
.section5_process {
    display: flex;
    justify-content: center;
    gap: 70px;
    margin: 60px 0 55px;
}

.process_card {
    width: 520px;
    height: 326px;
    background: #3a3a3a;
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.process_card_01 {
    padding: 34px 260px 34px 42px;
    text-align: left;
}

.process_card_02 {
    padding: 34px 42px 34px 260px;
    text-align: right;
}

.process_card_badge {
    position: absolute;
    top: 28px;
    left: 42px;
    color: #ff6c00;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.35;
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 2px;
    z-index: 2;
}

.process_card_02 .process_card_badge {
    left: auto;
    right: 42px;
    text-align: right;
}

.process_card_sub {
    margin-top: 95px;
    font-size: 26px;
    color: rgba(255,255,255,0.85);
    font-weight: 500;
    position: relative;
    z-index: 2;
}

.process_card_name {
    margin-top: 6px;
    font-size: 40px;
    font-weight: 800;
    color: #fff;
    position: relative;
    z-index: 2;
}

.process_card_btn {
    display: inline-block;
    margin-top: 16px;
    padding: 10px 22px;
    background: #f6d77a;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    position: relative;
    z-index: 2;
}

.process_card_img {
    position: absolute;
    z-index: 1;
    height:100%;
}

.process_card_01 .process_card_img { right: -35px; }
.process_card_02 .process_card_img { left: 0; top:21px; }

.process_card_img img {
    height: 125%;
    width: auto;
    display: block;
}

/* 탭 메뉴 (붙은 형태) */
.section5_tabs {
    max-width: 1100px;
    margin: 0 auto 22px;
    display: flex;
    border-radius: 14px;
    overflow: hidden;
}

.tab_item {
    flex: 1;
    height: 78px;
    border: none;
    cursor: pointer;
    font-size: 30px;
    font-weight: 800;
    background: #cfcfcf;
    color: #6a6a6a;
}

.tab_item + .tab_item {
    border-left: 2px solid #fff;
}

.tab_item.tab_active {
    background: #ff6c00;
    color: #fff;
}

.section5_panels {
    padding-top: 6px;
}

.section5_panel[hidden] {
    display: none !important;
}

/* 테이블 블록 */
.section5_block {
    max-width: 1200px;
    margin: 0 auto 28px;
    padding: 0 20px;
}

.section5_block_title {
    font-size: 26px;
    font-weight: 500;
    color: #111;
    margin: 18px 0 10px;
    text-align: left;
}

.txt_orange {
    color: #cf3d04;
    font-weight: 800;
}

.course_table {
    border: 1px solid #222;
    border-radius: 10px;
    overflow: hidden;
}

.course_row {
    display: grid;
    grid-template-columns: repeat(var(--cols), 1fr);
}

.course_row--head .course_cell {
    background: #faedd9;
    font-size: 20px;
    font-weight: 800;
    color: #111;
    line-height: 1.15;
    min-height: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px 10px;
    position: relative;
    flex-direction: column;
}

.course_row--body .course_cell {
    background: #fff;
    font-size: 16px;
    font-weight: 500;
    color: #111;
    line-height: 1.4;
    min-height: 92px;
    text-align: center;
    padding: 18px 14px;
}

.course_cell {
    border-left: 1px solid #222;
    border-top: 1px solid #222;
    box-sizing: border-box;
}

.course_row:first-child .course_cell {
    border-top: none;
}

.course_cell:first-child {
    border-left: none;
}

.badge_new {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #cf3d04;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
}

.badge_reco {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #111;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
}

/* 하단 공지사항 (좌 텍스트 / 우 버튼) */
.section5_notice {
    max-width: 1200px;
    margin: 12px auto 0;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content:left;
    gap: 16px;
}

.section5_notice_text {
    font-size: 13px;
    color: #111;
    opacity: 0.7;
}

.section5_notice_btn {
    display: inline-block;
    padding: 6px 14px;
    background: #fff;
    border: 1px solid #222;
    border-radius: 6px;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

/* 섹션5 모바일*/
@media screen and (max-width: 768px) {
    .firefighting_section5_container{
        padding-bottom: 70px;
    }

    .firefighting_section5_container .firefighting_section_inner{
        padding: 0 16px;
    }
    .section5_panels{
        padding-top:0;
    }

    /* 카드 2개 세로 */
    .section5_process.section5_process_m{
        display: flex;
        flex-direction: column;
        gap: 18px;
        margin: 40px 0 18px;
    }

    .section5_process.section5_process_m .process_card{
        width: 100%;
        height: 230px;
        border-radius: 16px;
    }

    .section5_process.section5_process_m .process_card_01{
        padding: 24px 160px 24px 22px;
        text-align: left;
    }

    .section5_process.section5_process_m .process_card_02{
        padding: 24px 22px 24px 160px;
        text-align: right;
    }

    .section5_process.section5_process_m .process_card_badge{
        top: 18px;
        left: 22px;
        font-size: 14px;
        line-height: 1.28;
        text-underline-offset: 4px;
        text-decoration-thickness: 1px;
    }

    .section5_process.section5_process_m .process_card_02 .process_card_badge{
        left: auto;
        right: 22px;
    }

    .section5_process.section5_process_m .process_card_sub{
        margin-top: 72px;
        font-size: 18px;
    }

    .section5_process.section5_process_m .process_card_name{
        font-size: 28px;
    }

    .section5_process.section5_process_m .process_card_btn{
        margin-top: 12px;
        padding: 8px 16px;
        font-size: 13px;
        border-radius: 8px;
    }

    .section5_process.section5_process_m .process_card_img{
        height: 100%;
    }

    .section5_process.section5_process_m .process_card_01 .process_card_img{
        right: -10px;
        top: 0;
    }

    .section5_process.section5_process_m .process_card_02 .process_card_img{
        left: -6px;
        top: 10px;
    }

    .section5_process.section5_process_m .process_card_img img{
        height: 120%;
    }

    /* 탭 */
    .section5_mobile .section5_tabs{
        width: 100%;
        border-radius: 12px;
        margin: 8px auto 14px;
    }

    .section5_mobile .tab_item{
        height: 58px;
        font-size: 20px;
    }

    /* 테이블 */
    .section5_mobile .section5_block{
        padding: 0;
        margin: 0 auto 18px;
    }

    .section5_mobile .section5_block_title{
        font-size: 18px;
        margin: 14px 0 8px;
    }

    .section5_mobile .course_row--head .course_cell{
        font-size: 15px;
        min-height: 68px;
        padding: 12px 8px;
    }

    .section5_mobile .course_row--body .course_cell{
        font-size: 12px;
        min-height: 72px;
        padding: 12px 10px;
    }

    .section5_mobile .badge_new,
    .section5_mobile .badge_reco{
        top: 0;
        left: 0;
        font-size: 11px;
        padding: 3px 6px;
        border-radius: 4px;
    }

    .section5_mobile .course_table_m_gap{
        margin-top: 12px;
    }

    .section5_mobile .section5_notice{
        padding: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin-top: 10px;
    }

    .section5_mobile .section5_notice_text{
        font-size: 12px;
        line-height: 1.35;
    }
}


/* 여섯 번째 섹션: 리얼후기기 */
.firefighting_section6_container{
    background:url(https://image.engineerlab.co.kr/data/www/engr/promotion/2026/firefighting/6/bg.jpg) no-repeat center center;
    padding:100px 0;
    background-size: cover;
}

.section6_title{
    margin-bottom: 40px;
}

.section6_title img{
    height: auto;
    display: inline-block;
}

.section6_reviews{
    max-width: 860px;
    margin: 0 auto;
}

.section6_review_box{
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.18);
    padding: 26px 26px 18px;
}

.section6_review_view{
    --item-h: 86px;
    height: calc(var(--item-h) * 5);
    overflow: hidden;
}

.section6_review_list{
    list-style: none;
    margin: 0;
    padding: 0;
    transform: translateY(0);
}

.section6_review_item{
    height: var(--item-h);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px 10px;
    box-sizing: border-box;
}

.section6_review_item + .section6_review_item{
    border-top: 1px solid rgba(0,0,0,0.08);
    width:80%;
    margin:0 auto;
}

.section6_review_text{
    font-size: 22px;
    font-weight: 600;
    color: #111;
    line-height: 1.35;
    letter-spacing: -0.4px;
}
.section6_review_text span{
    color: #cf3d04;
}

.section6_note{
    margin-top: 14px;
    font-size: 13px;
    color: #111;
    opacity: 0.75;
    text-align: left;
}

/* 섹션6 모바일 */
@media screen and (max-width: 768px){
    .firefighting_section6_container{
        padding: 70px 0 80px;
        background-position: center top;
    }

    .section6_mobile .section6_title_m img{
        display: block;
        margin: 0 auto 26px;
        height:60px;
    }

    .section6_mobile .section6_reviews_m{
        max-width: 520px;
        margin: 0 auto;
    }

    .section6_mobile .section6_review_box{
        border-radius: 14px;
        padding: 18px 18px 10px;
    }

    .section6_mobile .section6_review_view{
        --item-h: 64px;
        height: calc(var(--item-h) * 5);
        overflow: hidden;
    }

    .section6_mobile .section6_review_list{
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .section6_mobile .section6_review_item{
        height: var(--item-h);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: 8px 10px;
        box-sizing: border-box;
    }

    .section6_mobile .section6_review_item + .section6_review_item{
        width: 100%;
        margin: 0 auto;
    }

    .section6_mobile .section6_review_text{
        font-size: 15px;
        line-height: 1.38;
    }

    .section6_mobile .section6_note{
        margin-top: 12px;
        font-size: 12px;
        opacity: 0.8;
    }
}

@media (prefers-reduced-motion: reduce){
    .section6_review_list{
        transition: none !important;
    }
}


/* 일곱 번째 섹션: 저자 직강 교재 */
.firefighting_section7_container{
    background:#f2f2f2;
    padding:100px 0;
}

.section7_title{
    margin-bottom: 50px;
}

.section7_title img{
    height: auto;
    display: inline-block;
}



.section7_books{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 56px 40px;
}

.section7_book_item{
    position: relative;
    width: 100%;
    max-width: 250px;
}

.section7_book_thumb{
    position: relative;
    display: inline-block;
    width: 100%;
}

.section7_book_thumb::before{
    content: "";
    position: absolute;
    /* 스샷처럼 "사선으로 길게" 깔리는 그림자 */
    left: 6%;
    right: 18%;
    bottom: 20px;
    height: 34px;
    background: rgba(0,0,0,0.38);
    filter: blur(16px);
    border-radius: 16px;
    transform: rotate(12deg) skewX(18deg);
    transform-origin: 30% 50%;
    opacity: 0.7;
    z-index: 0;
}

.section7_book_thumb img{
    display: block;
    position: relative;
    z-index: 1;
}

.section7_zoom_btn{
    position: absolute;
    right: 0;
    bottom: 0;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid rgba(0,0,0,0.10);
    box-shadow: 0 12px 24px rgba(0,0,0,0.18);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 11;
}
.section7_zoom_btn:hover{
    /* 오버했을 시 위로 올리기 */
    transform: translateY(-10px);
}

@media screen and (max-width: 1024px){
    .section7_books{
        grid-template-columns: repeat(3, 1fr);
        gap: 46px 26px;
    }
    .section7_book_item{
        max-width: 240px;
    }
}

@media screen and (max-width: 768px){
    .firefighting_section7_container{
        padding: 70px 0;
    }
    .section7_title{
        margin-bottom: 36px;
    }
    .section7_books{
        grid-template-columns: repeat(2, 1fr);
        gap: 40px 18px;
    }
    .section7_book_item{
        max-width: 220px;
    }
    .section7_zoom_btn{
        width: 42px;
        height: 42px;
        right: -10px;
        bottom: -10px;
    }
    .firefighting_section8_container{
        padding:70px 0 !important;
        overflow: hidden;
    }
    .firefighting_section8_container .section_title img{
        height:60px ;
    }
    .badge_wrap{
        top:52px !important;
        pointer-events: none;
    }
    .badge_wrap img{
        pointer-events: auto;
        display: inline-block;
    }
    .badge_wrap:focus{
        outline: none;
    }
    .badge_bg{
        text-align: right;
    }
     .badge_bg img{
        width:40%;
     }
     .badge_wrap .badge{
        bottom: -17px !important;
        right: -10px !important;
        text-align: right;
     }
     .badge_wrap .badge img{
        width:40%;
     }
     .firefighting_section5_container .ffg_bg{
        height: 72px ;
     }
     .firefighting_section5_container .ffg_bg img{
        width: 81%;
     }
}

/* 섹션7 모바일 */
@media screen and (max-width: 768px){
    .section7_mobile .section7_title_m img{
        height:60px !important;
        display: block;
        margin: 0 auto 14px;
        height: auto;
    }

    .section7_mobile .section7_series{
        margin-top: 18px;
    }

    .section7_mobile .section7_pill{
        width: min(420px, 86%);
        margin: 0 auto 22px;
        padding: 12px 18px;
        border-radius: 999px;
        background: #111;
        color: #fff;
        font-size: 16px;
        font-weight: 800;
        text-align: center;
        letter-spacing: -0.2px;
    }

    .section7_mobile .section7_books_wrap{
        width: 100%;
    }

    /* 모바일에서 책 커버가 원본 크기로 튀어나오지 않게 고정 */
    .section7_mobile .section7_book_thumb > img{
        width: 100%;
        height: auto;
    }

    .section7_mobile .section7_zoom_btn img{
        width: 60%;
        height: auto;
        display: block;
    }

    /* ✅ 쉽빠소(5권): 3개 + 2개(가운데) 고정 배치 */
    .section7_mobile .section7_books.section7_books_easy{
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 28px 14px;
        justify-items: center;
        align-items: start;
    }

    .section7_mobile .section7_books.section7_books_easy .section7_book_item{
        width: 100%;
        max-width: 160px;
    }

    .section7_mobile .section7_books.section7_books_easy .section7_book_item:nth-child(1){ grid-column: 1 / span 2; }
    .section7_mobile .section7_books.section7_books_easy .section7_book_item:nth-child(2){ grid-column: 3 / span 2; }
    .section7_mobile .section7_books.section7_books_easy .section7_book_item:nth-child(3){ grid-column: 5 / span 2; }
    .section7_mobile .section7_books.section7_books_easy .section7_book_item:nth-child(4){ grid-column: 2 / span 2; }
    .section7_mobile .section7_books.section7_books_easy .section7_book_item:nth-child(5){ grid-column: 4 / span 2; }

    /* ✅ 필수기출(3권): 3개 고정 배치 */
    .section7_mobile .section7_books.section7_books_required{
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 28px 14px;
        justify-items: center;
        align-items: start;
    }

    .section7_mobile .section7_books.section7_books_required .section7_book_item{
        width: 100%;
        max-width: 160px;
    }

    .section7_mobile .section7_books.section7_books_required .section7_book_item:nth-child(1){ grid-column: 1 / span 2; }
    .section7_mobile .section7_books.section7_books_required .section7_book_item:nth-child(2){ grid-column: 3 / span 2; }
    .section7_mobile .section7_books.section7_books_required .section7_book_item:nth-child(3){ grid-column: 5 / span 2; }

    .section7_mobile .section7_book_thumb::before{
        bottom: 12px;
        height: 26px;
        filter: blur(14px);
        opacity: 0.65;
    }

    .section7_mobile .section7_zoom_btn{
        width: 36px;
        height: 36px;
        right: 4px;
        bottom: 4px;
    }
}

@media screen and (max-width: 420px){
    /* 작은 화면에서도 3/2/3 유지 (크기만 축소) */
    .section7_mobile .section7_books.section7_books_easy .section7_book_item,
    .section7_mobile .section7_books.section7_books_required .section7_book_item{
        max-width: 140px;
    }
}

/* 여덟 번째 섹션: 표 */
.firefighting_section8_container{
    background-color:#fff;
    padding:100px 0;
}

/* 강의탭 */
.tabs_lec{margin: 50px auto 30px; overflow: hidden; display: flex;justify-content: space-between;}
.tabs_lec li{display: inline-flex; width: 33.3%; text-align: center; background: #eee; border-radius: 3px; padding: 20px; font-size: 21px; cursor: pointer; margin-right: 5px; justify-content: center; align-items: center;}
.tabs_lec li.active{background: #f61e42; font-weight: 800; color: #fff;}
.tabs_lec li:first-child{margin-left: 0;}
.lec_tab{width: 1200px; margin: 0 auto; overflow: hidden;}
.lec_tab li{display: inline-block;}
.lec_wrp{height: auto; margin: 30px auto 0; letter-spacing: -0.5px; padding-bottom: 20px; border-bottom: 1px solid #eee;}
.lec_wrp > i{font-size: 14px; font-weight: 700;}
.lec_wrp .lec_tit{border-bottom: 2px solid; display: flex; padding: 5px 0 10px 0; align-items: center;}
.lec_wrp .lec_tit em{font-size: 27px; margin-right: 10px; font-weight: 800;}
.lec_wrp .lec_tit p{display: flex; align-items: center;}
.lec_wrp .lec_tit i{font-size: 19px; font-weight: 700;}

.lec_wrp .lec_tit span{color: #005aff; border: 1px solid #005aff; padding: 5px 10px; display: inline-block; 
    font-size: 12px; border-radius: 5px; margin-right: 5px; font-weight: 700;}
.lec_wrp .lec_tit span:nth-child(2){background: #005aff; color: #fff;}

.lec_tit .logo img{width: fit-content; height: 31px; margin-left: -10px;}
.lec_tit .logo img:first-child{margin-left: 0;}

.lecture{display: flex; padding: 20px 0 5px; height: auto;}
.lecture .evt{width: 32%; height: auto; border-bottom: 1px solid #eee;}
.lecture .evt > p{border-bottom: 1px solid #eee;}
.lecture .evt > p:last-child{border-bottom: 0;}
.lecture .evt strong{font-size: 20px; border-bottom: 1px solid #eee; display: block; padding: 10px 0}
.lecture .evt p{padding:10px 0 10px 10px;}
.lecture .evt p::before{content:'\0387'; padding-right: 5px; margin-left: -10px;}
.lecture .evt .btn_qna{display: inline-block; color: #fff; background: #333; width: fit-content; font-size: 11px; padding: 3px 10px; margin: 2px; border-radius: 3px;}
.lecture .info{background: #eef3f4; display: flex; padding: 20px 30px; width: 70%; height: auto; margin-left: 1%;}

.lecture .book_list{width: 60%; overflow-y: scroll; scroll-behavior: smooth; margin-right: 30px; padding-right: 20px; max-height: 80px;}
.lecture .book_list label{display: block; padding: 3px 0 0 35px; font-size: 14px; cursor: pointer;}
#tab_con3 .lecture .book_list{max-height: 147px;}
/* 탭3 딱지 */
.badge_wrap{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 100;
    cursor: pointer;
}

.badge_bg{
    position: relative;
}
.badge_wrap .badge{
    position: absolute;
    bottom:-40px;
    right:-26px;
    /* 커서니깐 대각선으로 움직임임 */
    animation: move 1s infinite ease-in-out;
}
@keyframes move {
    0% { transform: translate(0, 0); }
    50% { transform: translate(10px, 10px); }
    100% { transform: translate(0, 0); }
}
.has_modal{
    overflow: hidden;
}

/* 뱃지 팝업 (전체 딤 + 중앙 모달) */
.badge_modal{
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.68);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
}

.badge_modal__panel{
    width: min(1200px, 40%);
    background: #f3f3f3;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.22);
    position: relative;
    padding: 44px 54px 40px;
}

.badge_modal__close{
    position: absolute;
    top: 20px;
    right: 22px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.badge_modal__close::before,
.badge_modal__close::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 2px;
    background: #222;
    transform-origin: center;
}
.badge_modal__close::before{transform: translate(-50%, -50%) rotate(45deg);}
.badge_modal__close::after{transform: translate(-50%, -50%) rotate(-45deg);}

.badge_modal__content{
    display: flex;
    align-items: center;
    gap: 16px;
}

.badge_modal__badge{
    flex: 0 0 auto;
    width: 150px;
}

.badge_modal__badge span{
    font-size: 24px;
    font-weight: 900;
    line-height: 1.05;
}
.badge_modal__badge i{
    font-style: normal;
    margin-top: 8px;
    font-size: 20px;
    font-weight: 900;
}

.badge_modal__main{
    flex: 1 1 auto;
    min-width: 0;
}

.badge_modal__title{
    font-size: 35px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -1px;
    margin: 0;
    color: #111;
}

.badge_modal__rows{
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.badge_modal__row{
    display: flex;
    gap: 18px;
    align-items: center;
    position: relative;
}

.badge_modal__year{
    background: #e9e9e9;
    border-radius: 6px;
    padding: 16px 14px;
    font-size: 22px;
    font-weight: 900;
    text-align: center;
    color: #111;
    width:20%;
}

.badge_modal__desc{
    border: 2px solid #111;
    border-radius: 6px;
    padding: 16px 22px;
    font-size: 22px;
    font-weight: 900;
    color: #111;
    background: #fff;
    width:40%;
}

.badge_modal__callout{
    position: absolute;
    right:0;
    top: -76px;
    background: #cf3d04;
    color: #fff;
    padding: 16px 18px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -0.2px;
    width:40%;
    box-shadow: 0 10px 18px rgba(0,0,0,0.18);
    text-align: center;
    overflow: visible;
}

.badge_modal__callout span{
    color:#ffe177;
    font-size:24px;
}
.badge_modal__callout::before {
    content: "";
    position: absolute;
    left: -30px;
    top: 63px;
    width: 54px;
    height: 54px;
    background: #cf3d04;
    clip-path: polygon(100% 0%, 0% 50%, 100% 100%);
    transform: rotate(-38deg);
}

@media screen and (max-width: 768px){
    .badge_modal{
        padding: 16px 14px;
    }
    .badge_modal__panel{
        width: 100%;
        max-width: 520px;
        padding: 22px 18px 18px;
        border-radius: 12px;
        max-height: calc(100vh - 32px);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }
    .badge_modal__close{
        top: 8px;
        right: 8px;
        width: 44px;
        height: 44px;
    }
    .badge_modal__close::before,
    .badge_modal__close::after{
        width: 22px;
    }
    .badge_modal__content{
        flex-direction: column;
        gap: 14px;
    }
    .badge_modal__badge{
        width: 140px;
        margin: 2px auto 0;
    }
    .badge_modal__badge img{width: 140px;}
    .badge_modal__badge span{font-size: 20px;}
    .badge_modal__title{
        font-size: 20px;
        margin: 4px 0 0;
        text-align: center;
    }
    .badge_modal__rows{
        margin-top: 18px;
        gap: 12px;
    }
    .badge_modal__row{
        padding-right: 0;
        gap: 10px;
        align-items: stretch;
    }
    .badge_modal__row--emph{
        flex-wrap: wrap;
    }
    .badge_modal__year{
        padding: 10px 8px;
        font-size: 15px;
        width: 92px;
    }
    .badge_modal__desc{
        padding: 10px 12px;
        font-size: 15px;
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
    }
    .badge_modal__callout{
        position: static;
        transform: none;
        max-width: none;
        margin-top: 10px;
        font-size: 13px;
        width: 100%;
        flex: 0 0 100%;
        padding: 12px 14px;
    }
    .badge_modal__callout span{
        font-size: 18px;
    }
    .badge_modal__callout::before{display:none;}
}

.pop_wp{margin-top:30px;}



.lecture input{margin: 5px 5px 0 0; width: 16px; height: 16px; accent-color: #64c4c4; cursor: pointer; margin-left: -27px; vertical-align: text-bottom;}

.lecture .book_list::-webkit-scrollbar{width: 7px;}
.lecture .book_list::-webkit-scrollbar-track-piece{background-color: #fdf8f5;}
.lecture .book_list::-webkit-scrollbar-thumb{border-radius: 8px; background-color: #ccc;}
.lecture .book_list::-webkit-scrollbar-button:start{background-color: #eee;}
.lecture .book_list::-webkit-scrollbar-button:end{background-color: #eee;}

.lecture .tot{width: 40%; align-items: end; display: grid; height:85px;}
.lecture .tot p{padding: 5px 0;}
.lecture .tot p i{display: inline-block; width: 50%; color: #777;}
.lecture .tot p strong{display: inline-block; text-align: right; width: 48%;}
.lecture .tot p:last-child strong{display: inline-block; text-align: right; font-size: 21px;}

.lec_buy{display: flex; align-items: end;}
.lec_buy span{width: 50%; display: inline-block; font-size: 14px; color: #777;}
/*250912 .lec_buy .buy_btn width:50%애서 수정*/
.lec_buy .buy_btn{width: 100%; text-align: right;}
.lec_buy .buy_btn a{padding: 12px 0; border: 1px solid #000; width: 170px; display: inline-block; text-align: center; font-weight: 700; font-size: 17px; margin-top: 10px;}
.lec_buy .buy_btn a:last-child{background: #000; color: #fff;}

.buy_notice{display: block; margin: 0 auto; width: 100%; text-align: center; padding: 30px 0 0; text-decoration: underline; position: relative;}

.div_pop *{font-family: 'Pretendard';}
.div_pop #pop_con2 .txt-box li > strong{display: block; margin-top: 10px;}

@media screen and (max-width: 768px){
    /* 탭부분 */
    
    .lec_wrp{width: 95%; padding: 10px 10px 20px; border-bottom: 0; height: fit-content; margin-top: 0;}
    .lec_wrp .lec_tit{display: block; position: relative;}
    .lec_wrp .lec_tit em{font-size: 19px;}
    .lec_wrp .lec_tit p{padding-top: 5px; display: inline-flex;}
    .lec_wrp .lec_tit i{font-size: 15px; margin: 0 5px 0 0;}
    .lec_wrp .lec_tit span{padding: 2px 6px 0; border-radius: 3px; font-size: 11px;}
    .tabs_lec{width: 100%; margin: 20px 0 0 0; padding:4px;}
    .tabs_lec li{font-size: 15px; padding: 7px 0; width: 33%;}
    .tabs_lec_2 li{
        width:48%;
    }
    
    .lecture{display: block; width: 100%; height: fit-content; padding-top: 10px;}
    .lecture .evt{width: 100%; height: fit-content;}
    .lecture .evt strong{font-size: 15px; padding: 5px 0;}
    .lecture .info{display: block; width: 100%; padding: 0; background: none;}

    .lecture .book_list{height: 21vw; width: unset; padding: 6px 6px 10px; margin: 0 0 10px 0; border-bottom: 1px solid #ccc; background: #eef3f4;}
    .lecture .book_list label{font-size: 12px; line-height: 1.3;}
    .lecture input{vertical-align: bottom;}
    .lecture .tot{width: 100%; border-bottom: 1px solid #ccc; padding-bottom: 6px;}
    .lecture .tot p i{font-size: 13px;}
     .lec_buy .buy_btn{width: 100%; text-align: center;}
     .lec_buy .buy_btn a{width: 49%;}
     .buy_notice{margin-bottom: 40px; padding: 10px 0 0;}
     .buy_notice::after{right: 27%;}
     .lec_buy{display: block;}
      .lecture .evt p{padding: 5px; max-height: unset; min-height: unset; font-size: 14px;}
      .lec_buy span{width: unset; font-size: 12px; color: #777;}
      .lecture .tot p{padding: 2px 0;}

      /* 마지막 */
      .firefighting_section9_container .section_title img{
        height:50px !important;
        text-align: center;
      }

      .firefighting_section9_container .firefighting_section_inner{
        width:100%;
        max-width:none;
      }
      .firefighting_section9_container .inner_2 {
        width: 100% !important;
        }
        .firefighting_section9_container .inner_2 span{
            width: 45%;
            margin-bottom: 18px;
        }
        .firefighting_section9_container .inner_2 img{
            width:100%;
        }
        
        /* 바텀배너 (모바일 오버라이드: 필요한 값만) */
        .bottom_banner_wrap{
            height: 60px;
            padding: 0;
        }
        .bottom_banner_wrap .bottom_banner_wrap_inner{
            width: 100%;
            padding: 0 14px;
            box-sizing: border-box;
        }
        .bottom_banner_wrap .bottom_banner_wrap_inner ul{
            gap: 10px;
        }
        .bottom_banner_wrap .bottom_banner_wrap_inner li{
            font-size: 18px;
        }
        .bottom_banner_wrap .bottom_banner_wrap_inner li:nth-child(1){
            border-radius: 50%;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0;
        }
        .bottom_banner_wrap .bottom_banner_wrap_inner li:nth-child(2){
            text-align: center;
        }
}


/* 마지막 */
.firefighting_section9_container{
    background-color:#111;
    padding:100px 0;
    overflow: hidden;
}
.firefighting_section9_container .firefighting_section_inner{
    z-index: unset ;
}

.firefighting_section9_container .inner_2{
    width: 1200px;
    display: flex;
    flex-flow: wrap;
    justify-content: center;
    gap: 18px;
    margin-top: 45px;
}