/* 공통 */
.cursor {
    cursor: pointer;
}

.col_gr {
    color: #999;
}

.col_gr2 {
    color: #666;
}

/* chh */
.col_gr3 {
    color: #777;
}

.col_or {
    color: var(--main-color);
}

.col_gre {
    color: #03ba00;
}

.col_red {
    color: #ff0000;
}

.col_wi {
    color: #fff;
}

.pd_rl {
    padding: 0 16px;
}

.ali_le {
    text-align: left !important;
}

.ali_rig {
    text-align: right !important;
}

.ali_cen {
    text-align: center !important;
}

.deco_ml {
    text-decoration: line-through;
}

.deco_un {
    text-decoration: underline;
}

.wei500 {
    font-weight: 500;
}

/* chh */
.wei600 {
    font-weight: 600;
}

.wei700 {
    font-weight: 700;
}

.modal_tit {
    text-align: center;
    margin-bottom: 6px;
    font-size: 22px;
}

.big {
    font-size: 20px;
}

.small {
    font-size: 13px !important;
}

.small_under {
    font-size: 12px;
    color: #888;
    text-decoration: underline;
    cursor: pointer;
}

.top_line::before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e9e9e9;
    margin-bottom: 10px;
}

.btm_line::after {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e9e9e9;
    margin: 16px 0 14px;
}

.middle_line {
    display: block;
    content: "";
    width: 1px;
    height: 50px;
    background-color: #cdcdcd;
}

.dashed_line {
    position: relative;
    width: 100%;
    border-top: 1px dashed #dedede;
    padding-bottom: 24px;
}

.pl30 {
    padding-left: 30px;
}

.mt10 {
    margin-top: 10px;
}

.mt12 {
    margin-top: 12px;
}

.mt24 {
    margin-top: 24px;
}

.mb04 {
    margin-bottom: 4px;
}

