/* 인사말 */
.krf_img {
    padding: 40px 0;
}
section.company h3.company_h3 {
    font-size: 24px;
    font-family: "Pretendard-Regular";
    line-height: 36px;
    font-weight: 400;
    margin-bottom: 50px;
}

section.company.company_01 .ceo-box {
    background-repeat: no-repeat;
    height: 500px;
    display: flex;
    align-items: center;
}

section.company.company_01 .ceo-box .text {
    font-size: 34px;
    line-height: 46px;
    font-family: "Pretendard-Regular";
    margin-left: 161px;
    color: #000;
    margin-top: 105px;
}

section.company.company_01 .ceo-box .text p {
    font-size: 19px;
    margin-top: 20px;
    font-weight: 600;
    color: #333333;
    position: relative;
    display: inline-block;
    font-family: "NanumSquare";
}

section.company.company_01 .ceo-box .text p::before {
    position: absolute;
    width: 100%;
    height: 1px;
    background: #000;
    content: "";
    margin-top: 36px;
}

section.company .about_text {
    margin-top: 40px;
}

/* 이미지 캡션 스타일 */
.image-caption {
    margin-top: 20px;
    font-size: 16px;
    color: #666;
    text-align: center;
    line-height: 1.6;
    font-family: "Noto Sans KR";
}

/* 텍스트 단락 스타일 */
section.company .about_text .text p {
    margin-bottom: 25px;
    line-height: 1.8;
    font-size: 20px;
    padding-left: 0;
}

section.company .about_text .text p:last-child {
    margin-bottom: 0;
}

section.company .about_text h1 {
    font-size: 48px;
    color: #000;
    font-weight: 900;
    font-family: "Noto Sans KR";
    line-height: 1.2;
    margin-bottom: 40px;
    padding-left: 0;
}

section.company .about_text h2 {
    font-size: 32px;
    color: #000;
    font-weight: 700;
    font-family: "Noto Sans KR";
    line-height: 46px;
}

/* 금강산누리길 01_02 타이틀 영/한 스타일 */
.title-dual {
    display: block;
}
.title-dual .title-en {
    display: block;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    color: #0b70ff; /* 제안: 포인트 블루 */
}
.title-dual .title-kr {
    display: block;
    font-family: "Noto Sans KR";
    font-weight: 900;
    color: #000; /* 한글은 강하게 검정 */
    margin-top: 6px;
}

section.company .about_text h1 span {
    position: relative;
    z-index: 0;
}

section.company .about_text h1 span::before {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 12px;
    background: rgba(255, 234, 93, 1);
    content: "";
    margin-top: 52px;
}

section.company .about_text {
    line-height: 33px;
    font-size: 20px;
}

/* 인사말 마감 */

/* 회사소개 */
section.company.company_02 .ceo-box {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    height: 600px;
    position: relative;
    border-radius: 10px;
    background-color: #f8f8f8;
}

section.company.company_02 .ceo-box .text {
    right: 0;
    position: absolute;
    bottom: 0;
    color: #fff;
    text-align: right;
    padding-right: 50px;
    padding-bottom: 30px;
}

section.company.company_02 .ceo-box .text p {
    color: #fff;
    font-size: 42px;
    font-family: "Open Sans", sans-serif;
    font-weight: 900;
    text-transform: ;
}

section.company.company_02 .table_wrap {
    margin-top: 60px;
}

section.company.company_02 .table_wrap .table {
    border-top: 3px #000 solid;
}

.table > tbody > tr > td,
.table > tbody > tr > th,
.table > tfoot > tr > td,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > thead > tr > th {
    padding: 20px 18px;
    line-height: 1.42857143;
    vertical-align: top;
    border-top: 1px solid #e3e3e3;
}

/* 참가비 하단 안내 회색 처리 */
.fee-note {
    color: #777;
}

section.company_03 #tab_wrap {
    border: 0;
    border-top: 0;
    border-bottom: 0;
    margin-bottom: 80px;
}

