/*공통 클래스*/
body.off{
    height:100vh;
    overflow:hidden;
}

.row{
    display:flex;
    align-items: center;
}

.ls-02{
    letter-spacing: -0.02em;
}

.img-center{
    margin:0 auto;
}


.wrap{
    width: 100%;
    max-width: 650px;
    margin:0 auto;
    position: relative;
}

.video-wrap video{
    position: absolute;
    display: block;
    width: 100%;
    height:100%;
    top:0;
    left:0;
    object-fit: cover;
}

/*인트로 섹션 */
.intro-section{
    position: relative;
    padding:8.75vh 0 12.5vh;
    background-color: #fff;
    height: calc(var(--vh, 1vh) * 100);
    /* height: 100vh; */
}
.intro-section-container{
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    text-align: center;
}
.intro-section-container .logo{
    width: 100%;
}
.intro-section-container .logo .link-logo{
    display: block;
}
.intro-section-container .logo .link-logo img{
    width: 170px;
    height: auto;
}


.intro-title{
    font-size: 36px;
    line-height: 130%;
    color:#000;
    font-weight: 400;
    /* margin: 22.222% 0 4.44%; */
    margin: 10vh 0 2vh;
}

.intro-video{
    width: 100%;
    position: relative;
    /* padding-bottom: 48.333%; */
    padding-bottom: 55.333%;
 
}

.move-btn-wrap{
    position: absolute;
    left:50%;
    /* bottom:32px; */
    bottom:6vh;
    transform: translateX(-50%);
    animation: upDown 1s ease-in-out infinite;
}

.move-btn-wrap svg g path {
    fill: rgb(218, 217, 222)
}

@keyframes upDown{
    0% {transform: translate3d(-50%,0,0)}
    100% {transform: translate3d(-50%,-16px,0)}
}

.main-section{
    z-index: 2;
    position: relative;
    width: 100%;
    /* background:#0E0B0E */
}
.main-section-container{
    position: relative;
    height: calc(var(--vh, 1vh) * 180);
}

/*메인 스크롤 이벤트 섹션 */
.main-background-scroll{
    position: sticky;
    top:0;
    bottom: 0;
    /* height: 100vh; */
    height: calc(var(--vh, 1vh) * 100);
    overflow: hidden;
    z-index: 0;
}

.main-background{
    position: absolute;
    top:0;
    left:0;
    height: 100%;
    width: 100%;
    opacity:0;
    transition: opacity 1s;
    z-index: 0;
}

