/*Public*/
.t-gray {
    color: #848F9A
}

.t-gray2 {
    color: #7c7c7c
}

.t-gray3 {
    color: #727272
}

.like_btn {
    background: url(../img/like_btn.svg) no-repeat center;
    background-size: 19px;
    border: 0;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16));
    width: 30px;
    height: 30px;
}

.like_btn.on {
    background: url(../img/like_btn_on.svg) no-repeat center;``
    background-size: 19px;
}

.p_like_btn .like_icon {
    background: url(../img/p_like.svg) no-repeat center;
    background-size: cover;
    border: 0;
    width: 49px;
    height: 49px;
}

.p_like_btn.on .like_icon {
    background: url(../img/p_like_on.svg) no-repeat center;
    background-size: cover;
}

.hd_dropdown .dropdown-menu {
    border: 0;
    border-radius: 12px;
    box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.2);
}

.hd_dropdown .dropdown-menu .dropdown-item {
    font-size: 14px;
    text-align: center;
}

.pt_3 {
    padding-top: 3px;
}

.star-rating {
    display: flex;
    align-items: center;
}

.star-rating img {
    width: 38px;
    cursor: pointer;
}

.hd_m.board {
    height: 103px !important;
    overflow: hidden;
    padding: 0;
}

.hd_m.board>div {
    width: 100%;
}

.hd_m.board>div>.hd_btn {
    height: 50px;
}

.top_board_category {
    padding: 10px 0;
}

.top_board_category ul {
    margin: 0;
}

.top_board_category ul li {
    width: auto;
}

.top_board_category ul li:last-child {
    padding-right: 16px;
}

.top_board_category ul li .btn {
    width: max-content;
    padding: 7px 15px;
    height: 34px;
}

.top_board_category ul li .btn img {
    height: auto;
}

.board_pg {
    min-height: 100vh;
    background: #fff;
    padding-top: 103px;
    padding-bottom: 6rem;
    position: relative;
    overflow-y: hidden;
}

.g-heart,
.modal_close {
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.pointer{cursor: pointer;}

.ic_heart {
    width: 10px;
    height: 9px;
    background: url(../img/ic_heart.svg) no-repeat;
    background-size: cover;
}

.g-heart.on .ic_heart {
    background: url(../img/ic_heart_on.svg) no-repeat;
    background-size: cover;
}

.g-heart.on p {
    color: #E92E00;
}

.follow-btn {
    padding: 10px;
    font-size: 14px;
    color: #4C00DB;
    border: 1px solid #4C00DB;
    border-radius: 6px;
    background-color: #fff;
}

.follow-btn.complete {
    color: #000;
    border: 1px solid #D7DCE2;
}

.reply_btn {
    border: 0;
    background-color: transparent;
    font-size: 13px;
    color: #848F9A;
}

.notice-item-box {
    position: relative;
    width: 100%;
    min-height: 15px;
}

.notice-item-box .notice-item {
    margin-top: 0px;
    padding-left: 0;
}

.notice-slide {
    padding: 12px 16px 12px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    position: relative;
    overflow: hidden;
}

button {
    color: var(--text);
}

/* Main */
[type="search"] {
    -webkit-appearance: textfield;
    /* 기본(네이티브) 모양을 제거 */
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-results-button {
    display: none;
    /* X 버튼 및 검색 결과 버튼 숨기기 */
}

.main-slide .swiper-pagination {
    display: inline-block;
    background-color: rgba(9, 9, 9, 0.69);
    width: auto;
    color: #fff;
    padding: 4px 10px;
    border-radius: 50px;
    left: auto;
    right: 16px;
    top: auto;
    bottom: 14px;
    font-size: 12px;
}

.main-slide ul li {
    aspect-ratio: 9 / 5;
}

.main-slide ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.main section {
    padding-top: 25px;
    padding-bottom: 30px;
}

.subject-box {
    padding-top: 25px;
    text-align: center;
}

.subject-menu {
    padding-bottom: 20px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.subject-menu button {
    width: calc((100% / 5) - 6.5px);
    aspect-ratio: 1 / 1;
    background-color: #fff;
    border: 1px solid #BDC5FD;
    border-radius: 12px;
    text-align: center;
    padding: 4px 0 7px;
    overflow: hidden;
}

.subject-menu p {
    font-size: 13px;
    font-weight: 700;
    color: #515151;
}

.subject-box .total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 13px;
    font-weight: 600;
    color: #965EFF;
    padding: 14px 28px;
    border-radius: 60px;
    border: 0;
    background-color: rgba(224, 207, 255, 0.24);
}

.main-sec2 {
    background-color: #f1f1f1;
}

.popular_posts {
    padding: 0 16px;
}

.popular_posts li {
    padding: 15px;
    border: 1px solid #D7DCE2;
    border-radius: 12px;
    background-color: #fff;
}

.more_btn {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: #999;
    gap: 7px
}

.post_tag {
    display: inline-block;
    color: #A171FC;
    font-size: 12px;
    font-weight: 600;
    padding: 3px 5px;
    border-radius: 4px;
    background-color: #f7f7f7;
}

.board_category {
    display: flex;
    flex-wrap: wrap;
    gap: 11px;
    margin-bottom: 40px;
}

.board_category button {
    width: calc((100% / 3) - 7.35px);
    background-color: #fff;
    border: 1px solid #B8BFC7;
    border-radius: 12px;
    padding: 12px 10px;
}

.board_category button p {
    word-break: keep-all;
}

.main-event {
    border-radius: 9px;
    overflow: hidden;
}

footer {
    background-color: #222;
    padding: 20px 0 50px;
}

.f_logo {
    opacity: 0.45;
}

.corp_area {
    margin: 17px 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.corp_area a {
    color: #D7DCE2;
    font-size: 13px;
    font-weight: 500;
}

.corp_area .w-line {
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: #D7DCE2;
}

.company_info {
    padding-bottom: 15px;
    border-bottom: 1px solid #a5a5a5;
    margin-bottom: 15px;
}

.company_info p {
    font-size: 13px;
    color: #727272;
}

.company_info .g-line {
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: #727272;
}

/*Academy List*/
.academy_list_top {
    padding: 20px 0 15px;
    border-bottom: 1px solid #D7DCE2;
}

.academy_list_top .subject-btn {
    padding: 0 16px;
    margin-bottom: 15px;
}

.academy_list_top .subject-btn li {
    border: 1px solid #BDC5FD;
    border-radius: 12px;
    text-align: center;
    padding: 4px 3px 7px;
    aspect-ratio: 1 / 1;
    width: 70px;
    cursor: pointer;
}

.academy_list_top .subject-btn li.on {
    border: 1px solid #4C00DB;
    background-color: #F2EFFF
}

.academy_list_top .subject-btn li p {
    font-size: 14px;
    font-weight: 700;
    color: #515151;
}

.academy_list_top .subject-btn li.on p {
    color: #4C00DB
}

.sm_selct select {
    width: auto;
    min-width: 8.7rem;
}

.sm_selct .form-control {
    height: 3rem;
    background: url(../img/ic_b_select.png) no-repeat center right 1rem;
    background-size: 1.5rem;
}

.academy_list_box {
    padding: 20px 16px;
}

.academy_tag {
    display: flex;
    align-items: center;
    gap: 7px;
}

.academy_tag img {
    aspect-ratio: auto !important;
}

.academy_tag .tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 5px 7px;
    background-color: #F1F1F1;
    border-radius: 5px;
}

.academy_tag .tag p {
    font-size: 13px;
    font-weight: 500;
    color: #7A7A7A;
    text-wrap-mode: nowrap;
}

.academy_list_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.academy_list_box ul li {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #fff;
    border: 1px solid #D7DCE2;
    border-radius: 12px;
    overflow: hidden;
}

.academy_list_box ul li .like_btn {
    position: absolute;
    z-index: 1;
    right: 5px;
    top: 5px;
}

.academy_info {
    width: calc(100% - 142px);
    padding: 14px 18px 18px;
}

.academy_info h5 {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 10px;
}

.academy_img {
    max-width: 142px;
    width: 100%;
}

.academy_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 14 / 15.5;
}

/*Academy Datail*/
.academy-slide .swiper-pagination {
    display: inline-block;
    background-color: rgba(9, 9, 9, 0.69);
    width: auto;
    color: #fff;
    padding: 4px 10px;
    border-radius: 50px;
    left: auto;
    right: 16px;
    top: auto;
    bottom: 14px;
    font-size: 12px;
}

.academy-slide ul li {
    aspect-ratio: 9 / 5;
}

.academy-slide ul li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.academy_detail_top .academy_detail_btn {
    padding: 14px 0 13px;
    border-bottom: 6px solid #F8F8F8;
}

.academy_detail_top .academy_detail_btn button {
    border: 0;
    background-color: #fff;
}

.academy_detail_top .sub_box {
    padding: 20px 16px;
}

.academy_detail_top .sub_box .gray-box {
    background-color: #f8f8f8;
    border-radius: 8px;
    padding: 15px 17px;
}

.academy_detail_top .sub_box .gray-box .sub-tit {
    display: inline-block;
    text-wrap-mode: nowrap;
    padding: 4px 7px;
    background-color: #fff;
    font-size: 12px;
    font-weight: 500;
    border-radius: 3px;
    color: #7C7C7C;
}

.academy_detail_top .sub_box .gray-box p {
    font-size: 15px;
    font-weight: 600;
    color: #585858;
}

.ac_tab {
    width: 100%;
}

.ac_tab li {
    width: 50%;
}

.ac_tab .nav-link.active,
.nav_tab_line .nav-item.show .nav-link {
    border-top: 0;
    border-bottom: 0.2rem solid var(--primary);
    color: var(--primary);
    padding: 0 0 15px 0;
}

.ac_tab .nav-link {
    padding: 0 0 15px 0;
    border: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #D7DCE2;
    color: #000;
    width: 100%;
    font-size: 17px;
    font-weight: 700;
    font-weight: 600;
    background: transparent;
}

.academy_intro_box {
    padding: 36px 16px 24px;
    border-bottom: 6px solid #F8F8F8;
}

.academy_intro_box>p {
    white-space: pre-line;
    font-size: 14px;
    line-height: 20px;
}

.academy_review .review_top {
    padding: 15px 16px 20px;
}

.ac_star_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 25px;
    padding: 18px 0;
    border-radius: 14px;
    background-color: #f8f8f8;
    margin-bottom: 15px;
}

.ac_star_box .r_star {
    display: flex;
    align-items: center;
}

.writing_list {
    border-top: 1px solid #D7DCE2;
}

.writing_list>ul>li {
    padding: 20px 16px;
    border-bottom: 1px solid #D7DCE2;
}

.writing_list>ul>li:last-child {
    border: 0;
}

.hd_dropdown .btn {
    height: auto;
}

