/* S:reset */
img {
    max-width: 100%;
}

button, input {
    background: inherit;
    border:none;
    -webkit-box-shadow:none;
    box-shadow:none;
    border-radius:0;
    padding:0;
    overflow:visible;
    cursor:pointer;
}
/* E:reset */
/* S: modal */
.modal {
    position: fixed;
    z-index: 999999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.3);
    visibility: hidden;
    display: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.modal_content {
    position: relative;
    margin: auto;
    z-index: 9999;
    /*overflow: hidden;*/
    min-width: 350px;
    max-width: 92%;
    max-height: 95%;
    width: auto;
}
.modal_content.sm {
    width: 30%;
    min-height: 40vh;
}

.modal_body {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    overflow-y: auto;
    max-width: 100%;
    max-height: 70vh;
    padding: 2em;
    color: var(--font-black);
    border-radius: 1rem;
    box-shadow: 0px 0px 16px 3px rgba(0,0,0,0.15);
    -webkit-box-shadow: 0px 0px 16px 3px rgba(0,0,0,0.15);
    -moz-box-shadow: 0px 0px 16px 3px rgba(0,0,0,0.15);
}

.modal_body.p_0 {
    padding: 0 !important;
}
.scroll_block::-webkit-scrollbar,
.modal .modal_body::-webkit-scrollbar{
    width: 0.5rem;
}
/* Handle */
.scroll_block::-webkit-scrollbar-thumb
.modal .modal_body::-webkit-scrollbar-thumb {
    background: var(--gray-secondary-100);
}
.scroll_block::-webkit-scrollbar-track,
.modal .modal_body::-webkit-scrollbar-track {
    background: var(--yellow-primary-100);
}

.modal.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    visibility: visible;
    height: 100%;
}

.modal .align_right {
    position: relative;
    width: 100%;
    text-align: right;
}

.modal .btn_close_out {
    max-width: 40px;
}

.modal_body .content_block {
    width: 100%;
}

.modal_title.signup {
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.5;
}

.modal .title_block { margin-bottom: 1.5em; }

.modal .title_block .title {
    font-size: 2.4rem;
    margin-bottom: 0.5em;
}

.modal .title_block .desc {
    position: relative;
    font-size: 1.4rem;
}

.modal .title_block .desc.star {
    display: inline-block;
    padding-left: 0.7em;
    text-align: left;
    margin: 0 auto;
}


.modal .title_block .desc.star::before {
    content: '*';
    position: absolute;
    left: 0;
}

#surveyModal .btn_close,
.modal .btn_close.ico {
    width: 30px;
    height: 30px;
    font-size: 0;
    line-height: 0;
    display: block;
    position: absolute;
    right: 20px;
    top: 20px;
    background: url(/images/jp/new/pop_close.png) center no-repeat;
    background-size: 100%;
    border: none;
    cursor: pointer;
}

.modal_body .btn_wrapper {
    text-align: center;
    margin-top: 2em;
}

/* S:비디오 팝업 */
.modal .video_box {
    max-width: 100%;
    min-width: 50vw;
    background-color: #000;
    aspect-ratio: 16 / 9;
    margin-top: 2em;
}

.modal .modal_body:has(.video_box) {
    max-height: 100%;
}

.modal .video_box video { width: 100%; }
/* E:비디오 팝업 */

/* S:이벤트 팝업 모달 */
.event_modal .modal_content {
    min-width: 0;
}

.event_modal .modal_body {
    max-width: 458px;
    max-height: 100%;
    background-color: rgb(237, 237, 237);
    padding: 0;
    overflow-y: hidden;
}

.event_modal .modal_body .event_wrapper {
    overflow: hidden;
    position: relative;
}

.event_modal .swiper-slide img {
    width: 458px;
    max-width: 100%;
}

.event_modal .btn_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0;
}

.event_modal .btn_cookie,
.event_modal .btn_close {
    width: 50%;
    font-size: clamp(17px, 0.95rem, 20px);
    padding: 1em 0;
}

.event_modal .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: none;
    opacity: 1;
    border: 1px solid #f7e2b8;
}

.event_modal .swiper-pagination-bullet-active {
    background: #ce0017;
    border: 1px solid #ce0017;
}

.event_modal .swiper-button-prev,
.event_modal .swiper-button-next {
    width: 55px;
    height: 55px;
    background-size: contain;
}