/* 주최·주관 텍스트 간격 */
.host-list span {
    display: inline-block;
    margin-right: 14px;
}
.host-list span:last-child {
    margin-right: 0;
}

section.company_03 .history-left h2 {
    font-size: 32px;
    color: #000;
    font-family: "Noto Sans KR";
    font-weight: 700;
    float: left;
    border-top: 1px #333 solid;
    border-bottom: 1px #333 solid;
    margin-bottom: 20px;
}

section.company_03 .history-left h2 span {
    font-size: 49px;
    color: #000;
    font-family: "Noto Sans KR";
    font-weight: 800;
    padding-left: 0;
    margin-left: 0;
}

section.company_03 .history-left span {
    font-size: 26px;
    line-height: 68px;
    padding-left: 20px;
}

section.company_03 .history-left p.text {
    color: #484848;
    font-family: "Noto Sans KR";
    margin-top: 30px;
}

section.company_03 .history-left .image {
    margin-top: 70px;
}

section.company_03 .history-right {
    background: url("../../img/company/dot_back.png") 9px 0% repeat-y;
    margin-top: 10px;
    margin-left: 80px;
}

section.company_03 .history-right .box {
    background: url("../../img/company/dot.png") 0 14px no-repeat;
    margin-bottom: 30px;
    border-bottom: 0;
    padding-left: 60px;
    font-size: 30px;
    font-weight: 900;
}

section.company_03 .history-right .box h2 {
    font-weight: 900;
    font-family: "Noto Sans KR";
    margin-bottom: 20px;
    color: #000;
}

section.company_03 .history-right dl {
    display: flex;
    margin-bottom: 8px;
}

section.company_03 .history-right dl dt span {
    background: #efefef;
    display: block;
    border-radius: 1em;
    text-align: center;
    font-size: 15px;
    color: #a1a1a1;
    padding-top: 6px;
    padding-bottom: 6px;
    width: 50px;
    margin-right: 12px;
    font-weight: 600;
}

section.company_03 .history-right dl dd {
    font-size: 18px;
    color: #686868;
    font-weight: 400;
}

/* 회사소개 마감 */
/* 오시는 길 */
section.company_04 #map p.sky {
    position: absolute;
    z-index: 2;
    background: rgba(0, 0, 0, 0.6);
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    padding: 16px 48px 18px;
}

section.company_04 #map .root_daum_roughmap {
    width: 100%;
}

section.company_04 .table_wrap {
    margin-top: 60px;
}

section.company_04 .table_wrap .title h2 {
    font-size: 33px;
    font-weight: 900;
    color: #000;
    margin-bottom: 24px;
    font-family: "Noto Sans KR";
}

section.company_04 .table_wrap .title span {
    font-size: 22px;
    font-weight: 100;
    color: #868686;
    font-family: "Open Sans", sans-serif;
    padding-left: 12px;
}

section.company_04 .table_wrap .title a.btn {
    font-size: 16px;
    color: #000;
    border: 1px #000 solid;
    border-radius: 0;
}

section.company_04 .table_wrap .table {
    border-bottom: 1px #ddd solid;
}

section.company_04 .table_wrap .table {
    border-top: 3px #000 solid;
}

section.company_04 .table_wrap .table th,
section.company_04 .table_wrap .table td {
    font-size: 19px;
    line-height: 32px;
}

section.company_04 .table_wrap .table span.blue {
    background: #7182f5;
    line-height: 14px;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 0.2em;
    margin-right: 6px;
}

/* 오시는 길 마감 */

@media (min-width: 992px) {
    section.company .about_text .text {
        margin-left: 0;
    }

    section.company.company_02 .table_wrap .table tbody th,
    section.company.company_04 .table_wrap .table tbody th {
        width: 170px;
        padding-left: 40px;
    }

    section.company_03 .history-right {
        margin-left: 80px;
    }

    section.company_04 .table_wrap .table th,
    section.company_04 .table_wrap .table td {
        line-height: 32px;
    }
}