.mini_profile {
    width: 33.5px;
    border: 1.5px solid #B8BFC7;
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.mini_profile.pp {
    border: 1.5px solid #4C00DB;
}

.mini_profile img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.writing_list>ul>li .dropdown button {
    border: 0;
    background-color: transparent;
}

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

.sm_r_star img {
    width: 11px;
}

.list_con .con {
    font-size: 14px;
    line-height: 20px;
}

.list_con li {
    width: 110px;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    border-radius: 9px;
    border: 1px solid #D7DCE2;
    cursor: pointer;
}

.list_con li img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.re_more_btn {
    padding: 15px 16px;
}

.list-item.hidden {
    display: none;
}

.review_go_btn {
    display: none;
    cursor: pointer;
    border: 1px solid #4C00DB;
    z-index: 2;
    width: 150px;
    padding: 14px 0;
    justify-content: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 600;
    border-radius: 50px;
    background-color: #fff;
    position: fixed;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
}

.course_guide {
    padding: 36px 16px 24px;
}

.course_guide p {
    white-space: pre-line;
    font-size: 14px;
    line-height: 20px;
}

/*Map*/
.map_box .wrap_controllers {
    display: none;
}

.map_box .cont {
    display: none;
}

.map_box .root_daum_roughmap {
    width: 100%;
}

.map_box .root_daum_roughmap .wrap_map {
    width: 100%;
    height: calc(100vh - 50px);
}

.map_academy_info {
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
    z-index: 1;
    width: 100%;
    max-width: 576px;
    background: #fff;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 24px 16px;
    border-radius: 20px 20px 0 0;
    border: 1px solid #DCD4EB;
    box-shadow: 0px 3px 20px rgba(0, 0, 0, 0.16);
}

/*Review Writing*/
.upload_list ul li {
    width: 100px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid #E7EAEF;
    border-radius: 12px;
    position: relative;
}

.photo_upload {
    width: 100%;
    aspect-ratio: 1 / 1;
}
.photo_upload img{
	width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}
.upload_img {
    width: 100%;
    aspect-ratio: 1 / 1;
}

.upload_img img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.upload_choice {
    background: url(../img/photo_upload.png) no-repeat center;
    background-size: cover;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.upload_delete {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background-color: transparent;
    padding: 0 !important;
    z-index: 1;
}

.fixed_bottom_btn {
    padding-bottom: env(safe-area-inset-bottom);
    position: fixed;
    z-index: 1;
    width: 100%;
    max-width: 576px;
    background: #fff;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 15px 16px;
}

/*Bulletin Board*/
.bb_top {
    padding: 12px 16px 16px;
}

.board-wt-btn {
    position: fixed;
    bottom: 85px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    z-index: 10;
    padding-bottom: env(safe-area-inset-bottom);
}

.board-wt-btn a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 14px 24px;
    background-color: #9230ff;
    border-radius: 50px;
}

.board-wt-btn a p {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

/*Bulletin Board Detail*/
.bb_detail_top {
    padding: 20px 0 15px;
    border-bottom: 1px solid #D7DCE2;
}

.bb_detail_top .mini_profile {
    width: 36px;
}

.mini_ac_profile {
    width: 40px;
    border: 1px solid #F1F1F1;
    border-radius: 50%;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.mini_ac_profile img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.board_academy_list {
    margin: 30px 0;
}

.board_academy_list ul {
    padding: 15px;
    border: 1px solid #F1F1F1;
    border-radius: 8px;
}

.board_academy_list ul li {
    width: 100%;
    aspect-ratio: auto;
    border: 0;
    border-radius: 0;
    border-bottom: 1px solid #F1F1F1;
    padding-bottom: 15px;
    margin-bottom: 15px;
    position: relative;
}

.board_academy_list ul li:last-child {
    padding-bottom: 0px;
    margin-bottom: 0px;
    border-bottom: 0;
}

.board_academy_list ul li .academy_info {
    width: 100%;
    padding: 0;
}

.board_academy_list ul li .academy_info h5 {
    margin-bottom: 5px;
    font-weight: 500;
}

.board_academy_list ul li .academy_tag .tag.add {
    background-color: transparent;
}

.board_academy_list ul li .academy_tag .tag {
    padding: 1px 3px;
}

.arrow_right {
    width: auto !important;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.comment_wt {
    padding: 15px 16px;
    border-bottom: 1px solid #D7DCE2;
}

.comment_wt textarea,
.edit-mode-box textarea,
.reply_wt textarea,
.reply_list li.modify textarea {
    max-height: 88px;
    min-height: auto;
    background-color: #f8f8f8;
    font-size: 14px;
    margin-bottom: 10px;
}

.comment_list .mini_profile {
    width: 30px;
}

.comment-box .comment {
    padding: 15px 16px;
    border-bottom: 1px solid #F1F1F1;
}

.comment-con {
    padding: 10px 0 15px;
}

.comment-con p {
    line-height: 20px;
}

.comment-info {
    width: 100%;
}

.reply_wt {
    padding: 15px 16px;
    border-bottom: 1px solid #f8f8f8;
    display: none;
}

.reply_list {
    background-color: #F8F9FB;
    padding: 0 16px;
    border-bottom: 1px solid #f1f1f1;
}

.reply_list li {
    display: flex;
    align-items: start;
    gap: 10px;
    padding: 20px 0 20px 40px;
}

.reply_list li.modify {
    width: 100%;
    padding: 20px 16px;
    display: block;
}

.comment_list .btn-outline-light:hover {
    border: 1px solid #D7DCE2;
    background: #fff;
}

.big_img_modal .modal-dialog {
    max-width: 576px;
    margin: auto;
}

.big_img_modal .modal-content {
    background-color: transparent;
}

.big_img_modal .modal-dialog .modal-body {
    padding: 0;
}


/*반응형 max 400px */
@media (max-width: 400px) {
    .subject-menu button {
        aspect-ratio: unset;
    }
}

/*반응형 max 320px */
@media (max-width: 320px) {
    .academy_info {
        width: calc(100% - 100px);
    }

    .academy_img {
        max-width: 100px;
    }

    .academy_img img {
        aspect-ratio: 14 / 22;
    }
}

.mobile_wr {
    /*border-left: 1px solid #F2F2F2;
    border-right: 1px solid #F2F2F2;*/
    box-sizing: content-box;
    min-height: 100vh;
}

/*메인*/
.idx_pg {
    min-height: 780px;
    padding-top: var(--hd_height_m);
}

.curs_pointer {
    cursor: pointer;
}

/*중앙 헤드*/
.center-tit {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/*서브*/
.sub_tit {
    position: relative;
}

.sub_pg {
    min-height: 780px;
    background: #fff;
    padding-top: var(--hd_height_m);
    position: relative;
}

.over_hidden {
    overflow: hidden;
}

.text_dynamic {
    white-space: pre-line;
}

.text-gray {
    color: var(--gray);
}

.text-gray2 {
    color: var(--gray2);
}

.text-black {
    color: #000 !important;
}

.bg-primary-light {
    background: var(--primary-light);
}

.dot_list li {
    list-style: none;
    margin-bottom: 1.0rem;
    display: flex;
}

.dot_list li:before {
    content: "·";
    vertical-align: middle;
    margin-right: 0.5rem;
}

.dot_list li:last-child {
    margin-bottom: 0;
}


.dot_list.fs_10 li {
    margin-bottom: 0.3rem;
}

.line_h1 {
    line-height: 1.0em;
}

.line_h1_1 {
    line-height: 1.1em;
}

.line_h1_2 {
    line-height: 1.2em;
}

.line_h1_3 {
    line-height: 1.3em;
}

.line_h1_4 {
    line-height: 1.4em;
}

.line_h1_5 {
    line-height: 1.5em;
}

.line_h1_6 {
    line-height: 1.6em;
}

.line_h1_7 {
    line-height: 1.7em;
}

.line_h1_8 {
    line-height: 1.8em;
}

.line_h1_9 {
    line-height: 1.9em;
}

.line_h2 {
    line-height: 2.0em;
}


/*폰트커스텀 기본사이즈 10px*/

.tit_h1 {
    font-size: 2.2rem;
    font-weight: 800;
    color: #000;
    line-height: 130%;
}

.tit_h2 {
    font-size: 2.0rem;
    font-weight: 800;
    color: #000;
    line-height: 130%;
}

.tit_h3 {
    font-size: 1.6rem;
    font-weight: 700;
    color: #000;
    line-height: 130%;
}


.fs_8 {
    font-size: 0.8rem;
}

.fs_9 {
    font-size: 0.9rem;
}

.fs_10 {
    font-size: 1.0rem;
}

.fs_11 {
    font-size: 1.1rem !important;
}

.fs_12 {
    font-size: 1.2rem !important;
}

.fs_13 {
    font-size: 1.3rem !important;
}

.fs_14 {
    font-size: 1.4rem !important;
}

.fs_15 {
    font-size: 1.5rem !important;
}

.fs_16 {
    font-size: 1.6rem !important;
}

.fs_17 {
    font-size: 1.7rem !important;
}

.fs_18 {
    font-size: 1.8rem !important;
}

.fs_19 {
    font-size: 1.9rem !important;
}

.fs_20 {
    font-size: 2.0rem !important;
}

.fs_21 {
    font-size: 2.1rem !important;
}

.fs_22 {
    font-size: 2.2rem;
}

.fs_23 {
    font-size: 2.3rem;
}

.fs_24 {
    font-size: 2.4rem;
}

.fs_25 {
    font-size: 2.5rem;
}

.fs_26 {
    font-size: 2.6rem;
}

.fs_27 {
    font-size: 2.7rem;
}

.fs_28 {
    font-size: 2.8rem;
}

.fs_29 {
    font-size: 2.9rem;
}

.fs_30 {
    font-size: 3.0rem;
}

.fs_31 {
    font-size: 3.1rem;
}

.fs_32 {
    font-size: 3.2rem;
}

.fs_33 {
    font-size: 3.3rem;
}

.fs_34 {
    font-size: 3.4rem;
}

.fs_35 {
    font-size: 3.5rem;
}

.fs_36 {
    font-size: 3.6rem;
}

.fs_37 {
    font-size: 3.7rem;
}

.fs_38 {
    font-size: 3.8rem;
}

.fs_39 {
    font-size: 3.9rem;
}

.fs_40 {
    font-size: 4.0rem;
}

.fs_41 {
    font-size: 4.1rem;
}

.fs_42 {
    font-size: 4.2rem;
}

.fs_43 {
    font-size: 4.3rem;
}

.fs_44 {
    font-size: 4.4rem;
}

.fs_45 {
    font-size: 4.5rem;
}

.fs_46 {
    font-size: 4.6rem;
}

.fs_47 {
    font-size: 4.7rem;
}

.fs_48 {
    font-size: 4.8rem;
}

.fs_49 {
    font-size: 4.9rem;
}

.fs_50 {
    font-size: 5.0rem;
}

.fs_51 {
    font-size: 5.1rem;
}

.fs_52 {
    font-size: 5.2rem;
}


.fw_100 {
    font-weight: 100;
}

.fw_200 {
    font-weight: 200;
}

.fw_300 {
    font-weight: 300;
}

.fw_400 {
    font-weight: 400;
}

.fw_500 {
    font-weight: 500;
}

.fw_600 {
    font-weight: 600;
}

.fw_700 {
    font-weight: 700;
}

.fw_800 {
    font-weight: 800;
}

.fw_900 {
    font-weight: 900;
}


.wh_pre {
    white-space: pre-line;
}

.wh_nowrap {
    white-space: nowrap;
}

.break_all {
    word-break: break-all;
}

.keep_all {
    word-break: keep-all;
}

/*글자 줄임말/자르기*/
.line_text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
    word-break: break-all;
}

.line1_text {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.line2_text {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: break-all;
}

.line3_text {
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: break-all;
}


/* 폼 사각형 */
.sq_guide {
    display: flex;
    flex-wrap: wrap;
}

.sq_guide li {
    width: 80px;
    height: 40px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0.5rem;
}

/* 스크롤바 none */
.scroll_bar_none {
    -ms-overflow-style: none;
}

.scroll_bar_none::-webkit-scrollbar {
    display: none;
}


/*테이블 반응형때*/
.touch_scroll {
    overflow-x: auto;
    overflow-y: hidden;
}



/* 버튼 */
.btn {
    height: var(--height);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.8rem;
    font-size: 1.5rem;
    font-weight: 500;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    word-break: keep-all;
}

.btn-sm {
    height: var(--height_sm);
    border-radius: 0.6rem;
    font-size: 1.2rem;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
}

.btn-md {
    height: var(--height_md);
    border-radius: 0.8rem;
    font-size: 1.4rem;
}

.btn-lg {
    height: 46px;
    font-weight: 700;
    font-size: 1.5rem;
}

.btn-link {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}

.btn-icon {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}

.btn-icon img {
    flex-shrink: 0;
}

.btn-light-primary {
    background: var(--primary-light);
    border-color: var(--primary-light);
    color: var(--primary);
}

.btn-light-primary:hover,
.btn-light-primary:focus {
    color: var(--primary);
}


.btn-naver {
    background: #1CC800;
    border-color: #1CC800;
    color: #fff;
}

.btn-naver:hover,
.btn-naver:focus {
    background: #1ABB00;
    border-color: #1ABB00;
}

.btn-kakao {
    background: #FFDD00;
    border-color: #FFDD00;
    color: #333;
}

.btn-kakao:hover,
.btn-kakao:focus {
    background: #FFCC00;
    border-color: #FFCC00;
}

.btn-apple {
    background: #000;
    border-color: #000;
    color: #fff;
}

.btn-apple:hover,
.btn-apple:focus {
    background: #222;
    border-color: #222;
}



.btn-group-toggle .btn-outline-light:not(:disabled):not(.disabled).active,
.btn-group-toggle .show>.btn-outline-light.dropdown-toggle {
    color: #fff;
    background-color: var(--primary);
    border-color: var(--primary);
}

.btn-group-toggle .btn-light:not(:disabled):not(.disabled).active,
.btn-group-toggle .show>.btn-light.dropdown-toggle {
    color: #000;
    background-color: #fff;
    border-color: #000;
}

.btn-group-toggle .btn {
    margin-right: 0.6rem;
}

.btn-group-toggle .btn:last-child {
    margin-right: 0;
}

.btn-group-toggle .btn input[type=radio],
.btn-group-toggle .btn input[type=checkbox],
.btn-group-toggle .btn-group .btn input[type=radio],
.btn-group-toggle .btn-group .btn input[type=checkbox] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}


.btn-group-full {
    display: flex;
}

.btn-group-full .btn {
    display: flex;
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}

.btn_toggle_primary .btn-outline-light {
    border-color: #D6DAE5;
}

.btn_toggle_primary .btn-outline-light:not(:disabled):not(.disabled).active {
    color: var(--primary);
    background-color: #fff;
    border-color: var(--primary);
    font-weight: 600;
}







/* 인풋 자동완성 초기화 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    -webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 입력 인풋 */
.form-control {
    height: var(--height);
}

.form-control-sm {
    height: var(--height_sm);
    border-radius: 0.8rem;
}

.form-control-md {
    height: var(--height_md);
    border-radius: 0.8rem;
}

.form-control-lg {
    height: var(--height_lg);
}

.form-control-auto {
    height: auto;
}


input.form-control {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-all;
}

.ip_wr .ip_tit {
	margin-bottom: 1rem;
    font-size: 1.5rem;
    font-weight: 500;
    display: inline-block;
    position: relative;
    color: #000;
}

.ip_tit h5 {
    font-size: 1.5rem;
    font-weight: 500;
    display: inline-block;
    position: relative;
    color: #000;
}

.ip_tit.required h5::after {
    content: "*";
    position: absolute;
    color: var(--warning);
    top: 0;
    right: -1.0rem;
}

.ip_wr .form-row .col-3 {
    flex: 0 0 30.4%;
    max-width: 30.4%;
}

.ip_wr {
    width: 100%;
}

/* form-text */
.form-text {
    display: none;
    margin-top: 0rem;
    /* margin-left: 1.0rem; */
    font-size: 1.2rem;
    color: #000;
}

.ip_valid .ip_valid {
    display: flex;
    color: var(--danger);
}


.ip_invalid .ip_invalid {
    display: flex;
    color: var(--success);
}



/*.form-row*/
.form-row {
    margin-left: 0;
    margin-right: 0;
	gap: 5px;
}

.form-row>.col,
.form-row>[class*=col-] {
    padding-left: 0rem;
    padding-right: 0rem;
}

.form-row>.col-3 .btn {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* textarea 높이 */
textarea.form-control {
    min-height: 20rem;
    padding: 1.5rem 1.5rem;
    line-height: 130%;
}

.form-control textarea {
    min-height: 14rem;
    padding: 0;
    line-height: 130%;
    border: 0;
    width: 100%;
}

.form-control textarea:focus {
    color: var(--text);
    background-color: var(--bg);
    border-color: var(--gray);
    outline: 0;
    box-shadow: 0 0 0 0 var(--border);
}

.form-control textarea::placeholder {
    color: var(--input_placeholder);
    opacity: 1;
}

.form-control textarea:disabled,
.form-control textarea[readonly] {
    background-color: var(--input_disabled);
    opacity: 1;
}

/* 셀렉트 박스 */
.custom-select,
.custom-select2 {
    padding-right: 3.5rem;
    background-size: 2.0rem;
    padding-left: 1.5rem;
    font-size: 1.4rem;
    font-weight: 400;
    color: #000;
    /* min-width: 13.5rem; */
    text-align: left;
    position: relative;
}

.custom-select {
    background: url(../img/ic_down_ar.svg)no-repeat center right 1rem;
    background-size: 1.5rem;
}

.custom-select.modal_select {
    background: url(../img/ic_down_ar.svg)no-repeat center right 1rem;
    background-size: 1.5rem;
}

.custom-select2:after {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/ic_down_ar.svg)no-repeat center center;
    background-size: cover;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}


.custom-select2[aria-expanded="true"] {
    border-radius: 1rem 1rem 0 0;
    border-color: var(--gray);
}

.custom-select2[aria-expanded="true"]:after {
    transform: translateY(-50%) rotate(180deg);
}

.custom-select2+.dropdown-menu {
    min-width: 100%;
    margin: -1px 0 0;
    border-color: var(--border);
    font-size: 1.5rem;
    border-radius: 0 0 1rem 1rem;
    border-color: var(--gray);
    border-top-color: var(--border);
    max-width: 100%;
}

.custom-select2+.dropdown-menu a {
    padding: 1.0rem 1.5rem;
    white-space: break-spaces;
    word-break: break-all;
}

.custom-select2+.dropdown-menu a:hover {
    color: var(--primary);
    background: var(--light);
}


/* 날짜 선택 */
input.form-control[type="date"],
input.form-control[type="time"] {
    position: relative;
}

input.form-control[type="date"]::-webkit-calendar-picker-indicator,
input.form-control[type="time"]::-webkit-calendar-picker-indicator {
    -webkit-appearance: none;
    background: none;
    width: 100%;
    height: 100%;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 0;
}

input.form-control[type="time"]::before {
    content: '';
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1.6rem;
    background: var(--gray);
    cursor: pointer;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

input.form-control[type="time"]::before {
    -webkit-mask: var(--ic_time);
    mask: var(--ic_time);
}

input.form-control[type="date"]::before {
    -webkit-mask: var(--ic_date);
    mask: var(--ic_date);
}


input.form-control.no-icon[type="date"]::before,
input.form-control.no-icon[type="time"]::before {
    display: none;
}




/* 체크박스*/
.checks_wr {
    display: flex;
    flex-wrap: wrap;
}

.checks label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.checks label.chk_right {
    flex-flow: row-reverse;
    justify-content: flex-end;
}

.checks input {
    display: none;
}

.checks .ic_box {
    display: inline-block;
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--gray-200);
    border-radius: 0.6rem;
    background-image: url(../img/check01_off.png);
    background-position: center;
    background-size: 1.0rem auto;
    background-repeat: no-repeat;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.8rem;
    flex-shrink: 0;
    background-color: #fff;
    border: 1px solid var(--gray-40)
}

.checks input:checked+.ic_box {
    background-image: url(../img/check01_on.png);
    background-color: var(--primary);
    border-color: var(--primary);
}

.chk_right .ic_box {
    margin-right: 0;
    margin-left: 0.5rem;
}

.checks input:checked~.chk_p {}

.chk_p {
    padding-top: 0.1rem;
}



.checks.primary_checks .ic_box {
    background-color: #eae9f0;
    border-radius: 50%;
    background-image: none;
}

.checks.primary_checks input:checked+.ic_box {
    background-image: url(../img/check01_on.png);
}


.radios_wr {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}


.radios label {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.radios label.chk_right {
    flex-flow: row-reverse;
    justify-content: flex-end;
}

.radios input {
    display: none;
}

.radios .ic_box {
    display: inline-flex;
    flex-shrink: 0;
    position: relative;
    width: 2.2rem;
    height: 2.2rem;
    text-align: center;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.0rem;
    border: 1px solid var(--gray2);
    background-image: url(../img/radios_off.jpg);
    background-size: cover;
}

.radios input:checked+.ic_box {
    background-image: url(../img/radios_on.jpg);
}

/* .radios input:checked+.ic_box:after {
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: var(--primary);
    border: 0.03rem solid #fff;
} */




/* 이미지 업로드 */
.image_upload {
    display: inline-block;
    position: relative;
    margin-right: 1.0rem;
}

.upload_box {
    width: 11rem;
    border: 1px solid var(--gray-200);
    overflow: hidden;
    cursor: pointer;
    background: url(../img/btn_add_img.png) no-repeat center top 40% / 4.0rem;
    border-radius: 360rem;
    position: relative;
    background-color: var(--gray-200);
}

.upload_box .max_img {
    position: absolute;
    bottom: 20%;
    width: 100%;
    left: 0;
    font-size: 1.3rem;
    text-align: center;
    color: var(--gray-600);
    font-weight: 500;
}

.image_upload.on .upload_box {
    background: none;
}

.upload_box.squ {
    width: 10rem;
    border: 1px solid #EAEAEA;
    overflow: hidden;
    cursor: pointer;
    background: url(../img/btn_add_img_2.png) no-repeat center top 40% / 4.0rem;
    border-radius: 0.6rem !important;
    position: relative;
    background-color: #fff;
    color: var(--gray-60);
}

.upload_box.squ .max_img {
    position: absolute;
    bottom: 20%;
    width: 100%;
    left: 0;
    font-size: 1.3rem;
    text-align: center;
    color: var(--gray-600);
    font-weight: 500;
}

.image_upload.on .upload_box.squ {
    background: none;
}

.upload_del {
    position: absolute;
    top: 0rem;
    right: 0.8rem;
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    background-color: transparent;
    padding: 0 !important;
    display: none;
}

.upload_del img {
    width: 100%;
}

.image_upload.on .upload_del {
    display: flex;
}



/* 페이지네이션 */
/* .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
}

.pagination li {
    height: 100%;
}

.pagination a {
    color: #B8BFC7;
    font-weight: 600;
    margin: 0 0.15rem;
    width: 3.0rem;
    height: 3.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.pagination a.on {
    background-color: rgba(216, 207, 253, 0.3);
    color: var(--primary);
}

.pagination a.arrow {
    background-color: #fff;
    color: #626C79;
}

.pagination a.arrow {
    margin: 0;
}

.pagination a.arrow.disabled img {
    opacity: 0.3;
} */

/* 페이저 */
.pager {
    background: #ffffff;
    border-radius: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 170px;
    height: 45px;
    margin: 3rem auto 0;
    border: 1px solid var(--border);
}

/* 테이블 */
.table_01 {
    width: 100%;
    border-collapse: collapse;
    border-bottom: 1px solid #e3e3e3;
    border-top: 1px #eee solid;
    line-height: 140%;
}

.table_01 th {
    border-bottom: 1px solid #eee;
    color: #1C1C1E;
    font-weight: 500;
    padding: 0.7rem 1.2rem 0.7rem 1.2rem;
    background: #F8F8F8;
    vertical-align: top;

}

.table_01 td {
    border-bottom: 1px solid #eee;
    padding: 0.7rem 1.2rem;
    color: #1C1C1E;
}


/* 테이블 슬래쉬 */
.table_01 th.slash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgb(77,77,77)" /></svg>');
    background-repeat: no-repeat;
}

.table_01 th.backslash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgb(77,77,77)" /></svg>');
    background-repeat: no-repeat;
}

.table_01 th.slash,
.table_01 th.backslash {
    text-align: left;
}

.slash div,
.backslash div {
    text-align: right;
}

/*테이블 반응형때*/
.table_scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0px !important;
}






/* 이미지 크롭 */
.rect {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.rect:after {
    content: "";
    display: block;
    padding-bottom: 100%;
}


.rect2 {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.rect2:after {
    content: "";
    display: block;
    padding-bottom: 24.212%;
}

.rect2 img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.rect3 {
    width: 100%;
    overflow: hidden;
    position: relative;
    display: block;
}

.rect3::after {
    content: '';
    display: block;
    padding-bottom: 58.255%;
}

.rect3 img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.rect4 {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.rect4:after {
    content: "";
    display: block;
    padding-bottom: 67.962%;
}

.rect4 img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



/*기본모달*/
body {
    padding-right: 0px !important;
}

body.modal-open[style] {
    /*overflow-y: scroll;
    position: fixed;
    top: 0px;*/
    width: 100%;
}

.modal {
    padding-right: 0px !important;
}

.modal-dialog {
    max-height: 100%;
    height: 100%;
}

.modal-sm {
    max-width: 40.0rem;
    margin: 0 auto;
    padding: 1.5rem;
    padding: 0rem 1.6rem;
}

.modal-md {
    max-width: 48rem;
    margin: 0 auto;
    padding: 1.5rem;
    padding: 0rem 1.6rem;
    max-height: calc(100% - 3.5rem);
    min-height: calc(100% - 3.5rem);
}

.modal-default {
    max-width: var(--body_width);
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    padding: 2.0rem 1.6rem;
}

.modal {
    overflow-y: auto;
}

.modal .modal-header {
    align-items: center;
    padding: 1.5rem 2rem 1.5rem;
    justify-content: space-between;
    height: 50px;
}

.modal .modal-header .modal-title {
    font-weight: 600;
    font-size: 1.7rem;
    flex: 1 1 auto;
}

.modal .modal-header .close {
    text-shadow: none;
    opacity: 1;
    width: 2.5rem;
    padding: 0;
    border: 0;
    margin: 0;
	background-color: transparent;
}

.modal .modal-content {
    border: 0;
    border-radius: 1.2rem;
}

.modal .modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: 2.0rem 2.0rem 2.5rem;
}

#modal-default .modal-body {
    height: 500px;
}

#modal-join1 .modal-header {
    font-size: 2.0rem;
    padding: 3rem;
}

#modal-join2 .modal-header {
    font-size: 2.0rem;
    padding: 3rem;
}

#modal-join3 .modal-header {
    font-size: 2.0rem;
    padding: 3rem;
}

