/* 폰트 */

body {
    scroll-behavior: smooth; /* 부드러운 스크롤 적용 */
}

/* header */
#gnb_layout {
    background-color: #000000;
    border-bottom: 0;
    border-bottom: 1px solid #ddddddb4;
}
#gnb_layout .gnb {
    position: relative;
}
#gnb_layout .gnb .dept1 a {
    color: #fff;
    font-weight: bold;
}
#gnb_layout .gnb .dept1 a:hover {
    color: #f08118;
}
#gnb_layout .gnb .dept1 a.active {
    color: #ff7b00;
}
#gnb_layout .gnb .btn-chat {
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
}
#gnb_layout .gnb .btn-spon {
    position: absolute;
    right: 220px;
    top: 50%;
    transform: translateY(-50%);
}

/* fotter */
.footer .copy {
    background: #111;
}
.footer .copy .top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.footer .copy .top .ft_logo {
    color: #ededed;
    font-size: 24px;
    font-family: 'Pretendard';
}

/* fixed 야이콘 */
.fixed-icon {
    position: fixed;
    z-index: 99;
    display: flex;
    flex-direction: column;
    gap: 20px;
    bottom: 70px;
    right: 40px;
}
.fixed-icon a { 
    filter: drop-shadow(5px 5px 5px #0000003a);
}
.fixed-icon a:last-child { 
    display: none; 
}

/* 섹션 공통 */
section.section {
    min-height: auto;
}
section.section .container {
    width: 1200px;
}

section.section h2 span {
    display: block;
    font-family: 'Pretendard';
    font-style: italic;
    font-size: 24px;
    font-weight: 700;
    color: #0055ff;
    margin-bottom: 10px;
}

section.section h2 {
    font-size: 56px;
    font-weight: 900;
    font-family: 'Pretendard';
    text-align: center;
    margin-bottom: 60px;
}

.red_txt {
    font-size: 16px;
    color: #ff0000;
    margin-top: 20px;
    text-align: center;
}

/* section1 - visual */
.section.sec01 .btn_wrap {
    display: flex;
    gap: 20px;
    position: absolute;
    bottom: 180px;
    left: 50%;
    transform: translateX(-50%);
}
.section.sec01 .btn_wrap a {
    display: inline-block;
    padding: 12px 80px;
    border-radius: 10px;
    background: #f08118;
    color: #fff;
    font-size: 24px;
    font-family: 'Pretendard';
}
.section.sec01 .btn_wrap a:nth-child(2) {
    background: #fff;
    color: #f08118;
}

/* secion2 - 인트로 */
.section.sec02 {
    background: url(/img/therace/section1-bg.jpg) no-repeat center;
    background-size: cover;

}
.section.sec02 .spon_wrap {
    display: flex;
    gap: 40px;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border-radius: 0 0 30px 30px;
    padding: 30px 50px;
}
.section.sec02 .spon_wrap h4 {
    font-size: 24px;
    font-family: 'Pretendard';
}
.section.sec02 .con-txt {
    display: flex;
    padding: 120px 0 150px;
    align-items: center;
    justify-content: space-evenly;
}
/* 이전/다음 버튼 커스터마이징 */
.section.sec02 .spon_wrap .bx-controls.bx-has-controls-direction {
    position: absolute;
    right: 40px;
    top: 50%;
}
.section.sec02 .spon_wrap  .bx-controls-direction {
    position: absolute;
    display: flex;
    right: -70px;
}
.section.sec02 .spon_wrap  .bx-wrapper .bx-controls-direction a {
    position: static;
}
.section.sec02 .spon_wrap .bx-prev {
    background: url('/img/therace/spon-prev.png') no-repeat center; 
    width: 30px;
    height: 30px;
}
.section.sec02 .spon_wrap .bx-next {
    background: url('/img/therace/spon-next.png') no-repeat center; 
    width: 30px;
    height: 30px;
}
.section.sec02 .con-txt .txt p {
    font-size: 24px;
    color: #e5e5e5;
}
.section.sec02 .con-txt .txt p b {
    font-size: 30px;
    font-weight: normal;
}
.section.sec02 .con-txt .txt h6 {
    font-size: 36px;
    color: #fff;
    margin-top: 20px;
    font-family: 'Pretendard';
    font-weight: normal;
}
.section.sec02 .con-txt .txt h6 b {
    position: relative;
    color: #f08118;
    font-size: 48px;
    font-weight: normal;
}
.section.sec02 .con-txt .txt h6 b::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 4px;
    background: #f08118;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
}

/* section3 - 인포 */
.section.sec03 {
    background-color: #080404;
    background-image: url(/img/main/sec03-bg.png);
    background-repeat: no-repeat;
    background-position: 85% 35%;
    padding: 120px 0;
} 
.section.sec03 .tit {}
.section.sec03 .info-txt {
    margin: 60px auto 0;
    width: 900px;
}
.section.sec03 .info-txt .list {
    display: flex;
    gap: 30px;
    align-items: flex-start;
    margin-bottom: 20px;
}
.section.sec03 .info-txt .list.award {
    align-items: flex-start;
}

