/*20250305 신규 작성_SCH*/

/*html rem 반응형 폰트 사이즈 지정*/

input:-webkit-autofill {
    box-shadow: 0 0 0 1000px white inset !important;
    -webkit-box-shadow: 0 0 0 1000px white inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 9999s ease-out;
}

html {
    font-size: 62.5%;
    min-width: 320px;
}

body {
    font-size: 1.8rem;
}

strong, em {
    font-weight: 600;
}

input::placeholder {
    font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
    body{
        font-size: 1.6rem;
    }

    input::placeholder {
        font-size: 1.4rem;
    }
}

/* 헤더 */
.header_gnb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    z-index: -1;
}

.header_gnb > ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    gap: 135px;
    font-size: 2rem;
    font-weight: 600;
}

.header_gnb > ul > li {
    /*width: 150px;*/
    display: flex;
    justify-content: center;
    align-items: center;
}

.header_gnb > ul > li > a {
    cursor: pointer;
    text-decoration: none;
    position: relative;
    display: block;
    text-align: center;
    /*width: 100%;*/
    /*height: 100px;*/
    line-height: 100px;
}

.header_gnb > ul > li:hover > a  {
    color: #008dff;
}

.header_gnb > ul > li:hover > a::after {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 150px;
    height: 3px;
    background: #008dff;
}

.header_gnb > ul > li > ul {
    display: none;
    position: absolute;
    top: 100px;
    padding-top: 30px;
    font-size: 1.8rem;
}

.header_gnb > ul > li > ul > li {
    margin: 20px 0;
    text-align: center;
    font-weight: normal;

}

.header_gnb > ul > li > ul > li > a {
    cursor: pointer;
    text-decoration: none;
}

.header_gnb > ul > li > ul > li > a:hover {
    font-weight: 600;
    color: #008dff;
}

.header_gnb:hover > ul > li > ul {
    display: block;
}

.header_gnb:hover:after {
    content: '';
    display: block;
    position: absolute;
    top: 100px;
    left: -50%;
    width: 200%;
    height: 220px;
    background: #fff;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 15%);
    z-index: -2;
}

.header_login {
    position: absolute;
    top: 50%;
    right: 3%;
    transform: translate(0, -50%);
    align-items: center;
}

.header_login > ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.header_login > ul > li > a {
    padding: 10px 15px;
    border: 1px solid #ddd;
    border-radius: 30px;
    font-size: 1.6rem;
    font-weight: 600;
    text-decoration: none;
}

.header_login > ul > li > a:hover {
    color: #369aff;
    border: 1px solid #369aff;
}

#gnb {
    /*right: 100px;*/
    width: 290px;
    /*height: auto!important;*/
    padding: 50px 20px 30px;
    border-radius: 12px;
}

#gnb > ul > li > a {
    height: 50px;
    margin: 0;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    background-color: inherit;
    transition: none;
    font-size: 1.6rem;
}

#gnb > ul > li > a:hover {
    background-color: inherit;
    border: none;
    color: inherit;
}

#gnb .pc_block {
    display: flex;
    flex-direction: column;
    padding: 0;
}

#header.open .btn_close {
    right: 15px;
}

#header.open #gnb {
    right: 3%;
    height: auto;
    padding-left: 20px;
}

#header h1 {
    top: 50%;
    transform: translate(0, -50%);
}

#header h1 a {
    width: 282px;
    height: 50px;
    background: url("../images/common/logo.svg") 0 / cover;
}

#header .btn_nav {
    display: none;
}

#gnb > .pc_block > li {
    margin: 0;
    padding: 2px;
}

#gnb .pc_block > li > a {
    /*border: none;*/
    margin: 0;
    padding: 0;
    height: 50px;
    line-height: 50px;
    background: none;
    color: #008dff;
    border: 1px solid #96d0ff;
    cursor: pointer;
    border-radius: 5px;
}

#gnb .pc_block > li > a:hover {
    background: #008dff;
    color: #fff;
    border: 1px solid #96d0ff;
}

#gnb > ul > li > ul > li > a {
    font-size: 1.6rem;
}

#gnb > ul > li > ul > li > a.on::before {
    background: #008dff;
}

.mo_block {
    display: none!important;
}

.log_lay {
    display: flex;
    align-items: center;
}

@media screen and (max-width:1400px) {
    .header_gnb > ul {
        gap: 110px;
    }
}


@media screen and (max-width:1100px) {

    .header_gnb {
        display: none;
    }

    #header.open #gnb {
        right: 0;
        height: 100%;
        padding-left: 0;
    }

    #header .btn_nav {
        display: block;
    }

    #gnb {
        width: 290px;
        border-radius: 0;
    }

    #gnb .pc_block {
        display: none;
    }

    .mo_block {
        display: flex!important;
        flex-direction: column;
        /*gap: 10px;*/
    }

    .mo_block > li {
        padding: 5px;
        /*border-bottom: 1px solid #f5f5f5;*/
        cursor: pointer;
        position: relative;
    }

    .header_login {
        display: none;
    }

    .mo_block > li > ul {
        display: none;
    }

    .mo_block > li.open > ul {
        display: block;
    }

    #gnb > .mo_block > li > a:hover ,
    #gnb > .mo_block > li.open > a {
        /*background: rgba(185, 231, 255, 0.45);*/
        border-bottom: 1px solid #369aff!important;
        color: #369aff;
    }


    .mo_block > li.open > a::before {
        display: block;
    }

    #gnb > .mo_block > li > a {
        display: flex;
        justify-content: space-between;
        align-items: center;

        transition: 0.3s;
    }

    #gnb > .mo_block > li > a:hover,
    #gnb > .mo_block > li.open > a {
        border-bottom: 1px solid #ddd;
    }

    #gnb > .mo_block > li > a > img {
        transition: 0.3s;
    }

    #gnb > .mo_block > li.open > a > img {
        transform: rotate(180deg);
    }

    .mo_block > li > ul > li > a:hover,
    .mo_block > li > ul > li > a.on {
        text-decoration: none;
        background: rgba(185, 231, 255, 0.45);
        color: #008dff!important;
        font-weight: 600;
        transition: 0.3s;
    }

    .mo_block > li > ul > li > a:hover::before {
        background: #008dff!important;
    }
    #gnb > ul > .log_box {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        gap: 5px;

        padding: 0 15px 15px;
        border-bottom: 1px solid #ddd;
    }

    #gnb > ul > .log_box strong {
        /*font-size: 1.125rem;*/
        font-weight: 600;
    }

    #gnb > ul > .log_box > .mo_log {
        width: 100%;
        height: 40px;
        color: #008dff;
        border: 1px solid #96d0ff;
        border-radius: 6px;

        display: flex;
        justify-content: center;
        align-items: center;
    }

    #gnb > ul > .log_box > .mo_log:hover {
        color: #fff;
        background: #008dff;
    }

    #gnb > ul > li:hover > a {
        background: none;
        border: none;
        color: #008dff;
    }

    .mo_block > li > ul > li > a.on ~ #gnb > ul > li:hover > a {
        color: #008dff;
    }

}

/* 메인 */
.main_banner {
    height: 650px;
    width: 100%;
    background: url("../images/main/main_banner.png")no-repeat center center /cover;
}

.banner_inner {
    width: 1400px;
    margin: 0 auto;

    display: flex;
    justify-content: flex-end;
}

.banner_text {
    width: 50%;
    margin-top: 50px;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}

.banner_text h2 {
    color: #1A1A1A;
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 800;
    line-height: 135%;
    letter-spacing: -1.92px;
    z-index: 1;
}

.banner_text h2 span {
    position: relative;
    width: 100%;
}

.banner_text h2 span:before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 50%;
    background: #FFDBEB;

    position: absolute;
    bottom: -5px;
    z-index: -1;
}

.banner_text p {
    font-size: 2rem;
    line-height: 130%;
    letter-spacing: -0.6px;
    color: #1A1A1A;
}

.main_container.bg_f9 {
    background: #f9f9f9;
}

.main_box {
    justify-content: center;
    flex-direction: column;
    gap: 50px;
    padding: 50px 0;
    margin-top: -250px;
}

.main_top_box {
    width: 600px;
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.main_top_box .box_style {
    width: 100%;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.06);
    padding: 30px;
}

.box_style {
    display: flex;
    flex-direction: column;
}

.box_lay {
    height: 100%;
    display: flex;

}

.box_style h3 {
    font-weight: 800;
    font-size:3.6rem;
    line-height: normal;
    margin: 0 0 5px 0;
    color: #1A1A1A;
}

.box_left {
    width: 60%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.box_right {
    width: 40%;
    display: flex;
    justify-content: flex-end;
}

.box_right img {
    width: 170px;
    height: 170px;
}

.box_left p {
    font-weight: 500;
    color: #1a1a1a;
}

.box_left a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    width: 155px;

    padding: 15px 25px;
    background: #fff;
    border-radius: 30px;

    font-size: 2.4rem;
    font-weight: 600;
    text-decoration: none;
}

.card_txt {
    margin-left: 10px;
}

.main_top_box .box_style {
    background: #FFF172;
}

.main_box .main_bottom_box {
    width: 100%;
}

.ntc_box {
    gap: 10px;
}

.ntc_box .left_box {
    width: 20%;
    padding: 20px;
}

.ntc_box .left_box .ntc_tit {
    font-size: 3.6rem;
    color: #1a1a1a;
}

.ntc_box .left_box p {
    font-size: 2rem;
    color: #1a1a1a;
}

.ntc_ctrl {
    align-items: center;
}

.ntc_box .right_slider {
    width: 80%;
}

.slick-dotted.slick-slider {
    margin-bottom: 0!important;
}

.ntc_box .right_slider ul li {
    box-shadow: 2px 8px 15px 0 rgba(0, 0, 0, 0.06);
    margin: 15px 10px;
    max-height: 240px;
}

.ntc_box .right_slider ul li .num {
    line-height: 90%;
    margin-bottom: 20px;
}

.slick-slide p {
    -webkit-line-clamp: 4!important;
    height: auto!important;
}

.bottom_bar {
    width: 100%;
    height: 90px;
    background: #0a2138;
}

.bottom_bar .inner {
    width: 1400px;
    height: 100%;
    margin: 0 auto;
    position: relative;
    color: #fff;
    font-size: 2rem;
}

.bottom_lay {
    width: 100%;
    padding-left: 80px;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.bottom_bar .inner div,
.bottom_bar .inner div a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}

.bottom_bar .inner div a {
    text-decoration: none;
}

.bottom_bar .inner div a::before {
    content: '|';
    display: inline-block;
    padding: 0 10px;
    opacity: 0.3;
}

.bottom_bar .inner::before {
    content: '';
    background: url("../images/main/bottom_character.png") no-repeat center center/ cover;
    width: 160px;
    height: 83px;

    position: absolute;
    bottom: 0;
    left: -80px;
}

.main_box strong {
    position: relative;
    z-index: 2;
}

.main_box .right_box .guide_box ul {
    z-index: 1;
}

.main_box .main_intro {
    position: relative;
    /*width: 35%;*/
    /*height: 686px;*/
    margin-right: 25px;
    border-radius: 26px 26px 26px 100px;
    background: #FFDC4F;
    overflow: hidden;
}

.ntc_box .right_slider ul li p {
    color: #1a1a1a;
    font-weight: 500;
    line-height: 130%;
    letter-spacing: -0.6px;
    font-size: 1.8rem;
}

/* 전체 반투명 배경 */
.full-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    min-height: 100svh;
    background-color: rgba(0, 0, 0, 0.7); /* 반투명 검정 */
    color: white;
    z-index: 999;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

/* 중앙 메시지 */
.center-img {
    position: relative;
    width: 700px;
    max-height: 700px;
    border-radius: 35px;
    overflow-y: scroll;
    text-align: center;
}

.hide_scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-y: scroll;
}

.hide-scrollbar::-webkit-scrollbar {
    display: none;
}

.center-img img {
    width: 100%;
}