@media (max-width: 991px) {
    section.company h3.company_h3 {
        font-size: 16px;
        font-family: "NanumSquare";
        line-height: 24px;
        font-weight: 400;
        margin-bottom: 0;
        padding-bottom: 35px;
    }

    section.company.company_01 h3.company_h3 {
        padding-bottom: 20px;
    }

    section.company.company_01 .ceo-box {
        background-repeat: no-repeat;
        height: 250px;
        display: flex;
        align-items: center;
        background-position: 60% 0%;
        background-size: cover;
    }

    section.company.company_01 .ceo-box .text {
        font-size: 16px;
        line-height: 22px;
        font-family: "NanumSquare";
        margin-left: 20px;
        color: #000;
        margin-top: 42px;
        font-weight: 900;
    }

    section.company.company_01 .ceo-box .text p {
        font-size: 13px;
        margin-top: 20px;
        font-weight: 600;
        color: #333333;
        position: relative;
        display: inline-block;
        font-family: "NanumSquare";
    }

    section.company.company_01 .ceo-box .text p::before {
        position: absolute;
        width: 100%;
        height: 1px;
        background: #000;
        content: "";
        margin-top: 20px;
    }

    section.company .about_text {
        margin-top: 40px;
        line-height: 26px;
        font-size: 14px;
    }

    /* 모바일에서 이미지 캡션과 타이틀 간격 */
    .image-caption {
        margin-bottom: 30px;
    }

    /* 모바일에서 타이틀과 내용 간격 */
    section.company .about_text h1 {
        margin-bottom: 35px;
    }

    section.company .about_text h1 {
        font-size: 28px;
        color: #000;
        font-weight: 900;
        font-family: "Noto Sans KR";
        line-height: 1.2;
        margin-bottom: 35px;
        padding-left: 0;
    }

    section.company .about_text h1 span {
        position: relative;
        z-index: 0;
    }

    section.company .about_text h1 span::before {
        position: absolute;
        z-index: -1;
        width: 100%;
        height: 6px;
        background: rgba(255, 234, 93, 1);
        content: "";
        margin-top: 28px;
    }

    /* 회사소개 */
    section.company.company_02 .ceo-box {
        background-repeat: no-repeat;
        height: 400px;
        position: relative;
        background-size: contain;
        background-position: center;
        border-radius: 8px;
        background-color: #f8f8f8;
    }

    .image-caption {
        margin-top: 15px;
        font-size: 14px;
        color: #666;
        text-align: center;
        line-height: 1.5;
        font-family: "Noto Sans KR";
    }

    /* 모바일 텍스트 단락 스타일 */
    section.company .about_text .text p {
        margin-bottom: 18px;
        line-height: 1.6;
        font-size: 18px;
        padding-left: 0;
    }

    section.company.company_02 .ceo-box .text {
        right: 0;
        position: absolute;
        bottom: 0;
        color: #fff;
        text-align: right;
        padding-right: 15px;
        padding-bottom: 15px;
        font-size: 12px;
    }

    section.company.company_02 .ceo-box .text p {
        color: #fff;
        font-size: 16px;
        font-family: "Open Sans", sans-serif;
        font-weight: 900;
        text-transform: ;
    }

    section.company.company_02 .table_wrap {
        margin-top: 40px;
    }

    section.company.company_02 .table_wrap .table {
        border-top: 2px #000 solid;
    }

    section.company.company_02 .table_wrap .table tbody th {
        min-width: 90px;
    }

    .table > tbody > tr > td,
    .table > tbody > tr > th,
    .table > tfoot > tr > td,
    .table > tfoot > tr > th,
    .table > thead > tr > td,
    .table > thead > tr > th {
        padding: 16px 18px;
        line-height: 1.22857143;
        vertical-align: top;
        border-top: 1px solid #e3e3e3;
        font-size: 14px;
    }

    /* 회사소개 마감 */
    /* 연혁 */
    section.company_03 #tab_wrap {
        border: 0;
        border-top: 0;
        border-bottom: 0;
        margin-bottom: 30px;
    }

    section.company_03 .history-left h2 {
        font-size: 28px;
        color: #000;
        font-family: "Titillium Web", sans-serif;
        font-weight: 700;
    }

    section.company_03 .history-left h2 span {
        font-size: 30px;
        color: #000;
        font-family: "Noto Sans KR";
        font-weight: 800;
        padding-left: 0;
        margin-left: 0;
    }

    section.company_03 .history-left span {
        font-size: 16px;
        line-height: 40px;
        padding-left: 12px;
        letter-spacing: 0;
    }

    section.company_03 .history-left p.text {
        color: #484848;
        font-family: "Noto Sans KR";
        margin-top: 6px;
        /*text-align: center;*/
    }

    section.company_03 .history-left .image {
        margin-top: 30px;
    }

    section.company_03 .history-right {
        margin-top: 35px;
        margin-left: 0;
    }

    section.company_03 .history-right .box {
        background: url("http://theme06.wiztheme.co.kr/theme/theme06/img/sub/dot.png")
            0 8px no-repeat;
        margin-bottom: 20px;
        border-bottom: 0;
        padding-left: 40px;
        font-size: 26px;
        font-weight: 900;
    }

    section.company_03 .history-right .box h2 {
        font-weight: 900;
        font-family: "Noto Sans KR";
        margin-bottom: 16px;
        color: #000;
    }

    section.company_03 .history-right dl {
        display: flex;
        margin-bottom: 8px;
    }

    section.company_03 .history-right dl dt span {
        background: #efefef;
        display: block;
        border-radius: 1em;
        text-align: center;
        font-size: 13px;
        color: #a1a1a1;
        padding-top: 5px;
        padding-bottom: 5px;
        width: 42px;
        margin-right: 12px;
        font-weight: 600;
    }

    section.company_03 .history-right dl dd {
        font-size: 14px;
        color: #686868;
        font-weight: 400;
        padding-top: 2px;
    }

    /* 연혁 마감 */
    /* 오시는 길 */
    section.company_04 #map p.sky {
        position: absolute;
        z-index: 2;
        background: rgba(0, 0, 0, 0.6);
        color: #fff;
        font-size: 14px;
        font-weight: 500;
        padding: 12px 28px 12px;
    }

    section.company_04 .table_wrap {
        margin-top: 30px;
        border: 0;
    }
    section.company_04 .table_wrap .table {
        border-left: 1px #ddd solid;
    }
    section.company_04 .table_wrap .title {
        margin-bottom: 20px;
    }
    section.company_04 .table_wrap .title h2 {
        font-size: 24px;
        font-weight: 900;
        color: #000;
        margin-bottom: 6px;
    }

    section.company_04 .table_wrap .title span {
        font-size: 13px;
        font-weight: 100;
        color: #868686;
        padding-left: 6px;
    }

    section.company_04 .table_wrap .title a.btn {
        font-size: 13px;
        color: #000;
        border: 1px #000 solid;
        border-radius: 0;
    }
    section.company_04 .table_wrap .table {
        border-top: 2px #000 solid;
    }

    section.company_04 .table_wrap .table th {
        width: 60px;
        padding-left: 10px;
        padding-right: 10px;
    }
    section.company_04 .table_wrap .table th,
    section.company_04 .table_wrap .table td {
        font-size: 13px;
        line-height: 20px;
    }

    section.company_04 .table_wrap .table span.blue {
        background: #7182f5;
        line-height: 14px;
        color: #fff;
        font-size: 12px;
        font-weight: 600;
        border-radius: 0.2em;
        margin-right: 6px;
    }
    section.company_04 .embed-container {
        position: relative;
        padding-bottom: 80%;
        height: 0;
        overflow: hidden;
        max-width: 100%;
    }

    section.company_04 .embed-container iframe,
    section.company_04 .embed-container object,
    section.company_04 .embed-container embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    /* 오시는 길 마감  */

    section.company .about_text h2 {
        font-size: 22px;
        color: #000;
        font-weight: 700;
        font-family: "Noto Sans KR";
        line-height: 28px;
    }
}