#modal-join1 .modal-body {
    height: 500px;
    padding: 3rem;
    font-weight: 300;
}

#modal-join2 .modal-body {
    padding: 3rem;
    font-weight: 300;
    height: 500px;
}

#modal-join3 .modal-body {
    height: 500px;
    font-weight: 300;
    padding: 3rem;
}

@media (max-width: 991.98px) {
    #modal-join1 .modal-body {
        padding: 2rem;
    }

    #modal-join2 .modal-body {
        padding: 2rem;
    }

    #modal-join3 .modal-body {
        padding: 2rem;
    }
}

.modal .modal-body .close_bar {
    width: 4.4rem;
    height: 0.4rem;
    background: #E3E3E3;
    border-radius: 1.0rem;
    margin: 0 auto 1.0rem;
    border: 0;
    display: block;
}

.modal .modal-footer>* {
    margin: 0;
}

.modal .modal-footer {
    padding: 1.5rem 2.0rem 2.5rem;
    border: 0;
    display: block;
}

.modal .modal-footer .form-row {
    margin-right: -0.4rem;
    margin-left: -0.4rem;
}


.modal-sm .modal-footer {
    padding: 0 2.0rem 2.5rem;
}

.modal-md .modal-footer {
    padding: 0 2.0rem 2.0rem;
}