.mb08 {
    margin-bottom: 8px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb12 {
    margin-bottom: 12px;
}

.mb16 {
    margin-bottom: 16px;
}

.mb24 {
    margin-bottom: 24px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb100 {
    margin-bottom: 100px;
}

.ml06 {
    margin-left: 6px;
}

.ml24 {
    margin-left: 24px;
}

.ml130 {
    margin-left: 130px;
}

@media (max-width: 1023px) {
    .m_line {
        width: 100%;
        height: 10px;
        background-color: #efefef;
        margin-bottom: 30px;
    }

    .m_top_line {
        width: 100%;
        height: 1px;
        background-color: #dedede;
        margin: 14px 0;
    }

    .m_mlr {
        padding: 0 4%;
    }

    .mb40 {
        margin-bottom: 24px !important;
    }

    .mb24 {
        margin-bottom: 16px !important;
    }

    .m_sticky {
        width: 100%;
        position: sticky;
        top: 65px;
        left: 0;
        background-color: #fff;
        z-index: 30;
    }

    .mb120 {
        margin-bottom: 120px !important;
    }
}

/*_pc*/
@media all and (min-width: 1024px) {

    /*타이틀*/
    .md_tit1 {
        font-size: 24px;
        font-weight: 600;
    }

    .md_tit2 {
        font-size: 20px;
        font-weight: 600;
    }

    .md_tit3 {
        font-size: 18px;
        font-weight: 600;
    }

    .md_tit4 {
        font-size: 16px;
        font-weight: 600;
    }

    .md_tit5 {
        font-size: 14px;
        font-weight: 600;
    }

    .md_layout {
        display: flex;
        gap: 20px;
        align-items: flex-start;
    }

    .md_layout .lay_left {
        flex: 1;
        min-height: 1000px;
    }

    .md_layout .lay_right {
        position: sticky;
        top: 100px;
        margin-top: 29px;
        margin-bottom: 29px;
        width: 390px;
        border-radius: 10px;
        background: #fff;
        border: 1px solid #ddd;
        padding: 20px;
    }

    /*본문상단 탭*/
    .md_tab {
        position: relative;
        z-index: 10;
    }

    .md_tab .tab_menu {
        display: flex;
    }

    .md_tab .tab_menu a {
        flex: 1;
        text-align: center;
        border-bottom: 2px solid #ddd;
        font-size: 20px;
        color: #888;
        font-weight: 600;
        line-height: 60px;
    }

    .md_tab .tab_menu a.on {
        color: var(--main-color);
        border-bottom: 3px solid var(--main-color);
    }

    .md_tab .tab_con {
        margin: 30px 0;
    }

    .md_tab .tab_con>div {
        display: none;
    }

    .md_tab .tab_con>div.on {
        display: block;
    }

    /*국기선택*/
    .md_tab .tab_con .flag_list {
        display: flex;
        flex-wrap: wrap;
    }

    .md_tab .tab_con .flag_list li {
        width: 20%;
        text-align: center;
        padding: 20px 0;
    }

    .md_tab .tab_con .flag_list li img {
        max-width: 92px;
    }

    .md_tab .tab_con .flag_list li span {
        display: block;
        margin: 10px 0;
        font-size: 15px;
    }

    /*날짜선택*/
    .md_tab .day_list {
        display: flex;
        justify-content: center;
        gap: 14px;
    }

    .md_tab .day_list>li>a {
        display: block;
        border: 1px solid #ddd;
        line-height: 40px;
        padding: 0 35px;
        border-radius: 40px;
        font-size: 15px;
    }

    .md_tab .day_list>li>a:hover,
    .md_tab .day_list>li.on>a {
        border-color: var(--main-color);
        color: var(--main-color);
    }

    .md_tab .day_list .toggle {
        position: relative;
    }

    .md_tab .day_list .toggle .select_win {
        display: none;
        position: absolute;
        left: 0;
        width: 100%;
        top: 45px;
        border: 1px solid #ddd;
        border-radius: 10px;
        background: #fff;
        height: 180px;
        overflow-y: auto;
    }

    .md_tab .day_list .toggle .select_win.on {
        display: block;
    }

    .md_tab .day_list .toggle .select_win .tit {
        display: none;
    }

    .md_tab .day_list .toggle .select_win li {
        border-radius: 5px;
        font-size: 14px;
        line-height: 30px;
        text-align: center;
        cursor: pointer;
    }

    .md_tab .day_list .toggle .select_win li:hover {
        background: var(--select-over);
    }

    /*우측영역*/
    .md_country_search {
        position: relative;
    }

    .md_country_search .search {
        border: 0;
        border-bottom: 1px solid var(--main-color);
        height: 50px;
        line-height: 50px;
        width: 100%;
        padding-left: 6px;
        outline: 0;
        font-size: 16px;
    }

    .md_country_search .search::placeholder {
        font-size: 16px;
        /* color: var(--main-color); */
        font-weight: 600;
    }

    .md_country_search .submit {
        position: absolute;
        right: 0;
        width: 40px;
        height: 40px;
        background: url("../images/ico_search.png") no-repeat center / 20px;
        border: 0;
        text-indent: -9999px;
        cursor: pointer;
    }

    .md_country_selok {
        position: relative;
    }

    .md_country_selok .list {
        display: flex;
        gap: 10px 32px;
        justify-content: left;
        flex-wrap: wrap;
    }

    .md_country_selok .list li {
        width: calc((100% - 32px * 3) / 4);
        text-align: center;
    }

    .md_country_selok .list li .flag {
        position: relative;
    }

    .md_country_selok .list li .flag .del {
        position: absolute;
        right: -4px;
        top: -4px;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        background: url("../images/ico_del.png") no-repeat center / 10px rgba(0, 0, 0, 0.6);
        cursor: pointer;
    }

    .md_country_selok .list li .flag img {
        border-radius: 10px;
        border: 1px solid #eee;
        overflow: hidden;
    }

    .md_country_selok .list li .name {
        font-size: 13px;
        margin: 10px 0;
    }

    .md_help_balloon {
        position: relative;
        background: var(--bg-color-dark);
        border-radius: 8px;
        padding: 20px;
        font-size: 14px;
        color: #fff;
        margin: 10px 0;
    }

    .md_help_balloon:before {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        background: var(--bg-color-dark);
        transform: rotate(45deg) translate(-50%, -50%);
        left: 50%;
        top: 2px;
    }

    /*sumbit 버튼*/
    .md_btn {
        display: flex;
        gap: 10px;
    }

    .md_btn a {
        flex: 1;
        height: 50px;
        line-height: 50px;
        font-size: 17px;
        border-radius: 10px;
        text-align: center;
        font-weight: 700;
        border: 1px solid var(--main-color);
        color: var(--main-color);
    }

    .md_btn a.gray {
        background: #e4e4e4;
        color: #999;
        border-color: #e4e4e4;
    }

    .md_btn a.bg,
    .md_btn a.on {
        background: var(--main-color);
        border-color: var(--main-color);
        color: #fff;
    }

    .md_btn a.sizel {
        height: 60px;
        line-height: 60px;
        font-size: 18px;
    }

    /* 241226 추가 plan_multi */
    .multi_left {
        padding-top: 100px;
        padding-bottom: 29px;
    }
}

.md_country_search.search_gr .search {
    border-bottom: 1px solid #6f6f6f;
    background-color: #efefef;
}

.md_country_search.search_gr2 .search {
    background-color: #fff;
}

.md_country_search.search_gr .search::placeholder {
    color: #6f6f6f;
}

.md_country_search.search_gr .submit {
    background: url("../images/ico_search_gr.png") no-repeat center / 18px;
}

/*_mobile*/
@media all and (max-width: 1023px) {
    #main.multi_main {
        padding: 85px 0 50px;
    }

    #main.nation_main {
        padding: 141px 0 50px;
    }

    #main.view_main {
        padding: 65px 0 50px;
    }

    .search_gr {
        margin-bottom: 20px;
    }

    .md_layout #nation_right.fixed {
        display: block;
        position: fixed;
        left: 0;
        top: 65px;
    }

    .md_layout .lay_right {
        width: 100%;
        background: #fff;
        padding: 0 20px;
        box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
    }

    #nation_right {
        display: none;
    }

    /*본문상단 탭*/
    .md_tab {
        position: relative;
        z-index: 10;
    }

    .md_tab .tab_menu {
        display: flex;
    }

    .md_tab .tab_menu a {
        flex: 1;
        text-align: center;
        border-bottom: 2px solid #ddd;
        font-size: 17px;
        color: #888;
        font-weight: 600;
        line-height: 50px;
    }

    .md_tab .tab_menu a.on {
        color: var(--main-color);
        border-bottom: 3px solid var(--main-color);
    }

    .md_tab .tab_con {
        margin: 20px 0;
    }

    .md_tab .tab_con>div {
        display: none;
    }

    .md_tab .tab_con>div.on {
        display: block;
    }

    /*국기선택*/
    .md_tab .tab_con .flag_list .swiper-slide {
        text-align: center;
        padding: 5px 0;
    }

    .md_tab .tab_con .flag_list .swiper-slide img {
        max-width: 64px;
    }

    .md_tab .tab_con .flag_list .swiper-slide span {
        display: block;
        margin: 10px 0;
        font-size: 15px;
    }

    /*날짜선택*/
    .md_tab .day_list {
        display: flex;
        justify-content: center;
        gap: 8px;
    }

    .md_tab .day_list>li>a {
        display: block;
        border: 1px solid #ddd;
        line-height: 30px;
        padding: 0 15px;
        border-radius: 30px;
        font-size: 14px;
    }

    .md_tab .day_list>li>a:hover,
    .md_tab .day_list>li.on>a {
        border-color: var(--main-color);
        color: var(--main-color);
    }

    .md_tab .day_list .toggle {
        position: relative;
    }

    .md_tab .day_list .toggle .select_win {
        display: none;
        position: fixed;
        z-index: 200;
        left: 0;
        width: 100%;
        top: 0;
        height: 100%;
    }

    .md_tab .day_list .toggle .select_win.on {
        display: block;
    }

    .md_tab .day_list .toggle .select_win .bg {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: var(--lightbox-bg);
    }

    .md_tab .day_list .toggle .select_win .box {
        position: absolute;
        left: 0;
        width: 100%;
        bottom: 0;
        border: 1px solid #ddd;
        border-radius: 20px 20px 0 0;
        background: #fff;
        overflow: hidden;
        padding: 0 20px 20px;
    }

    .md_tab .day_list .toggle .select_win .tit {
        line-height: 50px;
        text-align: center;
        color: var(--main-color);
        border-bottom: 1px solid #ddd;
        font-size: 18px;
        background: url("../images/sub/ico_x.png") no-repeat 99% center;
    }

    .md_tab .day_list .toggle .select_win ul {
        height: 175px;
        overflow: auto;
    }

    .md_tab .day_list .toggle .select_win li {
        border-radius: 5px;
        font-size: 16px;
        line-height: 35px;
        text-align: center;
        cursor: pointer;
    }

    .md_tab .day_list .toggle .select_win li:hover {
        background: var(--select-over);
    }

    .md_tab .day_list .toggle .select_win .confirm {
        display: block;
        line-height: 50px;
    }

    .md_date_win {
        display: none;
        position: fixed;
        z-index: 200;
        left: 0;
        width: 100%;
        top: 0;
        height: 100%;
        z-index: 100;
    }

    .md_date_win.on {
        display: block;
    }

    .md_date_win .back {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: var(--lightbox-bg);
    }

    .md_date_win .box {
        position: absolute;
        left: 0;
        width: 100%;
        bottom: 0;
        border: 1px solid #ddd;
        border-radius: 20px 20px 0 0;
        background: #fff;
        overflow: hidden;
        padding: 0 20px 10px;
    }

    .md_date_win .tit {
        line-height: 50px;
        text-align: center;
        color: var(--main-color);
        border-bottom: 1px solid #ddd;
        font-size: 18px;
        font-weight: 700;
        background: url("../images/sub/ico_x.png") no-repeat 99% center;
    }

    .md_date_win .list {
        height: 250px;
        overflow: auto;
        margin: 10px 0;
    }

    .md_date_win .list li {
        border-radius: 5px;
        font-size: 16px;
        line-height: 35px;
        text-align: center;
        cursor: pointer;
    }

    .md_date_win .list li:hover {
        background: var(--select-over);
    }

    /*우측영역*/

    .md_country_search {
        position: relative;
    }

    .md_country_search .search {
        border: 0;
        border-bottom: 1px solid var(--main-color);
        height: 40px;
        line-height: 40px;
        width: 100%;
        padding-left: 6px;
        outline: 0;
        font-size: 15px;
    }

    .md_country_search .search::placeholder {
        font-size: 15px;
        /* color: var(--main-color); */
    }

    .md_country_search .submit {
        position: absolute;
        right: 0;
        width: 40px;
        height: 40px;
        background: url("../images/ico_search.png") no-repeat center / 18px;
        border: 0;
        text-indent: -9999px;
        cursor: pointer;
    }

    .md_country_selok {
        position: relative;
    }

    .md_country_selok .md_tit3 {
        display: none;
    }

    .md_country_selok .list {
        display: flex;
        gap: 10px 32px;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 20px 10px 0;
    }

    .md_country_selok .list li {
        width: 10%;
        text-align: center;
    }

    .md_country_selok .list li .flag {
        position: relative;
    }

    .md_country_selok .list li .flag .del {
        position: absolute;
        right: -4px;
        top: -4px;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: url("../images/ico_del.png") no-repeat center / 8px rgba(0, 0, 0, 0.6);
        cursor: pointer;
    }

    .md_country_selok .list li .flag img {
        border-radius: 10px;
        border: 1px solid #eee;
        overflow: hidden;
    }

    .md_country_selok .list li .name {
        font-size: 13px;
        margin: 10px 0;
    }

    .md_help_balloon {
        position: relative;
        background: var(--bg-color-dark);
        border-radius: 8px;
        padding: 20px;
        font-size: 14px;
        color: #fff;
        margin: 10px 0;
    }

    .md_help_balloon:before {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        background: var(--bg-color-dark);
        transform: rotate(45deg) translate(-50%, -50%);
        left: 50%;
        top: 2px;
    }

    /*sumbit 버튼*/
    .md_btn {
        display: flex;
        gap: 10px;
    }

    .md_btn a {
        flex: 1;
        height: 50px;
        line-height: 50px;
        font-size: 16px;
        border-radius: 10px;
        font-weight: 700;
        text-align: center;
        border: 1px solid var(--main-color);
        color: var(--main-color);
    }

    .md_btn a.gray {
        background: #e4e4e4;
        color: #999;
        border-color: #e4e4e4;
    }

    .md_btn a.bgF,
    .md_btn a.on {
        background: var(--main-color);
        border-color: var(--main-color);
        color: #fff;
    }

    .md_btn a.sizeL {
        height: 60px;
        line-height: 60px;
        font-size: 18px;
    }
}