.img_wrap {
    width: 100%;
    /* max-width: 1400px; */
    max-width: 1000px;
    margin: 0 auto; /* 중앙 정렬 추가 */
}
.img_wrap img {
    width: 100%;
}

.company h3 {
    font-size: 24px;
    padding: 50px 0 20px;
}
.jason_wrap h1 {
    font-size: 24px;
    padding: 40px 0 10px;
    font-family: "Noto Sans KR";
    border-bottom: 0px #333 solid;
    margin-bottom: 10px;
}
.jason_wrap h2 {
    font-size: 24px;
    padding: 40px 0 10px;
    font-family: "Noto Sans KR";
    border-bottom: 1px #333 solid;
    margin-bottom: 10px;
}
.jason_wrap h4 {
    font-size: 18px;
    padding: 10px 0 0px;
    font-family: "Noto Sans KR";
}
.jason_wrap p {
    font-size: 16px;
    padding: 0px 0 20px;
    font-family: "Noto Sans KR";
}
.jason_wrap ul li {
    display: block;
    font-size: 16px;
    font-family: "Noto Sans KR";
    line-height: 160%;
    padding-left: 20px;
    position: relative;
}
.jason_wrap ul li:before {
    content: "";
    display: block;
    position: absolute;
    top: 11px;
    left: 5px;
    border-radius: 50%;
    width: 5px;
    height: 5px;
    background: #333;
}
.jason_wrap ul li:last-child {
    padding-bottom: 20px;
}