.section.sec03 .info-txt .min_tit span {
    display: inline-block;
    padding: 5px 15px 0px 15px;
}
.section.sec03 .info-txt .txt {
    font-size: 24px;
    color: #fff;
    margin-bottom: 20px;
}
.section.sec03 .info-txt .spon {
    display: flex;
    gap: 30px;
    align-items: center;
}
.section.sec03 .info-txt .souvenir_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
.section.sec03 .info-txt .mc_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

/* section4 - 리더스 그룹 */
.section.sec04 {
    background: #000;
    padding: 120px 0;
}
.section.sec04 h2 {
    color: #fff;
    margin-bottom: 20px;
}
.section.sec04 .con.top p {
    color: #f8f8f8;
    font-size: 18px;
    text-align: center;
    line-height: 1.6;
}
.section.sec04 .con.middle {
    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}
.section.sec04 .con.middle .tag {
    display: inline-block;
    padding: 12px 15px;
    color: #f08118;
    font-size: 22px;
    font-family: 'Pretendard';
    text-align: center;
    background: #393636;
    border: 2px solid #211e1e;
    border-radius: 50px;
}
.section.sec04 .con.middle p {
    color: #f8f8f8;
    font-size: 18px;
}
.section.sec04 .con.middle p b {
    display: inline-block;
    width: 80px;
    font-weight: bold;
    font-size: 24px;
    padding-right: 10px;
}
.section.sec04 .con.bottom {
    margin-top: 60px;
}
.section.sec04 .con.bottom h6 {
    position: relative;
    z-index: 1;
    /* display: inline-block; */
    background: #000;
    padding: 10px;
    color: #fff;
    text-align: center;
    font-size: 30px;
    font-family: 'Pretendard';
    font-weight: normal;
}
.section.sec04 .con.bottom h6::before {
    position: absolute;
    content: '';
    z-index: -1;
    width: 180px;
    height: 110%;
    background: #000;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
.section.sec04 .con.bottom h6::after {
    position: absolute;
    content: '';
    z-index: -2;
    width: 1200px;
    height: 2px;
    top: 50%;
    left: 0;
    background: #fff;
}
.section.sec04 .con.bottom ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    justify-items: center;
    width: 80%;
    margin: 40px auto 0;
}
.section.sec04 .con.bottom li {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border-radius: 15px;
    width: 250px;
    height: 280px;
    padding: 20px;
}
.section.sec04 .con.bottom li img {
    margin-top: 30px;
}
.section.sec04 .con.bottom li .min_tit {
    font-size: 20px;
    font-family: 'Pretendard';
    text-align: center;
    margin: 20px 0 10px;
}
.section.sec04 .con.bottom li p {
    font-size: 16px;
    text-align: center;
}
.section.sec04 .con.bottom li:nth-child(2) {
    background: #f08118;
}
.section.sec04 .con.bottom li:nth-child(2) p {
    color: #fff;
}
.section.sec04 .con.bottom .btn_wrap {
    text-align: center;
    margin-top: 40px;
}
.section.sec04 .con.bottom .btn_wrap a {
    display: inline-block;
    padding: 15px 80px;
    border: 2px solid #fff;
    border-radius: 10px;
    color: #fff;
    font-size: 22px;
    font-family: 'Pretendard';
    transition: all 0.2s;
}
.section.sec04 .con.bottom .btn_wrap a:hover {
    background: #f08118;
    border-color: #f08118;
}
.section.sec04 .con.bottom > p {
    color: #f08118;
    font-size: 16px;
    margin-top: 20px;
    text-align: center;
}

/* section5 - 타임테이블 */
.section.sec05 {
    padding: 120px 0 220px;
    background: url(/img/therace/section4-bg.png) no-repeat bottom;
    background-size: contain;
}
.section.sec05 table thead {

}
.section.sec05 table thead th {
    font-size: 24px;
    color: #1c1c1c;
    font-family: 'Pretendard';
    text-align: center;
    padding: 15px;
    border-right: 1px solid #fff;
    background: #f08118;
}

.section.sec05 table tbody tr {
    line-height: 4;
}
.section.sec05 table tbody td {
    font-size: 20px;
    color: #1c1c1c;
    font-family: 'Pretendard';
    text-align: center;
    border-right: #ececec solid 2px;
}
.section.sec05 table tbody td:last-child {
    border-right: 0;
}
.section.sec05 table tbody tr.black td {
    color: #fff;
    border-right: 1px solid #fff;
    background: #000;
}
.section.sec05 table tbody tr.black td:nth-child(1) {
    border-radius: 10px 0 0 10px;
}
.section.sec05 table tbody tr.black td:nth-child(3) {
    border-radius: 0 10px 10px 0;
}
.section.sec05 table tbody tr.black .img_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.section.sec05 table tbody tr.black .img_wrap.two {
    line-height: 2;
    padding: 20px;
}