.modal .modal-sm .modal-header {
    padding: 1.5rem 2rem;
}

.modal .modal-sm .modal-body {
    border: 0;
    padding: 3rem 2rem 2rem;
}

.modal .modal-md .modal-header {}

.modal .modal-md .modal-body {}


/*전체사이즈*/
.modal_full.modal {
    overflow-y: auto;
}

.modal_full.modal .modal-header {
    width: 100%;
    background: #fff;
    padding: 0rem 1.6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--hd_height);
}

.modal_full.modal .modal-header button {
    border: 0;
    background: transparent;
    width: 2.0rem;
}

.modal_full.modal .modal-content {
    border-radius: 0;
    max-height: 100vh;
    height: 100vh;
}

.modal_full.modal .modal-dialog {
    margin: 0 auto;
    max-width: 57.6rem;
    transform: translate(0%, 0);
    max-height: 100%;
}

.modal_full.modal .modal-body {
    border: 0;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}

.modal_full.modal .modal-footer {
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
    display: block;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}

.modal_full.modal .modal-footer .form-row {
    margin-left: -5px;
    margin-right: -5px;
}

.modal_full.modal .bg-black .modal-title {
    background: #000;
}


/*하단 팝업*/
.modal_bottom.modal {
    padding-right: 0 !important;
    overflow-y: hidden;
}

.modal_bottom.modal.fade {}

.modal_bottom.modal.show .modal-dialog {
    padding-right: 0 !important;
    transform: translate(-50%, 0);
}

.modal_bottom.modal .modal-dialog {
    transform: translate(0, 5rem);
    position: fixed;
    bottom: 0;
    width: 100%;
    max-width: 100%;
    transform: translate(-50%, 5rem);
    left: 50%;
}

.modal_bottom.modal .modal-title button {
    border: 0;
    background: transparent;
    width: 3.2rem;
    position: absolute;
    right: 2.0rem;
    top: 1.6rem;
}

.modal_bottom.modal .modal-dialog {
    justify-content: flex-end;
    margin: 0 auto;
    min-height: 100%;
    max-width: 57.6rem;
}

.modal_bottom.modal .modal-content {
    border-radius: 2.0rem 2.0rem 0 0;
    margin-top: 3.0rem;
}

.modal_bottom.modal .modal-body {
    border-bottom: 0;
    padding: 2rem 1.6rem 2.0rem;
}

.modal_bottom.modal .modal-footer {
    padding: 1.0rem 1.6rem 1.5rem;
}

.modal-backdrop {
    left: 50%;
    width: 100%;
    /* transform: translateX(-50%); */
    /* max-width: 57.6rem; */
}


/* 토스트팝업 */
.toast {
    color: #fff;
    border-radius: 0.6rem;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
}

/* toast */
.toast {
    position: fixed;
    top: 7.2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 1.4rem;
    box-shadow: none;
    font-weight: 300;
    z-index: 9999;
    border: 0;
    background: transparent;
}

.toast-body {
    padding: 1.3rem 2rem;
    background-color: rgba(51, 51, 51, 0.8);
    color: var(--white);
    font-size: 1.4rem;
    font-weight: 500;
    border-radius: 1.0rem;
    text-align: center;
}

.toast-body p {
    display: flex;
    align-items: center;
    line-height: 1.3;
    justify-content: center;
}

.toast-body p i {
    margin-right: 0.6rem;
}



/* 뱃지 */
.badge {
    padding: 0.3rem 0.5rem;
    border-radius: 0.4rem;
    font-weight: 500;
    font-size: 1.3rem;
}

.badge-primary {
    background-color: rgba(234, 66, 72, 0.1);
    color: #EA4248;
}

.badge-disabled {
    color: #999;
    background: #ddd;
}