/*_mobile 840*/
@media all and (max-width: 840px) {}

.md_btn a.orange {
    background: var(--main-color) !important;
    color: #fff !important;
    font-weight: 700;
}

.md_btn a.grade {
    background-color: #f0f0f0 !important;
    color: #999 !important;
    cursor: not-allowed !important;
    transform: none;
}

/* checkbox */
.check_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.checkbox_wrap {
    display: flex;
    gap: 6px;
    align-items: center;
}

.checkbox_wrap span {
    font-size: 16px;
}

input[type="checkbox"] {
    display: none;
}

input[type="checkbox"]+label {
    display: inline-block;
    width: 16px;
    height: 16px;
    background: url(../images/ico_check.png) center no-repeat;
    background-size: contain;
    cursor: pointer;
}

input[type="checkbox"]:checked+label {
    background: url(../images/ico_check_on.png) center no-repeat;
    background-size: contain;
}

input[type="radio"] {
    display: none;
}

input[type="radio"]+label {
    display: inline-block;
    width: 18px;
    height: 18px;
    background: url(../images/ico_radio.png) center no-repeat;
    background-size: contain;
    cursor: pointer;
}

input[type="radio"]:checked+label {
    background: url(../images/ico_radio_on.png) center no-repeat;
    background-size: cover;
}

.radio_wrap {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
}

.radio_wrap span {
    width: 70px;
}

.check_wrap2 {
    justify-content: left;
    gap: 24px;
}

.check_wrap4 {
    flex-wrap: wrap;
}

.check_wrap4 .checkbox_wrap {
    width: 22%;
}

.checkbox_wrap2 input[type="checkbox"]+label,
.checkbox_wrap2 input[type="radio"]+label {
    background: url(../images/input_check.svg) center no-repeat;
    background-size: cover;
}

.checkbox_wrap2 input[type="checkbox"]:checked+label,
.checkbox_wrap2 input[type="radio"]:checked+label {
    background: url(../images/input_check_on.svg) center no-repeat;
    background-size: cover;
}

.check_wrap3 .checkbox_wrap {
    width: 30%;
}

/* select */
.modal_select {
    width: 100%;
    background-color: #fff;
    color: #000;
    border: 1px solid #dedede;
    padding: 10px;
    background: url(../images/ico_dropdown.png) calc(100% - 11px) center no-repeat;
    background-size: 16px;
    cursor: pointer;
    font-size: 15px;
}

.modal_select:invalid {
    color: #999;
}

.modal_select option {
    color: #000;
}

.modal_select::-ms-expand {
    display: none;
}

.modal_select {
    -o-appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.select_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

/* tab */
.order_tab_con,
.order_tab_con2 {
    display: none;
}

.order_tab_con.on,
.order_tab_con2.on {
    display: block;
}

.order_tab {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px;
}

.order_tab>li {
    width: 32%;
    border: 1px solid #dedede;
    background-color: #fff;
    text-align: center;
    align-content: center;
    padding: 10px 0;
    transition: 0.2s;
    cursor: pointer;
}

.order_tab>li:hover,
.order_tab>li.on {
    color: #fff;
    background-color: #464646;
}

.find_tab {
    display: flex;
    justify-content: center;
    align-items: center;
}

.find_tab li {
    width: 50%;
    height: 50px;
    align-content: center;
    text-align: center;
    border-bottom: 1px solid #c6c6c6;
    color: #9d9d9d;
    font-weight: 700;
    cursor: pointer;
    transition: 0.2s;
    font-size: 20px;
}

.find_tab li:hover,
.find_tab li.on {
    color: var(--main-color);
    border-bottom: 3px solid var(--main-color);
}

/* input */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="number"] {
    width: 100%;
}

input[type="text"]:disabled {
    background-color: #dedede !important;
}

/* modal */
.modal {
    width: 100%;
    height: 100%;
    display: none;
    position: fixed;
    top: 0;
    z-index: 999;
}

.modal .modal_wrap {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal .modal_wrap .modal_content {
    width: 360px;
    padding: 30px 15px 15px;
    border-radius: 15px;
    background-color: #fff;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 600px;
    margin: 0 5%;
}

.modal .modal_wrap .modal_content2 {
    width: 400px;
}

.modal .modal_wrap .modal_content4 {
    width: 420px;
}

.show {
    display: block;
}

.modal_evt {
    display: block;
    transition: all 0.2s;
}

.modal_evt .modal_wrap {
    opacity: 1;
    transition: all 0.2s;
}

.modal_evt .modal_wrap .modal_content {
    opacity: 1;
    transition: all 0.2s;
}

.multi_modal p.subtit {
    font-size: 18px;
}

.multi_modal>p {
    text-align: center;
    margin-bottom: 20px;
    font-size: 16px;
}

.multi_modal>button {
    width: 100%;
    font-size: 16px;
    color: var(--main-color);
    font-weight: 700;
    text-align: center;
    background-color: #ffffff;
    border: 1px solid var(--main-color);
    border-radius: 8px;
    padding: 12px 0;
    cursor: pointer;
}

.modal_btn_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.modal_btn_wrap>button {
    width: 50%;
    height: 50px;
    font-size: 16px;
    text-align: center;
    padding: 12px 0;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}

.del_btn {
    color: var(--main-color);
    border: 1px solid var(--main-color) !important;
    background-color: #fff;
}

.cha_btn {
    color: #fff !important;
    background-color: var(--main-color) !important;
}

.modal_content3 {
    background-color: #efefef !important;
    padding: 0 !important;
}

.modal_tit2 {
    text-align: center;
    padding: 30px 15px 15px;
    background-color: #fff;
    border-radius: 15px 15px 0 0;
}

.modal_wrap .coupon_btm {
    padding: 24px 15px 15px;
}

.modal_box {
    border: 1px solid #dedede;
    background-color: #f4f4f4;
    padding: 14px;
    height: 150px;
    overflow-y: scroll;
}

.modal .close_btn {
    cursor: pointer;
    position: absolute;
    top: 20px;
    right: 20px;
}

@media all and (min-width: 1024px) {
    .modal .modal_wrap .modal_content {
        max-height: 700px;
    }
}

@media (max-width: 1023px) {
    .m_modal {
        width: 100%;
        height: 100%;
        display: none;
        position: fixed;
        top: 0;
        z-index: 999;
    }

    .m_modal .modal_wrap {
        position: relative;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .m_modal .modal_wrap .modal_content {
        width: 360px;
        padding: 30px 15px 15px;
        border-radius: 15px;
        background-color: #ffffff;
    }

    .m_modal .modal_wrap .modal_content2 {
        width: 400px;
    }

    .m_modal .modal_wrap .modal_content4 {
        width: 420px;
    }

    .m_modal .modal_wrap .modal_content5 {
        max-height: 600px;
        overflow-y: auto;
    }

    .m_modal.show {
        display: block;
    }

    .m_modal.modal_evt {
        display: block;
        transition: all 0.2s;
    }

    .modal_fix {
        top: 65px;
        left: 0;
    }

    .modal_fix .head_sec {
        padding: 22px 0;
    }

    .modal_fix .modal_wrap {
        background-color: transparent;
        display: block;
        width: 100%;
        height: 100%;
    }

    .modal_fix .modal_wrap .modal_content {
        width: 100%;
        min-height: 100vh;
        height: 100%;
        overflow: auto;
        border-radius: 0;
        margin: 0;
    }

    .modal_fix .modal_wrap .modal_btn_wrap {
        width: 100%;
        position: absolute;
        bottom: 80px;
        left: 50%;
        transform: translateX(-50%);
        padding: 0 15px;
    }
}

/* basket */
.basket_con .pay_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.basket_box {
    width: 100%;
    background-color: #fff;
    border: 1px solid #e2e2e2;
    padding: 20px;
}

.basket_box .heart_btn {
    margin-right: 12px;
}

.basket_box .qua_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.basket_box .coupon_wrap {
    display: flex;
    gap: 8px;
}

.basket_box .coupon_wrap .coupon_btn {
    background-color: #464646;
    color: #fff;
    padding: 4px 8px;
    border: none;
    cursor: pointer;
}

.basket_box .coupon_wrap .coupon_btn2 {
    color: #464646;
    border: 1px solid #464646;
    background-color: #fff;
    padding: 4px 8px;
    cursor: pointer;
}

.basket_box .btn_wrap {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.basket_box .btn_wrap>button {
    width: 50%;
    background-color: #fff;
    text-align: center;
    border: 1px solid #dedede;
    font-size: 16px;
    padding: 16px 0;
    cursor: pointer;
    color: #000;
}

.option_num {
    background-color: #f7f7f7;
    padding: 16px;
}

.option_num2 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    font-size: 14px;
}

.option_num2 .pay_bef1::before {
    display: block;
    content: "판매금액";
    color: #bbbbbb;
    text-align: center;
    font-weight: 500 !important;
    margin-bottom: 6px;
}

.option_num2 .pay_bef2::before {
    display: block;
    content: "할인금액";
    color: var(--main-color);
    text-align: center;
    font-weight: 500 !important;
    margin-bottom: 6px;
}

.option_num2 .pay_bef3::before {
    display: block;
    content: "쿠폰적용금액";
    color: #bbbbbb;
    text-align: center;
    font-weight: 500 !important;
    margin-bottom: 6px;
}

.option_divi2::before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
    margin: 15px 0;
}

.option_num .num_price {
    display: flex;
    align-self: center;
    justify-content: space-between;
}

.option_num .num_grp {
    display: flex;
    align-items: center;
    gap: 12px;
}

.option_num .minus_btn {
    width: 16px;
    height: 16px;
    background: url(../images/ico_minus.png) center no-repeat;
    background-size: contain;
    border: 0;
    cursor: pointer;
}

.option_num .plus_btn {
    width: 16px;
    height: 16px;
    background: url(../images/ico_plus.png) center no-repeat;
    background-size: contain;
    border: 0;
    cursor: pointer;
}

.discount2::before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
    margin: 15px 0;
}