/* section7 - 참가신청 */
.section.sec07 {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background: #000;
}
.section.sec07 h2 {
    color: #fff;
}
.section.sec07 ul {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 100px;
    justify-content: center;
}
.section.sec07 .btn_wrap {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 50px;
}
.section.sec07 .btn_wrap a {
    width: 250px;
    display: inline-block;
    font-size: 24px;
    font-family: 'Pretendard';
    padding: 15px 20px;
    border: 2px solid #fff;
    border-radius: 10px;
    text-align: center;
    transition: all 0.2s;
    background: #fff;
    color: #000;
}
.section.sec07 .btn_wrap a:nth-child(2) {
    background: none;
    color: #fff;
}
.section.sec07 .btn_wrap a:hover {
    background: #f08118;
    border-color: #f08118;
    color: #fff;
}
.section.sec07 .ani_text {
    position: absolute;
    top: 35%;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 200px;
    font-weight: bold;
    color: #0e0e0e;
    animation: flow 100s linear infinite;
}
@keyframes flow {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-150%);
    }
}


/* section8 - 공지사항 */
.section.sec08 {
    padding: 120px 0;
}
.section.sec08 .con {
    display: flex;
    align-items: center;
    gap: 50px;
    justify-content: space-evenly;
}
.section.sec08 .board {
    width: 600px;
} 
.section.sec08 .board .btn-more {
    text-align: right;
    margin-bottom: 15px;
} 
.section.sec08 .board .btn-more a {
    font-size: 19px;
    color: #1b1b1b;
} 
.section.sec08 .board ul {
    border-top: 2px solid #1b1b1b;
    width: 100%;
}
.section.sec08 .board ul li a {
    position: relative;
    display: flex;
    justify-content: flex-start;
    gap: 25px;
    align-items: center;
    border-bottom: 1px solid #1b1b1b;
    padding: 15px 30px;
    color: #1b1b1b;
}
.section.sec08 .board ul li .tag {
    padding: 8px 20px;
    border-radius: 20px;
    color: #fff;
    background: #f08118;
    font-size: 14px;
    font-weight: bold;
}
.section.sec08 .board ul li p {
    font-size: 19px;
    margin: 0;
    width: 60%; 
    white-space: nowrap; 
    overflow: hidden; 
    text-overflow: ellipsis; 
}
.section.sec08 .board ul li .date {
    position: absolute;
    right: 30px;
    font-size: 16px;
}