.badge-md {
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4rem;
    padding: 0 1.2rem;
    border-radius: 0.6rem;
    height: 2.8rem;
    display: inline-flex;
    align-items: center;
}

.badge-sm {
    font-size: 1.1rem;
}


/*터치*/
.touch_scroll {
    overflow-x: auto;
    overflow-y: hidden;
}


/* List Style */
.list_style_1 li {
    display: flex;
    padding-bottom: 0.7rem;
    line-height: 1.4;
}

.list_style_1 li:last-child {
    padding-bottom: 0;
}

.list_style_1 li>span {
    display: inline-block;
    width: 8.0rem;
    padding-right: 0.5rem;
    flex-shrink: 0;
}


.list_style_2 li {
    display: flex;
    padding-bottom: 0.8rem;
}

.list_style_2 li:before {
    content: '-';
    display: inline-block;
    margin-right: 1.0rem;
}

.list_style_3 li {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.list_style_3 li:last-child {
    margin-bottom: 0 !important;
}

.list_style_3 li div {}

/*탭*/
.tab_sticky {
    position: sticky;
    top: 4.8rem;
    z-index: 15;
}

/*nav-tabs*/
.nav-tabs {
    background: #F5F6F8;
    border-radius: 0.8rem;
    padding: 0.8rem;
    border: 0;
    flex-wrap: nowrap;
}

.nav-tabs .nav-link {
    height: 4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #999;
    border: 0;
    margin-bottom: 0px;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
    border-radius: 0.8rem;
    font-weight: 600;
    word-break: keep-all;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background: #fff;
    color: #000;
    box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.06);
}

/*nav-pills*/
.nav-pills {
    margin-left: -0.4rem;
    margin-right: -0.4rem;
    flex-wrap: nowrap;
}

.nav-pills .col {
    padding-left: 0.4rem;
    padding-right: 0.4rem;
}

.nav-pills .nav-link {
    background: none;
    border: 1px solid #D7DCE2;
    border-radius: 5rem;
    background: #ffffff;
    color: #222;
    font-size: 14px;
    height: var(--height_sm);
    width: 100px;
}

.nav-pills .nav-link.second_link {
    background: none;
    border: 1px solid #D7DCE2;
    border-radius: 5rem;
    background: #ffffff;
    color: #222;
    font-size: 14px;
    height: var(--height_sm);
    width: 100px;
}


/*nav_tab_line*/
.nav_tab_line {
    width: 100%;
    margin: 0;
    background-color: #fff;
}

.nav_tab_line {
    border: unset;
    border-bottom: 1px solid #E3E3E3;
}

.nav_tab_line .nav-item {
    text-align: center;
    background-color: #fff;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    width: 100%;
}

.nav_tab_line .nav-link {
    border: 1px solid white;
    color: #000;
    padding: 2rem 1.0rem 0.9rem;
    width: 100%;
    font-size: 1.7rem;
    font-weight: 600;
    background: transparent;
}

.nav_tab_line .nav-link.active,
.nav_tab_line .nav-item.show .nav-link {
    border-bottom: 0.2rem solid var(--primary);
    color: var(--primary);
}



/*드롭다운*/
.dropdown-menu {
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;
}

.dropdown-menu .dropdown-item {
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
}

.dropdown-menu .dropdown-item:hover {
    background: #F5F6F8;
}


/*커스텀 스위치*/
.custom-switch {
    padding: 0;
    width: 4.9rem;
    height: 2.5rem;
}

.custom-switch .custom-control-label::after {
    width: 1.9rem;
    height: 1.9rem;
    background-color: #fff;
    border-radius: 3rem;
    top: 0.3rem;
    left: 0.3rem;
}

.custom-control-label::after {
    position: absolute;
    top: 0.3rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    cursor: pointer;
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #fff;
    left: 1.9rem;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: var(--primary);
    background-color: var(--primary);
}

.custom-control-label::before {
    background-color: #E3E3E3;
    border: 0;
    top: 0;
    cursor: pointer;
}

.custom-switch .custom-control-label::before {
    left: 0;
    width: 4.9rem;
    height: 2.5rem;
    border-radius: 2rem;
}



/*마진*/
.mt_8 {
    margin-top: 0.8rem;
}

.mt_12 {
    margin-top: 1.2rem;
}

.mt_16 {
    margin-top: 1.6rem;
}

.mt_20 {
    margin-top: 2.0rem;
}

.mt_24 {
    margin-top: 2.4rem;
}

.mt_25 {
    margin-top: 2.5rem;
}

.mt_28 {
    margin-top: 2.8rem;
}

.mt_30 {
    margin-top: 3.0rem;
}

.mt_35 {
    margin-top: 3.5rem;
}

.mt_36 {
    margin-top: 3.6rem;
}

.mt_40 {
    margin-top: 4.0rem;
}

.mt_50 {
    margin-top: 5.0rem;
}

.mt_60 {
    margin-top: 6.0rem;
}

.mt_70 {
    margin-top: 7.0rem;
}

.mt_80 {
    margin-top: 8.0rem;
}

.mb_3 {
    margin-bottom: 0.3rem;
}

.mb_4 {
    margin-bottom: 0.4rem;
}

.mb_5 {
    margin-bottom: 0.5rem;
}

.mb_6 {
    margin-bottom: 0.6rem;
}

.mb_7 {
    margin-bottom: 0.7rem;
}

.mb_8 {
    margin-bottom: 0.8rem;
}

.mb_9 {
    margin-bottom: 0.9rem;
}

.mb_10 {
    margin-bottom: 1.0rem;
}

.mb_11 {
    margin-bottom: 1.1rem;
}

.mb_12 {
    margin-bottom: 1.2rem;
}

.mb_13 {
    margin-bottom: 1.3rem;
}

.mb_14 {
    margin-bottom: 1.4rem;
}

.mb_15 {
    margin-bottom: 1.5rem;
}

.mb_16 {
    margin-bottom: 1.6rem;
}

.mb_17 {
    margin-bottom: 1.7rem;
}

.mb_18 {
    margin-bottom: 1.8rem;
}

.mb_20 {
    margin-bottom: 2.0rem;
}

.mb_24 {
    margin-bottom: 2.4rem;
}

.mb_25 {
    margin-bottom: 2.5rem;
}

.mb_30 {
    margin-bottom: 3.0rem;
}

.mb_40 {
    margin-bottom: 4.0rem;
}

.mb_50 {
    margin-bottom: 5.0rem;
}

.mb_60 {
    margin-bottom: 6.0rem;
}

.mb_70 {
    margin-bottom: 7.0rem;
}

.mb_80 {
    margin-bottom: 8.0rem;
}

.mb_90 {
    margin-bottom: 9.0rem;
}

.mr_4 {
    margin-right: 0.4rem;
}

.mr_6 {
    margin-right: 0.6rem;
}

.mr_8 {
    margin-right: 0.8rem;
}

.mr_12 {
    margin-right: 1.2rem;
}

.mr_16 {
    margin-right: 1.6rem;
}

.mr_20 {
    margin-right: 2.0rem;
}

.ml_6 {
    margin-left: 0.6rem;
}

.ml_8 {
    margin-left: 0.8rem;
}

.ml_16 {
    margin-left: 1.6rem;
}

.ml_20 {
    margin-left: 2.0rem;
}


.mx_16 {
    margin-left: 1.6rem;
    margin-right: 1.6rem;
}

.mx_n16 {
    margin-left: -1.6rem;
    margin-right: -1.6rem;
}

.mx_n20 {
    margin-left: -2.0rem;
    margin-right: -2.0rem;
}



/*패딩*/
.pt_2 {
    padding-top: 0.2rem;
}

.pt_4 {
    padding-top: 0.4rem;
}

.pt_6 {
    padding-top: 0.6rem;
}

.pt_13 {
    padding-top: 1.3rem;
}
.pt_14 {
    padding-top: 1.4rem;
}

.pt_20 {
    padding-top: 2.0rem;
}

.pt_24 {
    padding-top: 2.4rem;
}

.pt_25 {
    padding-top: 2.5rem;
}

.pt_28 {
    padding-top: 2.8rem;
}

.pt_40 {
    padding-top: 4.0rem;
}

.pt_50 {
    padding-top: 5.0rem;
}

.pt_60 {
    padding-top: 6.0rem;
}

.pt_80 {
    padding-top: 8.0rem;
}

.pt_120 {
    padding-top: 12.0rem;
}

.pb_8 {
    padding-bottom: 0.8rem;
}

.pb_14 {
    padding-bottom: 1.4rem;
}

.pb_16 {
    padding-bottom: 1.6rem;
}

.pb_18 {
    padding-bottom: 1.8rem;
}

.pb_20 {
    padding-bottom: 2.0rem;
}

.pb_24 {
    padding-bottom: 2.4rem;
}

.pb_25 {
    padding-bottom: 2.5rem;
}

.pb_40 {
    padding-bottom: 4.0rem;
}

.pb_50 {
    padding-bottom: 5.0rem;
}

.pb_60 {
    padding-bottom: 6.0rem;
}

.pb_70 {
    padding-bottom: 7.0rem;
}

.pb_80 {
    padding-bottom: 8.0rem;
}

.pb_90 {
    padding-bottom: 9.0rem;
}

.pb_100 {
    padding-bottom: 10.0rem;
}

.pb_130 {
    padding-bottom: 13.0rem;
}

.pb_150 {
    padding-bottom: 15.0rem;
}


.pl_16 {
    padding-left: 1.6rem;
}


.pr_16 {
    padding-right: 1.6rem;
}

.pr_20 {
    padding-right: 2rem;
}

.pr_40 {
    padding-right: 4rem;
}

.pr_50 {
    padding-right: 5rem;
}

.py_8 {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
}

.py_20 {
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
}

.py_35 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}


.px_8 {
    padding-left: 0.8rem;
    padding-right: 0.8rem;
}

.px_12 {
    padding-left: 1.2rem;
    padding-right: 1.2rem;
}

.px_18 {
    padding-left: 1.8rem;
    padding-right: 1.8rem;
}

.px_16 {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
}

.px_20 {
    padding-left: 2.0rem;
    padding-right: 2.0rem;
}


.p_20 {
    padding: 2rem;
}



.vh_min100 {
    min-height: 100vh;
}

.vh_100_vh {
    height: 100vh;
}

.w-auto {
    width: auto;
}

.gap_2 {
    gap: 2px;
}

.gap_3 {
    gap: 3px;
}

.gap_4 {
    gap: 4px;
}

.gap_5 {
    gap: 5px;
}

.gap_6 {
    gap: 6px;
}

.gap_7 {
    gap: 7px;
}

.gap_8 {
    gap: 8px;
}

.gap_9 {
    gap: 9px;
}

.gap_10 {
    gap: 10px;
}

.gap_11 {
    gap: 11px;
}