.md_help_balloon2 {
    display: inline-block;
    position: relative;
    background: var(--main-color);
    border-radius: 5px;
    padding: 10px;
    font-size: 14px;
    color: #fff;
    float: right;
}

.md_help_balloon2:before {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    background: var(--main-color);
    transform: rotate(45deg) translate(-50%, -50%);
    left: 50%;
    top: 2px;
}

/* order */
.order_con {
    background-color: #fff;
}

.order_right.lay_right {
    margin-top: 0;
}

.btn_tit {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.btn_tit .tit_btn {
    color: #a3a3a3;
    border: 1px solid #a3a3a3;
    background-color: #fff;
    padding: 6px 16px;
    cursor: pointer;
    font-size: 16px;
}

.btn_tit span {
    font-size: 14px !important;
}

.order_box {
    border: 1px solid #dedede;
    border-radius: 10px;
    padding: 20px;
    background-color: #fff;
}

.order_box .small {
    color: #999;
    font-size: 16px !important;
}

.input_btn_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.input_btn_wrap input[type="text"] {
    width: 80%;
}

.input_btn_wrap .input_btn {
    width: 19%;
    height: 42px;
    border: 1px solid #000;
    color: #000;
    border-radius: 0;
    background-color: #fff;
    cursor: pointer;
    font-size: 14px;
}

.input_btn_wrap .input_btn:disabled {
    background-color: #f4f4f4;
    border: 1px solid #dedede;
}

.vercode.input_btn:disabled {
    background-color: #f4f4f4 !important;
    border: 1px solid #dedede !important;
    color: #999 !important;
    cursor: not-allowed !important;
}

.vercode.input_btn.active {
    background-color: var(--main-color) !important;
    border: 1px solid var(--main-color) !important;
    color: #fff !important;
    cursor: pointer !important;
}

.vercode.input_btn:not(:disabled):not(.active) {
    background-color: #fff !important;
    border: 1px solid #000 !important;
    color: #000 !important;
    cursor: pointer !important;
}

.modal_input_wrap input[type="text"] {
    width: 100%;
    margin-top: 4px;
    outline: 0;
}

.modal_input_wrap input[type="password"] {
    outline: 0;
}

.modal_input_wrap input[type="text"]:focus,
.modal_input_wrap input[type="number"]:focus {
    border: 1px solid var(--main-color);
}

.modal_input_wrap input[type="password"]:focus {
    border: 1px solid var(--main-color);
}

.modal_input_wrap p {
    font-size: 16px;
}

.modal_input_wrap p img {
    width: 12px;
    margin-top: 2px;
}

.modal_input_wrap .input_btn {
    width: 32%;
}

.auth_code {
    position: relative;
}

.auth_code>span {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
}

.visual_sec2 {
    background: var(--main-color) !important;
}

.order_comp_info {
    max-width: 700px;
    width: 100%;
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.comp_top {
    background-color: #fff;
    border-radius: 15px;
    padding: 40px 62px;
    border-bottom: 1px dashed #d7d7d7;
    text-align: center;
}

.comp_btm {
    position: relative;
    background-color: #fff;
    border-radius: 15px;
    padding: 40px 62px 60px;
}

.comp_btm>h2 {
    font-size: 20px;
}

.comp_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.comp_btn {
    display: block;
    margin: 0 auto;
    width: 180px;
    padding: 16px 0;
    text-align: center;
    border-radius: 8px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

.order_swiper {
    width: 100%;
    overflow: hidden;
}

.order_swiper_next,
.order_swiper_prev {
    color: var(--main-color);
    top: 60%;
}

.order_swiper_next::after,
.order_swiper_prev::after {
    font-size: 24px;
}

.order_swiper_pagi {
    width: 50px;
    font-size: 14px;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50px;
    padding: 2px;
    color: #6c6c6c;
    font-weight: 700;
    text-align: center;
    left: 50%;
    bottom: 25px;
    transform: translateX(-50%);
}

.order_swiper_pagi .swiper-pagination-current {
    color: #fff;
}

/* login */
.login_con {
    background-color: #fff;
}

div.login_con {
    min-height: 100vh;
    padding-bottom: 50px;
}

.login_con>h1 {
    line-height: 150%;
}

.login_btn_wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.login_btn_wrap .login_btn {
    position: relative;
    width: 49%;
    border-radius: 10px;
    height: 65px;
    align-content: center;
    cursor: pointer;
}

.login_btn_wrap .login_btn>p {
    text-align: center;
    font-weight: 700;
}

.login_btn_wrap .login_btn>img {
    position: absolute;
    top: 50%;
    left: 22px;
    transform: translateY(-50%);
    width: 30px;
}

.login_btn_wrap .login_btn.kakao_login {
    background-color: #fae100;
    color: #371d1e;
    border: 1px solid #fae100;
}

.login_btn_wrap .login_btn.apple_login {
    background-color: #000;
    color: #fff;
    border: 1px solid #000;
}

.login_btn_wrap .login_btn.naver_login {
    background-color: #1ec800;
    color: #fff;
    border: 1px solid #1ec800;
}

.login_btn_wrap .login_btn.email_login {
    background-color: #fff;
    color: var(--main-color);
    border: 1px solid var(--main-color);
}

.login_btn_wrap .login_btn.google_login {
    background-color: #fff;
    color: #6f6f6f;
    border: 1px solid #6f6f6f;
}

.login_btn_wrap .login_btn.profile_login {
    background-color: #fff;
    color: #a8a8a8;
    border: 1px solid #a8a8a8;
}

.find_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
}

.find_wrap>a,
.find_wrap>span {
    font-size: 16px;
    color: #7a7a7a;
}

.login_input {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

.join_info {
    max-width: 520px;
    width: 100%;
    background-color: #484848;
    color: #fff;
    text-align: center;
    align-content: center;
    height: 100px;
    margin: 0 auto 24px;
}

.alert_wrap {
    display: flex;
    gap: 20px;
    align-items: center;
}

.find_tab_wrap {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
}

.id_find {
    display: none;
}

.id_find.on {
    display: block;
}

.id_find_box {
    border: 1px solid #dddddd;
    padding: 24px;
}

.id_find_box>ul>li {
    display: flex;
    align-items: center;
    gap: 20px;
}

.id_detail {
    display: flex;
    align-items: center;
    gap: 12px;
}

.id_detail img {
    width: 20px;
}

/* plan_detail */
main.detail_main {
    background: #efefef;
}

.detail_main {
    border-radius: 40px 40px 0 0;
    margin-top: 72px;
}

.usim_main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.usim_tit {
    display: flex;
    align-items: center;
    gap: 10px;
}

.review_wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.must_box {
    background-color: #464646;
    border-radius: 10px;
    padding: 18px 24px;
}

.usim_accor_item {
    background-color: #fff;
    border-bottom: 1px solid #e8e8e8;
}

.usim_accor_item:last-child {
    border-bottom: none;
}

.usim_accor_name {
    width: 100%;
    padding: 16px 24px;
}

.usim_accor_tit_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.usim_accor_tit {
    display: flex;
    align-items: center;
    gap: 20px;
}

.usim_accor_tit_icon {
    display: flex;
    align-items: center;
    gap: 10px;
}

.usim_accor_tit_icon>img {
    width: 16px;
}

.usim_accor_tit_icon p {
    width: 100px;
}

.usim_accor_item .usim_accor_tit_wrap>img {
    width: 16px;
}

.usim_accor_item.active .usim_accor_tit_wrap>img {
    transform: rotate(180deg);
    width: 16px;
}

.usim_accor_item.active .usim_accor_tit_wrap>span>img {
    transform: rotate(180deg);
}

.usim_accor_desc {
    display: none;
    padding: 0 24px 16px;
    margin-left: 146px;
    max-width: 570px;
}

.link_box {
    width: 100%;
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-color: #fff;
    cursor: pointer;
}

.link_box img {
    width: 32px;
}

.pur_pre {
    width: 100%;
    background-color: #fff;
    padding: 16px;
}

.pur_pre>ul>li {
    line-height: 1.5;
}

.con_wrap {
    background-color: #f7f7f7;
    padding: 0 12px;
}

.con_wrap2 {
    height: 280px;
    overflow-y: scroll;
}

.con_wrap>li {
    position: relative;
    text-align: center;
    padding: 12px 0;
    border-bottom: 1px dashed #e0e0e0;
}

.con_wrap>li:last-child {
    border-bottom: 0;
}

.con_wrap>li>img {
    position: absolute;
    top: 50%;
    left: 12px;
    transform: translateY(-50%);
    width: 40px;
}

.apn_box>h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
    color: #fff;
    height: 35px;
    align-content: center;
    background-color: #464646;
    border-radius: 10px 10px 0 0;
    font-size: 16px;
    font-weight: 600;
}

.apn_box>h3 img {
    width: 18px;
    margin-top: 2px;
}

.apn_box_con {
    border-radius: 0 0 10px 10px;
    background-color: #fff;
    border: 1px solid #d0d0d0;
    padding: 6px 16px;
}

.apn_box_con>ul>li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 4px 0;
}

.apn_box_con>ul>li.btm_line2 {
    border-bottom: 1px solid #ededed;
    padding-bottom: 12px;
    margin-bottom: 7px;
}

.flag_name {
    display: flex;
    align-items: center;
    gap: 10px;
}

.flag_name>img {
    width: 30px;
}

.flag_name>p {
    font-size: 18px;
}

.flag_name .name {
    width: 70px;
}

.flag_name2 {
    gap: 4px;
}

.flag_name2>p {
    font-size: 16px;
}

.flag_name2 .name {
    width: 40px;
}

.copy_btn {
    min-width: 50px;
    color: #a3a3a3;
    font-size: 16px;
    border: 1px solid #a3a3a3;
    border-radius: 8px;
    padding: 6px 10px;
    background-color: #fff;
    cursor: pointer;
}

.usim_install {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 16px;
}

.usim_install>img {
    width: 100px;
}

.usim_install2>img {
    width: 200px;
}

.modal .usim_accor {
    /* max-height: 300px;
  overflow-y: hidden; */
}

.modal .usim_accor_item {
    border: 1px solid #d0d0d0;
    border-radius: 10px;
}

.modal .usim_accor_desc {
    border-top: 1px dashed #d0d0d0;
    margin-left: 0;
    padding: 16px 16px 0;
}

.esim_box {
    border-radius: 10px;
    border: 1px solid #d0d0d0;
    background-color: #fff;
    padding: 16px;
}

.esim_con {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
}

.modal .find_tab>li span {
    color: #000;
}

.modal .find_tab li:hover span,
.modal .find_tab li.on span {
    color: var(--main-color);
}

.modal .find_tab>li svg {
    fill: #000;
}

.modal .find_tab>li.on svg,
.modal .find_tab>li:hover svg {
    fill: var(--main-color);
}

.swiper_wrap {
    position: relative;
}

.modal_swiper {
    width: 100%;
    margin-bottom: 30px;
    overflow: hidden;
}

.modal_swiper .swiper-wrapper {
    width: 100%;
}

.modal_swiper .swiper-slide img {
    display: block;
    width: 80%;
    margin: 0 auto;
}

.modal_swiper_next,
.modal_swiper_prev {
    color: var(--main-color);
    top: 50%;
}

.modal_swiper_prev {
    left: -16px;
}

.modal_swiper_next {
    right: -16px;
}

.modal_swiper_pagi {
    bottom: -20px;
}

/* nation_search */
.must_box2 {
    color: #fff;
    border-radius: 0;
    padding: 16px;
}

.detail_btn {
    border: 1px solid #e4e4e4 !important;
    color: #939393;
    background-color: #fff;
}

.detail_btn:hover,
.detail_btn.orange {
    border: 1px solid var(--main-color) !important;
    color: var(--main-color);
}

/* sim */
.sim_con {
    display: none;
}

.sim_con.on {
    display: block;
}

.sim_conP {
    padding: 100px 0;
}

.sim_wrap {
    background-color: #efefef;
}

.sim_wrap .container {
    padding: 40px 0;
}

.sim_box_wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 24px;
}

