.academy_banner{
    position: relative;
}
.academy_banner img{
    width: 100%;
}
.academy_banner .tit_box{
    position: absolute;
    top: 0; bottom: 0;
    left: var(--contents-side-padding-2);
    right: var(--contents-side-padding-2);
    display: flex;
    justify-content: end;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding: 40px 0;
}
.academy_banner .tit_box .tit{
    color: #FFF;
    text-align: left;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.44px;
}
.academy_banner .tit_box .sub_tit{
    color: #FFF;
    text-align: left;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: -0.32px;
}

.academy_basecamp{
    margin: 64px 7.24637% 32px;
}

.academy_basecamp h1{
    color: #000;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    line-height: 140%; /* 33.6px */
    letter-spacing: -0.48px;
    margin-bottom: 24px;
}

.academy_basecamp .swiper-container {
    width: 100%;
}
.academy_basecamp .swiper-container .swiper-wrapper{
    cursor: auto !important;
}

.academy_basecamp .swiper-container .swiper-slide .img_box img{
    width: 100%;
    height: auto;
}
.academy_basecamp .swiper-container .swiper-slide .desc{
    display: none;
    margin-top: 40px;
    text-align: center;
}
.academy_basecamp .swiper-container .swiper-slide .desc h3{
    font-size: 20px;
    font-weight: 700;
    line-height: 100%; /* 20px */
    letter-spacing: -0.4px;
    margin-bottom: 16px;
}
.academy_basecamp .swiper-container .swiper-slide .desc p{
    color: #666;
    font-size: 16px;
    font-weight: 500;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.32px;
}
.academy_basecamp .swiper-container .swiper-slide.swiper-slide-active .desc{
    display: block;
}

.academy_basecamp .swiper-container .swiper-button-prev,
.academy_basecamp .swiper-container .swiper-button-next{
    width: 19.2px;
    height: 19.2px;
}

.academy_basecamp .swiper-container .swiper-button-prev{
    background-image: url('//cdn.byn.kr/real/_data/academy/main/mo/btn_prev.svg');
    background-size: 100%;
    top: auto;
    bottom: 25px;
    left: 5.797101%;
}
.academy_basecamp .swiper-container .swiper-button-next{
    background-image: url('//cdn.byn.kr/real/_data/academy/main/mo/btn_next.svg');
    background-size: 100%;
    top: auto;
    bottom: 25px;
    right: 5.797101%;
}

.academy_basecamp .swiper-container .swiper-button-prev:after,
.academy_basecamp .swiper-container .swiper-button-next:after{content: '';}

.academy_basecamp .fade-up {
    opacity: 0;
    transform: translateY(50px);
    animation: fadeUp 0.3s ease-out forwards;
    animation-delay: 0.3s;
}

@keyframes fadeUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 주제별 진열 프로그램 */
.academy_display_subject{
    text-align: left;
    padding: 40px 0;
}
.academy_display_subject h1{
    font-size: 24px;
    font-weight: 700;
    line-height: 140%; /* 33.6px */
    letter-spacing: -0.48px;
    padding: 0 30px;
}