.gap_12 {
    gap: 12px;
}

.gap_13 {
    gap: 13px;
}

.gap_14 {
    gap: 14px;
}

.gap_15 {
    gap: 15px;
}

.gap_16 {
    gap: 16px;
}

.gap_17 {
    gap: 17px;
}

.gap_18 {
    gap: 18px;
}

.gap_19 {
    gap: 19px;
}

.gap_20 {
    gap: 20px;
}




/*반응형 max 1200 xl*/
@media (max-width: 1199.98px) {}

/*반응형 max 992px lg*/
@media (max-width: 991.98px) {

    /*메인*/
    .idx_pg {
        padding-top: var(--hd_height_m);
        min-height: 100vh;
    }

    /*서브*/
    .sub_pg {
        padding-top: var(--hd_height_m);
        min-height: 100vh;
    }


}


/*반응형 max 767px md*/
@media (max-width: 767.98px) {}

/*반응형 max 576px sm*/
@media (max-width: 575.98px) {

    .mobile_wr {
        border-left: 0;
        border-right: 0;
    }



}

/*반응형 max 375px*/
@media (max-width: 375px) {
    html {
        font-size: 9.4px;
    }
}

.w_20 {
    width: 20%;
}

.w_30 {
    width: 30%;
}

.w_35 {
    width: 35%;
}

.w_40 {
    width: 40%;
}

.w_50 {
    width: 50%;
}

.modal-header img {
    /* height: 3.0rem; */
}

.modal-header {}


.pb-6 {
    padding-bottom: 80px;
}


.rating_star img {
    width: 50px;

}

.pmd-material-rating {
    display: flex;
    align-items: center;
}


.cate_tag {
    display: flex;
    align-items: center;
    gap: 7px;
}

.cate_tag p {
    font-weight: 500;
    color: #A171FC;
}

.cate_tag .tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 5px 7px;
    background-color: #F1F1F1;
    border-radius: 5px;
}

.sch_can_ic {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 42px;
    width: 20px;
    display: none;
}


.notice-area {
    /* background-color: #fffd66; */
    padding: 10px 15px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    position: relative;
    overflow: hidden;
}

.notice-item {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
    white-space: nowrap;
    display: flex;
    align-items: center;
    margin-top: 10px;
    padding-left: 16px;
}

.notice-item.active {
    opacity: 1;
}


.notice-strong {
    color: #222;
    font-weight: bold;
    margin-right: 6px;
}

.bb_top {
    padding: 28px 0px 13px !important;
}

.chat-item {
    cursor: pointer;
}


@media (max-width: 319px) {
    .academy_img {
        max-width: 100px !important;
    }
}

/* 전체 wrapper를 최저 높이 설정 */
html,
body {
    height: 100%;
    margin: 0;
}

.page_wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.page_content {
    flex: 1;
    padding-bottom: 100px;
    /* 푸터 윗 여백 */
}

/* 푸터 스타일 */
.itamla_footer {
    background-color: #000;
    color: #fff;
    padding: 60px 20px 60px;
    font-size: 14px;
    position: relative;
    bottom: 0;
    width: 100%;
}

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

.footer_inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
}
.footer_inner a{
	color: #fff;
    margin-top: 1rem;
	width: 170px;
    border-radius: 10px;
    overflow: hidden;
}
.footer_left {
    flex: 1 1 600px;
}

.footer_logo img {
    height: 55px;
    margin-bottom: 20px;
}

.footer_links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.footer_links li {
    list-style: none;
}

.footer_links a {
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

.footer_info p {
    margin: 4px 0;
    color: var(--gray-70);
    line-height: 1.5;
}

.footer_right {
    flex: 1 1 300px;
    min-width: 260px;
    text-align: left;
}

.footer_call {
    font-size: 16px;
    font-weight: 600;
    color: var(--gray-70);
    margin-bottom: 10px;
}

.footer_call strong {
    font-size: 22px;
    display: inline-block;
    margin-top: 4px;
}

.footer_right p {
    margin: 4px 0;
    color: var(--gray-70);
    line-height: 1.5;
}

/* 반응형 */
@media (max-width: 768px) {
    .footer_inner {
        /* flex-direction: column;
        align-items: flex-start; */
        gap: 0px
    }

    .itamla_footer {
        padding: 30px 20px 30px;
        font-size: 1.3rem;
    }

    .footer_box {
        display: flex;
        flex-direction: column;
        align-items: flex-start;

    }

    .footer_right {
        margin-top: 30px;
    }
}


/*메인탭*/

.main_tab_scroll {
    overflow-x: auto;
    border-bottom: 1px solid #e0e6eb;
    padding: 0 10px;
}

.main_tab_menu ul {
    display: inline-flex;
    white-space: nowrap;
    gap: 40px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.main_tab_menu li {
    flex-shrink: 0;
    padding: 14px 0;
    font-size: 15px;
    color: #777;
    cursor: pointer;
    position: relative;
    transition: color 0.3s;
}

.main_tab_menu li.active {
    color: var(--primary);
    font-weight: 600;
}

.main_tab_menu li.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--primary);
}

/* 콘텐츠 영역 */
.main_tab_contents {
    padding: 30px 10px;
}

.main_tab_panel {
    display: none;
    font-size: 16px;
    color: #333;
}

.main_tab_panel.active {
    display: block;
}


#guide_pg3 {
    background-color: #000;
    color: #fff;
    display: flex;

}

/*서브탭1*/

.notice_tab_menu {
    border-bottom: 1px solid #e0e6eb;
    overflow-x: hidden;
}

.notice_tab_menu ul {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

.notice_tab_menu li {
    flex: 1;
    text-align: center;
    font-size: 1.5rem;
    /* 15px */
    color: var(--gray-70);
    font-weight: 500;
    padding: 1.4rem 0;
    /* 14px */
    position: relative;
    cursor: pointer;
    transition: color 0.3s;
}

.notice_tab_menu li.active {
    color: var(--primary);
    font-weight: 600;
}

.notice_tab_menu li.active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0%;
    width: 100%;
    height: 0.2rem;
    background-color: var(--primary);
}

/* 콘텐츠 영역 */
.notice_tab_contents {
    padding: 3rem 1rem;
    /* 30px 10px */
}

.notice_tab_panel {
    display: none;
    font-size: 1.6rem;
    /* 16px */
    color: #333;
}

.notice_tab_panel.active {
    display: block;
}



/*서브탭2*/

.circle_tab_scroll {
    overflow-x: auto;
    margin-bottom: 2rem;
}

.circle_tab_menu ul {
    display: inline-flex;
    white-space: nowrap;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.circle_tab_menu li {
    flex-shrink: 0;
    font-size: 1.5rem;
    /* 15px */
    color: var(--gray-70);
    cursor: pointer;
    padding: 0.8rem 1.6rem;
    /* 8px 16px */
    border-radius: 2rem;
    border: 1px solid #ccc;
    background-color: #fff;
    transition: all 0.3s;
    height: 42px;
    display: flex;
    align-items: center;
}

.circle_tab_menu li.active {
    background-color: #F9FEFF;
    color: var(--secondary);
    border-color: var(--primary);
    font-weight: 600;
}

.circle_tab_menu li:hover {
    border-color: var(--primary);
}

/* 콘텐츠 영역 */
.circle_tab_contents {
    padding: 2rem 1rem;
}

.circle_tab_panel {
    display: none;
    font-size: 1.6rem;
    /* 16px */
    color: #333;
}

.circle_tab_panel.active {
    display: block;
}

/*좋아요버튼1*/

.like_btn {
    width: 38px;
    height: 38px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}

.like_btn img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

/*좋아요버튼2*/
.like_btn_sm {
	min-width:26px;
    width: 26px;
    height: 26px;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
}

.like_btn_sm img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

#modal_md_dec .modal-header {
    border-bottom: 0px !important;
    padding: 2.0rem 2rem 0rem;
}

#modal_md_dec .modal-body {
    padding: 20px;
}

/*신고모달*/
@media screen and (max-width: 500px) {
    .modal_md_dec {
        width: 100%;
    }


}


@media screen and (max-width: 500px) {
    #modal_md_dec .modal-dialog {
        width: 100vw;
        height: 100vh;
        margin: 0;
        max-width: 100%;
    }

    #modal_md_dec .modal-header {
        padding: 2rem 2rem 0rem;
    }

    #modal_md_dec .modal-content {
        height: 100%;
        border-radius: 0;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
    }

    #modal_md_dec .modal-body {
        flex: 1 1 auto;
        overflow-y: auto;
        padding: 16px;
    }

    #modal_md_dec .modal-footer {
        padding: 16px;
        border-top: none;
    }

    #modal_md_dec .modal-md {
        padding: 0rem !important;
    }

    #modal_md_dec .modal-dialog-centered {
        min-height: calc(100% - 0rem);
    }

}

/*신고모달*/

.region_modal_body {
    padding: 0;
}

.region_header_row {
    display: flex;
    border-bottom: 1px solid #ddd;
    background: var(--gray-10);
}

.region_header.city {
    width: 33.33%;
    padding: 12px 16px;
    font-weight: 600;
    font-size: 1.4rem;
    color: #333;
    border-right: 1px solid #eee;
    text-align: center;
}

.region_header.area {
    width: 66.66%;
    padding: 12px 16px;
    font-weight: 600;
    font-size: 1.5rem;
    color: #333;
    text-align: center;
}

.region_filter_wrap {
    display: flex;
}

.region_column.city {
    width: 33.33%;
    border-right: 1px solid #eee;
    padding: 8px 16px;
    box-sizing: border-box;
}

.region_column.area {
    width: 66.66%;
    padding: 8px 16px;
    max-height: 180px;
    overflow-y: auto;
    box-sizing: border-box;
}

.region_item {
    position: relative;
    font-size: 1.6rem;
    color: #333;
    padding: 8px 24px 5px 0;
    /* ✅ 오른쪽 공간 확보 */
    line-height: 1.4;
    word-break: break-word;
    white-space: normal;
    width: 90%;
}

.region_item.active {
    color: var(--secondary);
    font-weight: 600;
}

.region_item .check_icon {

    width: 16px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
}


.region_tags {
    padding: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-top: 1px solid var(--gray-20);
}

.tag {
    background-color: var(--gray-10);
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid var(--gray-20);
    font-weight: 300;
    color: #464C52;
}

.tag .remove {
    cursor: pointer;
}

.region_footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 16px 16px;
    color: var(--gray-70);
    font-size: 1.5rem;
}


.reset_btn {
    color: var(--gray-70);
    background: none;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: flex-end;
    padding: 0 !important;
}

.apply_btn {
    background: var(--primary);
    color: #fff;
    font-size: 1.6rem;
    border: none;
    padding: 10px 32px;
    border-radius: 8px;
    cursor: pointer;
}


