/* ticket reservation */
.reservation_tab { padding: 0 40px; margin: 0 auto; width: 600px; cursor: default; }
.reservation-section { border-top: solid 1px #000000; padding: 40px 0; }
.reservation-section-title { font-size: 30px; font-weight: bold;}
.privacy_area { margin: 40px 0;}
@media (max-width:768px){
    .reservation_tab { padding: 0 20px; width: 85% }
    .reservation-section { padding: 20px 0; }
    .reservation-section-title { font-size: 20px;}
    .privacy_area { margin: 20px 0; font-size: 13px; }
}

.figures_area {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin: 25px 10px;
}
.info-title{
    margin-top: 20px;
    margin-bottom: 10px;
}
.info-sub-title {
    margin-left: 10px;
}
.info-text {
    margin-left: 15px;
    font-size: 13px;
    line-height: 23px;
}
.counter_box {
    width: 35%;
    display: flex;
    flex-shrink: 0;
    -webkit-box-pack: justify;
    justify-content: space-between;
}
.counter_btn {
    border: solid 1px black;
    width: 40px;
    height: 40px;
    border-radius: 19px;
    text-align: center;
    margin: auto;
}
.counter_text {
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 40px;
}
.info-price {
    font-weight: bold;
}
.total_area {
    font-size: 25px;
    margin-top: 30px;
    font-weight: bolder;
}

.reservation-title {
    margin: 10px;
}
.common_text {
    width: 520px;
    border-bottom: solid 1px #b3b3b3;
    padding: 10px;
}
.common_text::placeholder {
    color: #bebebe;
}
.common_text:invalid{
    color: #d83946;
}
.twin_text {
    width: 240px;
    border-bottom: solid 1px #b3b3b3;
    padding: 10px;
    margin-right: 10px;
}
.twin_text::placeholder {
    color: #bebebe;
}
.twin_text:invalid{
    color: #d83946;
}
.phone_text {
    width: 420px;
    border-bottom: solid 1px #b3b3b3;
    padding: 10px;
}
.phone_text::placeholder {
    color: #bebebe;
}
.phone_text:invalid{
    color: #d83946;
}
.phone_selectbox {
    width: 100px;
    height: 42px;
    border-bottom: solid 1px #b3b3b3;
    padding: 0 10px;
    background: url(../../images/icon_select_arrow.svg) no-repeat right 0 center;
}
.phone_selectbox::placeholder {
    color: #bebebe;
}
.paymethod_area {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    margin: 20px auto;
}
.paymethod_area .payment-radio-list{
    width: 100%;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
.reservation-radio-img {
    display: block;
    height: 26px;
    object-fit: cover;
}
.reservation-radio-icon {
    display: block;
    height: 15px;
    width: 15px;
    border: 1px solid #bebebe;
    margin: 10px auto;
    border-radius: 15px;
}
.reservation-radio:checked + label .reservation-radio-icon {
    border-color: #111;
    background: url(../../images/icon_input_checked.svg) no-repeat center center #111
}
.term_text {
    font-size: 15px;
    font-weight: bold;
}
.term_popup_btn {
    border-bottom: solid 1px #111111;
    cursor: pointer;
}
@media (max-width:768px){
    .figures_area { width: 95%; margin: 10px 5px; font-size: 12px; }
    .info-title { margin-top: 10px; margin-bottom: 5px; }
    .info-sub-title { margin-left: 5px; }
    .info-text { margin-left: 10px; font-size: 11px; }
    .counter_box {  width: 35%; }
    .counter_btn { width:25px; height: 25px; margin: auto;}
    .total_area { font-size: 20px; }
    .reservation-title { margin: 3px auto;}
    .common_text { width: 90%; padding: 7px;}
    .twin_text { width: 90%; padding: 7px; margin-bottom: 5px;}
    .phone_selectbox { width: 20%; height: 30px }
    .phone_text { width: 70%; padding: 7px;}
    .term_text { font-size: 12px; }
    .reservation-radio-img { height: 20px; }
}

/* 결제 완료 */
.result_area {
    margin: 20px 0;
    line-height: 2;
}
.ticket-result {
    margin: 25px 10px;
    font-size: 20px;
}
.result_ticket_text {
    line-height: 1.5;
}

/* 결제 확인 */
.result-top {
    display: flex;
    justify-content: space-between;
    border-bottom: solid 1px #ccc;
    align-items: baseline;
    padding: 10px 0px;
}
.reservation-date {
    font-size: 28px;
}
.reservation-cancel {
    font-size: 15px;
    color: #bebebe;
    cursor: pointer;
}
.result-mid {
    margin: 15px auto;
}
.reservation-brand {
    font-size: 18px;
}
.reservation-exhibition {
    font-size: 28px;
    font-weight: bold;
    margin: 10px auto;
}
.exhibition_time {
    font-size: 13px;
    margin: 10px auto;
}
.ticket-total {
    margin: 15px;
    text-align: right;
    font-size: 25px;
    font-weight: bold;
}
.tap {
    white-space: pre;
}

/* 약관 */
.pub-popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
}
.dimBg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:#000;
    opacity:.5;
}
.pub-popup > .term-popup-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, -50%);
}