.sim_box_wrap .order_box {
    width: 48.9%;
    padding: 20px;
}

.issue_box {
    color: #fff;
    background-color: #464646;
    padding: 8px 16px;
}

.sim_swiper {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
}

.sim_swiper_next,
.sim_swiper_prev {
    color: var(--main-color);
}

.sim_swiper_next::after,
.sim_swiper_prev::after {
    font-size: 24px;
    font-weight: 700;
}

.sim_swiper_next {
    right: -4%;
}

.sim_swiper_prev {
    left: -4%;
}

.sim_swiper_pagi {
    bottom: -6%;
    right: 50%;
    transform: translateX(-50%);
}

.qr_box {
    width: 150px;
    height: 150px;
    border: 1px solid #c1c1c1;
    border-radius: 10px;
    padding: 16px;
    margin: 0 auto 24px;
}

/* mypage */
.mypage_left {
    width: 26%;
}

.mypage_left .round_head2 {
    padding: 20px 5% 40px;
}

.mypage_right {
    width: 74%;
}

.profile_wrap {
    width: 100%;
}

.profile_wrap>img {
    display: block;
    width: 70px;
    margin: 0 auto 12px;
}

.profile_wrap>h3 {
    text-align: center;
}

.mypage_btn {
    display: block;
    width: 120px;
    text-align: center;
    color: #727272;
    background-color: #f2f2f2;
    border-radius: 50px;
    padding: 4px;
    margin: 0 auto;
    border: 0;
    cursor: pointer;
}

.mypage_nav {
    padding: 0 16px;
}

.mypage_nav>li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    position: relative;
    cursor: pointer;

}


.mypage_nav>li .label {
    width: calc(100% - 30px);
    min-width: 0;
    white-space: nowrap;
    /* 줄바꿈 방지 */
    overflow: hidden;
    text-overflow: ellipsis;
    /* 말줄임 적용 */
    position: relative;


}


/* 말줄임이 발생한 상태로 hover하면 tooltip 보여주기 */
.mypage_nav>li .label:hover::after {
    display: block;
}

.mypage_nav>li img {
    width: 14px;
}

.mypage_nav>li::after {
    display: block;
    content: "";
    background-color: #efefef;
    width: 100%;
    height: 1px;
    margin: 20px 0;
}

.mypage_nav>li:last-child::after {
    display: none;
}

.logout_btn {
    width: 100%;
    font-size: 16px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    background-color: #464646;
    padding: 16px 0;
    border: none;
    cursor: pointer;
}

.welcome_box {
    position: relative;
}

.welcome_tit {
    display: flex;
    align-items: center;
    gap: 10px;
}

.welcome_tit h3 img {
    width: 16px;
    margin-top: 4px;
}

