/* font */
@import url('https://webfontworld.github.io/goodchoice/Jalnan.css');
@font-face {
    font-family: 'KHNPHD';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_one@1.0/KHNPHD.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Vitro_core';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-10-21@1.0/Vitro_core.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* pc버전 유지용도 */
/* html {min-width: 1280px;} */

/* header */
#gnb_layout {position: fixed; top: 0; width: 100%; background-color: #fff; border-bottom: 1px solid #ddd; z-index: 99; min-width: 1920px;}
#gnb_layout .container {padding: 0 40px; height: 80px; width: auto;}
#gnb_layout .logo {position: absolute; z-index: 99; top: 50%; padding-left: 0; margin: 0; transform: translateY(-50%); font-size: 0;}
#gnb_layout .gnb {width: 100%; text-align: center;}
#gnb_layout .gnb .dept1 {display: inline-block; position: relative;}
#gnb_layout .gnb .dept1 a {display: inline-block; padding: 0 30px; line-height: 84px; font-size: 18px; font-weight: 700; color: #222;}
#gnb_layout .gnb .dept1.on > a {color: #ff3f75; font-weight: 700;}
#gnb_layout .gnb .dept2 {display: none; width: 200px; margin: 0 auto; position: absolute; top: 84px; left: 50%; margin-left: -100px; padding: 10px 0; box-shadow: 0 5px 10px 0 rgb(0 0 0 / 10%); background-color: #fff;}
#gnb_layout .gnb .dept2 a {font-size: 15px; line-height: 40px; color: #999;  font-weight: 300;}
#gnb_layout .gnb .dept2 a:hover {color: #ff3f75; font-weight: 500;}
#gnb_layout .utill {position: absolute; right: 40px; top: 0; display: inline-grid; grid-template-columns: auto auto auto; grid-gap: 20px;}
#gnb_layout .utill  img {margin-top: 20px;}
#gnb_layout .utill:after {clear: both; content: ''; display: block;}
#gnb_layout .utill a {float: left;}
#gnb_layout .utill .en_btn {font-size: 15px; color: #222; font-weight: 500; letter-spacing: 0; line-height: 84px; display: block;}
/* #gnb_layout .utill .en_btn:after {content: ''; display: inline-block; vertical-align: middle; background-color: #ddd; width: 1px; height: 13px; margin: 0 19px;} */
#gnb_layout .utill .all_menu {background: url('/img/renewal/all-menu.png') center no-repeat; width: 30px; height: 21px; margin-top: 32px;}
#gnb_layout .side-menu {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255, 255, 255, 1); z-index: 99999; min-width: 360px;}
#gnb_layout .side-close {text-align: right;}
#gnb_layout .side-close button {padding: 40px 65px 0 0;}
#gnb_layout .side-menu > ul {width: 100%; height: auto; width: 1600px; margin: 160px auto; display: block; height: 480px;}
#gnb_layout .side-menu > ul > li {float: left; width: calc(100% / 7); height: 410px; display: block; text-align: center; border-right: 1px solid #efefef; padding-top: 65px;}
#gnb_layout .side-menu > ul > li:last-child {border-right: none;}
#gnb_layout .side-menu > ul > li > a {font-size: 22px; font-weight: 700; color: #222;}
#gnb_layout .side-menu > ul > li > .sub {margin-top: 30px;}
#gnb_layout .side-menu > ul > li > .sub > li > a {font-size: 18px; line-height: 48px; color: #999;}
#gnb_layout .side-menu > ul > li > .sub > li > a:hover {color: #ff3f75; font-weight: 500;}
/* 영문 */
#gnb_layout.en .gnb {margin-left: 50px;}f.section
#gnb_layout.en .utill .en_btn:after {content: none;}
@media all and (max-width:1850px) {
	#gnb_layout {min-width: auto;}
}
@media all and (max-width:1720px) {
	#gnb_layout .gnb {padding-left: 76px;}
}
@media all and (max-width:1500px)  {
	#gnb_layout .gnb {padding-left: 0;}
}
@media all and (max-width:1280px) {
	#gnb_layout .container {padding: 0 20px;}
    #gnb_layout .mobile.nav .top .logo {
        transform: none;
    }
    #gnb_layout .mobile.nav .top .logo img {
        margin-top: 18px;
    }
	#gnb_layout .logo img {height:44px;}
	#gnb_layout .utill {grid-gap: 0;}
	#gnb_layout .utill img, #gnb_layout .utill .all_menu {display: none;}
	#gnb_layout .utill .en_btn {color: #ff3f75; margin-right: 40px;}
	#gnb_layout .gnb .dept1 a {padding: 0 23px; font-size: 17px;}
}
@media all and (max-width:768px) {

}


/* 섹션 공통 */
.section { position: relative; width:100%; height:100%; margin: 0 auto; min-height: 100vh; /* display: table; */}