.event_modal .swiper-button-prev {
    background-image: url(/images/home/renew/ico_arrow_prev.png);
}

.event_modal .swiper-button-next {
    background-image: url(/images/home/renew/ico_arrow_next.png);
}

.event_modal .btn_cookie {
    color: rgb(172, 172, 172);
    border-right: 1px solid rgb(223, 223, 223);
}
/* E:이벤트 팝업 모달 */
/* S:app 권장사양 모달 */
.table_wrapper {
    margin: 1rem;
    overflow-x: auto;
}

.app_specification .modal_body {
    padding: 3rem;
}

.app_specification .table_gray {
    max-width: 660px;
    width: 660px;
    margin: 0 auto 20px;
}

.app_specification .table_title {
    font-size: 24px;
    font-weight: 600;
    color: #000;
    line-height: 1.4;
    text-align: center;
    margin: 1rem 0 2.5rem;
}

.table_gray {
    border-top: 2px solid #828282;
    border-bottom: 2px solid #828282;
}

.table_gray .thead {
    border-bottom: 1px solid #828282;
}

.table_gray th,
.table_gray td {
    padding: 1em 0.5em;
    font-size: 16px;
    text-align: center;
}

.table_gray th {
    background-color: #C9C9C9;
    color: #000;
    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}

.table_gray td {
    border-right: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}

.table_gray th.gray_100 {
    background-color: #ededed;
    border-right: 1px solid #c2c2c2;
    border-bottom: 1px solid #c2c2c2;
}

.table_gray th:last-child,
.table_gray td:last-child {
    border-right: none;
}
/* S:type2 */
.table_gray.type2 {
    border: 1px solid #555555 !important;
}

.table_gray.type2 tr {
    border-bottom: 1px solid #c2c2c2;
}

.table_gray.type2 tr:last-child {
    border-bottom: none;
}

.table_gray.type2 th,
.table_gray.type2 td {
    padding: 0.7em 0.2em 0.75em;
    font-weight: normal;
}

.table_gray.type2 th {
    background-color: #666;
    color: #fff;
}

.table_gray.type2 td {
    color: #878787;
    border-bottom: none;
}

.table_gray.type2 .btn_more {
    margin-top: 0.2em;
}

.table_gray .empty_msg {
    font-size: 1.3em;
    font-weight: 600 !important;
    color: #aaaaaa !important;
    letter-spacing: -0.25px;
    justify-content: center;
    text-align: center;
    padding-block: 3.5em !important;
}
/* E:type2 */

.app_specification .notice_block {
    max-width: 600px;
}

.modal .notice_block {
    padding: 1rem 0;
    margin: 0.3rem;
}

.modal .notice_block .title {
    font-size: 19px;
    color: #000;
    font-weight: 600;
    margin-bottom: 0.8rem;
}
.modal .notice_block .desc {
    font-size: 17px;
    line-height: 1.4;
    margin-bottom: 0.3em;
    padding-left: 1rem;
    position: relative;
}
.modal .notice_block .desc::before {
    content: '-';
    position: absolute;
    top: -2px;
    left: 0;
}
/* E:app 권장사양 모달 */

/* S:modal 내부 스타일 */
.term_txt {
    font-size: 1rem;
}

.term_txt.sm { font-size: 0.85rem; }

.term_txt.fairytale {
    font-size: 1.8rem;
    font-weight: 600;
    padding: 2em 0.5em;
}

.term_txt.jp {
    font-family: "M PLUS 1p", "Noto Sans JP", sans-serif;
}

.term_txt .sub_script {
    font-size: 0.9em;
}

.term_txt.center {
    text-align: center;
}

.title_wrapper {
    background: #dbd9d9;
}

.title_wrapper .title {
    font-size: 1.6rem;
    font-weight: 600;
}

.title_wrapper,
.content_wrapper {
    padding: 1.75rem 2.5em;
}

.content_wrapper .content_block {
    margin-bottom: 1.5rem;
}

.content_block .title {
    font-size: 1.2rem;
    margin-bottom: 0.4em;
}

.content_block .desc {
    font-size: 1rem;
    color: #676767;
    line-height: 1.5;
}
/* E:modal 내부 스타일 */
/* S:review_form */
.review_form .modal_content {
    max-width: 1020px;
    max-height: 100%;
    width: 92%;
}

.review_form .modal_body {
    overflow-y: hidden;
    max-height: 100%;
}