.btn_wrap {
    padding: 20px 0;
    text-align: center;
}
.btn_search {
    background: rgb(208 0 0);
    border-radius: 20px;
    padding: 8px 40px;
    color: #fff;
    text-align: center;
    border: none;
    font-size: 16px;
}

.table_type01 {
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 12px;
    width: auto;
}
.table_type01 {
    overflow-y: scroll;
    width: 100%;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    border-top: 2px solid #333;
    text-align: center;
}
.table_type01 table {
    margin: 1em 0;
}
.table_type01 caption {
    display: none;
}
.table_type01 th {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 18px;
    padding: 15px;
    border-bottom: 1px solid #ddd;
    border-right: 0px solid #ddd;
    border-left: 0px solid #ddd;
    background-color: #f8f8f8;
    font-weight: bold;
    line-height: 1.8em;
    color: #333;
}
.table_type01 td {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 18px;
    padding: 15px;
    line-height: 1.8em;
    border-right: 0px solid #ddd;
    border-bottom: 1px solid #ddd;
}
.table_type01 td:first-child {
    border-left: 0px solid #ddd;
}
.table_type01 td a {
    color: #333;
}

.table_type02 {
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    width: auto;
}
.table_type02 {
    overflow-y: scroll;
    width: 100%;
    margin-bottom: 10px;
    border-bottom: 1px solid #ddd;
    border-top: 2px solid #333;
    text-align: center;
}
.table_type02 table {
    margin: 1em 0;
}
.table_type02 caption {
    display: none;
}
.table_type02 th {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16px;
    padding: 15px;
    border-bottom: 1px solid #ddd;
    border-right: 0px solid #ddd;
    border-left: 0px solid #ddd;
    background-color: #f8f8f8;
    font-weight: bold;
    line-height: 1.8em;
    color: #333;
    min-width: 120px;
    text-align: center;
}
.table_type02 td {
    text-align: center;
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16px;
    padding: 15px;
    line-height: 1.8em;
    border-right: 0px solid #ddd;
    border-bottom: 1px solid #ddd;
    text-align: left;
    color: #333;
    font-weight: 400;
}
.table_type02 td:first-child {
    border-left: 0px solid #ddd;
}
.table_type02 td a {
    color: #333;
}