.img_bottom_bar {
    width: 100%;
    height: 100px;
    background: #9F0026;
    position: sticky;
    bottom: -1px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.bottom_bar_btn {
    padding: 15px 25px;
    border: 2px solid #fff;
    border-radius: 30px;

    font-size: 2.4rem;
    font-weight: 600;

    text-decoration: none!important;
    cursor: pointer;

    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.bottom_bar_btn img {
    width: 10px;
    height: 18px;
}

.scroll_alert {
    position: absolute;
    top: -60px;

    padding: 10px 30px;
    border-radius: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    background: #fff;
    color: #000;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.scroll_alert p {
    font-weight: 600;
}

.scroll_alert img {
    width: 16px;
    height: 16px;
}


/* 하단 중앙 버튼 영역 */
.bottom-right-buttons {
    width: 700px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

/* 버튼 공통 스타일 */
.bottom-right-buttons button {
    /*background-color: #fff;*/
    color: #fff;
    border: none;
    padding: 10px 16px;
    /*border-radius: 4px;*/
    font-size: 2rem;
    cursor: pointer;

    display: flex;
    align-items: center;
    gap: 5px;
}

.bottom-right-buttons button:hover {
    font-weight: 600;
}

.mobile-break {
    display: inline;
}

.pc-break {
    display: block;
}

.main_fixed {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    flex-direction: column;
    gap: 20px;

    position: fixed;
    top: 50%;
    right: 60px;
    transform: translate(0 , -50%);

    z-index: 999;
}

.sub_fixed {
    top: auto;
    bottom: 60px;
    transform: translate(0, 0);
}

.main_fixed button img {
    width: 100px;
    height: 100px;
}

/*footer relative 지정*/

#footer {
    position: relative;
    overflow: hidden;

    padding: 30px;
}

.footer li.footer_cont .footer_link {
    margin-bottom: 0;
}

.board_box {
    margin-bottom: 20px;
}

.footer_cont address {
    letter-spacing: -0.6px;
    word-break: keep-all;
}

/*메인화면 공지 모달창*/

.ntc_modal_lay {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
}

.ntc_modal {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 30px;

    max-width: 1200px;

    padding: 30px;
    border: 5px solid #369aff;

    background: #fff;

    color: #333;
}

.ntc_modal_tit {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.ntc_modal_tit h3 {
    color: #3588dd;
    font-size: 3.6rem;
}

.ntc_modal_line {
    width: 100%;
    height: 1px;
    background: #ddd;
}

.ntc_modal_txt {
    min-height: 200px;
    max-height: 500px;
    overflow-y: auto;

    padding: 1px;

    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;

    word-break: keep-all;
}

.ntc_close_btn {
    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 0;
    right: -56px;

    cursor: pointer;
}

.ntc_close_btn img:last-child {
    display: none;
}

/*---------------------------------*/

.view_box {
    border: 8px solid #369aff;
    overflow: hidden;
}

.view_box .tit strong {
    color: #3588dd;
    font-family: 'pretendard', serif;
    font-weight: 600;
}

.view_box .tit strong::before {
    margin-top: -8px;
}

.view_box .cont_pop p {
    /*min-height: 150px;*/
    max-height: 300px;
    padding: 1px;

    word-break: keep-all;
    overflow: auto;
}

.view_box .cont_pop p::-webkit-scrollbar {
    width: 3px;
    height:3px;
}
.view_box .cont_pop p::-webkit-scrollbar-thumb {
    background: #a9a9a9;
}


@media screen and (max-width: 1200px) {
    .view_box .cont_pop p {
        font-size: 2rem;
    }
}

@media screen and (max-width: 920px) {
    .layer_pop .cont a.btn {
        top: 0;
        right: 25px;
    }

    .layer_pop .cont a.btn:after {
        content: '';
        background-image: url("../../coding/images/main/ntc_modal_close.png");
        width: 16px;
        height: 16px;
    }
}

@media screen and (max-width: 620px) {
    .view_box .tit strong {
        font-size: 3rem;
    }
}

@media screen and (max-width: 420px) {
    .view_box .tit strong {
        font-size: 2.4rem;
    }

    .view_box .tit strong::before {
        width: 30px;
        height: 30px;
        background: url("../images/main/ntc_modal_icon.png") no-repeat center center/ cover;

        margin-top: -5px;
        margin-right: 10px;
    }

    .view_box .cont_pop p {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 360px) {
    .view_box {
        padding: 40px 10px;
    }

    .view_box .tit strong {
        font-size: 2rem;
    }
}



/*-------------------*/

@media screen and (max-width: 1400px) {
    .banner_inner {
        width: 100%;
    }

    .main_fixed {
        top: auto;
        bottom: 30px;
        right: 30px;
        transform: translate(0,0);
    }

    .ntc_box .left_box {
        padding: 0;
    }

    .bottom_bar .inner {
        width: 100%;
    }

    .bottom_bar .inner div a {
        display: none;
    }

    .ntc_modal {
        max-width: 800px;
    }
}


@media screen and (max-width: 1200px) {

    .ntc_box .left_box .ntc_tit {
        font-size: 2.4rem;
    }

    .main_box .right_box .guide_box {
        height: 421px;
        padding: 60px 40px 50px 40px;
    }
}

@media screen and (max-width: 1100px) {
    .banner_text h2 {
        font-size: 3.6rem;
    }

    .main_box .right_box .guide_box {
        background-size: 120% 100%;
        background-position: -80px;
    }

    .main_box .right_box .guide_box::after {
        position: absolute;
        content: '';
        width: 460px;
        height: 400px;
        right: -20px;
        scale: 0.8;
    }

    .tablet-break {
        display: block;
    }

    .ntc_box .left_box p {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 1024px) {

    .ntc_modal_lay {
        justify-content: center;
        align-items: center;
    }

    .ntc_modal_txt {
        max-height: 350px;
        font-size: 2rem;
    }

}

@media screen and (max-width: 920px) {

    .main_top_box {
        flex-direction: column;
    }

    .main_box .main_bottom_box {
        width: 100%;
    }

    .main_box .main_intro {
        margin-bottom: 20px;
        background-size: 300px;
        background-position: right -10px bottom -20px;
    }

    .main_box .right_box .guide_box::after {
        top: 0;
        right: 0;
    }

    .center-img {
        width: calc(100% - 60px);
        height: calc(100svh - 200px);
    }

    .center-img > img {
        width: 100%;
        padding-bottom: 50px;
        background: #0A2138;
    }

    .ntc_close_btn {
        top: 30px;
        right: 30px;

    }

    .ntc_close_btn img:first-child {
        display: none;
    }

    .ntc_close_btn img:last-child {
        display: block;
    }

}

@media screen and (max-width: 768px) {
    #header h1 a {
        width: 226px;
        height: 40px;
    }

    .banner_text h2 {
        font-size: 3rem;
    }

    .main_banner {
        width: 100%;
        background: url("../images/main/mo_banner.png") no-repeat center center/ cover;
    }

    .banner_inner {
        width: 100%;
        justify-content: flex-start;
        padding: 0 25px;
    }

    .banner_text {
        width: 100%;
        text-align: center;
    }

    .main_box {
        padding: 25px 0;
        margin-top: 0;
        gap: 30px;
    }

    .main_top_box {
        width: 100%;
    }

    .box_left a {
        font-size: 1.8rem;
        width: 135px;
    }

    .ntc_box .right_slider ul li p {
        font-size: 1.6rem;
        height: auto;
    }

    .ntc_box .left_box {
        width: 45%;
        margin-left: 5px;
    }

    .ntc_box .left_box p {
        font-size: 1.6rem;
    }

    .ntc_box .left_box .ntc_tit {
        font-size: 2.4rem;
    }

    .ntc_box .right_slider {
        width: 55%;
    }

    .bottom_bar .inner {
        width: 100%;
    }

    .mobile-break  {
        display: block;
    }

    .bottom_lay {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 15px;
        padding-left: 0;
    }

    .bottom_bar {
        height: auto;
        padding: 25px 30px;
    }

    .bottom_bar .inner div {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .fs_16 {
        font-size: 1.6rem;
    }

    .bottom_bar .inner div a {
        display: none;
    }

    .bottom_bar .inner div .ml15 {
        margin-left: 0!important;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .bottom_bar .inner::before {
        background: url("../images/main/mo_bottom_character.png") no-repeat center center/ cover;
        width: 120px;
        height: 120px;

        left: auto;
        bottom: -25px;
        right: -30px;
    }

    .bottom-right-buttons {
        width: 100%;
        padding: 0 20px;
    }

    .main_fixed {
        bottom: 10px;
        right: 10px;
        gap: 10px;
    }

    .main_fixed button img {
        width: 80px;
        height: 80px;
    }

    .bottom_bar_btn {
        font-size: 2rem;
    }

    .ntc_modal {
        max-width: calc(100% - 60px);
    }

    .ntc_close_btn {
        right: 60px;

    }

}

@media screen and (max-width: 720px) {
    .ntc_box .right_slider ul li {
        min-height: 200px;
    }
}

@media screen and (max-width: 620px) {
    #header h1 a {
        width: 180px;
        height: 32px;
    }

    .main_box strong {
        /*font-size: 1.875rem;*/
        line-height: 125%;
    }

    .main_box .right_box .guide_box {
        padding: 30px;
        height: 350px;
    }

    .main_box .right_box .guide_box::after {
        top: -20px;
        right: -50px;
        scale: 0.7;
    }

}
@media screen and (max-width: 520px) {

    .banner_text p {
        font-size: 1.8rem;
    }


    .main_box .right_box .guide_box {
        margin-bottom: 20px;
        background-size: 120% 100%;
        background-position: -80px;
    }

    .main_box .right_box .guide_box ul {
        top: 120px;
    }

    .main_box .right_box .guide_box::after {
        top: 20px;
        right: -80px;
        scale: 0.6;
    }

    .box_left {
        gap: 30px;
    }

    .box_style h3 {
        font-size: 2.4rem;
    }

    .box_right {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: flex-end;
    }

    .box_right img {
        width: 120px;
        height: 120px;
    }


}

@media screen and (max-width: 420px) {

    .main_box .right_box .guide_box {
        margin-bottom: 20px;
        background-size: 160% 100%;
        background-position: -80px;
    }

    .main_box .main_intro {
        background-size: 250px;
    }

    .main_box .right_box .guide_box::after {
        top: 20px;
        right: -80px;
        scale: 0.6;
    }

    .bottom-right-buttons button  {
        font-size: 1.8rem;
    }

    #footer {
        padding: 30px 10px;
    }

    .footer li.footer_cont .footer_link a,
    .footer li.footer_cont address span {
        font-size: 1.3rem;
    }

    .ntc_modal_tit img {
        width: 30px;
        height: 30px;
    }

    .ntc_modal_tit h3 {
        font-size: 2.4rem;
    }

    .ntc_modal_txt {
        font-size: 1.6rem;
    }

    .ntc_close_btn {
        top: 20px;
        right: 50px;
    }
}

@media screen and (max-width: 360px) {
    #footer {
        padding: 30px 0;
    }

    .ntc_modal_tit h3 {
        font-size: 2rem;
    }
}

/*------*/

input[disabled], select[disabled] {
    pointer-events: none;  /* 클릭, 포커스 방지 */
}

.exmpt_box {
    max-width: 1400px;
}

/*common.css*/
.upload_wrap {
    padding: 15px;
}

.upload_wrap .file_preview {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px 6px;
}

.upload_wrap .file_preview li {
    display: flex;
    align-items: center;
    margin-right: 6px;
    padding: 6px;
    border-radius: 4px;
    border: 1px solid #dddddd;
}

.upload_wrap .file_preview li p {
    margin-right: 8px;
    max-width: 300px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}

.upload_wrap .file_preview li img {
    width: 20px;
    height: 20px;
}

.gpki_box .radio_wrap {
    background-color: #ffffff;
}

.radio_wrap {
    position: relative;
    padding: 10px;
    border-radius: 6px;
    background-color: #f4f4f5;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
}
.radio_wrap label {
    position: relative;
    /*margin-right: 12px;*/
    /*padding-top: 5px;*/
}
.checkbox + label:after {
    border: 2px solid #369AFF;
    border-top: none;
    border-right: none;
}
.content_box {
    border-top: 0;
}

@media screen and (max-width: 768px) {
    .radio_wrap label {

    }

    .file-upload span {
        width: 80% !important;
    }

    .file-upload label {
        padding: 15px 10px!important;
    }
}

/*style*/

.flex_column {
    display: flex;
    flex-direction: column;
}

.flex_fs {
    display: flex;
    align-items: flex-start!important;
}

.table_style th {
    text-align: center;
    font-weight: 600;
}

.table_style th, .table_style td {
    border: 1px solid #ddd;
    color: #333;
    padding: 5px 10px;
}

.table tr th {
    font-size: 1.8rem;
}

.table tr td {
    font-size: 1.8rem;
}

.contents h2 {
    margin: 80px 0 30px;
}

.table_style.franc_table {
    background: #fff;
    border: 1px solid #ddd;
}

.table_style.franc_table thead {
    background: #ccc;
}

.table_style.franc_table tbody tr td {
    text-align: center;
    /*font-size: 1.4rem;*/
    line-height: 130%;
    word-break: keep-all;
    padding: 10px 0;
}

.table_style.franc_table tbody tr td:last-child {
    text-align: left;
}

.franc_table_dep1 {
    background: #f2f2f2;
    font-weight: 600;
}

.in_table td {
    border: none;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.in_table tr:first-child td:last-child {
    border-right: none;
    border-bottom: none;
}

.in_table tbody tr:last-child td {
    border-bottom: none;
}

.art_table tbody tr td {
    border: none;
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
}

.art_table tbody tr:first-child td:last-child {
    border-bottom: 1px solid #ddd;
}

.art_table tbody tr td:last-child {
    border-right: none;
}


@media screen and (max-width: 1400px) {
    .contents h2 {
        font-size: 3.2rem;
    }
}


@media screen and (max-width: 920px) {
    .util_box {
        position: relative;
        justify-content: center;
    }

    .contents h2 {
        font-size: 2.8rem;
    }

    .util_box li span {font-size: 1.6rem;}

    .contents h2 {
        margin: 60px 0 20px;
    }
}

@media screen and (max-width: 800px) {
    .board_list tr {
        padding: 15px;
    }

    .board_list tr td.subject {
        font-size: 2rem;
    }

    .table tr td {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 420px) {
    .table_style.franc_table tbody tr td {
        font-size: 1.4rem;
    }
}

/*아이문화패스 신청 안내*/
.imp_intro {
    position: relative;
    width: calc(100% - 200px);
    height: 300px;
    background: #FFDC4F;
    border-radius: 25px 25px 25px 100px;
    box-sizing: border-box;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.imp_intro::before {
    position: absolute;
    top: 0;
    content: '';
    display: block;
    width: 100%;
    height: 300px;
    background: url(../images/sub/intro_bg.png) center no-repeat;
    border-radius: 25px 25px 25px 100px;
}

.imp_intro h3 {
    position: relative;
    font-size: 3.8rem;
    font-weight: 800;
    line-height: 140%;
    letter-spacing: -2px;
    z-index: 1;
    text-align: center;
    color: #222;
}

.imp_intro img {
    scale: 0.8;
    position: absolute;
    bottom: -45px;
    right: -60px;
}

.sub_guide_box .intro_box img {
    width: 100%;
    margin: 0 auto;
}

.passend_lay {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    margin-top: 30px;
}

.passend_lay .tit {
    font-size: 1.8rem;
    font-weight: 600;
    color: #369aff;
}

.passend_lay .home_btn {
    width: 200px;
    background: #369aff;
    color: #fff;
}

.detail_box {
    padding: 80px 0;
}

.detail_box2 {
    padding: 40px 0;
    border: 2px dashed #ddd;
    border-radius: 10px;
}

.detail_box3 {
    padding: 20px;
    /*font-size: 1.125rem;*/
}

.detail_box.detail_box2 img {
    width: 100%;
}

.detail_box .sub_tit {
    font-size: 3.5rem;
    line-height: normal;
}

.detail_box .sub_txt {
    margin: 40px 0;
    line-height: 160%;
    letter-spacing: -0.6px;
}



.detail_box .tit_box {
    display: flex;
    justify-content: center;
}

.detail_box .tit_box img {
    display: block!important;
}

.detail_box .tit_box strong.tit {
    font-size: 1.8rem;
    font-weight: 600;
}

.mobile-br {
    display: none;
}

.intro_mo {
    display: none;
    /*margin: 0 20px;*/
}

.intro_mo ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 5px;
}

.intro_mo ul li {
    width: calc(50% - 5px);
    min-height: 95px;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 600;
    letter-spacing: -0.6px;
}

.intro_mo ul li:nth-child(1) {background: #FF5733;}
.intro_mo ul li:nth-child(2) {background: #FFC107;}
.intro_mo ul li:nth-child(3) {background: #B344E1;}
.intro_mo ul li:nth-child(4) {background: #3458E9;}
.intro_mo ul li:nth-child(5) {background: #18C762;}

@media screen and (max-width:920px) {
    .imp_intro {
        width: calc(100% - 40px);
    }

    .imp_intro h3 {
        font-size: 3.2rem;
    }

    .sub_guide_box .intro_box img {
        display: none;
    }

    .intro_mo {
        display: block;
    }

    .sub_guide_box .intro_box .intro_mo img {
        display: block;
        margin: 0 auto;
        width: 300px;
    }
}

.responsive_img {
    display: flex;
    justify-content: center;
    align-items: center;
}

.responsive_img img {
    width: auto;
}

.responsive_img img:nth-child(1) {
    display: block;
    width: auto;
}

.responsive_img img:nth-child(2) {
    display: none;
}

.responsive_img2 img:nth-child(1) {
    display: block;
    width: auto;
}

.responsive_img2 img:nth-child(2) {
    display: none;
}

.responsive_img3 img:nth-child(1) {
    width: 80%;
}

.responsive_img4 img:nth-child(1) {
    width: 90%;
}

.responsive_img_1100 img:last-child {
    display: none;
}

.responsive_img_820 img:last-child {
    display: none;
}

.detail_box.detail_box2.franc_regi_img img {
    width: 80%;
}

@media screen and (max-width: 1200px) {
    .imp_intro h3 span.mobile-br {
        display: block;
    }
}

@media screen and (max-width: 1100px) {
    .responsive_img_1100 img:first-child {
        display: none;
    }

    .responsive_img_1100 img:last-child {
        display: block;
    }
}

@media screen and (max-width: 820px) {
    .responsive_img_820 img:first-child {
        display: none;
    }

    .responsive_img_820 img:last-child {
        display: block;
    }
}

@media screen and (max-width:768px) {
    /*모바일 화면시 줄바꿈 기능*/
    .mobile-br {
        display: block;
    }

    .imp_intro h3 {
        position: absolute;
        top: -200px;
        width: 50%;
        max-width: 340px;
        min-width: 340px;
        font-size: 2.8rem;
    }

    .sub_guide_box {
        padding:  20px;
    }

    .imp_intro {
        position: relative;
        margin-top: 200px;
        height: 80px;
        /*overflow: hidden;*/
        border-radius: 12px 12px 12px 25px;
    }

    .imp_intro::before {
        border-radius: 12px 12px 12px 25px;
        height: 100%;
    }

    .imp_intro img {
        scale: 0.6;
        bottom: -80px;
        right: -90px;
    }

    .responsive_img img:nth-child(1) {
        display: none;
    }

    .responsive_img img:nth-child(2) {
        display: block;
        width: 60%;
    }

    .responsive_img2 img:nth-child(1) {
        display: none;
    }

    .responsive_img2 img:nth-child(2) {
        display: block;
    }

    .detail_box .sub_tit {
        font-size: 2.8rem;
    }

    .detail_box .sub_txt {
        font-size: 1.6rem;
        padding: 0 20px;
    }

    .contents h2 {
        margin: 40px 0 10px;
    }

}


@media screen and (max-width:620px) {
    .sub_txt {
        font-size: 1.6rem;
        line-height: 130%;
    }

    .detail_box img {
        width: 100%;
    }

    .intro_mo ul {
        flex-direction: column;
    }

    .intro_mo ul li {
        width: 100%;
        min-height: auto;
    }
}

@media screen and (max-width: 520px) {
    .main_top_box .box_style {
        padding: 25px 20px;
    }

    .card_txt {
        margin-left: 0;
    }
}

@media screen and (max-width:420px) {

    .banner_text h2 {
        font-size: 2.4rem;
    }

    .banner_text p {
        font-size: 1.6rem;
    }

    .box_right img {
        width: 100px;
        height: 100px;
    }

    .responsive_img img:nth-child(2) {
        width: 80%;
    }

    .imp_intro h3 {
        min-width: 300px;
        max-width: 300px;
    }

    .imp_intro img {
        scale: 0.4;
        bottom: -110px;
        right: -110px;
    }


    .sub_txt {
        margin-bottom: 20px;
        line-height: 130%;
        letter-spacing: -.8px;
        font-size: 1.6rem;
    }

    .detail_box .sub_txt {
        font-size: 1.6rem;
    }

}

/*신청하기 버튼*/
.apply_btn {
    width: 200px;
    height: 52px;
    background: #369AFF;
    margin: 0 auto;
    border-radius: 8px;
}

.apply_btn a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .apply_btn a {
        font-size: 1.6rem;
    }
}

/*--------------------------------------------------------------------*/


/*로그인*/

.login_box ul li,
.login_box ul li input {
    border-radius: 5px;
    font-size: 1.8rem;
}

.login_box ul li.login_link {
    justify-content: flex-end;
}

.login_box .login_btn {
    border-radius: 8px;
}

.right_link {
    font-size: 1.6rem;
}
/*회원가입_join1*/

.join_ntc {
    border-radius: 12px;
}

.join_ntc em {
    font-weight: 600;
    color: #FB5954;
}

.join_ntc ul li {
    font-size: 1.8rem;
    line-height: 160%;
}

.join_ntc ul li::before {
    background: url(../images/sub/join_check.png) no-repeat;
}

.automatic_box strong.tit {
    font-size: 2.4rem;
    font-weight: 600!important;
    margin-bottom: 10px;
    color: #111;
}

.franc_regi_tit h3 {
    margin: 30px 0 10px;
}

.agree_box strong,
.franc_regi_tit h3 {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 10px;
}

.agree_box p {
    margin-bottom: 20px;
    border-radius: 10px;
    font-size: 1.6rem;
    line-height: 130%;
    letter-spacing: -0.6px;
}

.img_block {
    display: block!important;
}

.caution_text p {
    padding: 0;
    border: none;
    word-break: keep-all;
}

.tit_box {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.tit_box strong.tit {
    margin-bottom: 0;
    margin-left: 5px;
}

.older_14, .franc_oath {
    position: relative;
    padding: 20px 30px;
    margin: 20px 0;
    border: 1px solid #ddd;
    border-radius: 10px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.older_14 label,
.franc_oath label{
    position: relative;
    /*padding-top: 3px;*/
}

.all_agree {
    margin: 20px 0 30px;
    border-radius: 10px;
    font-size: 1.8rem;
}

.all_agree label {
    padding-top: 0;
}

.automatic_box .agree_cont {
    height: 250px;
    background: #F9F9F9;
}

.agree_cont {
    border-radius: 10px 10px 0 0;
}

.agree_cont .cont_box {
    font-size: 1.4rem;
    line-height: 150%;
}

.agree_cont .cont_box strong {
    font-size: 1.6rem;
    font-weight: 500;
    margin-bottom: 0;
}

.list_1st > li > ul > li {
    font-size: 1.4rem;
}

.agree_label {
    border-radius: 0 0 10px 10px;
    font-size: 1.8rem;
    font-weight: 500;
}

.agree_label.agree_label2 {
    border-radius: 10px;
    border: 1px solid #ddd;;
    margin-top: 12px;
}

.joincert .cont a {
    /*    background: #369AFF;*/
}

@media screen and (max-width: 620px) {

    .agree_box strong,
    .franc_regi_tit h3 {
        font-size: 2rem!important;
    }

    .agree_cont .cont_box strong {
        font-size: 1.6rem!important;
    }

    .agree_cont .cont_box {
        font-size: 1.4rem;
    }

    .join_ntc ul li {
        font-size: 1.6rem;
    }

    .list_1st > li > ul > li {
        font-size: 1.4rem;
    }

    .agree_label label, .all_agree label {
        font-size: 1.6rem;
        letter-spacing: -0.6px;
    }

    .older_14,
    .franc_oath {
        padding: 15px;
    }

    .older_14 label,
    .franc_oath label {
        padding-top: 0;
        padding-left: 30px;
    }
}

/*join2*/

.join_box {
    font-size: 1.4rem;
}

.join_box .info .info_txt,
.join_box .info .cont,
.join_box .info .cont input {
    border-radius: 5px;
    font-size: 1.8rem;
}

.join_box .info .tit {
    font-size: 1.8rem;
    font-weight: 600;
}

.join_box .info .cont a.confirm {
    border-radius: 0 5px 5px 0;
}

.join_box .info .notification {
    display: flex;
    font-size: 1.8rem;
}

.join_box .info .notification p {
    position: relative;
    margin-right: 20px;
}

.form_box > ul > li.notification span {
    position: relative;
    padding-left: 30px;
    margin-right: 20px;
}

.form_box > ul > li.notification span::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 22px;
    height: 22px;
    border-radius: 100%;
    border: 1px solid #d0d0d0;
    background-color: #fff;
    content: '';
}

.form_box > ul > li.notification span.chk::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 6px;
    width: 12px;
    height: 12px;
    border-radius: 100%;
    transition: all 0.2s;
    background-color: #369AFF;
}

.join_btn {
    border-radius: 8px;
}

@media screen and (max-width:620px) {
    .form_box > ul > li.notification {
        flex-direction: inherit;
    }

    .form_box > ul > li.notification p {
        margin-bottom: 0;
    }

    .form_box > ul > li.notification span {
        font-size: 1.6rem;
    }

    .form_box > ul > li.notification span::before {
        width: 18px;
        height: 18px;
    }

    .form_box > ul > li.notification span.chk::after {
        left: 5px;
        top: 5px;
        width: 10px;
        height: 10px;
    }
}

/*join3*/

.join_done .login_btn {
    border-radius: 8px;
}

.join_done p {
    font-size: 1.8rem;
}


/*----------------------------------------------------------------------*/

/*비밀번호 변경*/
.pw_btn a.pw_prev,
.pw_btn a.pw_next {
    border-radius: 8px;
}

/*----------------------------------------------------------------------*/

/*아이문화패스 신청*/

/*250404_대문페이지*/

.pass_text {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    gap: 15px;
    text-align: left;
    border: 3px solid #369aff;
    border-radius: 15px;
    padding: 40px 30px 30px;
    width: 100%;
}

.pass_text ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pass_text ul li {
    position: relative;
    margin-left: 30px;
}

.pass_text ul li strong {
    flex: 1;
    min-width: 0;
}

.pass_text ul li::before {
    display: block;
    position: absolute;
    content: '';
    background: url("../images/sub/pass_check.png") no-repeat center center/ cover;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    left: -30px;
    top: 5px;
}

.pass_check {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;

    position: absolute;
    top: -25px;
    left: 50%;
    transform: translate( -50%, 0);

    width: 270px;
    background: #369aff;
    padding: 10px 20px;
    border-radius: 30px;
}

.pass_check p {
    color: #fff;
    font-weight: 600;
    letter-spacing: -0.6px;
}

.pass_text {
    margin-top: 60px;
    margin-bottom: 30px;
    word-break: keep-all;
    text-align: center;
}

.pass_text h3 {
    font-weight: 600;
    font-size: 2.4rem;
    color: #369aff;
}

.pass_text .pass_check {
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: -0.6px;
    word-break: keep-all;
}

.pass_text p {
    /*font-size: 1.25rem;*/
    line-height: 160%;
    letter-spacing: -0.6px;
    word-break: keep-all;
}

.pass_text p span {
    display: inline-block;
    margin-top: 10px;
    color: #ff4d4d;
    /*font-size: 1.250rem;*/
    font-weight: 600;
    line-height: normal;
}

.pass_check2 .pass_text {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    gap: 15px;
    text-align: left;
    border: 3px solid #369aff;
    border-radius: 15px;
    padding: 50px 30px 30px;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}

.pass_check2 .pass_text ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.pass_check2 .pass_text ul li {
    /*font-size: 1.125rem;*/
    position: relative;
    margin-left: 30px;
    line-height: 160%;
    letter-spacing: -0.6px;
}

.pass_check2 .pass_text ul li strong {
    flex: 1;
    min-width: 0;
    color: #111;
}

.pass_check2 .pass_text ul li::before {
    display: block;
    position: absolute;
    content: '';
    background: url("../images/sub/pass_check.png") no-repeat center center/ cover;
    width: 21px;
    height: 21px;
    margin-right: 10px;
    left: -30px;
}

#container.pass_app {
    min-height: auto;
}

.pass_lay {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin: 30px 0;
    position: relative;
}

.pass_box {
    background: #fff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3) ;
    border-radius: 30px;
    padding: 30px;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    width: 50%;
    gap: 10px;
}

.pass_check2 {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pass_info {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;

    z-index: 1;
}

.pass_info .text_bg {
    position: relative;
    width: fit-content;
    font-size: 2rem;
    font-weight: 600;
    z-index: 1;
}

.pass_info .text_bg:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 15px;
    background: #AAEFFF;
;
}

.pass_info p {
    font-size: 1.6rem;
    line-height: 130%;
    letter-spacing: -0.6px;
    font-weight: 400;
    color: #222;
    word-break: keep-all;
}

.pass_info h4 {
    font-size: 3.6rem;
    font-weight: 800;
    line-height: 120%;
    position: relative;
    letter-spacing: -1px;
    color: #1a1a1a;
}

.res_block {
    display: inline;
}

.pass_info p {
    font-size: 1.6rem;
    font-weight: normal;
    word-break: keep-all;
    letter-spacing: -0.6px;
}

.pass_img {
    position: absolute;
    top: 0;
    right: 0;
    width: 200px;
    height: 200px;
}

.pass_img img {
    width: 100%;
}

.pass_w_box {
    width: 100%;
    height: 100px;
    border-radius: 15px;
    background: #fff;
    margin-top: 20px;
    padding: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.pass_w_box p {
    line-height: 160%;
}

.pass_caution {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 5px;
}

.pass_caution p {
    line-height: 130%;
    color: #ff4d4d;
}

.pass_caution > img {
    width: 16px;
    height: 16px;
    margin-top: 2px;
}

.pass_box .btn_box {
    width: 100%;
    margin-top: 0;
}

.pass_box .btn_box a {
    border-radius: 50px;
    width: 100%;
}

.btn_box .passapp_btn {
    height: 60px;
    line-height: 60px;

    color: #fff;
    background: #369aff;
    box-shadow: 0 7px 15px 0 rgba(0, 0, 0, 0.15);
}

.btn_box .passapp_mo_btn {
    background: #369aff;
    color: #fff;
    flex: 1;
}

.pass_info_lay {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;

    position: relative;
}

.ipin_btn_lay {
    display: flex;
    flex-direction: row;
    gap: 5px;
}

.check_mo_btn, .ipin_btn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;

    padding: 5px 15px;
    border-radius: 5px;
    background: #222;
    color: #fff;

    width: fit-content;
    cursor: pointer;
    font-size: 1.4rem;
}

.ipin_btn {
    background: #008dff;
    padding: 0;
}

.ipin_btn a {
    display:flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;

    padding: 5px 15px;
    width: 100%;
    height: 100%;

    font-weight: 500;
}

.ipin_btn a:hover {
    text-decoration: none;
    font-weight: bold;
}

.check_mo_btn.click .mobile_modal {
    display: flex;
}

.check_mo_btn img, .ipin_btn img {
    width: 12px;
    height: 12px;
}


.pass_box .btn_box a {
    font-size: 2.4rem;
}

.mobile_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 999;

    display: none;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

.mo_pass_check {
    min-width: 300px;
    max-width: 600px;
    background: #fff;
    border-radius: 15px;
}

.mo_pass_check .mo_pass_tit {
    padding: 20px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;

    background: #369aff;
    border-radius: 15px 15px 0 0;

    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
}

.mo_pass_check .pass_text {
    margin-top: 0;
    margin-bottom: 0;

    padding: 20px;
    border-radius: 0 0 15px 15px;
    background: #fff;
    text-align: left;
    border: none;
}

.gpki_caution,
.ipin_caution {
    display: none;
}

.mo_pass_check .btn_box {
    margin-top: 0;
    padding: 0 20px 20px;
    gap: 10px;
}

.mo_pass_check .btn_box a:first-child {
    background: #555;
}

@media screen and (max-width: 1400px) {

    .pass_info h4 {
        font-size: 3.2rem ;
    }

    .pass_img {
        width: 180px;
        height: 180px;
    }

    .pass_tit {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

}

@media screen and (max-width: 1100px) {
    .pass_img {
        width: 150px;
        height: 150px;
    }

    .pass_box .btn_box a {
        font-size: 2rem;
    }
}

@media screen and (max-width: 920px) {

    .intro_pass {
        margin-top: 30px;
    }

    .pass_lay {
        flex-direction: column;
        margin-top: 30px;
    }

    .pass_box {
        align-items: flex-start;
        gap: 10px;

        border-radius: 25px;
        padding: 20px;

        width: 100%;
        text-align: left;
    }

    .pass_text {
        margin-top: 40px;
    }

    .pass_text h3 {
        font-size: 2rem;
    }

    .pass_text ul li {
        color: #333;
        font-size: 1.6rem;
        line-height: 160%;
        letter-spacing: -0.6px;
    }

    .pass_caution {
        justify-content: flex-start;
        align-items: flex-start;
        height: auto;
    }

    .pass_w_box {
        height: auto;
    }

    .side_card_box.automatic_box {
        flex-direction: column;
    }

    .pass_info {
        height: auto;
        margin-top: 0;
    }

    .pass_info .text_bg {
        font-size: 1.6rem;
    }

    .pass_info span {
        font-size: 1.4rem;
    }

    .pass_info h4 {
        font-size: 4rem;
        word-break: keep-all;
    }

    .pass_info p {
        font-size: 1.4rem;
        text-align: left;
    }

    .pass_info_lay {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-direction: row;
        gap: 10px;
    }

    .pass_info_lay .pass_info {
        width: 80%;
    }

    .pass_check2 .pass_text {
        display: none;
    }

    .pass_box .btn_box a {
        font-size: 1.8rem;
    }

    .btn_box .passapp_btn {
        height: 50px;
        line-height: 50px;
    }

    .pass_img {
        top: 50%;
        transform: translate(0, -50%);
        width: 200px;
    }

    .res_block {
        display: inline-block;
    }

    .check_mo_btn.click .mobile_modal {
        display: flex;
    }

    .step_none {
        display: none;
    }

}

@media screen and (max-width: 768px) {

    .pass_caution .tablet-break {
        display: inline;
    }

    .pass_box {
        padding: 20px;
    }
}

@media screen and (max-width: 620px) {
    .pass_info h4 {
        font-size: 3.6rem;
    }

    .pass_img {
        width: 150px;
    }
}

@media screen and (max-width: 520px) {

    .pass_info h4 {
        font-size: 2.8rem;
    }

    .pass_text p {
        font-size: 1.6rem;
    }

    .pass_text p span {
        font-size: 1.6rem;
    }

}

@media screen and (max-width: 420px) {
    .pass_info_lay .pass_info {
        width: 100%;
        z-index: 1;
    }

    .pass_info h4 {
        font-size: 2.4rem;
    }

    .pass_img {
        width: 100px;
    }


    .check_mo_btn, .ipin_btn {
        font-size: 1.2rem;
        padding: 3px 6px;
        gap: 3px;
    }

    .ipin_btn {
        padding: 0;
    }

    .ipin_btn a {
        padding: 3px 6px;
    }

}

@media screen and (max-width: 360px) {
    .pass_box .btn_box a {
        font-size: 1.6rem;
    }
}

/*-------0417 신청방법 선택화면 수정--------*/

.intro_pass {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 30px;

    text-align: center;
}

/*.intro_pass_bg {*/
/*    background: #0A2138;*/
/*    padding-bottom: 10px;*/
/*}*/

.intro_pass_bg::before {
    z-index: 0;
    content: '';
    position: absolute;
    background: #fff url("../images/sub/intro_pass.png")no-repeat center bottom;
    width: 100%;
    height: 500px;
}

.intro_pass h3 {
    font-size: 4.8rem;
    font-weight: 800;
    line-height: 145%;
    letter-spacing: -0.6px;
    z-index: 1;
    color: #1A1A1A;
}

.intro_pass h3 span {
    position: relative;
}

.intro_text {
    font-size: 2rem;
    line-height: 160%;
    letter-spacing: -0.6px;
    color: #1A1A1A;
}

.intro_text .caution {
    color: #ff4d4d;
}

.intro_text .caution span {
    font-weight: 600;
}

@media screen and (max-width: 920px) {

    .intro_pass h3 {
        font-size: 3.2rem;
    }

    .intro_pass h3 span::before {
        height: 50%;
    }

    .intro_text {
        font-size: 1.4rem;
    }

    .intro_text p {
        word-break: keep-all;
    }

    .intro_pass_bg::before {
        background: url("../images/sub/intro_pass_mo.png") no-repeat center center / cover;
        height: 350px;
    }
}

@media screen and (max-width: 460px) {
    .intro_pass h3 {
        font-size: 2.4rem;
    }
}

/*---------------*/

.badge {
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    /*font-size: 1.4rem;*/
    font-weight: 600;
}

.app_delete_btn {
    margin-right:10px;
    color: #ffffff;
    background-color: #ff6a6a;
}

.temporary_save_btn {
    color: #ffffff;
    background-color: #555555;
}

.form_bg {
    padding: 20px;
    background: #f1f3f6;
    border: 2px dashed #dddddd;
    border-bottom: 2px dashed #dddddd !important;
    border-radius: 10px;
}

.form_box > ul > li {
    padding: 15px;
    border-bottom: none;
}

.form_box > ul > li > label {
    font-weight: 600;
    width: auto;
}

.form_box > ul > li > p {
    width: auto;
}

.form_box > ul > li > label::after, .form_box > ul > li > p::after {
    display: none;
}

.select_info {
    margin-left: 20px;
    font-size: 1.8rem;
    font-weight: 100!important;
}

.child_box {
    width: 100%;
    padding: 20px;
    border: 1px solid #eeeeee;
    border-radius: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.child_info {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 5px;
    gap: 10px;
}

.child_info.file {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;

}

.child_info p {
    font-weight: 600;
}

.child_info input {
    padding: 10px;
    border: 1px solid #dddddd;
    border-radius: 5px;
}

.document_guide p {
    color: #000000;
}

.form_tit {
    font-weight: 600;
    margin-bottom: 15px;
    padding: 0!important;
    padding-top: 30px!important;
}

.form_tit em {
    color: #369AFF;
}

.file-upload {
    display: flex; /* 가로 정렬 */
    align-items: center; /* 수직 정렬 */
    gap: 10px; /* 간격 조정 */
}

.file-upload span {
    display: inline-block;
    width: 60%;
    background: #fff;
    padding: 15px;
    border-radius: 6px;
    border: 1px solid #dddddd;
    color: #c2c2c2;
}

.file-upload input[type="file"] {
    flex: 1; /* 너비 자동 조정 */
    padding: 8px;
    border: 1px solid #dddddd;
    border-radius: 4px;
}

.file-upload label {
    width: auto!important;
    background-color: #333333;
    color: white;
    padding: 15px 30px;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
}

.file-upload input[type="file"] {
    display: none;
}

.name_tit, .tit {
    font-weight: 500!important;
}

.side_card_box.automatic_box {
    display: flex;
    gap: 40px;
}
.side_card_box.automatic_box .side_cont {
    position: relative;
    width: 300px;

}

.side_card {
    position: sticky;
    top: 120px;
    padding: 30px;
    border: 1px solid #ddd;
    border-radius: 8px;
    margin-bottom: 112px;

    width: 100%;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;

    line-height: 130%;
}

.side_card img {
    height: 200px;
}

.side_card h3 {
    margin-top: 13px;
    font-size: 2.4rem;
    font-weight: 600;
}

@media screen and (max-width: 920px) {
    .side_card_box.automatic_box .side_cont {
        width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .side_card {
        margin-bottom: 0;
        font-size: 1.6rem;
    }

    .side_card h3 {
        font-size: 2rem;
    }

    .automatic_box strong.tit {
        font-size: 2rem;
    }

    .side_card_box.automatic_box .side_cont {
        width: 100%;
    }
}

.card_info {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    margin-top: 30px;
    gap: 30px;
}

.card_text {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    gap: 10px;
    letter-spacing: -1px;
}

.card_text h4 {
    color: #111;
    font-weight: 600;
}


.card_text p::before {
    content: '';
    border: 2px solid #000;
    display: inline-block;
    width: 10px;
    height: 5px;
    border-top: none;
    border-right: none;
    transform: rotate(-45deg);
    margin-bottom: 3px;
    margin-right: 7px;
}

.side_card_box.automatic_box .cont_list {
    flex: 1;
}

.automatic_box .info_box {
    flex-direction: column;
    justify-content: flex-start;
    margin-bottom: 15px;
    border-radius: 8px;
    padding: 20px;
}

[data-form-type="childResult"] .info_box {
    border:2px solid #369aff;
    background: #FCFDFF;
}

.automatic_box .info_box > div {
    gap: 5px;
}

.automatic_box .info_box p.tit {
    font-weight: 600!important;
}

.automatic_box .info_box p {
    font-size: 1.8rem;
    font-weight: 400;
    color: #111;
}

.automatic_box .info_box:last-child {
    margin-bottom: 0;
}

.automatic_box .info_box > div .input {
    height: auto;
    padding: 10px;
    font-size: 1.8rem;
}

.automatic_box .info_box > div .input_box {
    flex: 1;
    gap: 0;
    flex-direction: column;

    width: 100%;
}

.automatic_box .info_box .input_box_wrap {
    flex: 1;
    display: flex;
    align-items: start;
    width: 100%;
    gap: 6px;
}

.automatic_box .info_box .input_box_wrap .dash {
    height: 49px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.automatic_box .info_box > div .sub_title {
    width: 50px;
    text-align: center;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tit.required::after {
    content: '*';
    margin-top: -5px;
    margin-left: 3px;
    color: #369AFF;
    /*font-size: 1.25rem;*/
}

.automatic_box input[readonly]:focus {
    outline: none;
    box-shadow: none;
}

.automatic_box input[readonly] {
    pointer-events: none;
}

/**/

#container.app_contents input.no-border,
#container.app_contents input.no-border {
    color: #333;
    background: #f6f7f9;
}
[data-form-type="preview"] .app_contents input.no-border,
[data-form-type="preview"] .app_contents input.no-border {
    border: none;
    color: #333;
    background: none;
    font-size: 1.8rem;
}

/**/


.verify_lay {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 15px;
}

label em {
    color: #369AFF;
}

.document_guide {
    margin-bottom: 15px;
}

.document_guide ul li {
    padding-bottom: 0;
}

#previewInner {
    display: none;
}

.exmpt_box > ul > li select {
    width: 300px;
}

.verify_lay select {
    height: 40px;
    width: 300px;
    border-radius: 6px;
}

.verify_btn, .child_check_btn {
    padding: 10px 30px;
    background: #999;
    border-radius: 6px;
    color: #fff;
    cursor: pointer;
}

a.next_btn, a.sub_btn {
    background: #369AFF;
}

a.next_btn.disabled, a.sub_btn.disabled{
    background: rgb(181 181 181);
    pointer-events: none;
}

.btn_box a {
    cursor: pointer;
}

.btn_box a.gray_btn {
    background: #555;
    color: #fff;
}

.child_btn_box {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.gpki_check_btn {
    display: block;
    height: 35px;
    line-height: 35px;
    color: #fff;
    font-size: 1.8rem;
    text-decoration: none;
    text-align: center;
    border-radius: 5px;
    background-color: #999;
    cursor: pointer;
    padding: 0 12px;
}

.verify_pass {
    margin-top: 40px;
}

.verify_pass.on {
    display: block;
}

.verify_pass .info_box {
    gap: 40px;
    border: 1px solid #eee;
    border-top: 1px solid #eee;
    border-radius: 6px;
}

.verify_pass .info_box p.tit {
    width: auto;
}

.verify_pass .info_box .name {
    color: #666565;
}

.verify_pass strong.tit {
    margin-bottom: 0;
}

.verify_pass .cont > p {
    margin-bottom: 15px;
}

.child_list {
    display: none;
}

.child_list.on {
    display: block;
}

.atmt_n_data {
    overflow: hidden;
    padding: 20px 40px;
    background: #f9f9f9;
}

.atmt_n_data .slick-prev:before,
.atmt_n_data .slick-next:before {
    color: black;
}

.slick-wrap {
    position: relative;
}

.slick-wrap .prev img {
    transform: rotate(0deg) translate(0, 50%);
    filter: grayscale(100%) brightness(0);
    position: absolute;
    left: 15px;
    width: 35px;
    height: 35px;
    bottom: 50%;
    cursor: pointer;

}
.slick-wrap .next img {
    transform: rotate(180deg); /* 회전하여 왼쪽 방향으로 변경 */
    filter: grayscale(100%) brightness(0); /* 검은색으로 만들기 */
    position: absolute;
    right: 10px;
    width: 35px;
    height: 35px;
    transform: translate(0, 50%);
    bottom: 50%;
    cursor: pointer;
}

.child_write {
    display: none;
    margin-top: 20px;
}

.child_write select {
    padding: 8px;
    border: 1px solid #dddddd;
    border-radius: 5px;
    height: 45px;
}

.child_write.on {
    display: block;
}

.child_write strong {
    margin-bottom: 10px;
}

.child_write > p {
    margin-bottom: 10px;
}

.child_write > p > em {
    color: #369aff;
}

.child_lay {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 10px;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 20px;
}

.child_lay .child_box {
    padding: 0;
    border: none;
}

.atmt_n_data .slick-item {
    padding: 0 12px;
}

.atmt_n_data.slick-initialized {
    overflow: unset;
}

.slick_card {
    height: 180px;
    background: #fff;
    border: 1px solid #cfcfcf;
    border-radius: 20px;
    padding: 18px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    cursor: pointer;
    text-align: center;
}

.slick_card.select {
    border: 1px solid #369aff;
}

.slick_card h4 {
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.slick_card .card-header {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: auto;
    font-size: 1.8rem;
}

.slick_card .card-header .step {
    padding: 4px 10px;
    border-radius: 16px;
    background-color: #a9a9a9;
    color: #ffffff;
}

.slick_card p {
    color: #333;
}

.slick_card p, .slick_card h4 {
    height: 20px!important;
}

.automatic_box .info_box .message {
    color: black;
    display: block;
    margin: 0;
    max-width: none;
    padding: 6px;
}

.automatic_box .info_box .message .view_caution p {
    color: #369aff;
    font-weight: 600;
}

.automatic_box .info_box .message.success {
    color: #26bc47;
}
.automatic_box .info_box .message.error {
    color: red;
}

.automatic_box .info_box.caution_box {
    border: 2px solid red;
}
.automatic_box .info_box.none_box {
    border: none;
}
.automatic_box .info_box.none_box .caution_background {
    background-color: rgb(204 204 204);
    border-radius: 8px;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0.5;
    z-index: 5;
}

.automatic_box .info_box.none_box .caution_popup {
    width: 270px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-weight: 800;
    /*font-size: 1.125rem;*/
    padding: 20px;
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    z-index: 10;
    background-color: #ffff;
    display: flex;
    border-radius: 8px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.automatic_box .info_box.success_box {
    border: 2px solid #369aff;
}

.automatic_box .info_box > div .input.caution_input {
    border: 1px dashed red;
    /*background: #ff32320f;*/
}

.automatic_box .input_box .input_error {
    font-size: 1.4rem;
    width: 100%;
    color: red;
    padding: 4px;
    display: none;
}
.automatic_box .input_box .input_error.error {
    display: block;
}
.automatic_box .input_box .input_error::before {
    content: '*';
}

.automatic_box.gpki_box .info_box > div {
    align-items: flex-start;
}


.automatic_box.gpki_box .info_box p.tit {
    height: 35px;
    display: flex;
    align-items: center;
    font-weight: 600!important;
}

.caution.show {
    display: block;
}

.child_viewbox {
    margin: 30px auto;
    width: 800px;
    background: #f9f9f9;
    border-radius: 12px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.view_text {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
}

.view_text h4 {
    font-weight: 600;
    width: 25%;
}

.view_text .file_view {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    width: 75%;
}

.view_text p, .view_text li {
    font-weight: 400;
    margin-bottom: 6px;
}

.view_caution {
    margin: 0 auto;
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.view_caution p {
    font-weight: 600;
    color: #333;
    word-break: keep-all;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .verify_lay {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .verify_lay select, .exmpt_box > ul > li select {
        width: 260px!important;
    }

    .select_info {
        margin-left: 0;
    }

    .verify_btn {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    #verifyPass .input_box input {
        min-width: auto;
    }

    .gpki_check_btn, .child_check_btn {
        width: 100%;
    }

    .child_check_btn {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .atmt_n_data {
        height: 216px;
    }

    .verify_pass .info_box {
        flex-direction: column;
        gap: 15px!important;
    }

    .form_bg {
        flex-direction: column;
        align-items: flex-start!important;
        gap: 10px;
    }

    .cont_list {
        font-size: 1.6rem;
    }


    .automatic_box.gpki_box .info_box > div {
        align-items: flex-start;
    }

    .automatic_box .info_box > div .input {
        font-size: 1.6rem;
    }

    .automatic_box .info_box p {
        font-size: 1.6rem;
    }

    .child_box {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .card_text p {
        font-size: 1.6rem;
    }

    .form_tit {
        display: flex;
    }

    .child_viewbox {
        width: 100%;
    }

    .view_text h4 {
        width: auto;
    }

    .view_text {
        flex-direction: column;
        gap: 3px;
    }

    .view_caution {
        flex-direction: column;
    }
}

@media screen and (max-width: 620px) {
    .form_tit {
        flex-direction: row!important;
    }

    .automatic_box .info_box > div {
        align-items: flex-start;
        flex-direction: column;
    }

    .automatic_box .info_box > div:first-child {
        flex-direction: column;
    }
}



/*----------------------------------------------------------------------*/

/*나의 정보*/

.enrollment_tab {
    margin: 30px 0;
}

.mypage_tit {
    display: inline-block;
    margin: 10px 0 5px;
    font-size: 2.4rem;
    font-weight: 600;
}

.user_box {
    display: flex;
    gap: 30px;
}

.user_l, .user_r {
    width: 50%;
    border-radius: 12px;
    border: 1px solid #ddd;
    padding: 20px;

    display: flex;
    flex-direction: column;
    gap: 15px;
}

.user_r.style_none {
    border: 0;
    border-radius: 0;
    padding: 0;
}

.user_info, .child_info {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 5px;
    /*gap: 10px;*/
}

.user_info p {
    font-weight: 600;
}

.user_info .tit {
    font-weight: 600!important;
}

.child_info p {
    font-weight: 600;
}

.user_info input, .child_info input {
    padding: 10px;
    border: 1px solid #dddddd;
    border-radius: 5px;

    font-size: 1.8rem;
}

.user_info input.lock .child_info input.lock {
    background: #f6f7f9;
    color: #999;
    cursor: default;
}

.password_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 175px;
    padding: 10px 30px;
    border-radius: 6px;
    background: #333;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.password_btn a {
    font-size: 1.6rem;
    text-decoration: none;
}

.tit.mypage {
    font-size: 2.4rem;
    font-weight: 600;
}

.modify_btn {
    background: #008dff;
    color: #fff;
    margin-left: 10px;
}

.secession_btn, .delete_btn {
    background: #555;
    color: #fff;
    margin-right: 10px;
}

.agree_radio {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

.agree_radio p {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;

    font-weight: 400;
}

/* 기본 라디오 숨기고 커스텀용 스타일링 */
.agree_radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid #ccc;
    border-radius: 50%;
    background-color: #fff;
    margin-right: 8px;
    position: relative;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

/* 선택된 상태 (안쪽 점) */
.agree_radio input[type="radio"]:checked::before {
    content: '';
    width: 8px;
    height: 8px;
    background-color: #4CAF50;
    border-radius: 50%;
    position: absolute;
    top: 3px;
    left: 3px;
}

/*  disabled + readonly 상태 스타일 */
.agree_radio input[type="radio"][disabled][readonly] {
    cursor: not-allowed;
}

.agree_radio input[type="radio"][disabled][readonly] + label {
    color: #999;
}

/* 라벨 기본 스타일 */
.agree_radio label {
    padding-left: 0px;
    cursor: default;
    color: #333;
}

.notification p {
    position: relative;
}

.radio:checked+label:after {
    background: #008dff;
}

.modify_modal {
    position: fixed;
    top: 0;
    left: 0;

    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.6);
    z-index: 9999;

    display: none;
    justify-content: center;
    align-items: center;
}

.modify_modal.on {
    display: flex;
}

.modal_box {
    position: relative;
    max-height: 95vh;
    overflow: hidden;
    overflow-y: auto;
    background: #fff;
    padding: 60px 20px 30px;
    border-radius: 20px;
    width: 30%;
    min-width: 500px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.close_btn {
    position: absolute;
    top: 30px;
    right: 30px;
}

.modal_overflow {
    max-height: 450px;
    overflow: auto;
}

.modal_overflow::-webkit-scrollbar {
    width: 3px;
    height: 3px;
}

.modal_overflow::-webkit-scrollbar-thumb {
    background: #a9a9a9;
}

.modal_box .modal_input {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /*overflow: auto;*/
    width: calc(100% - 15px);
}

.modal_box .btn_box {
    margin-top: 20px;
}

.modal_box .btn_box a {
    width: 40%;
}

.modal_box .btn_box .delete_btn {
    margin-right: 5px;
}

.modal_box .btn_box .modify_btn {
    margin-left: 5px;
}

.child_info input[type="file"] {
    display: none;
}

.child_file {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 5px;
}

.file_name {
    display: inline-block;
    width: 75%;
    background: #fff;
    padding: 10px;
    border-radius: 6px;
    border: 1px solid #dddddd;
    color: #c2c2c2;
}

.file_name.lock {
    background: #f6f7f9;
    color: #999;
    cursor: default;
}

.child_file_btn {
    width: 25%;
    background-color: #333333;
    color: white;
    padding: 12px 30px;
    border-radius: 6px;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
}

.child_file_btn:hover {
    background-color: #008dff;
}


.child_file_btn:active {
    background-color: #008dff;
}

.child_file input[disabled] + .child_file_btn {
    background-color: #bdc3c7;
    cursor: not-allowed;
    opacity: 0.6;
}

.app_table_lay {
    overflow-x: auto;
}

.app_table {
    min-width: 600px;
}

.app_table th, .app_table td {
    padding:10px;
}

.app_table thead {
    border-top: 2px solid #333;
    border-bottom: 1px solid #333;
}

.app_table thead tr {
    font-weight: 600;
}

.app_table tbody tr {
    border-bottom: 1px solid #e7e7e7;
    cursor: pointer;
    transition: all 0.2s;
}

.app_table tbody tr:hover {
    background-color: rgba(206, 238, 255, 0.45);
}

.app_table tbody tr td {
    color: #555;
    text-align: center;
}

.regi_number {
    margin-top: 50px;
}

.regi_number strong {
    display: flex;
    justify-content: center;
    align-items: center;

}

.regi_number .btn_box {
    margin-top: 10px;
}

.regi_btn {
    background: #008dff;
    color: #fff;
}

.child_table.mo_block {
    display: none;
}

.grade_class_wrap {
    display: flex;
    gap: 8px; /* 학년과 반 사이 간격 */
}

.disabled_tag {
    pointer-events: none;
    text-decoration: none;
    width:15%;
    height:50px;
    line-height:50px;
    text-align: center;
    background-color: #333;
    color: #dddddd;
    border-radius: 0 5px 5px 0;
}

@media screen and (max-width: 820px) {
    .user_box.franc_lay {
        flex-direction: column;
    }

    .user_l, .user_r {
        width: 100%;
    }
}



@media screen and (max-width: 768px) {
    .user_box {
        flex-direction: column;
        gap: 0;
    }

    .user_l, .user_r {
        width: 100%;
    }

    .user_l {
        border-bottom: none;
        border-radius: 12px 12px 0 0;
        padding-bottom: 0;
    }

    .user_r {
        border-top: none;
        border-radius: 0 0 12px 12px;
        padding-top: 0;
    }

    .user_info input, .child_info input {
        font-size: 1.6rem;
    }

    .password_btn {
        width: 100%;
    }

    .disabled_tag {
        height: 50px;
        line-height: 50px;

        width: 20%!important;
    }

    .btn_box {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3px;
    }

    .btn_box a {
        width: 100%;
    }

    .btn_box a.next_btn {
        margin-left: 0;
    }

    .modal_box {
        min-width: calc(100% - 60px);
    }

    .child_file {
        flex-direction: column;
    }

    .file_name, .child_file_btn {
        width: 100%;
    }

    .child_slide.pc_block {
        display: none;
    }

    .child_table.mo_block {
        margin-top: 10px;
        display: block;
        text-align: center;
    }

    .child_table.mo_block tbody tr:hover {
        cursor: pointer;
        background: #f5f5f5;
    }

    .agree_column {
        display: flex;
        flex-direction: column;
        gap: 10px;

        margin: 5px 0 15px;
    }

    .app_table_lay {
        overflow-x: scroll;
    }

    .app_table_lay::-webkit-scrollbar {
        /*width: 20px;*/
        height: 4px;
        border-radius: 2px;
    }

    .app_table_lay::-webkit-scrollbar-thumb {
        border-radius: 2px;
        background: #999999;
    }

    .mypage_tit {
        font-size: 2rem;
        margin: 15px 0 5px;
    }

}

@media screen and (max-width: 520px) {
    .agree_radio label {
        font-size: 1.4rem;
    }

    .tit.mypage {
        font-size: 1.6rem;
    }
}

/*------------------------FAQ--------------------------*/

.search_style {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding-left: 10px;
}

.board_top ul .search_style input {
    border: none;
    padding: 0;
    outline: none;
}

.search_style .search_btn {
    height: 100%;
    width: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.board_top .total {
    background: #f9f9f9;
    padding: 15px;
    border-radius: 12px;
}

.accordion_wrap ul li .tit a {
    display: flex;
    justify-content:flex-start;
    align-items: center;
    gap: 5px;
    line-height: 130%;

    word-break: keep-all;
    text-align: left;
    padding: 45px 50px 45px 20px;
    font-size: 2.4rem;
}

.accordion_wrap ul li .tit a.click {
    color: #008dff;
    border-bottom: 1px solid #008dff;
}

.accordion_wrap ul li .tit a::after {
    content: url(../images/sub/faq_arrow.png);
}

.accordion_wrap ul li .tit a.click::after {
    transform: rotate(180deg);
}

.accordion_wrap ul li .acc_submenu {
    padding: 0 40px;
    line-height: 160%;
    letter-spacing: -0.6px;
    word-break: keep-all;
    border-top: 1px solid #ddd;
    background-color: #f9f9f9;
    display: flex;
    align-items: center;
    transition: 0.3s;
}

.accordion_wrap ul li .acc_submenu.active {
    padding: 40px;
}

.acc_submenu {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.1s ease-out, opacity 0.3s ease-out;
}

.acc_submenu.active {
    max-height: 500px;
    opacity: 1;
}

@media screen and (max-width: 768px) {
    .accordion_wrap ul li .acc_submenu {
        font-size: 1.6rem;
    }

    .accordion_wrap ul li .tit a {
        font-size: 1.8rem;
    }
}


@media screen and (max-width: 420px) {
    .board_top ul li {
        margin-left: 0;
    }
}

/*사용처 안내*/
.franc_intro_lay {
    margin-bottom: 60px;
}

.franc_intro_lay:last-child {
    margin: 0;
}

.franc_intro_lay .tit {
    margin-bottom: 10px;
}

.franc_intro_lay .tit strong {
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: -0.6px;
}

.franc_intro_lay .tit p {
    word-break: keep-all;
}

.franc_caution {
    /*padding: 10px 30px;*/
    padding: 30px;
    background: #f9f9f9;
    border-radius: 20px;
}

.franc_caution ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.franc_caution ul li {
    position: relative;
    padding-left: 25px;
    word-break: keep-all;
    margin-left: 35px;
}

.franc_caution > p {
    margin: 8px;
    position: relative;
    padding-left: 25px;
}

.franc_caution .before_dot::before {
    content: '•';
    display: block;
    position: absolute;
    top: -3px;
    left: 0;
    width: 18px;
    height: 15px;
    font-size: 35px;
}

.franc_caution .before_check::before {
    content: '';
    display: block;
    position: absolute;
    top: 5px;
    left: 0;
    /*transform: translate(0, -50%);*/
    width: 16px;
    height: 15px;
    background: url(../images/sub/join_check.png) no-repeat;
}

.franc_caution ul li em {
    color: #111;
}

.franc_change_caution {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;

    margin-top: 10px;
    /*padding: 15px 0 0 0;*/
    padding: 15px 20px;
    border-radius: 20px;

    /*background: #f9f9f9;*/
    background: #F0F8FF;

    color: #003366;
    font-weight: 600;
}

.franc_change_caution p {
    word-break: keep-all;
}

/*.franc_change_caution p span {*/
/*    color: #ff4d4d;*/
/*}*/

.franc_step_lay {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 50px;

    margin-top: 30px;
}

.franc_step_box_lay {
    display: flex;
    justify-content: space-between;
    gap: 100px;

    width: 100%;
}

.franc_step_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;

    width: 100%;
}

.franc_step_top {
    width: 40%;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.franc_step_top span {
    width: fit-content;
    padding: 4px 15px;
    border-radius: 20px;
    background: #369aff;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 130%;
}

.franc_step_top p {
    font-weight: 600;
    letter-spacing: -1px;
    word-break: keep-all;
}

.franc_step_top p b {
    display: block;
}

.franc_step_img {
    width: 100%;
    /*padding: 30px;*/
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
}

.franc_step_img img {
    width: 100%;
}

.franc_inquiry_lay {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 50px;

    width: 50%;

    padding: 30px 50px;
    border-radius: 12px;

    background: #f9f9f9;
}

.franc_inquiry_box {
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;
}

.franc_inquiry_text {
    display: flex;
    flex-direction: column;
    gap: 10px;

}

.franc_inquiry_text h4 {
    font-size: 2rem;
    font-weight: 600;
    color: #111;
}

.franc_inquiry_text p {
    color: #333;
    line-height: 130%;
    letter-spacing: -0.6px;
}

.inquiry_call_num {
    font-size: 3.2rem;
    font-weight: 600;
}

.franc_inq_line {
    width: 1px;
    height:50px;

    background: #ddd;
}

.inquiry_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    padding: 10px 25px;
    border: 2px solid #369aff;
    border-radius: 30px;

    color: #369aff;
    font-weight: 600;

    cursor: pointer;
}

.inquiry_btn:hover {
    text-decoration: none;
}

@media screen and (max-width: 1100px) {
    .franc_step_box_lay {
        flex-direction: column;
        gap: 50px;
    }

    .franc_step_top p b {
        display: inline-block;
    }

    .franc_step_top {
        width: 100%;
    }

    .franc_inquiry_box {
        flex-direction: column;
        align-items: flex-start;
        gap: 30px;
    }

    .inquiry_call_num {
        line-height: 50px;
    }
}

@media screen and (max-width: 820px) {

}


@media screen and (max-width: 768px) {
    .franc_inquiry_lay {
        flex-direction: column;
        padding: 20px;
        gap: 20px;

        width: 100%;
    }

    .franc_inquiry_box {
        flex-direction: unset;
        align-items: center;
        gap: 30px;

        width: 100%;
    }

    .franc_caution {
        padding: 20px;
        border-radius: 10px;
    }

    .franc_caution ul li::before {
        top: 3px;
        transform: translate(0, 0);
    }

    .franc_change_caution {
        align-items: flex-start;
    }

    .franc_intro_lay .tit strong {
        font-size: 2rem;
    }

    .franc_inquiry_text h4 {
        font-size: 1.8rem;
    }

    .inquiry_call_num {
        font-size: 2.4rem;
    }

    .franc_inq_line {
        width: 100%;
        height: 1px;
    }
}

@media screen and (max-width: 520px) {
    .franc_step_box {
        flex-direction: column;
    }


    .franc_inquiry_box {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .inquiry_call_num {
        line-height: normal;
    }

    .inquiry_btn {

    }
}

@media screen and (max-width: 420px) {
    .franc_step_box_lay {
        flex-direction: column;
    }
}

    /*-----------------------*/


/*사용처 검색*/

.franc_map {
    position: relative;

    width: 100%;
    height: 86vh;
    background-color: #f5f5f5;
}

.map_wrap {
    display: flex;
    height: 100%;
}

.map_btn {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 0);
    display: flex;
    gap: 10px;
    z-index: 999;
}

.map_btn > div {
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 10px 20px;
    border-radius: 30px;
    cursor: pointer;
    color: #fff;

    transition: background-color 0.2s, transform 0.2s;
}

.map_btn > div img {
    width: 20px;
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}

.map_btn div p {
    font-weight: 600;
}

/* 현재 위치로 이동 - 검정 배경 */
.move_btn {
    background-color: #222;
}

.move_btn:hover {
    background-color: #444;
}

.mo_move_btn {
    display: none;
    justify-content: center;
    align-items: center;

    padding: 10px;
    border-radius: 10px;

    position: absolute;
    top: -50px;
    left: 10px;

    background: #222;
    cursor: pointer;
}

.mo_move_btn img {
    width: 20px;
    height: 20px;
}

.mo_move_btn:hover {
    background: #444;
}


/* 현 지도에서 검색 - 파란 배경 */
.map_search_btn {
    background-color: #369aff;
}

.map_search_btn:hover {
    background-color: #0056b3;
}

.mo_map_search_btn {
    display: none;
    justify-content: center;
    align-items: center;
    gap: 10px;

    border-radius: 30px;
    padding: 10px 15px;
    background: #369aff;
    color: #fff;

    position: absolute;
    top: 100px;
    left: 50%;
    transform: translate(-50% , 0);
    z-index: 1;

    cursor:pointer;
    font-weight: 600;
}

.mo_map_search_btn:hover ,
.mo_map_search_btn:active {
    background: #0056b3;
}

.mo_map_search_btn img {
    width: 20px;
    height: 20px;
}

.franc_map .map_sidebar {
    transform: translateX(0);
    position: absolute;
    left: 0;
    width: 350px;
    height: 100%;
    background: #fff;
    padding-top: 100px;
    transition: 0.5s;
    z-index: 10;
    border-right: 1px solid #ddd;
}

.sidebar_btn {
    position: absolute;
    top: 50%;
    right: -50px;
    width: 40px;
    height: 60px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);

    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;
}

.sidebar_btn img {
    transition: .5s;
    filter: opacity(0.3) drop-shadow(0 0 0 #ccc);
}

.sidebar_btn:hover img {
    filter: opacity(1) drop-shadow(0 0 0 #369aff);
}

.franc_map .map_sidebar.close {
    transform: translateX(-350px);
}

.franc_map .map_sidebar.close .sidebar_btn img {
    transform: rotate(180deg);
}

.bottom_btn {
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60px;
    height: 40px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);

    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;
}

.bottom_btn img {
    transition: .5s;
    filter: opacity(0.3) drop-shadow(0 0 0 #ccc);
}

.bottom_btn:hover img {
    filter: opacity(1) drop-shadow(0 0 0 #369aff);
}

.bottom_btn img {
    transform: rotate(270deg);
}

.search_map {
    /*height: 150px;*/
    width: 100%;
    background: #eee;
    padding: 15px;

    display: flex;
    flex-direction: column;
    gap: 5px;
}

.search_select {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 5px;
    width: 100%;
}

.selected {
    width: 100%;
    padding: 10px;
    background: #fff;
    border: 1px solid #ccc;
    cursor: pointer;
    text-align: left;
    border-radius: 5px;
}

.selected::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 15px;
    height: 15px;
    background: url("../images/sub/faq_arrow.png") no-repeat center center / contain;
    transform: translateY(-50%) rotate(0deg);
    transition: transform 0.3s ease;
    pointer-events: none;
}

.selected.open::after {
    transform: translateY(-50%) rotate(180deg);
}

.selected.open {
    outline: none;
    border: 1px solid #369aff;
}

.excel-btn a {
    width: 100%;
    text-align: center;
    display: inline-block;
    background-color: #369aff;
    color: white;
    padding: 10px 20px;
    border-radius: 30px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.2s, transform 0.2s;
}

.excel-btn a:hover {
    background-color: #007BFF;
}

.search_map .search_style {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0 15px 15px;
    background: #fff;
    border-radius: 6px;
}

.search_map .search_style:focus-within {
    border: 1px solid #369aff;
}

.search_map .search_style input {
    border: none;
    padding: 0;
    outline: none;
    width: calc(100% - 50px);
    font-size: 1.8rem;
}

.franc_list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    padding: 15px;
    gap: 15px;
    overflow: auto;
    height: calc(100% - 195px);
}

.franc_box {
    width: 100%;
    padding: 15px;
    background: #f9f9f9;
    border: 1px solid #ddd;
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    cursor: pointer;
}

.franc_text {
    /*width: calc(100% - 92px);*/
    width: 100%;
}

.franc_badge {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 5px;

}

.franc_num {
    width: 20px;
    height: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    color: #fff;
}

.franc_cate {
    width: auto;
    height: 20px;
    padding: 0 7px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
    font-size: 1.4rem;
    color: #fff;
}

/*-------------사용처 태그 색상-------------*/

.franc_badge.tour div {
    background: #FFC107;
}

.franc_badge.gym div {
    background: #18C762;
}

.franc_badge.edu div {
    background: #3458E9;
}

.franc_badge.culture div {
    background: #FF5733;
}

.franc_badge.region div {
    background: #B344E1;
}

.franc_badge.other div {
    background: #2FB2C9;
}

/*-------------------------------------*/

.franc_info {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.franc_info h3 {
    margin: 0;
    font-size: 2rem;
    font-weight: 600;

    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

.franc_info p {
    font-size: 1.6rem;
    color: #777;
    line-height: 130%;
    letter-spacing: -1px;

    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

.franc_img {
    width: 92px;
    height: 92px;
    background: #333;
    border-radius: 8px;
}

.marker_lay {
    position: absolute;
    top: 30%;
    left: 75%;

    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

.map_marker {
    width: 25px;
    height: 25px;

    display: flex;
    justify-content: center;
    cursor: pointer;
}

.map_marker.culture {background: url("../images/sub/map_culture.png")no-repeat;}
.map_marker.gym {background: url("../images/sub/map_gym.png")no-repeat;}
.map_marker.edu {background: url("../images/sub/map_edu.png")no-repeat;}
.map_marker.tour {background: url("../images/sub/map_tour.png")no-repeat;}
.map_marker.region {background: url("../images/sub/map_region.png")no-repeat;}
.map_marker.other {background: url("../images/sub/map_other.png")no-repeat;}

.marker_num {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 15px;
    margin-top: 7px;
}

.map_marker.culture .marker_num p {color: #FF5733;}
.map_marker.gym .marker_num p {color: #18C762;}
.map_marker.edu .marker_num p {color: #3458E9;}
.map_marker.tour .marker_num p {color: #FFC107;}
.map_marker.region .marker_num p {color: #B344E1;}
.map_marker.other .marker_num p {color: #2FB2C9;}

#franc-popup {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: none;
}

#franc-popup.active {
    display: flex;
}

.marker_info {
    position: absolute;
    top: 20px;
    left: 20px;
    min-width: 300px;
    max-width: 300px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 12px;
    padding: 15px;
    transition: all 0.3s ease;
    display: none; /* 기본적으로 숨기기 */
    justify-content: space-between;
    gap: 10px;
}

.marker_info.active {
    display: flex; /* active 상태일 때만 보이도록 */
}

.franc_info .marker_text {
    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

.marker_r {
    display: flex;

    flex-direction: column;
    gap: 10px;
}

.marker_close {
    display: flex;
    justify-content: flex-end;
}

.marker_close img {
    cursor: pointer;
}

/*사용처 마커 팝업*/
#franc-popup {
    display: none;
}
#franc-popup.active {
    display: block;
}
#franc-popup.active .marker_info {
    display: flex;
}

.custom-select {
    position: relative;
    display: inline-block;
    width: 200px;
}

.option-list {
    display: none;  /* 기본적으로 드롭다운 숨김 */
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    border-radius: 5px;
    max-height: 150px;
    overflow-y: auto;
    z-index: 100;
}

.option-list li {
    padding: 10px;
    cursor: pointer;
}

.option-list li:hover {
    background: #f1f1f1;
}


@media screen and (max-width: 768px) {
    .franc_map {
        height: 100svh;
    }

    .franc_map .map_sidebar {
        transform: translateY(0);
        height: 46%;
        left: auto;
        bottom: 0;
        width: 100%;
        padding-top: 0;
    }

    .selected {
        font-size: 1.6rem;
    }

    .search_map .search_style input {
        font-size: 1.6rem;
    }

    .custom-select {
        width: 50%;
    }

    .map_btn {
        display: none;
    }

    .sidebar_btn {
        display: none;
    }

    .bottom_btn {
        display: flex;
    }

    .mo_move_btn {
        display: flex;
    }

    .mo_map_search_btn {
        top: 110px;
        display: flex;
    }

    .search_map {
        border-top: 1px solid #ddd;
    }

    .franc_map .map_sidebar.close {
        left: 0;
        transform: translateY(100%);
    }

    .franc_map .map_sidebar.close .bottom_btn img {
        transform: rotate(90deg);
    }

}

@media screen and (max-width: 620px) {
    .mo_map_search_btn {
        top: 90px;
    }
}

@media screen and (max-width: 360px) {
    .mo_map_search_btn {
        /*font-size: 1.4rem;*/
        letter-spacing: -.6px;
    }
}

/*사용처 신청*/
.franc_lay .info_box > div .input.caution_input {
    border: 1px dashed red;
    /*background: #ff32320f;*/
}

.franc_lay .input_box .input_error {
    font-size: 1.4rem;
    width: 100%;
    color: red;
    padding: 4px;
    display: none;
}

.franc_lay .input_box .input_success {
    font-size: 1.4rem;
    width: 100%;
    color: #369AFF;
    padding: 4px;
    display: none;
}

.franc_lay  input[readonly] {
    pointer-events: none;
}

.franc_lay .input_box .input_error.error {
    display: block;
}
.franc_lay .input_box .input_error::before {
    content: '*';
}

.franc_lay .info_box .input_box .input {
    width: 100%;
    height: 50px;
}

.franc_lay .user_l {
    justify-content: space-between;
}

.franc_end_txt {
    display: flex;
    flex-direction: column;
    gap: 5px;

    background: #f9f9f9;
    border-radius: 8px;
    padding: 15px;
    line-height: 160%;
}

.agree_box p.franc_end_txt {
    border: none;
    word-break: keep-all;
}

.franc_end_txt span {
    color: #FB5954;
}

.franc_receipt {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /*align-items: center;*/
    gap: 10px;

    margin-top: 5px;
    padding: 15px;
    background: #f9f9f9;
    border-radius: 10px;

    letter-spacing: -0.6px;
    word-break: keep-all;
}

.franc_receipt span {
    font-size: 1.6rem;
}

.visit_caution {
    font-size: 1.6rem;
    color: #333;
    word-break: keep-all;
}

.btn_box .franc_app_btn {
    width: auto;
    height: auto;
    line-height: normal;
    font-size: 1.8rem;
    color: #fff;
}

.franc_app_btn {
    font-size: 1.8rem;
    background: #369aff;
    padding: 20px 40px;
}

.user_r_top, .user_r_bottom {
    display: flex;
    flex-direction: column;
    gap: 20px;

    padding: 20px;
    background: #F9F9F9;
    border-radius: 12px;
}

.user_r_bottom {
    height: 100%;
}

.user_r_bottom table {
    height: 100%;
    font-size: 1.6rem;
    letter-spacing: -0.6px;
}

.file_lay {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

/*input_file 스타일*/

.file_style {
    display: flex;
    width: 100%;
}

.file_style input {
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 5px 0 0 5px;
    height: 50px;
}

.file_style .upload-name {
    width: 100%;
    height: 50px;
    padding: 5px 15px;
    pointer-events: none;
}

.file_style .file {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    border: 0;
    white-space: nowrap;
    clip: rect(0, 0, 0, 0);
}

.file_upload_btn,
.franc_address_btn,
.franc_num_btn {
    width:15%;
    min-width: 70px;
    height:50px;
    line-height:50px;
    text-align: center;
    background-color: #333;
    color: #dddddd;
    border-radius: 0 5px 5px 0;

    font-size: 1.6rem;
}

.file_upload_btn,
.franc_address_btn:hover,
.franc_num_btn:hover {
    text-decoration: none;
}

.file_register {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.file_register h3, .user_r_bottom h3 {
    font-size: 2.4rem;
    font-weight: 600;
    margin: 0;
}

.file_download {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 5px 10px;

    border: 1px solid #369aff;
    border-radius: 8px;
    background: #fff;

    font-size: 1.5rem;
    letter-spacing: -1px;
    color: #369aff;
    cursor: pointer;
}

.file_download:hover {
    text-decoration: none;
}

.file_list_lay {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.file_list {
    width: fit-content;

    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;

    padding: 5px 10px;
    background: #fff;
    border: 1px solid #DDD;
    border-radius: 5px;
}

.file_list p {
    font-size: 1.6rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1
}

.file_list img {
    cursor: pointer;
}

/*사용처 미리보기*/
.cont_list.franc_pre_lay .info_box > div  {
    align-items: flex-start;
}

.cont_list.franc_pre_lay .info_box > div .input_box {
    gap: 10px;
}

.cont_list.franc_pre_lay .info_box .tit {
    line-height: 50px;
}



@media screen and (max-width: 1024px) {
    .user_r_bottom table {
        font-size: 1.4rem;
    }
}


@media screen and (max-width: 768px) {
    .franc_lay .user_l {
        border-bottom: 1px solid #ddd;
        border-radius: 12px;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .file_download {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 620px) {
    .cont_list.franc_pre_lay .info_box .tit {
        line-height: 1.5em;
    }
}

@media screen and (max-width: 360px) {
    .file_download {
        font-size: 1.3rem;
        letter-spacing: -1px;
    }
}

/*------------------------*/

/* NEW 아이문화패스 신청 */
.content_box .step {
    display: none;
}

.content_box .step.on {
    display: block;
}

.sub_btn {
    display: block;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
    text-decoration: none;
    text-align: center;
    border-radius: 10px;
    background-color: #999;
    cursor: pointer;
    padding: 10px 30px;
    text-decoration: none!important;
}

.sub_btn.ok {
    color: #fff;
    background-color: #369AFF;
}

.sub_btn.btn_black {
    color: #ffffff;
    background-color: #555555;
}

.sub_btn.address_modi {
    padding: 10px 30px;
}

.add_child_box {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px;
    cursor: pointer;

    background: #F6FAFF;
    border: 2px dashed #369aff;
    border-radius: 10px;
    box-shadow: 0 8px 15px 0 rgba(0, 0, 0, 0.06);

    padding: 20px;
    margin-bottom: 15px;

    text-align: center;
}

.add_child {
    display: flex;
    gap: 10px;
}

.add_child strong {
    font-size: 2.4rem;
    font-weight: 600;

    display: flex;
    align-items: center;
    gap: 5px;
}

.add_child strong::before {
    content: '';
    display: inline-block;
    background: url("../images/sub/plus.png") no-repeat center center/ cover;
    width: 20px;
    height: 20px;

}

/*.np_caution .detail_box2 {*/
/*    background: #ffeded;*/
/*    border: 3px dashed #ff0000;*/
/*    color: #ff0000;*/
/*}*/

.np_caution .detail_box2 {
    color: #ff0000;
}



/* 모달 디자인 */
html.modal-show {
    overflow: hidden;
}

.modal {
    display: none; /* 기본적으로 숨김 */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0,0,0,0.5);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.modal.show {
    display: flex;
}

.modal-content {
    background-color: #fff;
    border-radius: 1rem;
    width: 90%;
    max-width: 400px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    animation: fadeIn 0.3s ease-in-out;
    overflow: hidden;
}

.modal .modal-wrap {
    width: 600px;
    background-color: #ffffff;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    border-radius: 15px;
}

.modal-header {
    background-color: #369aff;
    color: white;
    padding: 2rem;
    font-weight: 600;
    border-top-right-radius: 15px;
    border-top-left-radius: 15px;
    display: flex;
    align-items: center;
    /*justify-content: space-between;*/
    justify-content: center;
    text-align: center;
}

.modal-header p {
    font-size: 2.4rem;
}

.modal-header .pop_close_btn {
    cursor: pointer;
    color: #ffffff;
    font-weight: 800;
}


.modal-main {
    padding: 40px 20px;
    color: #333;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 5px;

    text-align: center;
}

.modal-main > strong {
    font-size: 2rem;
}

.modal-main h4 {
    font-size: 2.4rem;
    font-weight: 600;
    color: #369aff;
}

.modal-main p {
    letter-spacing: -1.5px;
    word-break: keep-all;
    margin: 5px 0;
}

.modal-caution {
    display: flex;
    flex-direction: column;
}

.modal-caution p {
    margin: 0;
}

.modal-caution span {
    font-weight: 600;
}

.caution_txt {
    display: flex;
    align-items: center;
    gap: 5px;
}

.caution_txt img {
    width: 16px;
}

.caution_txt strong {
    letter-spacing: -0.6px;
}

.modal-footer {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    padding-bottom: 40px;
    /*background-color: #f9f9f9;*/
    border-bottom-right-radius: 15px;
    border-bottom-left-radius: 15px;
}

.modal-footer button {
    padding: 20px 60px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 2.4rem;
}

.modal-footer .btn_cancel {
    background-color: #555;
    color: #fff;
}

.modal-footer .btn_cancel:hover {
    font-weight: 600;
}

.modal-footer .btn_apply {
    background-color: #369aff;
    color: white;
}

.modal-footer .btn_apply:hover {
    font-weight: 600;
}

@keyframes fadeIn {
    from { transform: scale(0.95); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

@media screen and (max-width: 768px) {
    .modal .modal-wrap {
        width: calc(100% - 10%);
        min-width: 300px;
        max-width: 500px;
    }

    .modal-main {
        padding: 20px;
    }

    .modal-main > strong {
        font-size: 1.8rem;
    }

    .modal-main h4 {
        font-size: 2rem;
    }

    .caution_txt {
        align-items: flex-start;
    }

    .caution_txt img {
        margin-top: 3px;
    }

    .modal-footer button {
        padding: 15px 30px;
    }
}

/* sweetAlert 커스텀 디자인 */

.swal-modal {
    border-radius: 12px;
}

.swal-modal .swal-text {
    font-weight: 600;
}

.swal-title {
    border-radius: 12px 12px 0 0;
    padding: 15px 0;
    background: #369aff;
    color: #fff;
    font-size: 2.4rem;
}

.swal-title:first-child {
    margin-top: 0;
}

.swal-title:not(:last-child) {
    margin-bottom: 30px;
}

.swal-text {
    font-size: 1.8rem;
}

.swal-footer {
    text-align: center;
    margin-top: 0!important;
}

.swal-button {
    background-color: #369aff;
    padding: 10px 40px;
}

/* 취소 버튼 색상 고정 */
.swal-button--cancel {
    background-color: #b5b5b5 !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: none !important;
}

/* hover 효과 제거 */
.swal-button--cancel:hover,
.swal-button--cancel:focus,
.swal-button--cancel:active {
    background-color: #b5b5b5 !important;
    color: #fff !important;
    outline: none !important;
    box-shadow: none !important;
    cursor: pointer;
}

.swal-button-blue {
    background: #369aff;
}

.swal-button:not([disabled]):hover {
    background: #369aff;
}

@media screen and (max-width: 768px) {
    .add_child strong {
        font-size: 2rem;
    }

    .swal-text {
        font-size: 1.6rem;
    }
}

/* 어두운 배경 */
.loading-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5); /* 반투명 배경 */
    z-index: 9998;
}

/* 로딩 이미지 위치 */
#loadingSpinner {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
}

.spinner img {
    /*width: 200px;*/
    height: 200px;
}

/*공지사항 상세보기*/

.paging a, .paging button, .paging .on {
    font-size: 1.8rem;
}

.notice_box .board_btn a {
    font-size: 1.8rem;
}

.notice_view strong {
    font-size: 2.4rem;
    font-weight: 600;
    word-break: keep-all;
}

.notice_view span.date {
    font-size: 1.8rem;
}

.view_file .attc:after {
    content: url("../images/sub/file.png");
    font-size: inherit;
    margin-left: 5px;
}

.view_file > ul > li {
    padding-left: 30px;
    line-height: 160%;

    overflow: hidden;
    white-space: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    word-break: keep-all;
}

@media screen and (max-width: 768px) {
    .paging a, .paging button, .paging .on {
        font-size: 1.6rem;
    }

    .notice_box .board_btn a {
        font-size: 1.6rem;
    }

    .notice_view strong {
        font-size: 2rem;
    }

    .notice_view span.date {
        font-size: 1.6rem;
    }

    .view_file > ul > li {
        padding-left: 15px;
    }
}

/*준비중 안내 페이지*/

.soon_layout {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 30px;
}

.soon_layout img {
    width: 250px;
}

.soon_layout p {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 130%;
    letter-spacing: -0.6px;
}

/*대기열*/

.wait_modal {
    width: 500px;
    /*height: 250px;*/

    background: #fff;
    border-radius: 20px;
    padding: 30px;
}

.wait_lay {
    height: 100%;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 15px;
}

.wait_txt {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.wait_txt h4 {
    line-height: normal;
    font-size: 28px;
    font-weight: 600;
    color: #555;
}

.wait_txt p {
    font-size: 1.8rem;
    line-height: 130%;
    letter-spacing: -1px;

    color: #777;
    word-break: keep-all;
}

.wait_info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;

    padding: 15px;
    background: #f5f5f5;
    border-radius: 10px;
}

.wait_info {
    flex-direction: column;
    justify-content: space-between;
    gap: 15px;
}

.wait_info li {
    /*width: 130px;*/

    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 5px;

    line-height: normal;
}

.wait_info li p {
    font-size: 16px;
    color: #777;
}

.wait_info li h5,
.wait_info li h6 {
    min-height: 40px;
    line-height: 40px;
    font-size: 3.6rem;
    font-weight: 600;
}

.wait_info li h6 {
    font-size: 28px;
}

.wait_info li:nth-child(2) {
    width: 40px;
    height: 1px;
    background: #777;
}

.wait_btn_lay {
    display: flex;
    justify-content: space-between;
    /*align-items: center;*/
}

.wait_cancel_caution {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 5px;

    width: 70%;
}

.wait_cancel_caution img {
    margin-top: 3px;
    width: 20px;
}

.wait_cancel_caution p span {
    word-break: keep-all;
    color: #ff0000;
    font-weight: 500;
    letter-spacing: -1px;
}

.wait_cancel_btn {
    min-width: 100px;
    padding: 15px 20px;
    border-radius: 10px;
    background: #ff7474;

    color: #fff;
    font-size: 1.8rem;
    font-weight: 600;
}

@media screen and (max-width: 1200px) {
    .layer_pop .cont {
        width: calc(100% - 6%);
        min-width: 300px;
        max-width: 500px;
    }
}

@media screen and (max-width: 768px) {
    .wait_txt p {
        font-size: 1.6rem;
    }

    .wait_cancel_btn {
        font-size: 1.6rem;
    }

    .wait_cancel_caution p span {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 420px) {
    .wait_txt h4 {
        font-size: 24px;
    }

    .wait_btn_lay {
        flex-direction: column;
        gap: 10px;
    }

    .wait_cancel_caution {
        width: 100%;
    }

    .wait_cancel_btn {
        padding: 15px 25px;
        width: 100%;
    }
}

.cont_list .cont[data-form-type="familyInfo"] {
    display: none;
}

/*문의게시판*/

.view_info {
    padding-top: 0;
    flex-wrap: wrap;
}

.view_info li > span {
    font-weight: 600;
}

.view_info li:last-child {
    float: right;
}

.view_info li:after {
    /*display: none;*/
}

.view_file .attc {
    font-size: 1.6rem;
    font-weight: 600;
}

.write_btn {
    margin-top: 20px;
}

.write_btn a {
    background: #555;
    border-radius: 8px;
}

.write_cont {
    border-top: none;
}

.write_cont .write .tit {
    font-size: 1.8rem;
    font-weight: 600!important;
}

.table tr td.que_answer {
    color: #369aff;
    font-weight: 600;
}

.table tr td.que_no_answer {
    visibility: hidden;
}

.subject {
    font-weight: 600;
}

@media screen and (max-width: 800px) {
    .board_list tr td.subject {
        font-size: 1.8rem;
        font-weight: 600;
    }

    .table.td5_right tr td:nth-child(5) {
        float: right;
    }
}

/*문의 작성*/
.write_cont .write .cont input {
    font-size: 1.6rem;
}

.write_cont .write .cont textarea {
    font-size: 1.6rem;
}

.write select {
    width: 150px;
    font-size: 1.6rem;
    padding: 0 30px 0 10px;
}

.write select:hover {
    border: 1px solid #000;
}

/*문의 상세보기*/
.answer_lay {
    margin: 30px 0;
}

.answer_lay .comment_box {
    padding: 20px;
}

.answer_lay .comment_box p {
    word-break: keep-all;
}

.answer_tit h3 {
    font-size: 2.4rem;
    font-weight: 600;
}

.comment_count {
    margin: 40px 0 10px;
    font-weight: 500;
}

.comment_count p span {
    color: #369aff;
}

.que_comment_lay {
    display: flex;
    flex-direction: column;
    gap: 10px;

    border: 1px solid #ddd;
    border-right: none;
    border-left: none;

    padding: 20px 10px;
}

.comment_box {
    display: flex;
    justify-content: space-between;
    gap: 30px;
}

.comment_set {
    display: flex;
    justify-content: flex-end;
    gap: 5px;
}

.comment_text {
    width: 85%;
}

.comment_date {
    width: 15%;
    text-align: right;
    color: #999;
}

.comment_set li {
    padding: 5px 15px;
    border: 1px solid #666;
    border-radius: 10px;
    cursor: pointer;
}

.comm_modi {
    background: #777;
    color: #fff;
}

.comm_delete {
    background: #000;
    color: #fff;
}

.write_comment {
    display: flex;
    gap: 20px;

    padding: 20px 10px;
    border-bottom: 1px solid #ddd;
}

.write_comment textarea {
    width: calc(100% - 200px);
    resize: none;
    padding: 15px;

    border: 1px solid #ddd;
    border-radius: 10px;

    font-size: 1.6rem;
}

.write_comment textarea::placeholder {
    color: #aaa;
}

.comment_btn {
    display: flex;
    justify-content: center;
    align-items: center;

    border-radius: 10px;
    width: 200px;
    height: 80px;

    background: #369aff;
    color: #fff;
    font-weight: 600;

    cursor: pointer;
}

.info_satis {
    display: flex;
    flex-direction: column;
    gap: 10px;

    padding: 30px;
    background: #f9f9f9;
    border-radius: 10px;

    margin-top: 30px;
}

.satis_top {
    display: flex;
    justify-content: space-between;
}

.satis_tit {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
}

.satis_tit p {
    font-size: 2rem;
    font-weight: 600;
}

.satis_tit span {
    font-size: 1.6rem;
    letter-spacing: -0.6px;
}


.satis_point {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.satis_point p {
    display: flex;
    align-items: center;
    gap: 5px;

    height: 22px;
}

.satis_point p input {
    display: flex;
    justify-content: center;
    align-items: center;
}

.satis_point p label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    cursor: pointer;
}

.satis_point img {
    margin-right: 5px;
}

.satis_text {
    display: flex;
    gap: 20px;
}

.satis_text textarea {
    width: calc(100% - 200px);
    resize: none;
    padding: 10px;

    border: 1px solid #ddd;
    border-radius: 10px;

    font-size: 1.6rem;
}

.satis_text textarea::placeholder {
    color: #aaa;
}

.satis_btn {
    display: flex;
    justify-content: center;
    align-items: center;

    width: 200px;
    height: 70px;
    border-radius: 10px;
    background: #555;
    color: #fff;

    cursor: pointer;
}

.que_btn_box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;

    margin: 40px 0  60px;
}

.que_btn_box a {
    display: flex;
    justify-content: center;
    align-items: center;

    height: 50px;
    max-width: 200px;
    flex: 1;

    border-radius: 10px;
    font-weight: 600;
}

.que_btn_box a:hover {
    text-decoration: none;
}

.border_btn {
    border: 1px solid #ddd;
}

.gray_btn {
    background: #555;
    color: #fff;
}

.blue_btn {
    background: #369aff;
    color: #fff;
}

@media screen and (max-width: 1120px) {
    .info_satis {
        gap: 15px;
    }

    .satis_top {
        flex-direction: column;
        gap: 10px;
    }

    .comment_box {
        flex-direction: column;
        gap: 5px;
    }

    .comment_text, .comment_date {
        width: 100%;
    }

    .comment_date {
        text-align: left;
    }
}

@media screen and (max-width: 768px) {

    .write_comment {
        flex-direction: column;
        gap: 5px;
    }

    .write_comment textarea {
        width: 100%;
        height: 100px;
    }

    .comment_btn {
        width: 100%;
        height: 50px;
    }

    .satis_top {
        flex-direction: column;
        gap: 10px;
    }

    .satis_tit {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 5px;
    }

    .satis_point {
        flex-direction: column;
        gap: 10px;
    }

    .satis_text {
        flex-direction: column;
        gap: 5px;
    }

    .satis_text textarea {
        width: 100%;
        height: 100px;
    }

    .info_satis {
        padding: 20px;
    }

    .satis_btn {
        height: 50px;
        width: 100%;
    }
}

/*br_반응형*/

@media screen and (max-width: 1200px){
    .br_1200 {
        display: block;
    }
}

@media screen and (max-width: 920px){
    .br_920 {
        display: block;
    }
}

@media screen and (max-width: 768px){
    .br_768 {
        display: block;
    }
}

@media screen and (max-width: 520px){
    .br_520 {
        display: block;
    }
}

@media screen and (max-width: 420px) {
    .sub_txt br {
        display: block;
    }
}

@media screen and (max-width: 360px){
    .br_360 {
        display: block;
    }
}