/* 키워드별 진열 프로그램 */
.academy_wrap .academy_display_keyword{
    display: flex;
    flex-direction: column;
    gap: 0 24px;
    padding: 40px 30px;

}
.academy_wrap .academy_display_keyword .keyword_info h1{
    font-family: Montserrat;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%; /* 33.6px */
    letter-spacing: -0.48px;
    margin-bottom: 24px;
}
.academy_wrap .academy_display_keyword .keyword_info .keyword_list{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 8px;
}
.academy_wrap .academy_display_keyword .keyword_info .keyword_list li{
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #D9D9D9;
    color: #4B4B4B;
    font-size: 16px;
    font-weight: 500;
    line-height: 100%; /* 20px */
    letter-spacing: -0.32px;
    cursor: pointer;
}
.academy_wrap .academy_display_keyword .keyword_info .keyword_list li.on{
    color: #FFF;
    background: #1E1E1E;
    border: 1px solid #1E1E1E;
    font-weight: 500;
}
.academy_wrap .academy_display_keyword .academy_program_list{
    margin: 40px 0;
    padding: 0;
}
.academy_wrap .academy_display_keyword .academy_program_list .contents{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 24px 10px;
    margin: 0;
}
.academy_wrap .academy_display_keyword .academy_program_list .academy_program{
    width: calc(50% - 5px); /* gap 보정: 10px / 2 */
}
.academy_wrap .academy_display_keyword .academy_program_list .academy_program .cnt_date > *{
    font-size: 12px;
}
.academy_wrap .academy_display_keyword .academy_program_list .academy_program .program_info .prg_type{
    font-size: 12px;
}
.academy_wrap .academy_display_keyword .academy_program_list .academy_program .thumb .deem p{
    font-size: 16px;
    letter-spacing: -0.32px;
}
.academy_wrap .academy_display_keyword .academy_program_list .academy_program .aca_event{
    color: #000;
    font-family: "NotoSansKR";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 14px */
    letter-spacing: -0.24px;
    padding: 8px;
    background: #EFEFEF;
    width: fit-content;
}
.academy_wrap .academy_display_keyword .academy_program_list .btn_more{
    display: none;
    width: 100%;
    padding: 20px 10px;
    justify-content: center;
    align-items: center;
    gap: 4px;
    border: 1px solid #D9D9D9;
    background: #FFF;
    color: #00000A;
    font-size: 16px;
    font-weight: 700;
    line-height: 100%; /* 18px */
    letter-spacing: -0.32px;
    cursor: pointer;
    margin-top: 40px;
}
.academy_wrap .academy_display_keyword .academy_program_list .btn_more.on{
    display: flex;
}

.academy_wrap .academy_program_list{
    margin-left: var(--contents-side-padding-2);
    padding-right: var(--contents-side-padding-2);
}

.academy_wrap .academy_program_list .swiper-wrapper{
    margin: 24px 0;
}

.academy_wrap .academy_program_list .academy_program .thumb{
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 4;
}

.academy_wrap .academy_program_list .academy_program .thumb .deem {
    position: absolute;
    width:100%;
    height:100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #FFF;
    gap: 8px;
}
.academy_wrap .academy_program_list .academy_program .thumb .deem p{
    color: #FFF;
    font-family: Montserrat;
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 28px */
    letter-spacing: -0.4px;
}
.academy_wrap .academy_program_list .academy_program .thumb .deem p.prg_start{
    font-family: Montserrat;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: -0.28px;
}

.academy_wrap .academy_program_list .academy_program .thumb img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.academy_wrap .academy_program_list .academy_program .icons{
    position: absolute;
    width: 100%;
    top: 0; left: 0;
    padding: 8px;
    display: flex;
    flex-direction: row;
    gap: 4px;
}
.academy_wrap .academy_program_list .academy_program .icons span{
    color: #000;
    font-family: "NotoSansKR";
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 14px */
    letter-spacing: -0.24px;
    padding: 8px;
    background: #FFF;
}
/* 모집예정 ,모집마감 */
.academy_wrap .academy_program_list .academy_program.st_2 .icons .aca_stat,
.academy_wrap .academy_program_list .academy_program.st_3 .icons .aca_stat{
    background: rgba(0, 0, 0, 0.50);
    color: #A3A3A3;
    border: none;
}

.academy_wrap .academy_program_list .academy_program .cnt_date{
    position: absolute;
    bottom: 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    width: 100%;
    padding: 16px 8px;
    background: rgba(0, 0, 0, 0.50);
}
.academy_wrap .academy_program_list .academy_program .cnt_date > *{
    font-family: 'Montserrat', 'NotoSansKR', sans-serif;
    color: #FFF;
    font-size: 14px;
}

.academy_wrap .academy_program_list .academy_program.st_2 .cnt_date > *,
.academy_wrap .academy_program_list .academy_program.st_3 .cnt_date > *{
    color: #A3A3A3;
}