.welcome_box_point {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.mypage_icon_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mypage_icon {
    width: 24%;
    background-color: #fff;
    border-radius: 20px;
    align-content: center;
    text-align: center;
    height: 140px;
    cursor: pointer;
}

.recent_order {
    position: relative;
    width: 100%;
    background-color: #fff;
    padding: 20px;
}

.recent_table table th {
    border-top: 1px solid #bababa;
    border-bottom: 1px solid #bababa;
    padding: 12px 0;
}

.recent_table table td {
    text-align: center;
    font-size: 15px;
    font-weight: 300;
    border-bottom: 1px solid #e7e7e7;
    padding: 20px 0;
}

.view_more_btn {
    position: absolute;
    top: 20px;
    right: 20px;
    border: none;
    background-color: #fff;
    cursor: pointer;
}

.view_more_btn img {
    width: 14px;
}

.recent_rating table th {
    padding: 12px 0 12px 12px;
    color: #999;
    text-align: left;
    border-bottom: 1px solid #eaeaea;
}

.recent_rating table td {
    padding: 12px 0 12px 12px;
    border-bottom: 1px solid #eaeaea;
}

.recent_boon table th {
    background-color: #f7f7f7;
    padding: 10px;
    border-bottom: 1px solid #eaeaea;
    align-content: flex-start;
}

.recent_boon table th h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: -0.5px;
}

.recent_boon table th h3 img {
    width: 25px;
}

.recent_boon table th p {
    padding-left: 35px;
    color: #999;
    font-size: 14px;
}

.recent_boon table td {
    padding: 10px;
    border-bottom: 1px solid #eaeaea;
    font-size: 14px;
    letter-spacing: -1px;
}

.edit_order,
.point_order,
.event_order {
    padding: 40px 20px;
}

.login_info_flex {
    display: flex;
    align-items: center;
    gap: 20px;
}

.login_info_flex>img {
    width: 70px;
}

.edit_btn {
    background-color: #fff;
    border: 1px solid #d0d0d0 !important;
    border-radius: 0 !important;
    color: #8d8d8d !important;
}

.edit_btn:hover {
    background-color: #fff !important;
    border: 1px solid var(--main-color) !important;
    border-radius: 0 !important;
    color: var(--main-color) !important;
}

.modal_input_flex {
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal_input_flex>p {
    width: 130px;
}

.modal_input_flex>div {
    min-width: calc(100% - 130px);
}

.small_btn_wrap {
    display: flex;
    align-items: center;
    gap: 4px;
}

.small_btn_wrap>button {
    color: #a3a3a3;
    border: 1px solid #ededed;
    background-color: #fff;
    padding: 5px 10px;
}

.point_box_wrap {
    background-color: #f7f7f7;
    padding: 16px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.point_box {
    width: 50%;
}

.point_tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
}

.point_tab>li {
    display: inline-block;
    color: #939393;
    padding: 10px 20px;
    border: 1px solid #e2e2e2;
    border-radius: 50px;
    cursor: pointer;
}

.point_tab>li.on,
.point_tab>li:hover {
    color: var(--main-color);
    border: 1px solid var(--main-color);
}

.point_list>li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    padding: 16px;
    border-bottom: 1px solid #dedede;
}

.point_list .point_year {
    background-color: #fbfbfb;
}

.point_list_flex {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}

.coupon_input {
    width: 70%;
}

.view_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: var(--main-color);
    color: #fff;
    border-radius: 50px;
    border: none;
    font-weight: 700;
    padding: 10px 20px;
    cursor: pointer;
}

.view_btn>img {
    width: 12px;
}

.day_box {
    display: inline-block;
    border-radius: 10px;
    border: 1px solid var(--main-color);
    color: var(--main-color);
    padding: 8px 16px;
}

.review_btn {
    color: #fff;
    background-color: var(--main-color);
    border-radius: 8px;
    padding: 12px 16px;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
}

.review_box {
    justify-content: left;
}

.star_rating {
    display: flex;
    align-items: center;
    gap: 6px;
}

.star_rating .star {
    width: 25px;
    height: 25px;
    background: url("/images/ico_star.png") no-repeat;
    background-size: 100%;
    box-sizing: border-box;
}

.star_rating .star.on {
    width: 25px;
    height: 25px;
    background: url("/images/ico_star_on.png") no-repeat;
    background-size: 100%;
    box-sizing: border-box;
}

.star_rating img {
    width: 18px;
}