.review_form .content_wrapper {
    overflow-y: auto;
    max-height: 583px;
    height: 80vh;
    box-sizing: border-box;
    padding-bottom: 3em;
}

.review_form .title_wrapper {
    background-color: #eeeeee;
    padding: 1.5rem 2.5em;
}

.review_form .title_wrapper .title {
    font-size: 3.6rem;
    color: #333333;
    text-align: center;
    letter-spacing: -2px;
}

.review_form .notice_block {
    position: relative;
    padding-left: 2rem;
}

.review_form .notice_block::before {
    content: '※';
    position: absolute;
    left: 0;
    font-size: 1.5rem;
    color: #535353;
    font-weight: 600;
}

.review_form .notice_block .title {
    position: relative;
    font-size: 1.5rem;
    color: #535353;
    margin-bottom: 0.5em;
}

.review_form .notice_txt {
    position: relative;
    font-size: 1.25rem;
    color: #535353;
    line-height: 1.3;
    padding-left: 0.5em;
    margin-bottom: 0.3em;
}

.review_form .notice_txt::before {
    content: '·';
    position: absolute;
    top: 0;
    left: 0;
}

.review_form .ck_circle label {
    font-size: 1.625rem;
    font-weight: 600;
    color: #535353;
}

.review_form .ck_circle {
    display: inline-block;
    width: 3.5em;
}

.review_form .ck_rounded label {
    font-size: 1.5rem;
    font-weight: 600;
    color: #535353;
}

.review_form .btn_rounded.submit {
    font-size: 2rem;
}

.table_form {
    width: 100%;
}

.review_form .table_form {
    margin: 1.5em auto;
}

.table_form tr {
    border-bottom: 2px solid #c2c2c2;
}

.table_form tr:last-child {
    border: none;
}

.table_form tr th,
.table_form tr td {
    font-size: 1.625rem;
    font-weight: 600;
    color: #898989;
    letter-spacing: 0px;
}

.table_form tr th {
    width: 26%;
    padding: 1em 0;
}

.table_form tr td {
    padding: 1em 1.2em;
    border-left: 2px solid #c2c2c2;
}

.table_form .title {
    font-size: inherit;
    color: #000000;
    text-align: left;
}

.info_msg {
    position: relative;
    font-size: 1.125rem;
    color: #000000;
    font-weight: 400;
    padding-left: 0.7em;
}

.info_msg::before {
    content: '*';
    position: absolute;
    top: 0.18em;
    left: 0;
}

.info_msg.gray {
    color: #434343;
}

.info_msg.sm {
    font-size: 0.875rem;
}

/* S:review_detail */
.review_detail .modal_body {
    max-width: 720px;
    max-height: 1004px;
    overflow-y: hidden;
}
.review_detail .review_desc {
    overflow-y: auto;
    min-height: 50px;
    max-height: 50vh;
    padding: 3em 2.3em 3.6em;
    box-sizing: border-box;
}
.review_detail .author {
    font-size: 1.5rem;
}
.review_detail .review_text {
    font-size: 1.3rem;
    line-height: 1.6;
}

.review_detail .score_block {
    width: 9.354545454545455rem;
    height: 1.5rem;
}
/* E:review_detail */
/* E:review_form */

/* S:appextend */
.appextend .modal_body {
    padding: 5vh 15px;
}
.appextend .term_txt {
    font-size: 24px !important;
    line-height: 1.4;
    color: #666;
    font-weight: 600;
    letter-spacing: -1px;
}
.appextend .term_txt.sm {
    font-size: 1rem !important;
    font-weight: 500;
}
.appextend {
    font-size: inherit;
}

.modal.customPopWrap { opacity: 1; }
.modal.customPopWrap .modal_body { padding: 0; }
.modal.customPopWrap .tbl {
    width: 100%;
    margin-bottom: 1em;
}
.modal.customPopWrap .innerBox .tbl td {
    text-align: center;
    padding: 0.85em 0 0.8em;
}
.modal.customPopWrap .desc {
    width: auto;
    font-size: 1rem;
    color: #222;
    font-weight: 400;
}
.modal.customPopWrap .warning_desc {
    position: relative;
    font-size: 0.9rem;
    color: var(--font-gray);
    text-align: left;
    padding-left: 0.7em;
}
.modal.customPopWrap .warning_desc:before {
    content: '*';
    position: absolute;
    top: 0.2em;
    left: 0;
}
/* S:jp */
.jp .modal.customPopWrap .modal_body {
    padding: 0;
    margin: 0;
    overflow-y: hidden;
}