#modal-filter .modal-body {
    padding: 0 !important;
}

#modal-filter .modal-header {
    background-color: var(--gray-10);
}

#modal-filter .modal-content {
    width: 540px;
}

#modal-filter .area_inner {
    width: 50%;
}

.remove img {
    width: 14px;
    margin-bottom: 1px;
}

.region_column {
    word-break: break-word;
}

.region_item {
    /* 기존 속성 유지하면서 아래 2개 추가 */
    word-break: break-word;
    white-space: normal;
}

.region_footer img {
    width: 15px;
}

.modal-header img {
    background-color: transparent;
}


/*신고버튼*/

.del_btn img {
    width: 18px;

}

/*메인슬라이드*/
.main_visual {
    width: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    height: 50rem;
}

.main_visual_img {
    width: 100%;
    height: 50rem;
    object-fit: cover;
    display: block;
}

/* ✅ 모바일용 반응형 */
@media (max-width: 991.98px) {
    .main_visual {
        height: 44rem;
        /* 440px */
    }

    .main_visual_img {
        height: 44rem;
        object-fit: cover;
    }
}


.swiper-button-prev,
.swiper-button-next {
    color: #ccc;
    width: 44px;
    height: 44px;
    /* background: rgba(0, 0, 0, 0.3); */
    border-radius: 50%;
}

.swiper-pagination-bullets .swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
    width: 36px;
    border-radius: 0;
    height: 3px;
}