.img_wrap {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.img_wrap_b>div {
    width: 200px;
    aspect-ratio: 1 / 1;
    height: 100%;
    background-size: cover;
    background-position: center;
}

.img_wrap2 {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.img_wrap2>div {
    width: 150px;
    height: 150px;
}

.img_add {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    text-align: center;
}

.img_list {
    position: relative;
    border: 1px solid #ddd;
    border-radius: 10px;

}

.img_list>.close_btn {
    width: 16px;
    position: absolute;
    top: 12px;
    right: 12px;
}

.review_con_char {
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 10px;
}

.review_con_char img {
    width: 16px;
}

.review_con_wrap {
    position: relative;
}

.review_con {
    width: 100%;
    height: 200px;
    resize: none;
    border: 1px solid #dedede;
    font-size: 16px;
    line-height: 1.2;
    padding: 12px;
    outline: 0;
}

.review_con::placeholder {
    color: #888;
}

.review_con:focus {
    border: 1px solid var(--main-color);
}

.review_con_wrap>span {
    position: absolute;
    bottom: 12px;
    right: 12px;
    font-size: 14px;
    color: #999;
}

.review_tit {
    display: flex;
    align-items: center;
    gap: 10px;
}

.review_tit>img {
    width: 16px;
}

.review_tit.on>img {
    transform: rotate(180deg);
}

.review_footer>ul {
    display: none;
}

.review_footer.on>ul {
    display: block;
}

.review_footer>ul>li {
    line-height: 1.2;
    color: #666666;
    font-weight: 300;
    font-size: 14px;
    text-indent: -12px;
    padding-left: 10px;
}

.point_table h3 {
    font-size: 18px;
    margin-bottom: 4px;
}

.point_table table th {
    padding: 10px 0;
    background-color: #f7f7f7;
    font-size: 15px;
}

.point_table table th.brS {
    border-right: 1px solid #dedede;
}

.point_table table td {
    padding: 10px 0;
    text-align: center;
    border-bottom: 1px solid #eaeaea;
    font-size: 15px;
}

.fold_btn {
    background-color: #fff;
    border: none;
    display: flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}

.fold_btn>img {
    width: 14px;
}

.my_review.btm_line::after {
    margin: 40px 0;
}

.my_review_con {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    word-wrap: break-word;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.my_review_con.on {
    overflow: visible;
    text-overflow: none;
    display: block;
    height: 100%;
}

.fold_btn.on img {
    transform: rotate(180deg);
}

.board_head2 {
    justify-content: space-between;
}

.board_list2 .items {
    position: relative;
}

.wish2 {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
}

.event_ban>img {
    margin-bottom: 12px;
    width: 100%;
}

.event_tit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    border-top: 1px solid #dedede;
}

.event_tit img {
    width: 20px;
}

.event_ban_detail>img {
    width: 100%;
}

.faq_accor {
    border: 1px solid #d7d7d7;
    border-radius: 10px;
    padding: 12px;
}

.faq_accor .usim_accor_item {
    background-color: transparent;
}

.faq_accor_desc {
    margin-left: 0;
}

.faq_accor_desc .usim_accor_tit {
    align-items: flex-start;
}

.notice_info_impo {
    display: inline-block;
    background-color: var(--main-color);
    padding: 8px 16px;
    color: #fff;
}

.notice_info {
    display: inline-block;
    background-color: #464646;
    padding: 8px 16px;
    color: #fff;
}

.faq_accor .usim_accor_tit .ac_date {
    display: block;
}

.notice_con {
    padding-left: 70px;
}

.order_list_select {
    display: flex;
    align-items: center;
    justify-content: right;
    gap: 10px;
}

.order_list_select .modal_select {
    width: 100px;
}

.order_list {
    width: 100%;
}

.order_list>li {
    margin-bottom: 24px;
    border-top: 2px solid #333333;
    border-bottom: 1px solid #dedede;
}

.order_list>li .order_list_date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px;
    border-bottom: 1px solid #dedede;
}

.detail_btn2 {
    display: flex;
    align-items: center;
    gap: 10px;
    background-color: #fff;
    border: none;
    cursor: pointer;
}

.order_list>li .order_list_con {
    padding: 16px 12px;
    border-bottom: 1px dashed #dedede;
}

.order_list>li .order_list_con:last-child {
    border-bottom: none;
}

.btm_view_btn {
    width: 100%;
    border: 1px solid #dedede;
    border-radius: 10px;
    background-color: #fff;
    padding: 10px 0;
    cursor: pointer;
}

.btm_view_btn>img {
    width: 16px;
    margin-left: 10px;
}

.btm_view_btn2>img {
    transform: rotate(180deg);
}

.order_list_con_rep,
.order_list_con_se {
    display: none;
}

.order_list_con_rep.on {
    display: block;
}

.order_list_con_se.on {
    display: block;
}

.order_box_con {
    border-bottom: 1px dashed #dedede;
    padding-bottom: 24px;
    margin-bottom: 24px;
}

.order_box_con:last-child {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

.order_box_con>ul {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.order_box_con>ul:last-child {
    margin-bottom: 0;
}

.order_box_con>ul.num {
    justify-content: space-between;
}

.order_box_con>ul>li.col_gr {
    min-width: 100px;
}

.order_list_item {
    border-bottom: 1px solid #dedede !important;
}

.order_list_desc {
    border-top: 1px dashed #dedede;
    padding-top: 12px;
}

.edit_btn2 {
    display: inline-block;
    padding: 6px 16px;
    border: 1px solid var(--main-color);
    color: var(--main-color);
    background-color: #fff;
    cursor: pointer;
    font-size: 15px;
    font-weight: 700;
}

.alarm_con .order_box h3 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.dashed_line span {
    background-color: #fff;
    position: absolute;
    right: 0;
    top: -8px;
}

.order_box.disabled {
    border: 1px solid #d7d7d7;
    color: #bbbbbb;
}

.order_box.disabled span {
    color: #bbbbbb;
}

/* toggle */
.edit_btn2.toggle {
    position: relative;
}

.edit_btn2.toggle .select_win {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 160px;
    top: 45px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
    color: #5b5b5b;
    overflow: hidden;
    z-index: 200;
}

.edit_btn2.toggle .select_win.on {
    display: block;
}

.edit_btn2.toggle .select_win .tit {
    display: none;
}

.edit_btn2.toggle .select_win li {
    border-radius: 5px;
    font-size: 14px;
    line-height: 30px;
    text-align: center;
    cursor: pointer;
}

.edit_btn2.toggle .select_win li:hover {
    background: var(--select-over);
}

/* alarm */
.alarm_con .order_box {
    position: relative;
}

.box_close {
    position: absolute;
    top: -8px;
    right: -8px;
    cursor: pointer;
}

.modal_input_wrap.btm_line::after {
    margin: 40px 0;
}

.modal_input_wrap_flex {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
}

.modal_input_wrap_flex>p {
    width: 100px;
}

.modal_input_wrap_flex .auth_code {
    width: calc(100% - 100px);
}

.inq_input_flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.inq_input_flex .modal_input_wrap_flex {
    width: 50%;
}

.inq_accor_desc {
    margin-left: 0;
    background-color: #f5f5f5;
    padding: 16px;
}

.inq_accor_desc.usim_accor_tit {
    align-items: center;
}

.all_around {
    width: 100%;
    background-color: var(--main-color);
    padding: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    cursor: pointer;
}

.my_review_profile>img {
    width: 60px;
}

.my_review_profile {
    display: flex;
    align-items: center;
    gap: 12px;
}

.usim_txt {
    display: flex;
    align-items: center;
    gap: 10px;
}

.my_review_con_wrap {
    margin-left: 70px;
}

.img_wrap.on {
    display: none;
}

.img_wrap_big {
    display: none;
}

.img_wrap_big.on {
    display: block;
}

.img_wrap_big>div {
    width: 240px;
    height: 240px;
}

.all_around_wrap {
    position: relative;
    width: 100%;
    height: 100%;
}

.all_around_wrap .back {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--lightbox-bg);
    z-index: 100;
}

.all_around_wrap.on .back {
    display: block;
}

.all_around_wrap .all_box {
    position: relative;
    z-index: 150;
}

.all_around_con_dis {
    display: none;
}

.all_around_wrap.on .all_around_con_dis {
    display: block;
}

.all_around_wrap.on .all_around>img {
    transform: rotate(180deg);
}

.all_around_con {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    background-color: #fff;
    border-radius: 0 0 10px 10px;
    padding: 20px 16px;
}

.all_around_con .md_btn {
    min-width: 100px;
}

@media all and (min-width: 1024px) {

    /* basket */
    .basket_con {
        padding: 180px 0 0;
    }

    .basket_con .lay_left {
        padding-bottom: 29px;
    }

    .basket_con>h1 {
        font-weight: 700;
        text-align: center;
        margin-bottom: 40px;
        font-size: 30px;
    }

    .modal_m_arr {
        display: none;
    }

    /* plan_detail */
    .detail_con {
        padding: 50px 0 0;
    }

    /* nation_search */
    #main.nation_main .basket_con {
        padding: 122px 0 0;
    }
}

@media (max-width: 1023px) {

    /* basket */
    .lay_right.basket_right {
        position: fixed;
        bottom: 0;
        left: 0;
        border-radius: 20px 20px 0 0;
        padding: 20px;
        z-index: 10;
        box-shadow: 0px -4px 10px 0 rgba(0, 0, 0, 0.08);
    }

    /* modal */
    .modal_content.modal_content_m {
        position: fixed !important;
        bottom: 0;
        width: 100% !important;
        border-radius: 15px 15px 0 0 !important;
        padding: 15px !important;
    }

    .modal_m_arr>img {
        display: block;
        margin: 0 auto 20px;
    }

    /* order */
    .container.order_con,
    .container.edit_con {
        padding: 0;
    }

    .order_right {
        position: initial !important;
        padding: 0 !important;
        box-shadow: none !important;
    }

    .pay_box {
        border: 1px solid #dedede;
        border-radius: 8px;
        padding: 12px;
    }

    .order_tab {
        gap: 4px;
    }

    .m_check_wrap {
        display: block;
    }

    .order_main {
        padding: 65px 0 50px !important;
    }

    .visual_sec2 {
        height: 200px !important;
    }

    .order_comp_info {
        max-width: 500px;
        width: 100%;
        margin: 0 auto;
        top: 40px;
    }

    .comp_top {
        padding: 30px 40px;
    }

    .comp_top h1 {
        font-size: 24px;
    }

    .comp_btm {
        padding: 40px 30px 60px;
    }

    .order_swiper_next,
    .order_swiper_prev {
        display: none;
    }

    /* login */
    .login_con>h1 {
        margin: 50px 0;
    }

    .login_btn_wrap {
        flex-direction: column;
    }

    .login_btn_wrap .login_btn {
        width: 100%;
    }

    .find_wrap>a,
    .find_wrap>span {
        font-size: 14px;
        color: #7a7a7a;
    }

    /* plan_detail */
    .detail_main {
        padding: 25px 0 !important;
        margin-top: 65px;
    }

    .detail_con {
        padding: 0 !important;
    }

    .usim_main_m {
        width: 100%;
        padding: 0 4%;
    }

    .usim_main_m>img {
        width: 100px;
    }

    .usim_m {
        display: block;
        margin: 0 auto 12px;
    }

    .must_box {
        position: relative;
        margin-bottom: 12px !important;
        padding: 16px;
    }

    .must_box:before {
        content: "";
        position: absolute;
        width: 10px;
        height: 10px;
        background: #464646;
        transform: rotate(45deg) translate(-50%, -50%);
        left: 50%;
        top: 2px;
    }

    .review_wrap._mo {
        margin-bottom: 12px;
        justify-content: right;
    }

    /* nation_search */
    .must_box2:before {
        display: none;
    }

    .cart_btn {
        position: relative;
    }

    .cart_btn>span {
        font-size: 12px;
        position: absolute;
        right: -8px;
        top: -8px;
        background-color: var(--main-color);
        border-radius: 50%;
        width: 18px;
        height: 18px;
        color: #fff;
        font-weight: 700;
        text-align: center;
        align-content: center;
    }

    .btn_fixed {
        position: fixed;
        top: 65px;
        left: 0;
        background-color: #fff;
        width: 100%;
        padding: 16px 4%;
        box-shadow: 0 2px 10px 0 rgba(0, 0, 0, 0.05);
    }

    .nation_swiper .swiper-slide {
        display: flex;
        align-items: center;
        gap: 10px;
        width: auto;
    }

    .nation_swiper .swiper-slide>img {
        width: 24px;
        height: 24px;
    }

    .nation_swiper_next,
    .nation_swiper_prev {
        color: #000;
    }

    .nation_swiper_next::after,
    .nation_swiper_prev::after {
        font-size: 14px;
        font-weight: 900;
    }

    .nation_swiper_next {
        right: -18px;
    }

    .nation_swiper_prev {
        left: -18px;
    }

    /* sim */
    .sim_wrap .container {
        position: relative;
        padding: 30px 4%;
    }

    .sim_box_wrap .order_box {
        width: 100%;
    }

    .issue_box {
        padding: 2px 4px;
        font-size: 14px;
    }

    /* mypage */
    .mypage_left {
        width: 100%;
    }

    .mypage_right {
        width: 100%;
    }

    .m_mypage {
        display: flex;
        flex-direction: column-reverse;
        transform: translateY(-30px);
    }

    .round_head2 {
        padding: 0 !important;
    }

    .profile_wrap {
        transform: translateY(-40px);
    }

    .profile_wrap>h3 {
        color: #fff;
        font-size: 18px;
    }

    .welcome_box {
        width: 100%;
        background-color: #fff;
        border-radius: 20px;
        padding: 20px;
    }

    .mypage_nav {
        width: 100%;
        background-color: #fff;
        border-radius: 20px;
        padding: 24px;
    }

    .mypage_btm>p {
        padding-left: 20px;
    }

    .edit_order {
        padding: 140px 0 0;
    }

    .coupon_input {
        width: 100%;
    }

    .point_order {
        padding: 95px 0 0;
    }

    .m_review {
        flex-wrap: wrap;
    }

    .review_btn {
        display: block;
        width: 100%;
        margin-top: 12px;
    }

    .event_order {
        padding: 65px 0 0;
    }

    .md_date_win2 .list {
        height: auto;
    }

    /* checkbox */
    .check_wrap4 .checkbox_wrap {
        width: 28%;
    }

    .inq_input_flex {
        display: block;
    }

    .inq_input_flex .modal_input_wrap_flex {
        width: 100%;
    }

    .all_around_con {
        flex-direction: column;
    }

    .all_around_con .md_btn {
        min-width: 100%;
    }

    .checkbox_wrap>img {
        width: 16px;
    }

    .checkbox_wrap span {
        /* font-size: 15px; */
    }

    .link_box>p {
        font-size: 16px;
    }

    .pur_pre>p {
        font-size: 16px;
    }

    .pur_pre>ul>li {
        font-size: 14px;
    }
}

/* 250120 추가 */
.sale_dis {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

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

.sale_dis2 .sale {
    width: 100px;
}

.sale_dis2 .space {
    max-width: 400px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #999;
}

.basket_box.disabled {
    color: #adadad !important;
}

.coupon_btn.red {
    background-color: #e00000 !important;
}

.basket_box.disabled .btn_wrap>button {
    background-color: #f4f4f4;
    color: #adadad !important;
}

.br0 {
    border-right: 0 !important;
}

@media (max-width: 1023px) {
    .sale_dis2 .sale {
        width: 75px;
    }

    .sale_dis2 .space {
        max-width: 300px;
    }
}

@media (max-width: 500px) {
    .sale_dis2 .space {
        max-width: 150px;
    }
}

@media (max-width: 400px) {
    .sale_dis2 .space {
        max-width: 120px;
    }
}

/* 250221 추가 */
.intro_body {
    overflow-y: hidden;
}

.intro_main {
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    z-index: 50;
}

.intro_main.on {
    display: none;
}

.md_country_search .search {
    position: relative;
}

.search_close {
    position: absolute;
    top: 50%;
    right: 13%;
    transform: translateY(-50%);
}

.alert_fixed {
    position: fixed;
    bottom: 8%;
    left: 50%;
    width: 80%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.75);
    border-radius: 5px;
    padding: 13px 21px;
}

.alert_fixed>p {
    width: 100%;
    font-size: 16px;
    color: #fff;
    text-align: center;
}

.board_list .name img {
    height: 16px;
    margin-top: 4px;
}

.modal_tit_s>p {
    font-size: 13px;
}

.modal_tit_s select {
    font-size: 14px;
}

.comp_top_img {
    width: 40px;
}

.com_main {
    padding: 0 0 50px !important;
    position: relative;
    min-height: 1200px;
    height: 100%;
}

.heart_close img {
    height: 16px;
}

.option_divi {
    position: relative;
}

.option_divi_close {
    position: absolute;
    top: 15px;
    right: 0;
    width: 12px;
}

/* modal */
.modal .modal_wrap .modal_content.m_close {
    position: relative;
    padding-top: 50px;
}

.m_close2 {
    position: relative;
}

.order_tab_con2 p.tit {
    font-size: 18px;
}

.mypage_btm>p {
    font-size: 14px;
}

.md_btn_bg {
    background-color: #fff;
    padding: 16px 0 30px;
}

.btn_sticky_bg {
    bottom: -20px !important;
}

@media (max-width: 1023px) {
    .modal_wrap .coupon_btm {
        padding: 24px 15px 130px;
    }

    .modal_tit3 {
        font-size: 18px;
    }

    .comp_btm>h2 {
        font-size: 18px;
    }

    .order_swiper_pagi {
        font-size: 12px;
    }

    .com_body header {
        display: none;
    }

    .com_main {
        min-height: 820px;
    }

    .input_btn_wrap .input_btn {
        font-size: 14px;
    }

    .basket_box h2 {
        font-size: 20px;
    }

    .basket_box .btn_wrap>button {
        padding: 10px 0;
    }

    .basket_con .pay_wrap h2 {
        font-size: 18px;
    }

    .sim_main {
        padding: 65px 0 30px !important;
    }

    .find_tab li {
        font-size: 18px;
    }

    .order_box h2 {
        font-size: 18px;
    }

    .m_close2 {
        position: relative;
        padding: 15px !important;
    }

    .multi_modal p.subtit {
        font-size: 15px;
    }

    .profile_wrap>img {
        width: 90px;
        margin: 0 auto 10px;
    }

    .mypage_btn {
        width: 100px;
        font-size: 16px;
    }

    .welcome_tit img {
        width: 24px;
    }

    .mypage_nav>li {
        font-size: 16px;
    }

    .logout_btn {
        margin: 0 !important;
    }

    .recent_boon table th h3 {
        flex-direction: column;
        align-items: flex-start;
    }

    .recent_boon table th p {
        padding-left: 0;
    }

    .login_info_flex>img {
        width: 50px;
    }

    .modal_input_flex>p {
        width: 110px;
    }

    .ico_eye img {
        width: 16px;
    }

    .add_list_name {
        font-size: 16px;
    }

    .small_btn_wrap>button {
        font-size: 14px;
        padding: 6px 12px;
    }

    .point_tab>li {
        padding: 6px 20px;
    }

    .point_list_flex {
        gap: 30px;
    }

    .day_box {
        font-size: 14px;
        padding: 6px 10px;
        border-radius: 8px;
    }

    .review_order_box {
        padding: 16px 16px 8px !important;
    }

    .fold_btn span {
        font-size: 14px;
    }

    .img_wrap2 {
        flex-wrap: nowrap;
    }

    .img_wrap2>div {
        width: 33%;
        height: 33%;
    }

    .img_wrap_b>div {
        width: calc(33.333% - 10px);
        /* 3등분 - gap 고려 */
        aspect-ratio: 1 / 1;
        height: auto;
        /* height: 100% 제거 */
        background-size: cover;
        background-position: center;
        flex-shrink: 0;
        /* 축소 방지 */




    }


    .review_tit>img {
        width: 14px;
    }

    .wish2 img {
        width: 18px;
    }

    .box_close {
        width: 20px;
    }

    .alarm_con .order_box {
        padding: 16px;
    }

    .order_box .small {
        font-size: 14px !important;
    }
}

@media (max-width: 500px) {
    .md_country_selok .list li {
        width: calc((100% - 32px * 3) / 4);
    }

    .comp_wrap_con {
        width: 200px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}