.jp .modal.customPopWrap .modal_body .innerBox {
    padding: 0 1.5em 2em;
}

.jp .modal.customPopWrap .modal_body .innerBox::-webkit-scrollbar {
    display: none;
}

.jp .modal.customPopWrap .tit {
    font-size: 2rem;
    text-align: center;
    margin: 0.5em 0 0.2em;
    padding-bottom: 0.4em;
    border-bottom: 2px solid #232323;
}

.jp .modal.customPopWrap .setNoti.red {
    background-color: #e8444a;
    font-size: 1.2rem;
    text-align: center;
    color: #fff;
}

.jp .modal.customPopWrap .setNoti.red a {
    display: block;
    width: 100%;
    color: inherit;
    font-weight: 600;
    padding: 0.5em 0;
}
/* E:jp */

/* E:appextend */
/* S:fixed_btm */
.fixed_btm .close_block {
    position: absolute;
    top: -1em;
    right: -0.7em;
    z-index: 99;
}
.fixed_btm .close_block .btn_close {
    max-width: 3em;
}
.fixed_btm .modal_body {
    max-height: 85vh;
}
.scroll_block {
    max-height: 65vh;
    overflow-y: auto;
    padding: 2em 0;
}
/* E:fixed_btm */
/* S:(일본)메인팝업 */
.pc_br { display: block; }
.jp {
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: -0.04em;
}

.event_modal.jp .btn_cookie, .event_modal.jp .btn_close {
    font-weight: bold;
}

.jp.event_modal .modal_body { max-width: 90vw; }

.coupon_block {
    padding: 2em;
    background-color: #fff;
    box-sizing: border-box;
}

.coupon_block .head {
    position: relative;
    padding-bottom: 1em;
}
.coupon_block .head::after {
    content: '';
    width: 95%;
    height: 1px;
    background-color: #727272;
    position: absolute;
    left: 2.5%;
    bottom: 0;
}

.coupon_block .title {
    font-family: "M PLUS 1p", sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
    letter-spacing: -0.02em;
    word-break: break-all;
}

.coupon_block .body {
    padding-top: 1em;
}

.text_center { text-align: center; }
.coupon_block .form_box { text-align: center; }

.coupon_block .sub_title {
    font-family: "M PLUS 1p", sans-serif;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 0.4em;
}

.coupon_block .sub_script {
    display: inline-block;
    position: relative;
    font-size: 1.4rem;
    text-align: left;
    letter-spacing: -0.04em;
    padding-left: 0.5em;
}

.coupon_block .sub_script::before {
    content: '*';
    position: absolute;
    left: 0;
}

.coupon_block .sub_script .font_blue {
    color: #2203c3;
    font-weight: bold;
    text-decoration: underline;
}