.term-popup-wrap {
    width: 600px;
    min-height: 600px;
    flex-grow: 0;
    padding:40px 35px;
    border: solid 1px #111;
    background-color: #fff;
}
.pub-popup > .cancel-popup-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, -50%);
}
.cancel-popup-wrap {
    width: 350px;
    min-height: 200px;
    flex-grow: 0;
    padding:40px 35px;
    border: solid 1px #111;
    background-color: #fff;
}
.popup-header {
    text-align: center!important;
}
.popup-title {
    float: none!important;
    display: inline-block!important;
    font-size: 35px;
}
.small_popup-title {
    float: none!important;
    display: inline-block!important;
    font-size: 30px;
}
.small_popup-contents {
    text-align: center;
}
.popup-header .btn-close {
    float: right;
    display: inline-block;
    margin-top:-10px;
    background-color: transparent;
    border: 0;
    outline: 0;
    cursor:pointer;
}

.popup-header .btn-close:after {
    display: inline-block;
    content: "\00d7";
    font-size: 45px;
}
.popup-body {
    margin-top: 35px;
}
.popup-body .terms-wrap {
    width: 500px;
    height: 500px;
    margin: auto;
    background-color: #f3f3f3;
}
.terms-box {
    width:500px;
    height:500px;
    position: relative;
    overflow-x: auto;
}
.terms-box .info-wrap {
    width: auto;
}
.terms-box .title {
    margin-top: 0;
    margin-bottom: 50px;
}
.terms-box .title__text {
    font-size: 22px;
}
.terms-box .info-tit {
    font-size: 18px;
}
.terms-box .join__desc {
    font-size: 15px;
}
.terms-box .floating-button {
    display: none;
}
.cancel-popup-btn-area {
    margin-top: 20px;
}
@media (max-width:768px) {
    .term-popup-wrap {
        width: 85%;
        min-height: 450px;
        padding: 25px 20px;
    }
    .popup-title {
        font-size: 22px;
    }
    .popup-body .terms-wrap {
        width: 100%;
        height: 100%;
    }
    .terms-box {
        width: 100%;
        height: 370px;
    }
    .terms-box .title__text {
        font-size: 18px;
    }
    .terms-box .info-tit {
        font-size: 15px;
    }
    .terms-box .join__desc {
        font-size: 13px;
    }
    .cancel-popup-wrap {
        width: 90%;
        padding: 30px 25px;
    }
    .cancel-popup-btn-area {
        margin: 20px auto;
        width: 80%;
    }
}