.swiper-pagination-bullets .swiper-pagination-bullet-active {
    background: var(--primary, #0DC6DC);
    width: 36px;
    border-radius: 0;
    height: 3px;
}

/*조건검색폼*/
.filter_form_wrap {
    width: 100%;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 24px;
    box-sizing: border-box;
    font-size: 1.6rem;
}

@media screen and (max-width: 900px) {
    .filter_form_wrap {
        display: none;
    }
}

.filter_form {
    display: flex;
    gap: 2%;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.filter_column {
    width: 48.5%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.filter_label {
    margin-bottom: 10px;
    font-size: 1.6rem;
}

.filter_group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.filter_group .form-row {
    align-items: center;
}

.filter_row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.filter_row select,
.filter_row input[type="text"] {
    padding: 8px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1.4rem;
    background: #fff;
    width: calc(33.33% - 8px);
}

.icon_btn,
.add_btn {
    padding: 8px 12px;
    background: #eee;
    border: 1px solid #ccc;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}

.icon_btn img,
.add_btn img,
.reset_btn img {
    width: 16px;
    height: 16px;
}

.filter_action_buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin: 24px 0 8px;
}

.reset_btn {
    background: #fff;
    /* border: 1px solid #ccc; */
    padding: 10px 20px;
    border-radius: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1.4rem;
}

.search_btn_main {
    background: var(--primary, #0DC6DC);
    color: #fff;
    padding: 10px 32px;
    font-size: 1.6rem;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.filter_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.filter_tags .tag {
    background: #f1f3f5;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: default;
}

.filter_tags .tag span {
    cursor: pointer;
}

.filter_form_wrap .reset_btn {
    justify-content: center;
}

.filter_form_wrap .area_form .rs_btn {
    margin-right: 8px;
}

/*필터폼*/
.region_dropdown {
    position: absolute;
    top: 115%;
    left: 3px;
    z-index: 1000;
    width: 540px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.region_dropdown .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.6rem;
    border-bottom: 1px solid var(--border);
    border-top-left-radius: calc(1.2rem - 1px);
    border-top-right-radius: calc(1.2rem - 1px);
    background-color: var(--gray-10);
}

.region_dropdown .modal-header img {
    width: 26px;
}

.region_dropdown .area_inner {
    width: 50%;
}

.region_dropdown .region_footer {
    align-items: flex-end;
}

/*카테고리*/

/* 전체 패널 */
.mobile_category_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9998;
}

.mobile_category_panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 500px;
    max-width: 100vw;
    height: 100vh;
    background: #fff;
    z-index: 9999;
    transform: translateX(100%);
    transition: transform 0.35s ease;
    display: none;
    box-shadow: -2px 0 8px rgba(0, 0, 0, 0.1);
}

.mobile_category_panel.show {
    display: block;
    transform: translateX(0);
}

.mobile_category_overlay.show {
    display: block;
}

.mobile_category_header {
    display: flex;
    align-items: center;
    border-bottom: 1px solid #eee;
}

.mobile_category_title {
    font-size: 1.6rem;
    font-weight: 500;
    margin-left: 8px;
}

.back_btn img {
    width: 24px;
    height: 24px;
}

.mobile_category_body {
    display: flex;
    height: calc(100vh - 60px);
    overflow: hidden;
}

.category_column {
    overflow-y: auto;
    padding: 16px;
    box-sizing: border-box;
    scroll-behavior: smooth;
}

.category_column.depth1 {
    width: 50%;
    background-color: #f7f8f9;
    border-right: 1px solid #e0e0e0;
}

.category_column.depth2 {
    width: 50%;
    background-color: #ffffff;
}

.category_column ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.category_column li {
    font-size: 1.4rem;
    padding: 10px 8px;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.depth1_item.active {
    color: var(--primary, #0DC6DC);
    background: #ffffff;
    border: var(--primary) 1px solid;
}

.depth2_item.active {
    color: #333;
    background: var(--gray-10);
}

/*베이직폼*/
.basic_form_wrap {
    display: flex;
    justify-content: center;
    padding: 3rem 1.6rem;
}

/*.basic_form_box {
    width: 100%;
    max-width: 48.4rem;
    padding: 4rem 3rem;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #eee;
    border-radius: 1.2rem;
}*/

.login-box .basic_form_box {
    width: 100%;
    max-width: 48.4rem;
    padding: 4rem 3rem;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #eee;
    border-radius: 1.2rem;
}

/* 모바일 대응 */
@media (max-width: 991.98px) {
    .basic_form_box {
        padding: 3rem 2rem;
        border: none;
    }

    .basic_form_wrap {
        display: flex;
        justify-content: center;
        padding: 0;
    }
}

.form_container {
    display: flex;
    justify-content: center;
    padding: 5rem 1.6rem;
}

.form_box {
    width: 100%;
    max-width: 48.4rem;
    padding: 4rem 3rem;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #eee;
}

.login_title {
    font-size: 2.5rem;
    margin-bottom: 3rem;
}

/* 아이탐라 탭 */
.tab_menu {
    display: flex;
    justify-content: center;
    border-bottom: 1px solid #ddd;
    margin-bottom: 2.4rem;
}

.tab_menu li {
    flex: 1;
    text-align: center;
    padding: 1rem 0;
    font-size: 1.6rem;
    color: #888;
    position: relative;
    cursor: pointer;
}

.tab_menu li.active {
    color: var(--primary);
    font-weight: bold;
}

.tab_menu li.active::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: var(--primary);
}

/* 공통 입력 필드 */
.form-control {
    width: 100%;
    height: 4.4rem;
    font-size: 1.4rem;
    padding: 0 1.2rem;
    border: 1px solid var(--gray-40);
    border-radius: 0.6rem;
    box-sizing: border-box;
}

.login_form .form-control {
    margin-bottom: 1.0rem;
}

/* 체크박스 */
.login_check {
    margin-bottom: 1.5rem;
    font-size: 1.5rem;
}

/* 하단 링크 */
.login_links {
    margin: 2rem 0 0;
    font-size: 1.5rem;
    color: var(--gray-80);
}

.login_links a {
    color: var(--gray-80);
    text-decoration: none;
    margin: 0 0.5rem;
}

/* 소셜 안내 */
.login_sns_text {
    font-size: 1.4rem;
    color: var(--gray-70);
	margin-top: 4rem;
    margin-bottom: 2rem;
}

.login_sns img {
    width: 5.4rem;
    height: 5.4rem;
    margin: 0 0.5rem;
    border-radius: 50%;
}


/* 메인 아이콘 박스 */
.main_icon_box {
    width: 100%;
    max-width: 12.3rem;
    aspect-ratio: 1 / 1;
    border: 1px solid #eee;
    border-radius: 1.2rem;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    text-align: center;
    background-color: #fff;
}

.main_icon_img {
    width: 5rem;
    height: 5rem;
    object-fit: contain;
    margin-bottom: 3px;
}

.main_icon_text {
    font-size: 1.5rem;
    color: #000;
    font-weight: 500;
}



/* 부동산 프리미엄 카드 */
.real_estate_card {
    width: 100%;
    max-width: 25rem;
    border-radius: 1.2rem;
    overflow: hidden;
    background: #fff;
    font-size: 1.4rem;
}

/* 썸네일 이미지 영역 */
.real_estate_thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.real_estate_thumb img:first-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 상단 태그 (예: 아파트 • 80㎡) */
.real_estate_tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 1.4rem;
    padding: 1rem 1rem 0.8rem;
    border-radius: 0.6rem;
}

/* 좋아요 버튼 */
.real_estate_like {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 3.8rem;
    height: 3.8rem;
    cursor: pointer;
    object-fit: contain;
}

/* 정보영역 */
.real_estate_info {
    padding: 2rem 0rem;
}

.real_estate_price {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 0.8rem;
}

.real_estate_address_main {
    color: var(--gray-80);
    margin-bottom: 0.2rem;
    font-size: 1.5rem;
    margin-bottom: 1.0rem;
}

.real_estate_address_sub,
.real_estate_phone {
    color: var(--gray-70);
}

.real_estate_address_sub img,
.real_estate_phone img {
    width: 1.6rem;
    margin-right: 3px;
}

.real_estate_address_sub {
    margin-bottom: 0.6rem;
}

/* 부동산 프리미엄 카드 내부 텍스트 줄임 */
.real_estate_price,
.real_estate_address_main,
.real_estate_address_sub,
.real_estate_phone {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


@media (max-width: 991.98px) {
    .real_estate_card {
        width: 100%;
        max-width: 183px;
    }

    .real_estate_like {
        width: 2.8rem;
        height: 2.8rem;
    }

    .real_estate_info {
        padding: 1.6rem 0rem;
    }

    .real_estate_price {
        font-size: 1.8rem;
    }

    .real_estate_address_main {
        font-size: 1.5rem;
        display: -webkit-box;
        -webkit-line-clamp: 2 !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
        text-overflow: ellipsis;
        word-break: break-word;
        white-space: wrap;
        line-height: 1.2;
        word-break: keep-all;
    }

    .real_estate_address_sub img,
    .real_estate_phone img {
        width: 1.4rem;
    }

}

/* 부동산 스페셜 카드 */
.real_estate_special_card {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 1.2rem;
    overflow: hidden;
    width: 100%;
    max-width: 51.5rem;
    font-size: 1.4rem;
}

.special_thumb {
    position: relative;
    width: 14rem;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.special_thumb img:first-child {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 1.2rem 0 0 1.2rem;
}

/*
.special_tag {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 1.3rem;
    padding: 0.8rem 0.6rem 0.6rem;
    border-radius: 0.6rem;
} */

.special_like {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    width: 3.8rem;
    height: 3.7rem;
    object-fit: contain;
    cursor: pointer;
}

.special_info {
    padding: 1.6rem;
    flex: 1;
}

.special_price {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.special_desc {
    color: var(--gray-80);
    margin-bottom: 1rem;
    font-size: 1.4rem;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: keep-all;
}

.special_address,
.special_phone {
    color: var(--gray-70);
    font-size: 1.3rem;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.special_address img,
.special_phone img {
    width: 1.4rem;
}

.special_address {
    margin-bottom: 0.6rem;
}

@media (max-width: 991.98px) {
    .real_estate_special_card {
        max-width: 100%;
        font-size: 1.3rem;
    }

    .special_thumb {
        width: 14rem;
    }

    .special_thumb img:first-child {
        border-radius: 1.2rem 0 0 1.2rem;
    }

    .special_tag {
        font-size: 1.1rem;
        padding: 0.8rem 0.8rem 0.6rem;
        font-size: 1.3rem;
    }

    .special_like {
        width: 3.0rem;
        height: 3.0rem;
    }

    .special_info {
        padding: 1.4rem 1.2rem;
    }

    .special_price {
        font-size: 1.5rem;
    }

    .special_desc {
        font-size: 1.3rem;
        -webkit-line-clamp: 2;
        margin-bottom: 0.6rem;
    }

    .special_address,
    .special_phone {
        font-size: 1.2rem;
    }

    .special_address img,
    .special_phone img {
        width: 1.2rem;
    }
}


/* 모바일 전용 매물 검색 박스 */
.mobile_search_box {
    /* display: none;/ */
    background: #f9f9f9;
    padding: 1.8rem 1.6rem;
}

.search_guide {
    font-size: 1.4rem;
    color: var(--gray-80);
    margin-bottom: 1rem;
}

.search_row {
    display: flex;
    gap: 1rem;
}

.search_input_wrap {
    position: relative;
    flex: 1;
    background: #fff;
    border: 1px solid var(--gray-30);
    border-radius: 0.8rem;
    padding-right: 4rem;
    /* 아이콘 공간 확보 */
}

.search_input_wrap input {
    width: 100%;
    height: 4.4rem;
    border: none;
    font-size: 1.4rem;
    padding: 0 1.2rem;
    box-sizing: border-box;
    border-radius: 0.8rem;
    background-color: transparent;
}

/* 아이콘 절대 위치 고정 */
.search_input_wrap img {
    position: absolute;
    top: 50%;
    right: 1.2rem;
    transform: translateY(-50%);
    width: 2.4rem;
    height: 2.4rem;
}


/* 반응형: 모바일에서만 보이게 */
@media (max-width: 991.98px) {
    .mobile_search_box {
        display: block;
    }
}

.mobile_filter {
    height: 50px;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    font-size: 1.6rem;
    color: var(--secondary);
    border-bottom: 1px solid var(--gray-30);

}

.mobile_filter img {
    width: 2.5rem;
    height: 2.5rem;
}

/* 구직 프리미엄 카드 */
.job_premium_box {
    position: relative;
    border: 1px solid var(--gray-30);
    border-radius: 1.2rem;
    padding: 2.0rem;
    background: #fff;
    /* box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); */
    font-size: 1.4rem;
    line-height: 1.5;
    width: 100%;
    max-width: 33.8rem;
    box-sizing: border-box;
}

/* 상단: 로고 + 찜 버튼 */
.job_top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0.8rem;
}

.company_logo img {
    width: 10.0rem;
    height: 4.0rem;
    object-fit: contain;
}

.btn_fav {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.btn_fav img {
    width: 20px;
    height: 20px;
}

/* 회사명 */
.company_name {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
}

.company_name strong {
    margin-right: 0.4rem;
}

.company_name span {
    color: var(--gray-70);
}

/* 직무 제목 */
.job_title {
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--gray-90);
    margin-bottom: 0.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 지역/급여 */
.job_subinfo {
    font-size: 1.4rem;
    color: var(--gray-70);
    margin-bottom: 0.8rem;
    display: flex;
    gap: 0.6rem;
}

.job_subinfo img {
    width: 12px;
    height: 12px;
}

/* 태그 리스트 */
.tag_list {
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    padding-right: 48px;
    /* 디데이 공간 확보 */
    gap: 0.4rem;
    flex-wrap: nowrap;
}

.tag {
    white-space: nowrap;
    background: #F2F7FD;
    border-radius: 0.6rem;
    font-size: 1.4rem;
    padding: 0.3rem 0.8rem;
    flex-shrink: 0;
    border: none;
}

.plus_tag {
    background: #F2F7FD;
    color: var(--gray-80);
}

.job_d_day {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    color: var(--gray-60);
    flex-shrink: 0;
    width: 40px;
    text-align: right;
}

/* 모바일 전용 (max-width: 991.98px) */
@media (max-width: 991.98px) {

    .job_premium_box .company_name {
        font-size: 1.3rem;
    }

    .job_premium_box .job_title {
        font-size: 1.7rem;
    }

    .job_premium_box .job_subinfo {
        font-size: 1.4rem;
    }

    .job_premium_box .tag,
    .job_premium_box .plus_tag {
        font-size: 1.4rem;
    }

    .job_premium_box .job_d_day {
        font-size: 1.4rem;
    }

}

/*스페셜 구인*/
.job_special_list_box .special_logo {
    margin-top: 45px;
}

.job_special_list_box ul {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

.job_special_list_box ul li {
    position: relative;
    width: 100%;
    display: flex;
    align-items: flex-start;
    background-color: #fff;
    border: 1px solid #D7DCE2;
    border-radius: 12px;
    overflow: hidden;
    padding: 0 16px;
    width: 515px;
    height: 155px;
}

/* 로고 영역 왼쪽 */
.special_logo {
    width: 130px;
    flex-shrink: 0;
    cursor: pointer;
}

.special_logo img {
    width: 100%;
    height: auto;
    object-fit: contain;
    width: 10rem;
    height: 4rem;
}

/* 오른쪽 정보 */
.special_info.company {
    width: calc(100% - 154px);
    padding: 25px 16px 10px;
    cursor: pointer;
}

.special_info.company h5 {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 0.6rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.special_info.company p.line2_text {
    font-size: 1.4rem;
    line-height: 1.8rem;
    margin-bottom: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* 태그 */
.special_tag_list {
    display: flex;
    align-items: center;
    gap: 7px;
    overflow: hidden;
}

.special_tag {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0.6rem 0.8rem;
    background-color: #F2F7FD;
    border-radius: 0.6rem;
    white-space: nowrap;
    flex-shrink: 0;
    font-weight: 300;
    font-size: 1.4rem;
    color: #464C52;
}


/* 찜 버튼 */
.special_like_btn {
    position: absolute;
    z-index: 1;
    right: 5px;
    top: 5px;
}

.job_special_list_box .like_btn_sm.btn_m {
    margin-top: 16px;
}

.job_d_day.special_d_day {
    position: absolute;
    /* right: 0; */
    top: 70%;
    transform: translateX(-50%);
    font-size: 1.4rem;
    /* color: var(--gray-60); */
    /* flex-shrink: 0; */
    width: 40px;
}

/*베이직폼 join*/
.basic_form_box .timer_box {
    position: relative;
}

.basic_form_box .timer {
    position: absolute;
    top: 17px;
    right: 17px;
    font-size: 14px;
    color: var(--primary);
    font-weight: 500;
}


/* 이용약관 체크 박스 영역 */
.chk_all.checks {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 15px;
    background-color: #F7FDFF;
    border-radius: 10px;
    margin-bottom: 8px;
    position: relative;
}

.chk_all.checks:not(:first-child) {
    background-color: transparent;
    padding: 00px 0;
    border-radius: 0;
}

.chk_all.checks label {
    display: flex;
    align-items: flex-start !important;
    cursor: pointer;
}

.chk_join_box .chk_all.checks label {
    padding: 0 !important;
}

.chk_join_box .checks label {
    padding: 7px 0;
    justify-content: space-between;
}

.chk_all.checks .ic_box {
    margin-top: 5px;
}

.chk_all {
    background-color: #EEFBFD !important;
    border-radius: 8px !important;
    font-size: 1.5rem !important;
    padding: 16px !important;
}

.chk_all p {
    font-weight: 600;
    font-size: 1.5rem !important;
}

.chk_all span {
    font-weight: 300;
    font-size: 14px;
    word-break: keep-all;
    line-height: 1.1;
}

/* 기본 checkbox 숨기기 */
.chk_all .checks input[type="checkbox"] {
    display: none;
}

/* 커스텀 체크박스 */
.chk_all .ic_box {
    width: 24px;
    height: 24px;
    border: 1px solid var(--gray-30);
    border-radius: 6px;
    background-color: #fff;
    position: relative;
    flex-shrink: 0;
}

.chk_all.checks input[type="checkbox"]:checked+.ic_box::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 2px;
    width: 8px;
    height: 14px;
    /*border: solid var(--primary);*/
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

/* 텍스트 */
.chk_join_box .chk_p p {
    font-size: 1.5rem !important;
    color: var(--gray-90);
    margin: 0;
    line-height: 1.5;
    font-weight: 400;
}

.chk_join_box .chk_p {
    font-size: 1.5rem !important;
    color: var(--gray-70);

}

/* 회원가입 완료 박스 */
.join_complete_box {
    max-width: 360px;
    margin: 150px auto 0;
    padding: 45px;
    border: 1px solid var(--gray-40);
    border-radius: 12px;
    text-align: center;
    background-color: #fff;
}

/* 체크 아이콘 */
.join_complete_box .check_icon {
    width: 83px;
    height: 83px;
    margin: 0 auto 20px;
}

.join_complete_box .check_icon img {
    width: 83px;
    height: 83px;
}

/* 텍스트 */
.join_complete_box h4 {
    font-size: 2.5rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--gray-90);
}

.join_complete_box .text {
    font-size: 1.6rem;
    color: var(--gray-90);
    margin-bottom: 20px;
	line-height:130%;
}


/* 반응형 - 모바일일 때 */
@media (max-width: 991.98px) {
    .join_complete_box {
        max-width: 100%;
        margin: 40px 0;
        border: none;
        border-radius: 0;
        padding: 100px 20px;
        box-shadow: none;
    }

    .join_complete_box h4 {
        font-size: 2.0rem;
    }
	.fs_20 {
    font-size: 1.8rem !important;
}
.fs_18 {
    font-size: 1.6rem !important;
}
}

@media (max-width: 575.98px) {
    .toast {
        width: 80%;
    }
}