.academy_wrap .academy_program_list .academy_program .program_info{
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 8px 16px 0;
}
.academy_wrap .academy_program_list .academy_program .program_info .prg_type{
    color: #666;
    font-family: "NotoSansKR";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 14px */
    letter-spacing: -0.32px;
}
.academy_wrap .academy_program_list .academy_program .program_info .prg_title{
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.32px;
    word-break: break-all;
}
.academy_wrap .academy_program_list .academy_program .program_info .prg_price{
    color: #000;
    font-family: Montserrat;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 16px */
    letter-spacing: -0.32px;
}
.academy_wrap .academy_program_list .swiper-pagination{
    width: calc(100% - var(--contents-side-padding-2));
    height: 2px;
    top: auto; bottom: 0;
}
.academy_wrap .academy_program_list .swiper-pagination .swiper-pagination-progressbar-fill{background: #000;}



/****************** START : 아카데미 상세 페이지 **************************/
.section {
    position:relative;
}

.section img {
    width: 100%;
}

.bottom_aca_bar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 200;
    width: 100%;
    height: 72px;
    border-top: 1px solid #D9D9D9;
    border-bottom: 1px solid #D9D9D9;
    background: #FFF;
}
.bottom_aca_bar .bar_box{
    width: 90vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
.bottom_aca_bar .rsv_txt .n_txt{
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 13px */
    letter-spacing: -1px;
}

.bottom_aca_bar .rsv_txt .red{
    color: #F00;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1px;
}
.bottom_aca_bar .aca_join_btn{
    display: flex;
    padding: 16px 50px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    background: #000;
    color: #FFF;
    font-size: 14px;
    font-weight: 500;
    line-height: 100%; /* 14px */
    letter-spacing: -1px;
}

.bottom_aca_bar .aca_join_btn.disabled {
    width: 100%;
    background: #D9D9D9;
    color: #FFF;
}

.aca-deem {
    top:0px;
    left:0px;
    position: fixed;
    width:100vw;
    height:100vh;
    background-color: white;
    z-index: 250;
}

.modal-box {
    width:100vw;
    height:100vh;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
}

.modal-box .modal-top .title {
    margin-top:60px;
    width:100%;
    color: black;
    height:24px;
    text-align: center;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
}

.modal-box .modal-top .sub-title {
    color: black;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.16px;
    width:100%;
    height:16px;
    margin-top: 14px;
    margin-bottom: 48px;
}

.modal-box .modal-top .sche_field {
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
    color: #252B42;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    height:24px;
    letter-spacing: 0.2px;
    font-family: "NotoSansKR";
}

.modal-box .modal-top .sche_field .point {
    color: #FF5C47;
}

.modal-box .modal-top .input_div {
    margin-top: 10px;
    width: 80vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
}

.modal-box .modal-top .input_div input[type=text] {
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    padding-left: 10px;
    border:1px solid #737373;
    width: 80vw;
    height: 50px;
    outline-color: black;
}

.modal-box .modal-top .input_div fieldset label {
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    margin: 5px 16px 5px 0;
    display: inline-block;
}

.modal-box .input_div.agree_box{
    display: flex;
    flex-direction: row;
    gap: 6px;
}

.modal-box .input_div.agree_box label{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.16px;
    word-break: break-word;
}
.modal-box .input_div.agree_box input[type=checkbox]{
    margin-top: 2px;
    background-size: 100%;
}

.modal-box .input_div.agree_box .sub_txt{
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.13px;
    margin-top: 6px;
    word-break: break-word;
}

.modal-box .btn-set {
    margin-top: 40px;
    width: 100%;
    display: flex;
    position: fixed;
    bottom: 0px;
}

.modal-box .btn-set .btn-close{
    color: #000;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    height:58px;
    width:50%;
    line-height: 58px;
    border: 1px solid #E8E8E8;
    cursor: pointer;
}

.modal-box .btn-set .btn-join{
    color: white;
    background-color: black;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    height:58px;
    width:50%;
    line-height: 58px;
    border: 1px solid black;
    cursor: pointer;
}

.section1 {
    width:100vw;
    position: relative;
}
.section1 .top_bg {
    position:absolute;
}

.section1 .top_bg img {
    width:100vw;
}

.section1 .text-box {
    position: absolute;
    z-index:50;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 20px;
    padding-bottom: 9.5952vh;
}

.section1 .text-box .top-text{
    width: 100vw;
    color: #FFF;
    text-align: center;
}

.section1 .text-box .top-text.txt-2 {
    color: #FFF;
    text-align: center;
    font-family: "NotoSansKR";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%; /* 22.4px */
    letter-spacing: -0.16px;
}

.section1 .text-box .top-text.txt-1 {
    color: #FFF;
    text-align: center;
    font-family: "NotoSansKR";
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 41.6px */
    letter-spacing: -0.32px;
}

.section1 .text-box .closed-icon {
    width:63px;
    height:22px;
    margin-left:auto;
    margin-right: auto;
    margin-bottom:2vh;
    color: #FFF;
    text-align: center;
    font-size: 10px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 10px */
    letter-spacing: -0.25px;
    padding: 6px 12px;
    border-radius: 2px;
    background-color:#F00000;
}

.detail_desc_wrap {
    margin-top:56px;
}

.detail_desc_wrap .title {
    width:100%;
    text-align: center;
    color: #000;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 52px */
    letter-spacing: -1px;
}

.detail_desc_wrap .desc_box {
    width:90vw;
    min-height:100px;
    margin-left: auto;
    margin-right: auto;
    margin-top:20px;
    border-top:1px solid #000;
    border-bottom:1px solid #000;
}

.detail_desc_wrap .desc_box .desc_row {
    display: flex;
    width:100%;
    border-bottom: 1px solid #D9D9D9;
    padding-top:20px;
    padding-bottom: 20px;
}

.detail_desc_wrap .desc_box .desc_row.no-line {
    border-bottom:none;
}

.detail_desc_wrap .desc_box .desc_row .head {
    display: flex;
    flex-direction: column;
    width:25%;
    justify-content: center;
}

.detail_desc_wrap .desc_box .desc_row .head div {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -1px;
}

.detail_desc_wrap .desc_box .desc_row .mid {
    display: flex;
    flex-direction: column;
    width:75%;
    justify-content: center;
}

.detail_desc_wrap .desc_box .desc_row .mid .main {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1px;
}

.detail_desc_wrap .desc_box .desc_row .mid .main span {
    color: #F00000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 14px;
    letter-spacing: -0.5px;
}

.detail_desc_wrap .desc_box .desc_row .mid .sub {
    color: #666;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -1px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub.mt5{
    margin-top: 5px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub.mt6{
    margin-top: 6px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub2 {
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -1px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub2.mt6{
    margin-top: 6px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub2.mt12{
    margin-top: 12px;
}

.detail_desc_wrap .desc_box .desc_row .mid .sub3.supplies {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub3.mt12{
    margin-top: 12px;
}

.detail_desc_wrap .desc_box .desc_row .mid .sub3 .req{
    display: flex;
    width: 50px;
    height: 24px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #FFF;
    background: #000;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    letter-spacing: -1px;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub3 .req.cho {
    background-color: #F6F6F6;
    color: #666;
}
.detail_desc_wrap .desc_box .desc_row .mid .sub3 .text {
    width: 80%;
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%; /* 16.9px */
    letter-spacing: -1px;
    word-break: break-word;
}

.detail_desc_wrap .desc_box .desc_row .mid .open_time_box {
    color: #000;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1px;
}

.detail_desc_wrap .desc_box .desc_row .mid .open_desc {
    margin-top: 6px;
    color: #666;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -1px;
}

.detail_desc_wrap .desc_box .desc_row .mid img {
    width: 100%;
}

.detail_desc_wrap .desc_box .desc_row .mid .level {
    display: flex;
    width: 50px;
    height: 24px;
    padding: 10px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border: 1px solid #999;
    background: #FFF;
    font-size: 12px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 12px */
    letter-spacing: -1px;
}

.section.notice {
    background-color: #444B52;
    min-height: 200px;
    overflow:hidden;
}

.section .notice_box {
    width:90vw;
    margin: 60px auto;
    text-align: left;
}

.section .notice_box div {
    color: white;
}

.section .notice_box .title {
    width: 100%;
    font-style: normal;
    font-weight: 700;
}

.section .notice_box .title.main {
    font-size: 20px;
    line-height: 100%; /* 32px */
    letter-spacing: -0.5px;
    text-align: center;
}

.section .notice_box .title.sub {
    margin-top:24px;
    display:flex;
}
.section .notice_box .title.sub .txt {
    margin-top: -1px;
    margin-left: 4px;
    font-size: 13px;
    line-height: 130%;
    letter-spacing: -0.5px;
}

.section .notice_box .description {
    margin-top: 8px;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: -0.5px;
}

.section.cs_info {
    padding-top:19px;
    padding-bottom:19px;
    background-color: #00000A;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 140% */
    letter-spacing: -0.5px;
}

/*현장 스케치*/
.prg_sketch {
    margin-top: 64px;
    width:100%;
    min-height:100px;
}

.prg_sketch .title {
    width:90vw;
    margin-left: auto;
    margin-right: auto;
    color: #13171C;
    text-align: center;
    font-family: "NotoSansKR";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 24px */
    letter-spacing: -1px;
}

.prg_sketch .sketch_box {
    overflow: hidden;
    background: url("//cdn.byn.kr/{{ $env }}/_data/academy/common/mo_line.png");
}

.prg_sketch .sketch_box .desc {
    margin-top: 40px;
    width:100%;
}

.prg_sketch .sketch_box .desc .title1 {
    color: #13171C;
    text-align: center;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 36.4px */
    letter-spacing: -1px;
}

.prg_sketch .sketch_box .desc .title2 {
    margin-top: 16px;
    color: #13171C;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 18px */
    letter-spacing: -1px;
}

.prg_sketch .sketch_box .desc .desc_box {
    margin-top:24px;
    color: #3D3D3D;
    text-align: center;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 21px */
    letter-spacing: -1px;
}

.prg_sketch .sketch_box .title_picture {
    margin-top: 40px;
    width: 90vw;
    margin-left: auto;
    margin-right: auto;
}

.prg_sketch .sketch_box .slide_swiper {
    margin-top:64px;
}
.prg_sketch .sketch_box .slide_swiper .swiper-wrapper {
    transition-timing-function: linear;
}

.prg_sketch .sketch_box .slide_swiper .swiper-wrapper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
}

/*타임테이블*/
.schedule_wrap{
    width: 100vw;
    background: #F6F6F6;
    margin-top: 56px;
}
.section .time_tbl {
    margin-left: auto;
    margin-right: auto;
    padding: 56px 0;
    width: 90vw;
    min-height: 80px;
}

.section .time_tbl .title {
    text-align: center;
    width:100%;
    color: #000;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 52px */
    letter-spacing: -1px;
}

.section .time_tbl .schedule_box {
    margin-top: 20px;
    width:100%;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.section .time_tbl .schedule_box .top_desc {
    width:100%;
    color: #FFF;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 40px;
    letter-spacing: -0.5px;
    background-color: #87929C;
    text-align: center;
    height:40px;
}

.section .time_tbl .schedule_box .timeline {
    width:100%;
    display: flex;
    text-align: center;
    background: #FFF;
    border-bottom: 1px solid #D9D9D9;
}
.section .time_tbl .schedule_box .timeline._head{
    background: #ADADAD;
}
.section .time_tbl .schedule_box .timeline._head > div{
    color: #FFF;
    font-weight: 700;
}

.section .time_tbl .schedule_box .timeline.back {
    border: 3px solid #0044C8;
}

.section .time_tbl .schedule_box .timeline .round {
    width:15%;
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -0.13px;
    height:36px;
}

.section .time_tbl .schedule_box .timeline .left {
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -0.13px;
    height:36px;
    width:42.5%;
    border-right: 1px solid #D9D9d9;
    border-left: 1px solid #D9D9d9;
}
.section .time_tbl .schedule_box .timeline .right {
    color: #000;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -0.13px;
    height:36px;
    width:42.5%;

}

.section .time_tbl .schedule_box .timeline .round.end {
    color:#DCDCDC;
    border:1px solid #F9FAFB;
}
.section .time_tbl .schedule_box .timeline .left.end {
    color:#DCDCDC;
    border:1px solid #F9FAFB;
}
.section .time_tbl .schedule_box .timeline .right.end {
    color:#DCDCDC;
    border:1px solid #F9FAFB;
}
.section .time_tbl .schedule_notice{
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 16px;
    text-align: left;
    padding-left: 8px;
}
.section .time_tbl .schedule_notice li{
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    color: #666;
    font-weight: 400;
    font-size: 13px;
    line-height: 160%; /* 175% */
    letter-spacing: -0.3px;
    word-break: break-word;
    position: relative;
    padding-left: 12px;
}
.section .time_tbl .schedule_notice li::before{
    content: '';
    display: block;
    border-radius: 50%;
    position: absolute;
    top: 11px;
    left: 0;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 8px;
    width: 3px;
    height: 3px;
    background: #666;
}

/*타임테이블 끝*/
.aca_box *{
    font-family: 'NotoSansKR', 'Montserrat', sans-serif;
}

.aca_box .goods_title{
    text-align: center;
    width: 100%;
    color: #000;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    letter-spacing: -1px;
}
.aca_box .goods_data{
    display: flex;
    flex-direction: row;
    margin: 20px auto 0 auto;
    flex-wrap: wrap;
    gap: 40px;
    width: 90vw;
}
.aca_box .goods_data li{
    width: 100%;
}
.aca_box .goods_data li img{
    width: 100%;
}
.aca_box .section.mt80{
    margin-top: 80px;
}
.aca_box .section.mt56{
    margin-top: 56px;
}

/*유의사항 & 취소환불규정*/
.cancel_rule{
    padding: 56px 0;
    background: #333;
}
.prg_notice_wrap{
    width: 90vw;
    margin: 0 auto;
}

.prg_notice_wrap .title.main{
    color: #3C3C3C;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 24px */
    letter-spacing: -1px;
    padding-bottom: 24px;
    border-bottom: 1px solid #999;
}
.cancel_rule .prg_notice_wrap .title.main,
.cancel_rule .prg_notice_wrap .title.sub{
    color: #FFF;
}
.prg_notice_wrap .title.sub{
    color: #3C3C3C;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; /* 16px */
    letter-spacing: -1px;
    margin-top: 24px;
    margin-bottom: 12px;
}
.prg_notice_wrap .description{
    padding-left: 9px;
}
.prg_notice_wrap .description li{
    position: relative;
    display: flex;
    flex-direction: row;
    align-items: center;
    color: #888;
    font-size: 13px;
    font-weight: 400;
    line-height: 160%; /* 175% */
    letter-spacing: -1px;
    padding-left: 12px;
}
.prg_notice_wrap .description li::before{
    content: '';
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 7.5px;
    width: 3px;
    height: 3px;
    background: #999;
}
.prg_notice_wrap .description.description-num li{
    padding-left: 0px;
}
.prg_notice_wrap .description.description-num li::before{
    border: none;
    width: 0;
    height: 0;
}
.prg_notice_wrap .cs_info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding:20px;
    background-color: #111;
}
.prg_notice_wrap .cs_info span{
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -1px;
}
.prg_notice_wrap .cs_info span:last-child{
    font-weight: 500;
}
.prg_notice_wrap .cs_info span a[href^="tel"] {
    font-size: inherit !important;
    font-family: inherit !important;
    font-variant-numeric: tabular-nums !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* 아카데미 내 프로모션 상품 */
.aca_box_prd{
    margin: 56px auto;
    text-align: center;
}
.aca_box_prd .prd_wrap_inner{
    width: 90vw;
}

.aca_box_prd .prd_tit{
    color: #000;
    font-size: 24px;
    font-weight: 700;
    line-height: 130%; /* 31.2px */
    letter-spacing: -1px;
}

.aca_box_prd .prd_basic{
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    row-gap: 24px;
    margin-top: 20px;
}
.aca_box_prd .prd_basic li{
    padding: 0;
    margin: 0;
    width: calc(50% - 7.5px);
    box-sizing: border-box;
}
/*.aca_box .prd_basic li:nth-child(odd){
    margin-right: 15px;
}*/

.aca_box_prd .prd_basic .box .img{
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
}
.aca_box_prd .prd_basic .box .img img{
    width: 100%;
    height: 100% !important;
}
.aca_box_prd .prd_basic.col2 > li:nth-child(2n){
    padding: 0;
}

.aca_box_prd .prd_basic--alt {
    display: flex;
    flex-wrap: wrap;
    row-gap: 50px;
    column-gap: 14px;
    padding: 0;
    list-style: none;
}
.aca_box_prd .prd_basic--alt li{
    width: calc(50% - 7px);
    box-sizing: border-box;
    padding-bottom: 0;
}
.aca_box_prd .prd_basic--alt .box .img{
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
}
.aca_box_prd .prd_basic--alt .box .img .prdimg img{
    width: 100%;
    height: auto !important;
    aspect-ratio: 1 / 1;
}
.aca_box_prd .prd_basic--alt .box .img .wish{
    top: 5px;
    right: 5px;
}
.aca_box_prd .prd_basic--alt .box .img .wish a{
    width: 30px;
    height: 30px;
}
.aca_box_prd .prd_basic--alt .box .img .icon{
    top: 5px;
    left: 5px;
    width: 30px;
    display: flex;
    flex-direction: column;
    row-gap: 5px;
}
.aca_box_prd .prd_basic--alt .box .img img{
    width: 100% !important;
    aspect-ratio: 1 / 1;
    margin: 0;
}
.aca_box_prd .prd_basic--alt .box .info{
    padding-left: 4px;
}
.aca_box_prd .prd_basic--alt .box .info .name{
    padding-top: 16px;
}
.aca_box_prd .prd_basic--alt .box .info .name a{
    color: #000;
    font-family: "NotoSansKR";
    font-size: 13px;
    font-weight: 500;
    line-height: 130%; /* 16.9px */
    word-break: break-all;
}

.aca_box_prd .prd_basic--alt .box .info > .price{
    margin-top: 16px;
    padding: 0;
}
.aca_box_prd .prd_basic--alt .box .info .price p.consumer{
    display: block;
    color: #979797;
    font-family: Montserrat;
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-bottom: 2px;
}
.aca_box_prd .prd_basic--alt .box .info .price .percent{
    margin: 0 4px 0 0;
    color: #FF5C47;
    font-family: Montserrat;
    font-size: 15px;
    font-weight: 400;
    line-height: normal;
}

.aca_box_prd .prd_basic--alt .box .info .price p.sell strong{
    color: #000;
    font-family: Montserrat;
    font-size: 15px;
    font-weight: 600;
    line-height: normal;
}
.aca_box_prd .prd_basic--alt .box .info .price p.discount strong{
    color: #000;
    font-family: Montserrat;
    font-size: 14px;
    font-weight: 600;
    line-height: normal;
}
.aca_box_prd .prd_basic--alt .box .info .member_price{
    margin-top: 6px;
    padding: 0;
}
.aca_box_prd .prd_basic--alt .box .info .member_price .txt{
    color: #000;
    font-size: 13px;
    font-family: "NotoSansKR";
    font-style: normal;
    font-weight: 400;
    line-height: 13px; /* 100% */
    letter-spacing: -1px;
}
.aca_box_prd .prd_basic--alt .box .info .member_price .price{
    color: #FF5C47;
    font-family: Montserrat;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}
.aca_box_prd .prd_basic--alt .box .info .badge-info{
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.aca_box_prd .prd_basic--alt .box .info .badge-info span{
    color: #8F8F8F;
    font-family: "NotoSansKR";
    font-size: 10px;
    font-weight: 500;
    line-height: 100%; /* 10px */
    letter-spacing: -0.5px;
    padding: 4px;
    border: 1px solid #ccc;
}
.aca_box_prd .prd_basic--alt .box .item-desc{
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-top: 16px;
    color: #666 !important;
}

.aca_box_prd .prd_basic--alt .box .info .item_save_point::before{
    content: "";
    margin: 0 8px;
    background: #D2D2D2;
    width: 1px;
    height: 10px;
    display: inline-block;
    vertical-align: top;
}
.aca_box_prd .prd_basic--alt .box .info .item_save_point{
    margin: 0 !important;
    color: #666 !important;
    font-family: Montserrat;
    font-size: 12px !important;
    font-weight: 500;
    line-height: 12px;
}

/*후기 관련 css*/
.wrap_section_bar {
    width:100%;
    border-bottom: 1px solid #B8B8B8;
}
#section_con_3{
    border: none;
}
.wrap_section_bar .section_bar {
    display: flex;
    justify-content: center;
    width: 100%;
    gap: 40px;
}

.wrap_section_bar .section_bar .bar_menu {
    text-align: center;
    color: #999;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%; /* 16px */
    letter-spacing: -1px;
    cursor:pointer;
    padding: 32px 0 16px 0;
}

.wrap_section_bar .section_bar .bar_menu.r_line {
    border-right: 1px solid #666;
}

.wrap_section_bar .section_bar .bar_menu.active {
    color: black;
    font-weight: 700;
    border-bottom: 4px solid #000;
}
.crema-product-reviews {
    text-align: center;
    width:90vw;
    margin: 56px auto 0 auto;
}

.academy_event_modal {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    z-index: 9999;
}
.academy_event_modal .modal_content{
    position: relative;
    width: 90%;
    margin: 0 auto;
}
.academy_event_modal .modal_content img{
    width: 100%;
}
.academy_event_modal .modal_content span {
    position: absolute;
    top: 0;
    width: 40px;
    height: 40px;
    right: 0;
}

.aca_box .section1 .deem{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
}
.aca_box .desc_box{position: relative;}
.aca_box .desc_box .video_box{
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 55.324481%;
}
.aca_box .desc_box .video_box iframe {
    width: 100%;
    height: 100%;
}