/* section9 - 자주 묻는 질문 */
.section.sec09 {
    padding: 120px 0;
    background: url(/img/main/sec08-bg.png) no-repeat center;
    background-size: cover;
}
.section.sec09 h2 {
    color: #fff;
}
.section.sec09 .con .sch_box {
    display: none;
}
.section.sec09 .con .board_paging {
    display: none;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table li {
    background: rgb(0 0 0 / 85%);
    margin-bottom: 20px;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr {
    border-bottom: 0;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.title {
    color: #fff;
    font-size: 22px;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.title span {
    font-family: 'pretendard' !important;
    font-weight: 'bold' !important;
}
.section.sec09 .con  .new_board_2021 .board_wrap .board_faq_con .list_table {
    border-top: 0;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .content .n_tr {
    border-bottom: 0;
    background: none;
    border-top: 1px solid #e1e1e1;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .content .n_tr .n_td.txt {

    color: #e5e5e5;
    line-height: 1.6;
    font-size: 18px;
}
.section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.arrow .arrow_icon {
    width: 26px;
    height: 15px;
    background: url(/img/therace/board-arrow.png);
}

/* section10 - 찾아오시는길 */
.section.sec10 {
    overflow: hidden;
    padding: 120px 0 200px;
}
.section.sec10 .con {
    display: flex;
    gap: 40px;
}
.section.sec10 .con .map #daumRoughmapContainer1753318884148 {
    border-radius: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.root_daum_roughmap .cont .section.lst{
    display: none !important;
}
.section.sec10 .con .txt h6 {
    display: inline-block;
    background: #f08118;
    padding: 15px 20px;
    border-radius: 10px;
    color: #fff;
    font-size: 16px;
    font-family: 'Pretendard';
    font-weight: normal;
}
.section.sec10 .con .txt h6 b {
    font-size: 20px;
    font-weight: normal;
}
.section.sec10 .con .txt h6 img {
    padding-right: 10px;
}
.section.sec10 .con .txt .min-tit {
    font-size: 20px;
    font-weight: bold;
}
.section.sec10 .con .txt1 {
    margin: 20px 0;
}
.section.sec10 .con .txt1 p {
    font-size: 18px;
    line-height: 2;
}
.section.sec10 .con .txt1 .num {
    color: #fff;
    background: #764798;
    border-radius: 50px;
    padding: 0px 8px;
    font-weight: bold;
    margin-right: 5px;
}
.section.sec10 .con .txt1 .num.two {
    background: #a49e88;
}
.section.sec10 .con .txt2 .min-tit {
    margin-bottom: 20px;
}
.section.sec10 .con .txt2 p {
    font-size: 18px;
    margin-bottom: 20px;
    display: flex;
    align-items: flex-start;
    gap: 5px;
}
.section.sec10 .con .txt2 p span {
    color: #fff;
    background: #0064ff;
    border-radius: 3px;
    padding: 0 5px;
}
.section.sec10 .con .txt2 p span.green {background: #00c24e;}
.section.sec10 .con .txt2 p span.red {background: #ff0000;}
.section.sec10 .con .txt2 p span.gray {background: #626262;}

.section.sec10 .ani_text {
    position: absolute;
    bottom: -80px;
    transform: translateX(-50%);
    white-space: nowrap;
    font-size: 200px;
    font-weight: bold;
    color: #f0f0f0;
    animation: flow 100s linear infinite;
}

    /* 참가신청 폼 */
    /* .sub.apply02 .agree_con_box {
        overflow: scroll;
    } */


@media (max-width: 1920px) {
    .section.sec01 .btn_wrap {
        bottom: 100px;
    }
}
@media (max-width: 1600px) {
    #gnb_layout .logo a img {
        width: 70%;
    }
    #gnb_layout .gnb .btn-chat {
        right: 20px;
    }
    #gnb_layout .gnb .btn-spon {
        right: 190px;
    }
    #gnb_layout .gnb .dept1 a {
        padding: 0 20px;
    }
    .section.sec01 .btn_wrap {
        bottom: 100px;
    }
}
@media (max-width: 1200px) {
    #gnb_layout .logo a img {
        height: auto;
    }
}

@media all and (max-width:768px) {
    /* header */
    #open-sitemap {
        background: url(/img/therace/all-menu.png);
    }
    #gnb_layout .mobile.nav .top .logo {
        width: auto;
    }
    #gnb_layout .logo img {
        height: 20px;
    }
    #gnb_layout .mobile.nav .top .logo img {
        margin-top: 30px;
    }
    #gnb_layout .mobile.nav.on {
        background: #08110f;
    }
    #gnb_layout .mobile.nav > ul > li > a {
        color: #fff;
    }

    /* footer */
    .footer .copy .top {
        flex-direction: column;
        gap: 10px;
    }
    .footer .copy .top .ft_logo {
        font-size: 20px;
    }

    /* 공통 */
    section.section .container {
        width: 100%;
        padding: 0 20px;
    }
    section.section h2 {
        font-size: 28px;
        margin-bottom: 30px;
    }
    section.section h2 span {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .red_txt {
        font-size: 14px;
    }

    /* fixed-icon */
    .fixed-icon {
        bottom: 20px;
        right: 10px;
        gap: 10px;
    }
    .fixed-icon a {
        width: 80px;
        height: 80px;
    }
    .fixed-icon a:last-child { 
        display: inline-block; 
    }

    /* section1 - visual */
    .section.sec01 .btn_wrap {
        bottom: 100px;
        gap: 10px;
    }
    .section.sec01 .btn_wrap a {
        font-size: 16px;
        padding: 12px 45px;
    }

    /* section2 */
    .section.sec02 .con-txt {
        flex-direction: column;
        gap: 30px;
        padding: 80px 0;
    }
    .section.sec02 .spon_wrap h4 {
        font-size: 18px;
    }
    .section.sec02 .spon_wrap {
        /* display: none; */
        flex-direction: column;
        padding: 20px 30px;
        gap: 10px;
    }
    .section.sec02 .spon_wrap .bx-controls.bx-has-controls-direction {
        display: none;
    }
    .section.sec02 .con-txt .txt p {
        font-size: 14px;
    }
    .section.sec02 .con-txt .txt p b {
        font-size: 18px;
    }
    .section.sec02 .con-txt .txt h6 {
        font-size: 20px;
    }
    .section.sec02 .con-txt .txt h6 b {
        font-size: 24px;
    }

    /* section3 */
    .section.sec03 {
        padding: 80px 0;
    }
    .section.sec03 .info-txt {
        width: 100%;
        margin: 30px auto 0;
    }
    .section.sec03 .info-txt .min_tit {
        font-size: 14px;
        width: 130px;
    }
    .section.sec03 .info-txt .txt {
        font-size: 14px;
        text-align: center;
    }
    .section.sec03 .info-txt .list {
        gap: 10px;
        flex-direction: column;
        align-items: center;

    }
    .section.sec03 .info-txt .list.award {
        align-items: center;
    }

    /* section4 */
    .section.sec04 {
        padding: 80px 0;
    }
    .section.sec04 .con.top p {
        font-size: 14px;
    }
    .section.sec04 .con.middle {
        flex-direction: column;
        gap: 10px;
    }
    .section.sec04 .con.middle .tag {
        font-size: 14px;
        padding: 8px 15px;
    }
    .section.sec04 .con.middle .tag img {
        width: 20px;
    }
    .section.sec04 .con.middle p {
        font-size: 14px;
    }
    .section.sec04 .con.middle p b {
        font-size: 16px;
        width: 48px;
    }
    .section.sec04 .con.bottom h6 {
        font-size: 24px;
    }
    .section.sec04 .con.bottom h6::after {
        width: 100%;
    }
    .section.sec04 .con.bottom h6::before {
        width: 130px;
    }
    .section.sec04 .con.bottom ul {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .section.sec04 .con.bottom li .min_tit {
        font-size: 18px;
    }
    .section.sec04 .con.bottom li p {
        font-size: 14px;
    }
    .section.sec04 .con.bottom .btn_wrap a {
        font-size: 16px;
    }
    .section.sec04 .con.bottom > p {
        font-size: 14px;
    }

    /* section5 */
    .section.sec05 {
        padding: 80px 0;
    }
    .section.sec05 table thead th {
        font-size: 14px;
    }
    .section.sec05 table tbody td {
        font-size: 14px;
        line-height: 1.6;
        padding: 10px 5px;
    }
    .section.sec05 table tbody tr.black .img_wrap.two {
        flex-direction: column;
    }

    /* section7 */
    .section.sec07 {
        padding: 80px 0;
    }
    .section.sec07 ul {
        gap: 10px;
        flex-direction: column;
    }
    .section.sec07 .btn_wrap {
        display: grid;
        gap: 10px;
        margin-top: 30px;
    }
    .section.sec07 .btn_wrap a {
        font-size: 16px;
        padding: 12px 20px;
    }
    .section.sec07 .ani_text {
        display: none;
    }

    /* section8 */
    .section.sec08 {
        padding: 80px 0;
    }
    .section.sec08 .con {
        flex-direction: column;
        gap: 20px;
    }
    .section.sec08 .con .img  {
        text-align: center;
    }
    .section.sec08 .con .img img {
        width: 60%;
    }
    .section.sec08 .board {
        width: 100%;
    }
    .section.sec08 .board ul li a {
        padding: 10px;
        gap: 10px;
    }
    .section.sec08 .board ul li .tag {
        padding: 5px 10px;
        font-size: 12px;
    }
    .section.sec08 .board ul li p {
        font-size: 14px;
        width: 50%;
    }
    .section.sec08 .board ul li .date {
        font-size: 12px;
        right: 10px;
    }
    .section.sec08 .board .btn-more a {
        font-size: 14px;
    }

    /* section9 */
    .section.sec09 {
        padding: 80px 0;
    }
    .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.arrow .arrow_icon {
        width: 20px;
        background-size: contain;
        background-repeat: no-repeat;
    }
    .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.title {
        font-size: 14px;
    }
    .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .content .n_tr .n_td.txt {
        font-size: 14px;
    }

    /* section10 */
    .section.sec10 {
        padding: 80px 0;
    }
    .section.sec10 .con {
        flex-direction: column;
    }
    .section.sec10 .con .txt h6 {
        display: block;
        text-align: center;
    }
    .section.sec10 .con .txt h6 b {
        font-size: 18px;
    }
    .section.sec10 .con .txt1 p {
        font-size: 14px;
    }
    .section.sec10 .con .txt1 .num {
        padding: 0 6px;
    }
    .section.sec10 .con .txt2 p {
        font-size: 14px;
    }
    .section.sec10 .con .map #daumRoughmapContainer1737522187121 {
        width: 100% !important;
    }
    .section.sec10 .con .map #daumRoughmapContainer1737522187121 .wrap_map {
        height: 200px !important;
    }
    .section.sec10 .ani_text {
        display: none;
    }

    /* 참가신청 폼 */
    .sub.apply02 .agree_con_box {
        overflow: scroll;
    }

}