/*.section .con {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1200px;
    margin: 0 auto;
}*/
@media screen and (min-width:2000px) {
	/*.section .con {padding-top: 0px;}*/
}
@media all and (max-width:1500px) {
    .section {
        min-height: 960px;
    }
    /* .section .con {
        width: 1080px;
    } */
    .sec03 .box {
        width: 100% !important;
        display: flex;
    }
}
@media all and (max-width:768px) {
    nav.gnb {
        display: none;
    }
    .section {
        min-height: auto;
    }
    /* .section .con {
        width: 100%;
        padding: 80px 20px;
        position: static;
        top: auto;
        left: auto;
        transform: none;
    } */

}

/* 준비중 페이지 */
.sec01 .ready {position: relative; min-height: auto; display: block;}
.sec01 .ready > div {height: 100vh; z-index: -2;}
.sec01 .ready .con {text-align: center;position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
.sec01 .ready .txt {color: #fff;}
.sec01 .ready .txt p {text-transform: uppercase; font-size: 15px; letter-spacing: 4px; font-weight: 500; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .ready .txt h5 {font-family: 'KHNPHD', sans-serif; font-size: 50px; font-weight: 500; margin-top: 38px; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .ready .txt h5 b {font-weight: 700; font-size: 60px;}
.sec01 .ready .txt h2 {font-family: 'Jalnan', sans-serif; font-size: 70px; margin-top: 5px; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .ready .txt h2 b {font-family: inherit; font-size: 80px;}
.sec01 .ready .slide01 {background-color: #000;}

@media screen and (min-width:2000px) {
	.sec01 .ready > div {height: 80vh;}
}
@media all and (max-width:1280px) {
	.sec01, .sec01 .ready > div {max-height: 937px;}
}

/* 섹션01 메인비주얼 */
.sec01 {position: relative; min-height: auto; display: block;}
.sec01 .main_slider > div {height: 100vh; z-index: -2;}
.sec01 .main_slider .con {text-align: center; padding-top: 84px; display: table-cell; vertical-align: middle;}
.sec01 .main_slider .txt * {color: #fff;}
.sec01 .main_slider .txt .center-image {
    display: block;
    margin: 0 auto; /* 이미지 중앙 정렬 */
    max-width: 100%; /* 이미지 크기 조정 */
    height: auto;
}


/* .nav-right ul.current li:after {
box-shadow:0px 0px 20px rgba(0,0,0,.5);
}
.nav-right ul.current li a:after {
border: 2px solid #fff;
box-shadow:0px 0px 20px rgba(0,0,0,.5);
} */

/* .sec01 .main_slider .txt p {text-transform: uppercase; font-size: 15px; letter-spacing: 4px; font-weight: 500; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .main_slider .txt h5 {font-family: 'KHNPHD', sans-serif; font-size: 50px; font-weight: 500; margin-top: 38px; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .main_slider .txt h5 b {font-weight: 700; font-size: 60px;}
.sec01 .main_slider .txt h2 {font-family: 'Jalnan', sans-serif; font-size: 70px; margin-top: 5px; filter: drop-shadow(0 0 4px rgba(0,0,0,.5));}
.sec01 .main_slider .txt h2 b {font-family: inherit; font-size: 80px;} */
.sec01 .main_slider .slide01 {background: url('/img/therace/main-visual.jpg') center/cover no-repeat; display: table;}
.sec02 .boxs {margin-top: 20px;}
.sec02 .boxs:after {clear: both; content: ''; display: block;}
.sec02 .boxs li {/* float: left;  *//* width: 280px; */ width: 100%; height: 280px; background-color: #000; margin: 0 5px; border-radius: 20px; transition: all 0.3s ease-out;}
.sec02 .boxs ul {display: flex; gap: 15px; justify-content: center;}
.sec02 .boxs li:first-child {margin-left: 0;}
.sec02 .boxs li:last-child {margin-right: 0;}
.sec02 .boxs li:nth-child(1) {background: url('/img/renewal/main-box1.png') center no-repeat;}
.sec02 .boxs li:nth-child(2) {background: url('/img/renewal/main-box2.png') center no-repeat;}
.sec02 .boxs li:nth-child(3) {background: url('/img/renewal/main-box3.png') center no-repeat;}
.sec02 .boxs li:nth-child(4) {background: url('/img/renewal/main-box4.png') center no-repeat;}

/* .sec02 .boxs li:hover {transform: translateY(-10px);} */
.sec02 .boxs li a {display: inline-block; width: 100%; height:100%; position: relative; text-align: center;}
.sec02 .boxs li a img {position: absolute; top: 50%; margin-top: -75px; left: 50%; margin-left: -76px;}
.sec02 .boxs li a h5 {font-family: 'Jalnan', sans-serif; color: #fff; font-size: 22px; padding-top: 160px; position: relative; z-index: 2;}
@media screen and (min-width:2000px) {
	.sec01 .main_slider > div {height: 80vh;}
}
@media all and (max-width:1280px) {
	.sec01, .sec01 .main_slider > div {max-height: 937px;}
}
@media all and (max-width:768px)  {
    .sec01 .main_slider .txt h5 {
        font-size: 34px;
        margin-top: 20px;
    }
    .sec01 .main_slider .txt h5 b {
        font-size: 46px;
    }
    .sec01 .main_slider .txt h2 {
        font-size: 34px;
    }
    .sec01 .main_slider .txt h2 b {
        font-size: 46px;
    }
    .sec01 .main_slider .txt p {
        font-size: 12px;
    }
    .sec02 .boxs ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .sec02 .bx-wrapper .bx-viewport .gj_slide {width: 100% !important;}
    .sec02 .boxs li {
        height: 150px;
    }
    .sec02 .boxs li a img {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        margin-top: 0;
        margin-left: 0;
        height: 80%;
    }
    .sec02 .boxs li a h5 {
        font-size: 16px;
        padding-top: 80px;
    }
}


/* 섹션02 대회요강 */
.sec02 {background: url('/img/therace/sec02-bg.jpg') center/cover no-repeat;}
.sec02 .tit {text-align: left;}
.sec02 .tit h3 {font-family: 'Jalnan', sans-serif; font-size:40px; color: #000; margin-top: 0;}
.sec02 .tit h3 b {font-family: inherit; color: #ff3f75; font-size: 55px; position: relative;}
.sec02 .tit h3 b:before {content: ''; display: block; position: absolute; top: -18px; left: 42.5%; background: url('/img/renewal/sec03-btxt.png') center no-repeat; width: 65px; height: 10px; transform: translateX(-44%);}
.sec02 .tit p {font-size: 18px; color: #888; margin-top: 10px; font-weight: 300;}
.sec02 .box {width: 1200px; /* height: 520px; */ margin: 40px auto 0; background-color: #fff; box-shadow: 0 0 15px rgb(0 0 0 / 10%); border-radius: 20px; padding: 40px;}
.sec02 .box > div {display: inline-block; vertical-align: middle; width: 55%;}
.sec02 .box .img {width: 456px; height: 500px; border-radius: 20px; overflow: hidden;}
.sec02 .box .summary ul {margin-left: 40px; width: 100%;}
.sec02 .box .summary li {font-size: 16px; color: #222; font-weight: 500; line-height: 46px; position: relative; padding-left: 163px;}
.sec02 .box .summary li:last-child {line-height: 30px; margin-top: 10px;}
.sec02 .box .summary li:last-child:before {top: -15px; border-radius: 30px; height: 180px;}
.sec02 .box .summary li b {font-size: 16px; font-weight: 700;text-align: justify; width: 140px; display: inline-block; letter-spacing: -2px; background: #ff3f75; color: #fff; border-radius: 50px; padding: 12px 0; line-height: 1; position: absolute; left: 0; top: 0; text-align: center; font-family: 'Jalnan', sans-serif;}
.sec02 .box .summary li:nth-child(2n) b {background: #db3966;}
.sec02 .box .summary .btn {font-size: 0; margin-top: 10px; align-items: left; padding: 6px 0px;}
.sec02 .box .summary .btn a {font-family: 'Jalnan', sans-serif; display: inline-block; width: 200px; line-height: 50px; border-radius: 8px; background-color: #ff3f75; color: #fff; font-size: 20px; border: 1px solid #ff3f75; position: relative;}
.sec02 .box .summary .btn a:hover {background-color: #da2a5c;;}
.sec02 .box .summary .btn a:last-child {background-color: #fff; border: 1px solid #ff3f75;  color: #ff3f75; margin: 0 10px;}
.sec02 .box .summary .btn a:last-child:hover {background-color: #ffd5e12c;}

@media all and (max-width:768px) {
    .sec02 .tit h3 {
        font-size: 26px;
    }
    .sec02 .tit h3 b {
        font-size: 34px;
    }
    .sec02 .tit h3 b:before {
        display: none;
    }
    .sec02 .tit p {
        font-size: 14px;
    }
    .sec02 .box {
        width: 100%;
        padding: 20px;
        flex-direction: column;
    }
    .sec02 .box .img {
        width: 100%;
        height: 100%;
    }
    .sec02 .box > div {
        width: 100%;
    }
    .sec02 .box .summary ul {
        margin-left: 0;
        margin-top: 30px;
    }
    .sec02 .box .summary li {
        font-size: 14px;
        line-height: 1.6;
        padding-left: 0;
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 10px;
    }
    .sec02 .box .summary li b {
        width: 40%;
        position: static;
        font-size: 14px;
    }
    .sec02 .box .summary li p {
        width: 60%;
        margin: 0;
        padding-top: 5px;
    }
    .sec02 .box .summary .btn {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center;
    align-items: center;
    margin-top: 20px;
    }
    .sec02 .box .summary .btn a {
        font-size: 16px;
    }
}


/* 섹션02 대회요강 */
.sec02_1 {background: url('/img/therace/sec03-bg.jpg') center/cover no-repeat;}
.sec02_1 .tit {text-align: center; margin: 80px auto 0;}
.sec02_1 .tit h3 {font-family: 'Jalnan', sans-serif; font-size: 40px; color: #000; margin-top: 0;}
.sec02_1 .tit h3 b {font-family: inherit; color: #ff3f75; font-size: 55px; position: relative;}
.sec02_1 .tit h3 b:before {content: ''; display: block; position: absolute; top: -18px; left: 42.5%; background: url('/img/renewal/sec03-btxt.png') center no-repeat; width: 65px; height: 10px; transform: translateX(-44%);}
.sec02_1 .tit p {font-size: 18px; color: #888; margin-top: 10px; font-weight: 300;}
.sec02_1 .box {width: 1200px; /* height: 520px; */ margin: 40px auto 0; background-color: #fff; box-shadow: 0 0 15px rgb(0 0 0 / 10%); border-radius: 20px; padding: 40px 100px;}
.sec02_1 .box > div {display: inline-block; vertical-align: middle; width: 55%;}
.sec02_1 .box .img {width: 456px; height: 500px; border-radius: 20px; overflow: hidden;}
.sec02_1 .box .summary ul {margin-left: 40px; width: 100%;}
.sec02_1 .box .summary li {font-size: 16px; color: #222; font-weight: 500; line-height: 35px; position: relative; padding-left: 163px;}
.sec02_1 .box .summary li:last-child {line-height: 30px; margin-top: 10px;}
.sec02_1 .box .summary li:last-child:before {top: -15px; border-radius: 30px; height: 180px;}
.sec02_1 .box .summary li b {font-size: 16px; font-weight: 500; text-align: justify; width: 120px; display: inline-block; letter-spacing: -2px; background: #ff3f75; color: #fff; border-radius: 10px; padding: 10px 0; line-height: 1; position: absolute; left: 0; top: 0; text-align: center; font-family: 'Jalnan', sans-serif;}
.sec02_1 .box .summary li:nth-child(2n) b {background: #db3966;}
.sec02_1 .box .summary table {
    width: 200%;  /* 테이블 너비 */
    border-collapse: collapse; /* 테두리 겹침 제거 */
    font-size: 16px; /* 폰트 크기 */
    text-align: center; /* 텍스트 중앙 정렬 */
}

.sec02_1 .box .summary thead th {
    background-color: #ff3f75; /* 헤더 배경색 */
    color: white; /* 헤더 텍스트 색상 */
    padding: 0 10px; /* 내부 여백 */
    border: 1px solid #ddd; /* 테두리 */
    text-align: center; /* 텍스트 중앙 정렬 */
}

.sec02_1 .box .summary tbody td {
    border: 1px solid #ddd; /* 테두리 */
}

.sec02_1 .box .summary tbody tr:nth-child(even) {
    background-color: #f9f9f9; /* 짝수 행 배경색 */
}

.sec02_1 .box .summary td[rowspan] {
    font-weight: bold; /* rowspan 셀 강조 */
    background-color: #fdecef; /* rowspan 셀 배경색 */
}

@media all and (max-width:768px) {
    .sec02_1 .tit h3 {
        font-size: 26px;
    }
    .sec02_1 .tit h3 b {
        font-size: 34px;
    }
    .sec02_1 .tit h3 b:before {
        display: none;
    }
    .sec02_1 .tit p {
        font-size: 14px;
    }
    .sec02_1 .box {
        width: 100%;
        padding: 20px;
        flex-direction: column;
    }
    .sec02_1 .box .img {
        width: 100%;
        height: 100%;
    }
    .sec02_1 .box > div {
        width: 100%;
    }
    .sec02_1 .box .summary ul {
        margin-left: 0;
        margin-top: 30px;
    }
    .sec02_1 .box .summary li {
        font-size: 14px;
        line-height: 1.6;
        padding-left: 0;
        display: flex;
        align-items: flex-start;
        gap: 10px;
        margin-bottom: 10px;
    }
    .sec02_1 .box .summary li b {
        width: 40%;
        position: static;
        font-size: 14px;
    }
    .sec02_1 .box .summary li p {
        width: 60%;
        margin: 0;
        padding-top: 5px;
    }
    @media screen and (max-width: 768px) {
        .sec02_1 .box .summary table {
            width: 100%; /* 테이블 너비를 100%로 조정 */
            display: block; /* 테이블을 블록 요소로 변경 */
        }
}
}


/* 섹션03 코스도 */
/* .sec03 {background: url('/img/therace/sec05_bg.jpg') center/cover no-repeat;} */
.sec03 .tit {text-align: center;}
.sec03 .tit h3 {font-family: 'Jalnan', sans-serif; font-size:40px; color: #fff; margin-top: 0;}
.sec03 .tit h3 b {font-family: inherit; color: #fff; font-size: 55px; position: relative;}
.sec03 .tit h3 b:before {content: ''; display: block; position: absolute; top: -18px; left: 50%; margin-left: -59px; background: url('/img/renewal/sec04-btxt.png') center no-repeat; width: 118px; height: 10px;}
.sec03 .tit p {font-size: 18px; color: #fff; margin-top: 10px; font-weight: 300;}
.sec03 .boxs {width: 1200px; margin: 40px auto 0;}
.sec03 .boxs ul:after {content:''; display: block; clear: both;}
.sec03 .boxs li {background: url('/img/renewal/sec04-box2.png') center no-repeat; width: 570px; height: 454px; float:left; margin: 0 22.5px; filter: drop-shadow(0 0 15px rgba(0,0,0,0.4)); text-align: center; position: relative;}
.sec03 .boxs li:first-child {margin-left: 0; background: url('/img/therace/sec04_course_bg.png') center no-repeat;}
.sec03 .boxs li:last-child {margin-right: 0; background: url('/img/therace/sec04_course_bg.png') center no-repeat;}
.sec03 .boxs li.on {transition: all 0.3s ease-in 0s; background: url('/img/renewal/sec04-box-on.png') center no-repeat;}
.sec03 .boxs li.on .txt h5, .sec03 .boxs li.on .txt p {color: #fff;}
.sec03 .boxs li.on a {background-color: #fff; color: #ff3f75;}
.sec03 .boxs li .txt {padding-top: 160px;}
.sec03 .boxs li .txt h5 {font-family: 'Jalnan', sans-serif; font-size: 36px; color: #222;}
.sec03 .boxs li .txt p {color: #ff3f75; font-size: 24px; font-weight: 500; margin-top: 25px;}
.sec03 .boxs li a {display: inline-block; width: 330px; line-height: 55px; position: absolute; bottom: 20px; left: 50%; margin-left: -165px; font-size: 20px; font-weight: 700; color: #fff; background-color: #ff3f75; border-radius: 8px;}
.sec03 .quick_menu {width: 1200px; margin: 0 auto; padding: 16px 30px 16px 40px; background-color: #71767c; border-radius: 20px; margin-top: 45px;}
.sec03 .quick_menu:after {content:''; display: block; clear: both;}
.sec03 .quick_menu .left {float: left; padding: 10px 0;}
.sec03 .quick_menu .left img {margin-right: 10px;}
.sec03 .quick_menu .left h3 {font-family: 'Jalnan', sans-serif; font-size: 28px; color: #fff; text-transform: uppercase; display: inline-block; margin: 0; vertical-align: middle;}
.sec03 .quick_menu .right {float: right; text-align: center;}
.sec03 .quick_menu .right a {display: inline-block; width: 270px; line-height: 55px; background-color: #71767c; color: #fff; border: 1px solid rgba(255,255,255,0.2); border-radius: 8px; font-size: 20px; font-weight: 500; margin: 0 4px;}
.sec03 .quick_menu .right a:hover {border: 1px solid #2d3043; background-color: #223347;}


.sec03 .image-display {
    text-align: center;
    margin: 30px ;
}

.sec03 .image-display img {
    max-width: 100%; /* 이미지 크기 */
    height: auto;
    border-radius: 10px; /* 모서리 둥글게 */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* 그림자 효과 */
}

/* 탭 메뉴 스타일 */
.sec03 .course_tab {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-top: 50px;
}

.sec03 .course_tab li {
    margin: 0 10px;
}

.sec03 .course_tab a {
    text-decoration: none;
    padding: 20px 50px;
    font-size: 18px;
    background-color: #808080;
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.sec03 .course_tab a.selected {
    background-color: #ff3f75;
    font-weight: bold;
}

/* 하단 버튼 스타일 */
.sec03 .course-buttons {
    text-align: center;
    margin-top: 20px;
}

.sec03 .course-buttons .btn {
    display: inline-block;
    text-decoration: none;
    padding: 10px 20px;
    margin: 0 10px;
    background-color: #f06595;
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.sec03 .course-buttons .btn.active {
    background-color: #ff3f75;
    font-weight: bold;
}

@media all and (max-width:1500px) {
    .sec03 .boxs {
        width: 100%;
    }
    .sec03 .boxs ul {
        display: flex;
        gap: 30px;
        align-items: center;
    }
    .sec03 .boxs li {
        float: none;
        margin: 0;
        background-size: contain !important;
    }
    .sec03 .boxs li a {bottom: 40px;}
    .sec03 .quick_menu {
        width: 100%;
        display: flex;
        gap: 40px;
    }
    .sec03 .quick_menu .left {
        float: none;
    margin-left: -20px;
    }
    .sec03 .quick_menu .right a {
        width: 230px;
    }
}
@media all and (max-width:768px) {
    .sec03 .tit h3 {
        font-size: 26px;
    }
    .sec03 .tit h3 b {
        font-size: 34px;
    }
    .sec03 .tit h3 b:before {
        display: none;
    }
    .sec03 .tit p {
        font-size: 14px;
    }
    .sec03 .boxs {
        width: 100%;
    }
    .sec03 .boxs ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    .sec03 .boxs li {
        float: none;
        margin: 0;
        width: 100%;
    }
    .sec03 .quick_menu {
        width: 100%;
        margin-top: 20px;
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }
    .sec03 .quick_menu .left {
        float: none;
        text-align: center;
    margin-left: -20px;
    }
    .sec03 .quick_menu .right a {
        font-size: 14px;
        line-height: 40px;
        margin-bottom: 10px;
        width: 100%;
    }
    .sec03 .boxs li a {
        font-size: 16px;
    }
}
/* 섹션04 코스도 */
.sec04 {background: url('/img/therace/sec05_bg.jpg') center/cover no-repeat;}
.sec04 .tit {text-align: center;}
.sec04 .tit h3 {font-family: 'Jalnan', sans-serif; font-size:40px; color: #fff; margin-top: 0;}
.sec04 .tit h3 b {font-family: inherit; color: #fff; font-size: 55px; position: relative;}
.sec04 .tit h3 b:before {content: ''; display: block; position: absolute; top: -18px; left: 50%; margin-left: -59px; background: url('/img/renewal/sec04-btxt.png') center no-repeat; width: 118px; height: 10px;}
.sec04 .tit p {font-size: 18px; color: #fff; margin-top: 10px; font-weight: 300;}
.sec04 .boxs {
    position: relative; /* 중앙 정렬 기준 설정 */
    width: 100%;
    max-width: 1200px; /* 최대 너비 제한 */
    margin: 30px auto; /* 수평 중앙 정렬 */
    display: flex; /* 플렉스박스 사용 */
    justify-content: center; /* 자식 요소 수평 중앙 정렬 */
    gap: 50px; /* 요소 간 간격 */
}

.sec04 .boxs li {
    background: url('/img/renewal/sec04-box2.png') center no-repeat;
    width: 500px;
    height: 450px;
    border-radius: 20px;
    filter: drop-shadow(0 0 15px rgba(0, 0, 0, 0.4));
    text-align: center;
    position: relative;
    display: inline-block;
}

.sec04 .boxs li:first-child {
    background: url('/img/therace/sec04_course_bg.png') center no-repeat;
}

.sec04 .boxs li:last-child {
    background: url('/img/therace/sec04_course_bg.png') center no-repeat;
}

.sec04 .boxs li.on a {background-color: #fff; color: #ff3f75;}
.sec04 .boxs li .txt {padding-top: 160px;}
.sec04 .boxs li .txt h5 {font-family: 'Jalnan', sans-serif; font-size: 36px; color: #222;}
.sec04 .boxs li .txt p {color: #ff3f75; font-size: 24px; font-weight: 500; margin-top: 25px;}
.sec04 .boxs li a {display: inline-block; width: 330px; line-height: 55px; position: absolute; bottom: 20px; left: 50%; margin-left: -165px; font-size: 20px; font-weight: 700; color: #fff; background-color: #ff3f75; border-radius: 8px;}
.sec04 .quick_menu {
    width: 100%; /* 컨테이너 너비 */
    max-width: 1200px; /* 최대 너비 */
    margin: 0 auto; /* 수평 중앙 정렬 */
    padding: 16px 30px 16px 40px;
    border-radius: 20px;
    margin-top: 45px;
    text-align: center; /* 내부 콘텐츠 중앙 정렬 */
    position: relative; /* 중앙 정렬을 위한 기준 설정 */
}

.sec04 .quick_menu .left {
    display: none; /* 왼쪽 요소 숨김 (옵션: 필요에 따라 유지) */
}

.sec04 .quick_menu .right {
    position: absolute; /* 버튼을 중앙에 배치 */
    top: 50%; /* 수직 중앙 정렬 */
    left: 50%; /* 수평 중앙 정렬 */
    transform: translate(-50%, -50%); /* 위치 보정 */
}

.sec04 .quick_menu .right a {
    display: inline-block;
    width: 270px;
    line-height: 55px;
    background-color: #ff3f75;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 8px;
    font-size: 20px;
    font-weight: 500;
    margin: 10px 4px; /* 버튼 간격 */
    text-align: center;
    text-decoration: none;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

.sec04 .quick_menu .right a:hover {
    border: 1px solid #ff779e;
    background-color: #ff779e;
}

.sec04 .image-display {
    text-align: center;
    margin: 30px ;
}

.sec04 .image-display img {
    max-width: 100%; /* 이미지 크기 */
    height: auto;
    border-radius: 10px; /* 모서리 둥글게 */
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* 그림자 효과 */
}

/* 탭 메뉴 스타일 */
.sec04 .course_tab {
    display: flex;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin-top: 50px;
}

.sec04 .course_tab li {
    margin: 0 10px;
}

.sec04 .course_tab a {
    text-decoration: none;
    padding: 20px 50px;
    font-size: 18px;
    background-color: #808080;
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.sec04 .course_tab a.selected {
    background-color: #ff3f75;
    font-weight: bold;
}

/* 하단 버튼 스타일 */
.sec04 .course-buttons {
    text-align: center;
    margin-top: 20px;
}

.sec04 .course-buttons .btn {
    display: inline-block;
    text-decoration: none;
    padding: 10px 20px;
    margin: 0 10px;
    background-color: #f06595;
    color: white;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.sec04 .course-buttons .btn.active {
    background-color: #ff3f75;
    font-weight: bold;
}

@media all and (max-width:1500px) {
    .sec04 .boxs {
        width: 100%;
    }
    .sec04 .boxs ul {
        display: flex;
        gap: 30px;
        align-items: center;
    }
    .sec04 .boxs li {
        float: none;
        margin: 0;
        background-size: contain !important;
    }
    .sec04 .boxs li a {bottom: 40px;}
    .sec04 .quick_menu {
        width: 100%;
        display: flex;
        gap: 40px;
    }
    .sec04 .quick_menu .left {
        float: none;
    margin-left: -20px;
    }
    .sec04 .quick_menu .right a {
        width: 230px;
    }
}
@media all and (max-width:768px) {
    .sec04 .tit h3 {
        font-size: 26px;
    }
    .sec04 .tit h3 b {
        font-size: 34px;
    }
    .sec04 .tit h3 b:before {
        display: none;
    }
    .sec04 .tit p {
        font-size: 14px;
    }
    .sec04 .boxs {
        width: 100%;
    }
    .sec04 .boxs ul {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0;
    }
    .sec04 .boxs li {
        float: none;
        margin: 0;
        width: 100%;
    }
    .sec04 .quick_menu {
        width: 100%;
        margin-top: 20px;
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }
    .sec04 .quick_menu .left {
        float: none;
        text-align: center;
    margin-left: -20px;
    }
    .sec04 .quick_menu .right a {
        font-size: 14px;
        line-height: 40px;
        margin-bottom: 10px;
        width: 100%;
    }
    .sec04 .boxs li a {
        font-size: 16px;
    }
}

/* 섹션05 기타 */
.sec05 {background: url('/img/renewal/sec05-bg.jpg') center/cover no-repeat;}
.sec05 .notice {width: 1200px; height: 410px; margin: 0 auto; background-color: rgba(255,255,255,0.6); border-radius: 30px; padding: 60px; backdrop-filter: blur(8px);}
.sec05 .notice h3 {font-family: 'Jalnan', sans-serif; font-size: 40px; color: #000; text-align: center; margin-bottom: 30px; margin-top: 0;}
.sec05 .notice ul {border-top: 2px solid #222222;}
.sec05 .notice li {border-bottom: 1px solid #636363;}
.sec05 .notice li:after {content: ''; display: block; clear: both;}
.sec05 .notice li .left {float: left; width: 900px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.sec05 .notice li .left .tag {display: inline-block; width: 75px; line-height: 35px; background-color: #ff3f75; color: #fff; font-size: 14px; font-weight: 700; margin-right: 20px; text-align: center; border-radius: 50px;}
.sec05 .notice li .left a {font-size: 19px; color: #222; font-weight: 500; line-height: 70px;}
.sec05 .notice li .right {float: right;}
.sec05 .notice li .right p {font-size: 16px; color: #585858; font-weight: 500; line-height: 70px; margin-bottom: 0;}
.sec05 .boxs {width: 1200px; margin: 20px auto 0;}
.sec05 .boxs ul:after {clear: both; content: ''; display: block;}
.sec05 .boxs li {float: left; margin: 0 10px;}
.sec05 .boxs li:first-child {margin-left: 0;}
.sec05 .boxs li:last-child {margin-right: 0;}
.sec05 .boxs li a {display: inline-block; width: 285px; height: 230px; background-color: rgba(255,255,255,0.6); border-radius: 20px; backdrop-filter: blur(8px); text-align: center;}
.sec05 .boxs li a:hover {background-color: #ff3f75; border-radius: 0 20px 0 20px;}
.sec05 .boxs li a:hover h5, .sec05 .boxs li a:hover p {color: #fff;}
.sec05 .boxs li a h5 {font-family: 'Jalnan', sans-serif; color: #000; font-size: 26px; margin: 60px 0 25px 0;}
.sec05 .boxs li a p {font-size: 18px; color: #222; font-weight: 500; line-height: 1.6;}
@media all and (max-width:1500px) {
    .sec05 > .con {
        position: static;
        transform: none;
        padding: 120px 0;
    }
    .sec05 .notice {
        width: 100%;
        height: 100%;
    }
    .sec05 .notice li .left {
        width: auto;
        float: none;
    }
    .sec05 .notice li .left .tag {
        margin-right: 10px;
    }
    .sec05 .boxs {
        width: 100%;
    }
    .sec05 .boxs ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    .sec05 .boxs li {
        float: none;
        margin: 0;
    }
    .sec05 .boxs li a {
        width: 100%;
        height: 100%;
        padding: 30px 10px;
    }
    .sec05 .boxs li a h5 {
        margin: 0 0 10px;
    }
}
@media all and (max-width:768px)  {
    .sec05 > .con {
        padding: 80px 20px;
    }
    .sec05 .notice {
        width: 100%;
        height: 100%;
        padding: 30px 20px;
    }
    .sec05 .notice h3 {
        font-size: 26px;
        margin-bottom: 15px;
    }
    .sec05 .notice li {
        padding: 10px 0;
    }
    .sec05 .notice li .left {
        width: auto;
        float: none;
    }
    .sec05 .notice li .left .tag {
        margin-right: 10px;
    }
    .sec05 .notice li .left a {
        font-size: 14px;
        line-height: 2;
    }
    .sec05 .notice li .right p {
        font-size: 14px;
        line-height: 1.6;
    }
    .sec05 .boxs {
        width: 100%;
    }
    .sec05 .boxs ul {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .sec05 .boxs li {
        float: none;
        margin: 0;
    }
    .sec05 .boxs li a {
        width: 100%;
        height: 100%;
        padding: 30px 10px;
    }
    .sec05 .boxs li a h5 {
        font-size: 16px;
        margin: 0 0 10px;
    }
    .sec05 .boxs li a p {
        font-size: 14px;
        font-size: 14px;
    }
}

/* footer */
.footer {/* height: 150px; min-height: 250px; */ height: auto; min-height: auto;}
.footer .sponsor {width: 100%; /* height: 100px; */  background-color: #fff; border-top:1px solid #ddd;}
.footer .sponsor .wrap {width: 1200px; margin: 0 auto; height: 100px;}
.footer .sponsor .wrap:after {clear: both; content: ''; display: block;}
.footer .sponsor h5 {font-size: 22px; font-weight: 700; line-height: 100px; float: left; margin: 0px;}
.footer .sponsor .spon_slide {margin: 0 auto;}
.footer .sponsor .spon_slide > a {line-height: 100px;}
.footer .sponsor .slide_wrap {width: 1200px; padding: 26px 0; position: relative;}
.footer .sponsor .slide_wrap .bx-wrapper {max-width: 920px !important; position: static; padding-left: 15px;}
.footer .sponsor .slide_wrap .bx-wrapper .bx-controls-direction a {right: 0; border: 1px solid #ddd; width: 45px; height: 45px; top: 43%; z-index: 0;}
.footer .sponsor .slide_wrap .bx-wrapper .bx-controls-direction .bx-prev {right: 44px; left: auto; background: url('/img/renewal/spon-prev.png') center no-repeat;}
.footer .sponsor .slide_wrap .bx-wrapper .bx-controls-direction .bx-next {background: url('/img/renewal/spon-next.png') center no-repeat;}
.footer .copy {width: 100%; height: auto; background-color: #44464d; padding: 48px 0;}
.footer .copy .wrap {width: 1200px; margin: 0 auto; position: relative;}
.footer .copy p {font-size: 16px; font-weight: 300; color: #999; line-height: 1.6;}
.footer .copy p span {display: inline-block; width: 10px;}
.footer .copy p a {color: #999;}
.footer .copy .human {position: absolute; bottom: 0; right: 0; font-size: 16px; font-weight: 300; color: #999;}

@media all and (max-width:768px) {
    .footer .copy {
        height: auto;
        padding: 48px 20px;
    }
    .footer .copy .wrap {
        width: 100%;
    }
    .footer .copy p {
        font-size: 14px;
    }
    .footer .copy .human {
        position: static;
        font-size: 14px;
    }
}