.table_type03 {
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
    width: auto;
}
.table_type03 {
    overflow-y: scroll;
    width: 100%;
    margin-bottom: 10px;
    border-bottom: 1px dotted #ddd;
    border-top: 2px solid #333;
    text-align: center;
}
.table_type03 table {
    margin: 1em 0;
}
.table_type03 caption {
    display: none;
}
.table_type03 th {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16px;
    padding: 15px;
    border-bottom: 1px dotted #666;
    font-weight: bold;
    line-height: 1.6em;
    color: #333;
    min-width: 120px;
    vertical-align: top;
}
.table_type03 td {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 16px;
    padding: 15px;
    line-height: 1.6em;
    border-bottom: 1px dotted #666;
    text-align: left;
    color: #333;
    font-weight: 400;
}
.table_type03 td:first-child {
    border-left: 0px solid #ddd;
}
.table_type03 td a {
    color: #333;
}

/*traffic*/
.traffic-table {
    width: 100%;
    text-align: center;
    font-size: 22px;
    line-height: 52px;
    border: 2px solid #000;
    border-left: none;
    border-right: none;
}
.traffic-table th {
    border: 1px solid #000;
}
.traffic-table td {
    border: 1px solid #000;
}
.section1 {
    background-color: #fec20a;
}
.section2 {
    background-color: #ff900a;
}
.section3 {
    background-color: #60e8b6;
}
.section4 {
    background-color: #67c0ea;
}
.traffic-table tr th:first-child {
    border-left: none;
}
.traffic-table tr th:last-child {
    border-right: none;
}
.traffic-table tr td:first-child {
    border-left: none;
}
.traffic-table tr td:last-child {
    border-right: none;
}

/* 시상내역 테이블 스타일 */
.award-table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #000;
    font-family: "Noto Sans KR", sans-serif;
    margin: 40px 0;
}

.award-table th,
.award-table td {
    border: 1px solid #000;
    padding: 20px 15px;
    text-align: center;
    font-size: 18px;
    line-height: 1.4;
}

.award-table th {
    background-color: #f8f8f8;
    font-weight: 700;
    color: #333;
}

.award-table th.category-header {
    background-color: #f0f0f0;
    font-weight: 800;
    font-size: 20px;
}

.award-table th.gender-header {
    background-color: #e8e8e8;
    font-weight: 600;
    font-size: 16px;
}

.award-table td {
    font-weight: 500;
    color: #333;
}

.award-table td.rank-cell {
    font-weight: 700;
    font-size: 20px;
}

.award-table td.amount-cell {
    font-weight: 700;
}

/* Half와 10K 코스 사이 분단선 굵게 */
.award-table .divider-right {
    border-right: 3px solid #000;
}

/* 대회소개 페이지 전체 이미지 스타일 */
.img_wrap_full {
    width: 100vw; /* 뷰포트 전체 너비 */
    max-width: 1800px; /* 최대 너비 1800px로 제한 */
    margin: 0 auto; /* 중앙 정렬 */
    padding: 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.img_wrap_full img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* 대회소개 페이지에서만 타이틀 숨기기 */
.content-kumgangsan-01-01 .page-header,
.content-kumgangsan-01-02 .page-header,
.content-kumgangsan-01-04 .page-header,
.content-kumgangsan-01-06 .page-header,
.content-kumgangsan-02-03 .page-header {
    display: none;
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .award-table {
        font-size: 14px;
        margin: 20px 0;
    }

    .award-table th,
    .award-table td {
        padding: 12px 8px;
        font-size: 14px;
    }

    .award-table th.category-header {
        font-size: 16px;
    }

    .award-table th.gender-header {
        font-size: 13px;
    }

    .award-table td.rank-cell {
        font-size: 16px;
    }

    .award-table td.amount-cell {
        font-size: 15px;
    }
}

@media (max-width: 480px) {
    .award-table {
        font-size: 12px;
    }

    .award-table th,
    .award-table td {
        padding: 8px 4px;
        font-size: 12px;
    }

    .award-table th.category-header {
        font-size: 14px;
    }

    .award-table th.gender-header {
        font-size: 11px;
    }

    .award-table td.rank-cell {
        font-size: 14px;
    }

    .award-table td.amount-cell {
        font-size: 13px;
    }
}