/* etc - 공통 */
#etc_header {
    position: fixed;
    display: flex;
    z-index: 99;
    width: 100%;
    top: 0;
    height: 84px;
    background: #08110f;
    text-align: center;
    justify-content: center;
    align-items: center;
}
#etc_header a {
    display: inline-block;
}
.sub_contents_header .sub_con_title {
    /* text-align: center; */
}

/* 개인정보처리방침 */
#wrap.privacy .sub_contents_header {
    padding-top: 160px;
}
#wrap.privacy p {
    font-size: 18px;
    line-height: 1.6;
}
#wrap.privacy table {
    font-size: 18px;
    border-top: 1px solid #ddd;
}
#wrap.privacy table tr {
    border-bottom: 1px solid #ddd;
    line-height: 1.6;
    text-align: center;
}
#wrap.privacy table th {
    text-align: center;
    background: #f8f8f8;
    padding: 10px;
    border-right: 1px solid #ddd;
}
#wrap.privacy table th:last-child {
    border-right: 0;
}
#wrap.privacy table tr td {
    padding: 10px;
    border-right: 1px solid #ddd;
}
#wrap.privacy table tr td:last-child {
    border-right: 0;
}
#wrap.privacy table tr td.br {
    border-right: 1px solid #ddd;
}

@media all and (max-width:768px) {
    #wrap.privacy .sub_contents_header {
        padding-top: 80px;
    }
    #wrap.privacy table {
        font-size: 14px;
    }
    #wrap.privacy p {
        font-size: 14px;
    }
}
/* header */
#gnb_layout.sport .gnb .dept1 a:hover {
    color: #0055ff;
    font-weight: bold;
}