.main-background img{
    position: absolute;
    top: 0;
    left: 0;
    /* top:-14.3%; */
    /* right:-40%; */
    width: auto;
    height: 100%;
    object-fit: cover;
    /* transform:translateX(-47%); */
    /* transform: scale(1.4); */
}
.main-background.active{
    opacity:1;
}
.main-background::after{
    content:'';
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left:0;
    background:linear-gradient(180deg, rgba(0, 0, 0, 0) 20.51%, #101010 100%, #101010 100%);
    /* background:linear-gradient(180deg, rgba(0, 0, 0, 0) 45.51%, #101010 100%, #101010 100%); */

}

.main-text-scroll{
    margin-top: calc(var(--vh, 1vh) * -100);
}
.text-wrap{
    padding-top: 25vh;
}

.text{
    text-align: center;
    margin-top: 22.5vh;
    position: relative;
}
.text-wrap:last-of-type .text{
    margin-top: 50vh;
}

.text01{
    font-family: "Porsche-Next-Korean", sans-serif;
}
.text01 h3{
    font-weight: 700;
    font-size: 32px;
    line-height: 160%;
    color:#ffffff;
    opacity: 0.6;
    letter-spacing: -0.02em;
    margin-bottom: 1.111%;
    transition: opacity .3s;
}
.text01 h3:last-of-type{
    margin-bottom: 60px;
}
.text01 p.text01-desc{
    font-weight: 400;
    font-size: 17px;
    line-height: 170%;
    color:#ffffff;
    opacity: 0.4;
    /* width: 167px; */
    margin: 0 auto;
    transition: opacity .3s;
}
.text01 span{
    display: inline-block;
    margin-top: 16px;
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    color:#ffffff;
    opacity: 0.3;
    transition: opacity .3s;
}


/*대회 안내 */

.info-section{
    z-index: 1;
    position: relative;
    padding: 22.22% 6.667%;
    background: #fff;
    /* margin-top: -157px; */
}
.ladies-logo-wrap{
    width: 35%;
   margin: 0 auto;
}
.ladies-logo-wrap img{
    width: 100%;
}  

/* .info-section .info-wrap{
    margin-top: 20%;
} */
.info-title{
    width: 100%;
    border-bottom: 2px solid #000;
    /* border-bottom: 2px solid #737278; */
    padding-bottom: 7.6923%;
    text-align: center;
}
.info-title h3{
    /* color: #DAD9DE; */
    color: #000;
    font-size: 30px;
    font-weight: 700;
    line-height: 160%;
}
.info-list{
    padding: 9.6153% 0;
    border-bottom: 1px solid #000;
    /* border-bottom: 1px solid #353439; */
    font-weight: 400;
    line-height: 160%;
    letter-spacing: -0.02em;
}

.info-list .info-list-title{
    font-size: 15px;
    color: #000;
    /* color: #737278; */
    margin-bottom: 2px;
}

.info-list .info-list-desc{
    font-size: 18px;
    color: #000;
    /* color: #DAD9DE; */
}

.info-notice{
    font-size: 14px;
    line-height: 150%;
    color: #000;
    /* color: #737278; */
    margin-top: 9.615%;
}

/*메모리 섹션 */
.memory-section{
    padding: 27.778% 0 22.222%;
    text-align: center;
}
.memory-section .memory-title{
    font-size: 32px;
    font-weight: 400;
    line-height: 130%;
    color: #2B2B2B;
}
.memory-section .memory-title:last-of-type{
    font-size: 32px;
    margin-top: 2px;
    margin-bottom: 32px;
}
.memory-box{
    margin-bottom: 33.33%;
}

.memory-video-box{
    width: 100%;
    position: relative;
    padding-bottom: 47.778%;
}
.taste-box-img{
    margin-top: 6.667%;
    width: 100%;
    overflow: hidden;
    padding-left: 6.805%;
}
.taste-box-img-container{
    width: 100%;
    /* overflow: hidden; */
}
.taste-box-img-container .img-wrap{
    display: flex;
}
.taste-box-img-container .img-wrap .img-list{
    position: relative;
    flex-shrink: 0;
    margin-right: 2.385%;
}
.taste-box-img-container .img-wrap .img-list::after{
    content: '';
    display: block;
}
.img-list.img-list01{
    width: 92.697%;
}
.img-list.img-list01::after{
    padding-bottom: 84.887%;
}

.img-list.img-list02{
    width: 84.054%;
}
.img-list.img-list02::after{
    padding-bottom: 93.617%;
}

.img-list.img-list05{
    width: 104.0238%;
}
.img-list.img-list05 img{
    object-position: left;
}
.img-list.img-list05::after{
    padding-bottom: 75.6447%;
}

.img-list.img-list03,
.img-list.img-list04,
.img-list.img-list06,
.img-list.img-list07,
.img-list.img-list08
{
    width: 118.032%;
}
.img-list.img-list03::after,
.img-list.img-list04::after,
.img-list.img-list06::after,
.img-list.img-list07::after,
.img-list.img-list08::after{
    padding-bottom: 66.667%;
}
.swiper-slide{
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
}

.img-wrap .img-list img{
    position: absolute;
    top:0;
    left:0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.slide-btn-box{
    width: 100%;
    margin-top: 16px;
}
.slide-btn-wrap{
    display: flex;
    gap:0 8px;
    justify-content: center;
}
.swiper-pagination-bullet{
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #B5B4BA;
}

.swiper-pagination-bullet-active{
    background: #403F45;
}


/* 참가 신청 */
.enter-section .enter-section-container{
    padding: 22.22% 6.667%;
}
.enter-title-box{
    padding-bottom: 7.692%;
    border-bottom: 1px solid #DAD9DE;
    text-align: center;
    margin-bottom: 12.82%;
}
.enter-title-box .enter-title{
    font-size: 28px;
    font-weight: 700;
    line-height: 160%;
    color: #2b2b2b;
}

.enter-form-box .form-label{
    font-size: 16px;
    color:#403F45;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -0.02em;
    margin-bottom: 4px;
}

.enter-form-box .input-box{
    display: block;
    width: 100%;
    padding:12px 16px;
    border:1px solid #DAD9DE;
    background: #F8F8F8;
    appearance: none;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 400;
    color: #2B2B2B;
    line-height: 160%;
}
.enter-form-box .input-box::placeholder{
    color: #B5B4BA;
}
.enter-form-box .input-box.receipt-num.stop{
    color: #737278;
}
.enter-form-box .input-box.receipt-num.on::placeholder{
    color: #2B2B2B;
}
.enter-form-box .input-box:focus{
    border-color: #737278;
}
.enter-form-box form div.mb-30{
    margin-bottom: 7.61px;
    /* margin-bottom: 9.615%; */
}
.enter-form-box form div.mb-20{
    margin-bottom: 7.61px;
    /* margin-bottom: 6.41%; */
}
.enter-form-box .enter-notice-box.mb-30{
    margin: 30px 0;
}
.phone-box{
    margin-top: 30px;
}

/*form 에러*/
.enter-form-box .input-box.error{
    border: 1px solid #D51730;
}

.invaild-error{
    margin-top: 4px;
    color:#D41730;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    opacity: 0;
    font-family: "Porsche-Next-Korean", sans-serif;
}
.invaild-error.error{
    opacity: 1;
}
.handycap-box .invaild-error{
    margin-top: 4px;
}
.enter-form-box .form-coment{
    font-weight: 400;
    font-size: 14px;
    line-height: 160%;
    color:#737278;
    margin-top: 4px;
}

.gender-radio-wrap{
    justify-content: space-between;
}
.form_radio_btn{
    width: 48.718%;
    text-align:center;
}

.form_radio_btn input[type=radio]{
    display: none;
}
.form_radio_btn label{
    display: block;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.02em;
    padding:16px 0;
    background: #FFFFFF;
    color: #B5B4BA;
    border: 1px solid #DAD9DE;
}

.form_radio_btn input[type=radio]:checked + label{
    background: #000;
    color: #FFFFFF;
    border-color:#000;
}
/*셀렉트 박스*/
.center-location-box,
.relation-box{
    position: relative;
}
.ceter-location-input{
    position: absolute;
    top:0;
    width: 0;
    height: 0;
    visibility: hidden;
    appearance: none;
    padding: 0;
}
.select-box{
    cursor: pointer;
    display: flex;
    width: 100%;
    padding:12px 14px 12px 16px;
    border:1px solid #DAD9DE;
    background: #F8F8F8;
    box-sizing: border-box;
    align-items: center;
}
.select-box.color{
    border-color: #737278;
}
.select-box.error{
    border-color: rgba(212, 23, 48, 1);
}
.select-text{
    font-size: 16px;
    font-weight: 400;
    color: #B5B4BA;
    line-height: 160%;
}
.select-text.on{
    color: #403F45;
}
.select-box .svg-wrap{
    width: 24px;
    height: 24px;
    margin-left: auto;
}
.select-box.on + .select-box-dropdown{
    display: block;
}
.select-box-dropdown{
    position: absolute;
    display: none;
    width: 100%;
    background: #FFFFFF;
    border:1px solid #DAD9DE;
    border-top: none;
    z-index: 10;
}

.select-box-dropdown .select-list{
    padding: 12px 16px;
    font-family: "Porsche-Next-Korean", sans-serif;
    font-size: 16px;
    line-height: 160%;
    font-weight: 400;
    color: #403F45;
}
.enter-notice-box{
    background-color: #F4F4F4;
    padding: 5.128%;
}
.enter-notice-box .enter-notice-title{
    font-size: 14px;
    font-weight: 700;
    line-height: 160%;
    color:#2B2B2B;
    /* margin-bottom: 4.487%; */
    margin-bottom: 14px;
}
.enter-notice-box .enter-notice-text{
    display: flex;
    font-size: 14px;
    font-weight: 400;
    line-height: 170%;
    color: #403F45;
    word-break: break-all;
}

.enter-notice-box .enter-notice-text::before{
    content:'•';
    display: inline-block;
    padding:0 4px;
}

/*현금 영수증*/
.cash-radio-wrap:first-of-type{
    margin-top: 10px;
}
.cash-radio-wrap.space{
    margin-top: 10px;
    margin-bottom: 12px;
}
/*커스텀 체크*/
.custom-chk{
    width: 0;
    margin: 0;
    visibility: hidden;
}

.form-check-label{
    width: fit-content;
    display: inline-flex;
    align-items: center;
}
input.custom-chk + label .custorm-chk{
    width: 24px;
    height: 24px;
    position: relative;
    vertical-align: middle;
    margin-right: 8px;
}
input.custom-chk + label svg:nth-child(2){
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}
input.custom-chk + label span{
    font-size: 15px;
    font-weight: 400;
    line-height: 160%;
    color: #403F45;
    transform: translateY(1px);
}
input.custom-chk:checked + label .custorm-chk svg:nth-child(1){
    fill:#313639;
}
input.custom-chk:checked + label .custorm-chk svg:nth-child(1) rect{
    stroke:#313639;
}

/*개인정보 박스 에러*/
.form-agree-box input[type=checkbox].error + label .custorm-chk svg:nth-child(1) rect{
    stroke:#D41730;
}


.form-agree-box .privacy-more-btn{
    cursor: pointer;
    display: block;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    color: #B5B4BA;
    text-decoration: underline;
    background: transparent;
    margin-left: 8px;
    padding-bottom: 4px;
}

.form-enter-btn{
    display: block;
    width: 100%;
    height: 56px;
    background: #313639;
    font-size: 18px;
    font-weight: 700;
    line-height: 160%;
    color: #ffffff;
    cursor: pointer;
    margin-top: 10px;
}


/* 푸터 */
footer{
    background: #fff;
    /* background: #0E0B0E; */
}

.footer-notice-container{
    padding: 13.333% 6.667% 16.39%;
    color: #000;
    /* color: #DAD9DE; */
    font-size: 14px;
}

.footer-notice-container h4{
    font-weight: 700;
    margin-bottom: 14px;
}
.footer-notice-box{
    margin-bottom: 10.256%;
}
.footer-notice-list{
    font-weight: 400;
    line-height: 170%;
    letter-spacing: -0.02em;
    display: flex;
}
.footer-notice-list:not(:last-child){
    /* margin-bottom: 7.69%; */
    margin-bottom: 24px;
}
.footer-notice-list::before{
    display:inline-block;
    content:'•';
    padding:0 4px;
}
.footer-notice-container .service-btn{
    width: 100%;
    background: #222222;
    cursor: pointer;
    font-size: 18px;
    color: #ffffff;
    font-weight: 700;
    padding: 14.5px;
    justify-content: center;
    line-height: 160%;
}

.footer-notice-container .service-btn img{
    display: block;
    margin-right: 8px;
}

footer .link-box .link-list{
    width: 100%;
    border-bottom:1px solid #403F45;

}
footer .link-box .link-list:first-of-type{
    border-top:1px solid #403F45;
}
footer .link-box .link-list .link-box{
    width: 100%;
    padding: 4.44% 7.78%;
    color: #000;
}
.link-list .link-box .link-icon{
    margin-right: 16px;
}
.link-list .link-box .link-icon .kakao-icn{
    width: 24px;
    height: 24px;
}
.link-list .link-box .link-title{
    font-weight: 700;
    line-height: 160%;
    font-size: 16px;
}
.link-list .link-box .arrow-icon{
    margin-left: auto;
}

.footer-logo-box{
    flex-direction: column;
    justify-content: center;
    padding: 31.39% 0;
}

.footer-logo-box .logo-wrap img{
    width: 170px;
    height:auto;
}


.footer-logo-box .logo-text-box{
    margin-top: 5.555%;
    padding-top:5.56%;
    border-top: 1px solid #403F45;
    color: #FFFFFF;
    text-align: center;
}
.footer-logo-box .logo-text-box .logo-box-title{
    font-size: 40px;
    line-height: 130%;
    font-weight: 700;
    text-align: center;
}
.footer-logo-box .logo-text-box .logo-box-title .logo-box-text{
    font-size: 14px;
    font-weight: 400;
}

/*모달 공통 스타일*/
.modal{
    z-index: 10;
    display: none;
    position: fixed;
    top:50%;
    left:50%;
    width: 100%;
    max-width: 650px;
    /* height: 100vh; */
    height: calc(var(--vh, 1vh) * 100);
    transform: translate(-50%,-50%);
    background-color: rgba(0,0,0,0.4);
}
.modal.privacy-modal{
    display: none;
}
.modal.apply-confirm{
    display: none;
}
.modal.apply-reject{
    display: block;
}


.modal-container{
    width: 87.22%;
    background: #FFFFFF;
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
.modal-footer{
    width: 100%;
}
.modal-close-btn,
.apply-modal-btn{
    width: 100%;
    cursor: pointer;
    text-align: center;
    padding: 14.5px 0;
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    background-color: #313639;
}

/*개인 정보 모달*/
.privacy-modal-container{
    padding: 10.19% 7.643% 7.643%;
}
.privacy-modal-content{
    width: 100%;
}
.privacy-modal-header{
    width: 100%;
    padding-bottom: 3.007%;
    border-bottom: 1px solid #403F45;
}
.privacy-modal-header .modal-title{
    font-size: 18px;
    font-weight: 700;
    line-height: 160%;
    color: #403F45;
}
.privacy-modal-body{
    font-family: "Porsche-Next-Korean", sans-serif;
    margin: 9.0225% 0;
    word-break: break-all;
}
.privacy-info{
    font-size: 14px;
    line-height: 170%;
    letter-spacing: -0.02em;
    color: #403F45;
    font-weight: 400;
}
.privacy-info.info-01{
    margin-bottom: 7.5187%;
}
.privacy-info-title{
    font-weight: 700;
}

/*신청 모달*/
.apply-modal-container{
    padding: 32px 24px 24px;
    
}

.apply-modal-content{
    width: 100%;
}
.apply-modal-header{
    padding-bottom: 3.7235%;
    border-bottom: 1px solid #737278;
}
.apply-modal-header img{
    width: 140px;
}
.apply-modal-body{
    font-family: "Porsche-Next-Korean", sans-serif;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.apply-modal-body .apply-info-title{
    font-size: 28px;
    line-height: 150%;
    font-weight: 700;
    color: #141414;
    margin: 32px 0 24px;
}
.apply-modal-body .apply-info-text{
    font-size: 17px;
    font-weight: 400;
    line-height: 160%;
    letter-spacing: -0.02em;
    color: #403F45;
    max-width: 280px;
}

.apply-modal-body .apply-info-text b{
    display: block;
    margin-bottom: 10px;
}

.apply-modal-body .apply-info-text:last-of-type{
    font-size: 15px;
    line-height: 150%;
}

.apply-confirm .apply-modal-body .apply-info-text:nth-child(3){
    margin:20px 0;
}
.apply-confirm .apply-modal-body .apply-info-text:nth-child(5){
    margin:32px 0 6.1789%;
}

.apply-reject .apply-modal-body .apply-info-text:last-of-type{
    margin:20px 0 32px;
}

.apply-modal-body .memory-box{
    margin-bottom: 20%;
}
.apply-modal-body .memory-title{
    font-size: 28px;
    font-weight: 400;
    line-height: 130%;
    color: #2B2B2B;
}
.apply-modal-body  .memory-video-box{
    margin-top: 6.667%;
}

/*팝업 연결 비디오 페이지 */
.video-section{
    background-color: #0E0B0E;
    /* height: 100vh; */
    padding: 7.75vh 0 12vh;
}
.video-section .video-section-container{
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.video-section .video-section-container .video-title{
    font-size: 30px;
    line-height: 130%;
    color: #ffffff;
    font-weight: 400;
    text-align: center;
    margin: 4vh 0 10vh;
}
.video-section .video-section-container .video-title:last-of-type{
    margin-bottom: 0;
}
.video-section .video-section-container .link-logo img{
    width: 123px;
    height: 62px;
}
.video-section .video-section-container .section-title{
    font-size: 20px;
    color: #ffffff;
    font-weight: 400;
    line-height: 130%;
    text-align: center;
    margin: 30px 0;
}

.video-section .footer-logo-box{
    padding:15% 0 0;
}

.br-pc {
    display: none;
}

@media all and (min-width: 550px) {
    .br-mo {
        display: none;
    }
    .br-pc {
        display: block;
    }
    .apply-modal.apply-confirm .apply-modal-header img{
        width: 45%;
    }

    .apply-modal-body .apply-info-text {
        max-width: unset;
    }

    .main-background img {
        width: 100%;
    }
  
}