.coupon_block input {
    width: 95%;
    font-size: 1.5rem;
    letter-spacing: -0.04em;
    text-align: center;
    border: 2px solid #727272;
    border-radius: 0.4em;
    padding: 1.1em 1em;
    margin-inline: auto;
}
.coupon_block input::placeholder {
    color: #a8a8a8;
}
.jp .btn_submit {
    font-family: "M PLUS 1p", sans-serif;
    font-size: 1.8rem;
    color: #fff;
    font-weight: bold;
    background-color: #cc0001;
    margin: 0.6em auto 0.7em;
    padding: 0.35em 1.2em;
    border-radius: 0.4em;
}
.jp .btn_submit.gray { background-color: #aaaaaa; }
.jp .font_red { color: #cc0100; }
/* E:(일본)메인팝업 */

/* E:(일본)alert팝업 */
#alertModal .modal_content { min-width: 450px; }
#alertModal .alert_msg  {
    display: inline-block;
    font-size: 1.6rem;
    letter-spacing: -0.04em;
    margin-bottom: 0.2em;
}
#alertModal .btn_submit { margin-bottom: 0; }
#alertModal.jp .modal_content { min-width: 0; }
/* E:(일본)alert팝업 */

/* S: 품절 텍스트 배너 */
.sold_out_banner {
    width: 500px;
    max-width: 100%;
    background-color: #fff;
    padding: 3em 1em;
}
.sold_out_banner .title {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}

.sold_out_banner .title strong { font-weight: 900; }
/* E: 품절 텍스트 배너 */

/* pc 버전 only (1200px 이상) */
@media screen and (min-width: 1200px) {
    .modal_content {
        min-width: 600px;
    }

    .modal_content.p_md {
        max-width: 600px;
    }

    /* S:비디오 팝업 */
    .modal .modal_content:has(.video_box) { max-width: 65%; }
    /* E:비디오 팝업 */
}

@media screen and (max-width: 640px) {

    .modal .title_block .title { font-size: 1.8rem; }
    .modal .title_block .desc { font-size: 1rem; }

    #surveyModal .btn_close,
    .modal .btn_close.ico {
        width: 5.5vw;
        height: 5.5vw;
        right: 4.5vw;
        top: 4.5vw;
    }

    .term_txt.fairytale {
        font-size: 1.3rem;
        padding: 1em 0.5em;
    }

    /* S:비디오 팝업 */
    #videoModal .modal_body  { padding: 1.5em 1em; }
    /* E:비디오 팝업 */

    /* S:app 권장사양 모달 */
    .app_specification .modal_body {
        padding: 1.8rem;
    }
    .app_specification .table_title {
        font-size: 20px;
    }

    .modal .notice_block .title {
        font-size: 17px;
    }

    .table_gray th,
    .table_gray td,
    .modal .notice_block .desc {
        font-size: 15px;
    }
    /* E:app 권장사양 모달 */

    /* S:responsive table */
    .table_wrapper { margin: 1em 0; }
    .table_gray.type2.responsive {
        width: 100% !important;
        border: none !important;
        border-top: 4px solid #fbc600 !important;
    }

    .table_gray.type2.responsive thead { display: none; }

    .table_gray.type2.responsive td {
        width: 100%;
        padding: 0.05em 0.3em;
        display: flex;
        vertical-align: middle;
    }

    .table_gray.type2.responsive tr {
        padding: 0.5em 0;
        border-bottom: 1px dashed #c2c2c2;
    }

    .table_gray.type2.responsive td {
        text-align: left;
        border-right: none;
        border-bottom: none;
    }

    .table_gray.type2.responsive td:first-child {
        padding-top: 0.8em;
    }
    .table_gray.type2.responsive td:last-child {
        padding-bottom: 0.8em;
    }

    .table_gray.type2.responsive td[data-title]:before {
        content: attr(data-title);
        width: 35%;
        margin-right: 1em;
    }
    /* E:responsive table */

    /* S:review */
    .table_form tr th, .table_form tr td {
        font-size: 1.4rem;
    }

    /* S:m_td_block */
    .table_form.m_td_block {
        border-top: 2px solid #c2c2c2;
    }

    .table_form.m_td_block tr {
        width: 100%;
    }

    .table_form.m_td_block th,
    .table_form.m_td_block td {
        width: 100%;
        display: block;
        box-sizing: border-box;
    }

    .table_form.m_td_block th {
        font-size: 1.3rem;
        padding: 0.8em 1.2em;
        background-color: #EDEDED;
        border-bottom: 1px solid #c2c2c2;
    }

    .table_form.m_td_block td {
        padding: 1.2em;
        border-left: none;
    }

    /* E:m_td_block */

    .review_form .title_wrapper .title {
        font-size: 2.5rem;
    }
    .info_msg {
        display: block;
        margin: 0.3em 0;
    }

    .info_msg.sm { font-size: 0.9rem }

    .review_form .ck_rounded label {
        font-size: 1.3rem;
    }
    /* E:review */

    /* S:appextend */
    .appextend .term_txt {
        font-size: 18px !important;
    }
    .appextend .term_txt.sm {
        font-size: 1.1rem !important;
    }
    /* E:appextend */
    /* S:(일본)메인팝업 */
    .event_modal .btn_cookie, .event_modal .btn_close { font-size: 0.95rem; }
    .pc_br { display: none; }
    .coupon_block { padding: 1.5em; }
    .coupon_block .title { font-size: 1.45rem; }
    .coupon_block .sub_script { font-size: 1rem; }
    .coupon_block input,
    .coupon_block .sub_title { font-size: 1.25rem; }
    .coupon_block .btn_submit { font-size: 1.5rem; }

    #alertModal .alert_msg  { font-size: 1.4rem; }
    /* E:(일본)메인팝업 */
}