#gnb_layout .gnb .dept1 a span{
    font-family: "Pretendard";
    font-weight: 700;
}


#etc_header.sport a {
    margin-top: 0px;
}

/* 메인 */
#challenge .section.sec01 {
    background: url(/img/main/visual-pc.png) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 100vh;
}

/* 메인 비디오 */
/* #challenge .section.sec01 {
    position: relative;
    width: 100%;
    height: 100vh;
    margin-top: var(--header-height, 80px);
    overflow: hidden;
    background-color: #000;
}

#challenge .section.sec01 .video-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
}

#challenge .section.sec01 .video-container iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 56.25vw;
    min-height: 100vh;
    min-width: 177.78vh; 
    transform: translate(-50%, -50%);
    object-fit: cover;
    pointer-events: none;
}


@media (min-width: 1200px) {
    #challenge .section.sec01 {
        height: 112vh;
    }
}

@media (max-width: 1199px) {
    #challenge .section.sec01 {
        height: 80vh;
        margin-top: var(--header-height, 70px);
    }

    #challenge .section.sec01 .video-container iframe {
        width: 130vw;
        height: 73vw;
    }
}

@media (max-width: 767px) {
    #challenge .section.sec01 {
        height: 100vh;
        margin-top: var(--header-height, 60px);
    }

    #challenge .section.sec01 .video-container iframe {
        width: 170vw;
        height: 95vw;
    }
} */

#challenge .section.sec02 {
    background: url(/img/main/sec02-bg.png) no-repeat top;
    background-size: cover;
    padding: 230px 0 170px;
}
#challenge .section.sec02 .con-txt {
    padding: 0;
}
#challenge .section.sec02 .txt p {
    font-family: 'pretendard';
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 18px;
}
#challenge .section.sec02 .txt .txt-mid {
    font-family: 'pretendard';
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 30px;
    font-weight: bold;
    letter-spacing: -0.005em;
}
#challenge .section.sec02 .txt .txt-mid span {
    font-family: 'pretendard';
    font-size: 24px;
    line-height: 1.2;
    color: #0055ff;
    font-weight: 700;
    background-color: #ffffff;
    padding: 5px 10px;
    border-radius: 50px;
}
#challenge .section.sec02 .txt .btn_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    gap: 10px;
    margin-top: 40px;
}
#challenge .section.sec02 .txt .btn_wrap a {
    display: inline-block;
    font-family: 'pretendard';
    font-weight: 500;
    font-size: 24px;
    color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 6px;
    background: #000000a3;
    transition: all 0.2s;
    padding: 10px;
}
#challenge .section.sec02  .txt .btn_wrap a:hover {
    background: #0055ff;
    border: 2px solid #0055ff;
    color: #fff;
    font-weight: 700;
}
#challenge .section.sec03 {
    background: url(/img/main/sec03-bg.png) no-repeat bottom;
    background-size: cover;
}
#challenge .section.sec03 .info-txt .list {
    align-items: center;
    border-bottom: 1px solid #ffffffda;
}
#challenge .section.sec03 .info-txt .min_tit {
    color: #ffffff;
    width: 175px;
    font-size: 24px;
    display: flex;
    justify-content: center;
}
#challenge .section.sec03 .info-txt .min_tit span {
    padding: 5px;
    font-weight: 700;
    font-family: 'Pretendard';
    margin-bottom: 20px;
}
#challenge .section.sec05 {
    background: #ffffff url(/img/main/sec04-bg.png) no-repeat top;
    background-size: cover;
}

#challenge .section.sec05 h2{
    color: #fff;
}


#challenge .section.sec05 h2 span{
    color: #fff;
}

#challenge .section.sec05 table{
    border: #ececec solid 2px;
}


#challenge .section.sec05 table thead th {
    font-size: 26px;
    color: #fff;
    background: #111111;
}
#challenge .section.sec05 table tbody td {
    font-size: 20px;
    background: #fff;
}

#challenge .section.sec05 table .location-cell {
    background: url('/img/main/sec04-table-bg.png') no-repeat center center;
    background-size: cover;
    color: #fff; 
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
}