.login{padding:0 40px}
.login-wrap{margin:0 auto; padding-top:41px;width:588px}
.login-wrap .form-item+.button-wrap{margin-top:64px}
.login-wrap__button .social-login__button+.social-login__button{margin-left:24px}
.login-head{position:relative;background-color:#f7f5ff;padding:80px 40px;overflow:hidden}
.login-head__link{padding:0 30px;color:#999}
.login-head__link span{line-height:64px;display:inline-block}
.login-head__link.is-current{color:#111}
.login-head__link.is-current span{position:relative}
.login-head__link.is-current span:after{content:"";width:100%;height:4px;bottom:0;display:block;position:absolute;background-color:#111}
.login-head .a-input+.a-input{margin-top:32px}
.login-head .result{max-width:558px;margin:0 auto 40px;text-align:center}
.login-head .result__title{font-size:40px;font-weight:700}
.login-head .result__title+.result__message{margin-top:10px}
.login-head .result__message{font-size:20px;line-height:1.5;color:#666}
.login-head .result__description{margin-top:20px;font-size:18px;line-height:1.7222222222;color:#666}
.login-head .result i{display:block;margin:0 auto 40px;width:80px;height:80px}
.login-head .result i img{width:100%}
.login-head .highlight-box{margin-top:33px;padding:20px;font-size:24px;line-height:1.5416666667;font-weight:700}
.login__navigator{display:flex;justify-content:center;margin-top:-16px;height:64px}
.login__util{display:flex;justify-content:space-between;align-items:center;margin:20px 0 80px}
.login__link{position:relative;font-size:16px;color:#111}
.login__link--wrap{display:flex;align-items:center}
.login__link+.login__link{margin-left:25px}
.login__link+.login__link:before{content:"";position:absolute;top:50%;left:-13px;width:1px;height:9px;transform:translateY(-50%);background-color:#ccc}
.login__button-wrap{margin-top:64px;text-align:center}
.login__button-wrap .a-button{display:inline-block;max-width:384px}
.join-wrap{position:relative;margin:0 auto;padding-top:24px;width:588px}
.join-wrap--process{padding-top:4px;width:100%;max-width:792px}
.join-wrap+form{margin-top:82px}
.join__box+.join__box{margin-top:60px}
.join__box .a-button{font-weight:500}
.join__title{font-size:24px;font-weight:500}
.join__desc{margin:10px 0 20px;font-size:18px;line-height:1.6666666667;color:#666}
.mobile{display:none;}

.wrap {width: 100%; height: 400px; display: flex; flex-direction: column; align-items: center; justify-content: space-evenly;}
.payBtn {width: 85%; color: #fff; background-color: #000; padding: 25px 0; font-size: 1.2rem;}
.description {text-align: center;}

@media (max-width:768px){
    .login{padding:0 20px}
    .login-wrap{padding-top:10px;width:100%}
    .login-wrap .form-item+.button-wrap{margin-top:40px}
    .login-wrap__button{flex-direction:column}
    .login-wrap__button .social-login__button+.social-login__button{margin-top:16px;margin-left:0}
    .login-head{margin:0 -20px;padding:60px 20px}
    .login-head--fixed-height{height:440px;box-sizing:border-box}
    .login-head__link{padding:0 20px}
    .login-head__link span{line-height:58px}
    .login-head .result{margin:0 auto 20px;max-width:none}
    .login-head .result__title{font-size:24px;line-height:1.3333333333}
    .login-head .result__message{font-size:16px;line-height:1.6875}
    .login-head .result__description{font-size:16px;line-height:1.6875}
    .login-head .result i{margin:0 auto 20px;width:56px;height:56px}
    .login-head .highlight-box{margin-top:26px;font-size:18px}
    .login__navigator{margin-top:-10px;height:58px}
    .login__util{margin:24px 0 60px}
    .login__link{font-size:14px}
    .login__link+.login__link{margin-left:21px}
    .login__link+.login__link:before{left:-11px}
    .login__button-wrap{margin-top:40px}
    .login__button-wrap .a-button{max-width:none}
    .join-wrap{padding-top:10px;width:100%}
    .join-wrap--process{margin-top:50px;padding-top:69px;max-width:none}
    .join-wrap+form{margin-top:50px}
    .join__title{font-size:20px}
    .join__desc{font-size:16px;line-height:1.6875}
    .process{position:absolute;padding-bottom:29px;top:0;left:50%;width:366px;height:69px;transform:translateX(-50%)}
    .process-step:first-child{padding-left:41px}
    .process-step:last-child{padding-right:41px}
    .process-step__number{width:40px;height:40px;font-size:16px}
    .process-step__bar{width:41px}
    .process-step__text{bottom:-29px;font-size:16px}
    .terms{margin-top:50px}
    .terms__title{font-size:16px}
    .terms__table td,.terms__table th{font-size:14px;line-height:1.7142857143}
    .terms__desc{font-size:14px;line-height:1.5714285714}
    .accordion-wrap{margin-bottom:40px}
    .form{margin:50px 0 0;padding:40px 0}
    .form-item--address .a-input+.a-input{margin-top:7px}
    .form-item .a-button-radio__wrap{margin-top:11px}
    .finder{margin:0 auto 20px;width:100%;max-width:none}
    .desktop{display: none;}
    .mobile{display: block;}

    .ticketReslut { margin-top: 40px; }
    .ticket-result-type { font-size: 14px; }
    .ticket-result-num { font-size: 14px; font-weight: bold; }
}