#challenge .section.sec05 table tbody tr.black td:nth-child(1) {
    border-radius: 0;
}
#challenge .section.sec05 table tbody tr.black td:nth-child(3) {
    border-radius: 0;
}
#challenge .section.sec05 table tbody tr.black td {
    background: #0055ff;
}



/* section06 - 기념품 */
#challenge .section.sec06 {
    background: url(/img/main/sec05-bg.png) no-repeat bottom;
    background-size: cover;
    padding-bottom: 60px;
}

#challenge .section.sec06 .gift_ready {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
}

#challenge .section.sec06 .gift-tit h6 {
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 40px;
    text-align: center;
    font-weight: 700;
}
#challenge .section.sec06 .gift-tit .gift-name{

}

#challenge .section.sec06 .gift_sec01 .gift-item-full{
    margin-bottom: 80px;
}

/* 이미지 섹션 */
#challenge .section.sec06 .gift-img-01,
#challenge .section.sec06 .gift-img {
    text-align: center;
    margin-bottom: 60px;
}

#challenge .section.sec06 .size-table {
    margin: 60px auto;
    max-width: 100%;
    overflow-x: auto;
}

#challenge .section.sec06 .size-table .gift-tit {
    text-align: center;
    margin-bottom: 20px;
}

#challenge .section.sec06 .size-table table {
    width: 100%;
    border-collapse: collapse;
    font-size: 18px;
    margin-top: 10px;
}

#challenge .section.sec06 .size-table th {
    background-color: #0055ff;
    color: #fff;
    font-weight: 600;
}

#challenge .section.sec06 .size-table td:first-child {
    color: #0055ff;
    font-weight: 600;
}

#challenge .section.sec06 .size-table th,
#challenge .section.sec06 .size-table td {
    border-bottom: 1px solid #eee;
    padding: 15px;
    text-align: center;
}

#challenge .section.sec06 .size-table th,
#challenge .section.sec06 .size-table td:last-child {
    border-right: none;
}

#challenge .section.sec06 .gift_sec02 {
    padding: 40px 20px;
    text-align: center;
}

#challenge .section.sec06 .gift-items {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
}

#challenge .section.sec06 .gift {
    flex: 0 1 280px;
    text-align: center;
}

#challenge .section.sec06 .gift-img img {
    width: 100%;
    border-radius: 12px;
    display: block;
}

#challenge .section.sec06 .gift-name {
    font-size: 28px;
    font-weight: bold;
    margin-top: 20px;
}

#challenge .section.sec06 .gift-name span {
    font-size: 20px;
    margin-top: 20px;
    font-style: italic;
    font-weight: 900;
    color: #fff;
    padding: 7px 15px;
    background-color: #0055ff;
}

#challenge .section.sec06 .gift-desc {
    font-size: 16px;
    color: #666;
    margin-top: 8px;
}

#challenge .section.sec06 .gift-red {
    color: #ea0a2a;
    font-weight: 700;
}

/* 반응형 미디어쿼리 */
@media screen and (max-width: 1024px) {
    #challenge .section.sec06 .gift-items {
        gap: 24px;
    }
}

@media screen and (max-width: 768px) {

    #challenge .section.sec01 {
            background: none;
            margin-top: 84px;
            height: auto;
        }

    #challenge .section.sec06 {
        padding: 80px 0;
    }

    #challenge .section.sec06 .gift-tit h6 {
        font-size: 18px;
    }

    #challenge .section.sec06 .sub-txt {
        font-size: 14px;
    }

    #challenge .section.sec06 .gift-items {
        flex-direction: column;
        align-items: center;
    }

    #challenge .section.sec06 .gift-min {
        max-width: 80%;
    }

    #challenge .section.sec06 .size-table table {
        font-size: 14px;
    }

    #challenge .section.sec06 .gift_sec01 .gift-tit h6::before {
        width: 40px;
        height: 40px;
        margin-right: 5px;
    }

    #challenge .section.sec06 .gift_sec02 .gift-tit h6::before {
        width: 40px;
        height: 40px;
        margin-right: 5px;
    }

    #challenge .section.sec06 .gift-name {
        font-size: 16px;
    }

    #challenge .section.sec06 .gift-desc {
        font-size: 14px;
    }

    #challenge .section.sec06 .gift {
        flex: 0 1 90%;
    }
    #challenge .section.sec06 .gift-name span {
        font-size: 14px;
        padding: 5px 10px;
    }
}


#challenge .section.sec07 {
    background: url(/img/main/sec06-bg.png) no-repeat center;
    background-size: cover;
}

#challenge section.sec07 h2 span {
    color: #fff;
}
#challenge .section.sec07 h6 {
    display: inline-block;
    width: 274px;
    padding: 0 0 15px;
    margin-left: 50%;
    margin-bottom: 20px;
    transform: translateX(-50%);
    background: url(/img/main/section6-img1.png) no-repeat center;
    color: #fff;
    font-family: 'pretendard';
    font-size: 40px;
    text-align: center;
}
#challenge .section.sec07 .cource_wrap {
    margin-bottom: 80px;
}
#challenge .section.sec07 .container {
    position: relative;
    z-index: 2;
}
#challenge .section.sec07 .ani_text {
    position: absolute;
    top: 45%;
    left: 0;
    width: auto;
    overflow: hidden;
}

#challenge .section.sec07 .ani_text img {
    height: auto;
    max-width: none;
    animation: flowtwo 2s linear infinite;
}

@krames flowtwo {
    0% {
        transform: translateX(-100%);
    }
    100% {
        transform: translateX(0);
    }
}
#challenge section.sec08 h2 {
    color: #000;
}
#challenge .section.sec08 .board ul li .tag {
    background: #0055ff;
    padding: 8px 20px;
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
#challenge .section.sec09 {
    background: url(/img/main/sec08-bg.png) no-repeat center;
    background-size: cover;
}
#challenge section.sec10 h2 {
    color: #000;
}
#challenge .section.sec10 .con .txt h6 {
    background: #0055ff;
    font-family: 'pretendard';
}
#challenge .section.sec10 .con .txt h6 b {
    font-size: 24px;
    font-family: 'pretendard';
    font-weight: 700;
}
#challenge .section.sec10 .con .txt .min-tit {
    font-family: 'pretendard';
    font-size: 24px;
    font-weight: bold;
}
#challenge .section.sec10 .con .txt1 .num.thr {
    background: #00174b;
}
#challenge .section.sec10 .con .txt2 p span.sky {
    background: #65a6d2;
}
#challenge .section.sec10 .con .txt2 p span.yel {
    background: #87c700;
}
#challenge .section.sec10 {
    padding: 120px 0;
}

/* fixed */
#challenge .fixed-icon a:last-child {
    display: block;
}

/* 후원 */
.section.spon {
    border-top: 1px solid #ddd;
    padding: 25px 0;
    height: auto;
}
.section.spon .spon_wrap {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-bottom: 10px;
}
.section.spon .spon_wrap:first-child {
    margin-bottom: 30px;
}
.section.spon h6 {
    font-family: 'pretendard';
    font-size: 20px;
    font-weight: 700 !important;
    color: #363636;
    margin: 0;
}
.section.spon ul {
    display: flex;
    gap: 40px;
    align-items: center;
    margin-bottom: 0;
}


.main-point {color: #0055ff !important;}

/* 자주묻는질문 */
#challenge .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.title {
    /* font-size: 25px; */
}
#challenge .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.title span {
    font-family: 'pretendard' !important;
}
#challenge .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td.category {
    display: none;
}
#challenge .section.sec09 .con .new_board_2021 .board_wrap .board_faq_con .list_table li td {
       border: 1px solid #fff !important;
}


@media all and (max-width:768px) {
    #challenge section.section h2 {
        font-size: 36px;
    }
    #challenge .section.sec02 {
        padding: 80px 0;
    }
    #challenge .section.sec02 .txt{
        text-align: center;
    }
    #challenge .section.sec02 .txt p {
        font-size: 16px;
    }
    #challenge .section.sec02 .txt .txt-mid span{
        font-size: 16px;
        padding: 2px 10px;
    }
    #challenge .section.sec02 .txt .txt-mid{
        font-size: 18px;
    }
    #challenge .section.sec02 .txt .btn_wrap a {
        font-size: 18px;
        padding: 8px;
    }
    #challenge .section.sec03 .info-txt .min_tit {
        font-size: 20px;
    }
    #challenge .section.sec07 h6 {
        font-size: 20px;
        background-size: contain;
        padding: 0 0 8px;
    }
    #challenge .section.sec07 .cource_wrap {
        margin-bottom: 60px;
    }
    #challenge .section.sec10 {
        padding: 80px 0;
    }
    .section.spon .spon_wrap {
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }
    .section.spon ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    #gnb_layout.sport .mobile.nav .top .logo img {
        margin-top: 20px;
        height: 35px;
    }

    #challenge .new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .n_tr .n_td span {
    /* font-size: 16px; */
}
    /* 참가신청 */
    .sub_contents.apply02 .participation_con ul {
        display: flex;
        margin-bottom: 40px;
    }
        .sub_contents.apply02 .participation_con ul .box_02 {
            width: 10px !important;
        }
}


@media (max-width: 768px) {
    .map {
        display: flex;
    }
}

@media (max-width: 768px) {
    #challenge .section.sec05 table thead th {
        font-size: 18px;
        padding: 10px;
    }
    #challenge .section.sec05 table tbody td{
        font-size: 14px;
        padding: 10px;
    }
}

.new_board_2021 .board_wrap .board_faq_con .list_table .n_tbody .content .n_tr .n_td .a{
    display: none;
}
