
@charset "utf-8";
@import url("base.css");
html{
    font-size: 62.5%;
    /* 62.5% of the base size of 16px = 10px. */
    height: 100%;
}
/* 
*
*

************************

Color style

************************
*
*
*/

.col_wht{color: #fff !important}
.blu{color: #314f9c !important;}

/* 
*
*

************************

COMMON STYLE

************************
*
*
*/


body{
    font-family: 'Paperlogy', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
    font-weight: 600;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
}
.wrap{width:100%; margin:0; padding: 0; flex: 1;}
.clear{clear:both}
.w-line{background:#e0e0e0; width:100%; height: 1px;}
.txt_en{font-family: 'Poppins', 'Malgun Gothic', sans-serif;}
.align_ct{text-align: center !important;}
.algin_rt{text-align: right !important;}
p.message{font-size: 1.2rem; margin-top: 3px;}
.bold_text{font-weight: bold;}
.dblock{display: block !important;}
.repadding{padding: 0 !important;}

button{cursor: pointer;}
/*왼쪽에서 오른쪽으로 이동하는 에니메이션*/
.t_r_underline, .b_lst_underline{
    position: relative;
  }
  .t_r_underline:after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0px;
    height: 2px;
    margin: 5px 0 0;
    transition: all 0.2s ease-in-out;
    transition-duration: 0.3s;
    opacity: 0;
    background-color: #314f9c;
  }

  .t_r_underline:hover:after{
    width: 96%;
    opacity: 1;
  }

/* Text Style */
.t_reduce {
    overflow: hidden;
    text-overflow: ellipsis;
    word-wrap: break-word;
    white-space: nowrap;;     
}
.link_text2, .link_text3{
    overflow: hidden !important;    
    text-overflow: ellipsis;
    word-wrap: break-word;  
    display: -webkit-box;
    -webkit-box-orient: vertical;
}
.link_text2 {-webkit-line-clamp: 2;}
.link_text3 {-webkit-line-clamp: 3;}

.select_point {
    border-bottom: 2px solid #d8dff0;
    box-shadow: 0 -1.2rem 0 #d8dff0 inset;
    font-weight: bold;
}

div.boardContents table, table.program_table, table.table_form{
    border-collapse: collapse;
    border-spacing: 0;
}


/* Form */
input[type="text"], 
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="month"],
select,
textarea {
    -moz-appearance: none;
    -webkit-appearance: listbox;
    -ms-appearance: none;
    appearance: none;
    background: #fff;
    width: 100%;
    color: inherit;
    padding: 1rem 1rem;
    border: 1px solid #9b9b9b;
    border-radius: 0.4rem;
    box-sizing: border-box;
    transition: border-color 0.2s;
    font-weight: 600;
    font-family: "Paperlogy";
}

    input[type="text"]:invalid,
    input[type="password"]:invalid,
    input[type="email"]:invalid,
    select:invalid,
    textarea:invalid {
        box-shadow: none;
    }

/* 체크박스 */
.chk__input {
    position: absolute;
    inline-size: 0.1rem;
    block-size: 0.1rem;
    margin: -0.1rem;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}

.chk {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    cursor: pointer;
}

/* 시각적 박스 */
.chk__box {
    position: relative;
    padding-inline-start: 2.8rem; /* 가짜 체크박스 공간 */
    font-size: 1.35rem;
    font-weight: 600;
    color: #444;
}
    .chk__box a{
        font-weight: 700;
        color: #222;
        text-decoration: underline;
    }
    .chk__box b{
        color: #F33333;
        font-weight: 500;
    }

    /* 외곽 박스 */
    .chk__box::before {
        content: "";
        position: absolute;
        inset-inline-start: 0;
        top: 50%;
        transform: translateY(-50%);
        inline-size: 2rem;
        block-size: 2rem;
        border: 0.2rem solid #929292;
        border-radius: 0.3rem;
        background: #fff;
        box-sizing: border-box;
        transition: border-color .15s, background-color .15s;
    }

    /* 체크 표시 */
    .chk__box::after {
        content: "";
        position: absolute;
        inset-inline-start: 0.7rem;
        top: 50%;
        transform: translateY(-58%) rotate(45deg) scale(0);
        transform-origin: center;
        inline-size: 0.4rem;
        block-size: 0.8rem;
        border-bottom: 0.25rem solid #fff;
        border-right: 0.25rem solid #fff;
        transition: transform .15s ease-out;
    }

    /* 체크됨 */
    .chk__input:checked + .chk__box::before {
        background: #474646;
        border-color: #474646;
    }
    .chk__input:checked + .chk__box::after {
        transform: translateY(-58%) rotate(45deg) scale(1);
    }

    /* 포커스 링 */
    .chk__input:focus-visible + .chk__box::before {
        outline: 3px solid #93c5fd;
        outline-offset: 0.2rem;
    }

    /* 비활성화 */
    .chk__input:disabled + .chk__box {
        opacity: .6;
        cursor: not-allowed;
    }
    .chk__input:disabled + .chk__box::before {
        background: #f8fafc;
    }

/* 라디오 버튼 */
/* 접근성 유지용: 화면에서는 숨김 */
.radio__input {
    position: absolute;
    inline-size: 0.1rem;
    block-size: 0.1rem;
    margin: -0.1rem;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    overflow: hidden;
    white-space: nowrap;
}
.radio {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    cursor: pointer;
    margin-right: 1rem;
    font-size: 1.4rem;
}
.radio__circle {
    position: relative;
    padding-left: 2.4rem;
}

/* 바깥 원 */
.radio__circle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.8rem;
    height: 1.8rem;
    border: 0.2rem solid #b1b1b1;
    border-radius: 50%;
    background: #fff;
    box-sizing: border-box;
    transition: border-color .2s;
}

/* 안쪽 점 */
.radio__circle::after {
    content: "";
    position: absolute;
    left: 0.4rem;
    top: 50%;
    transform: translateY(-50%) scale(0);
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: #474646;
    transition: transform .2s ease-out;
}

/* 선택됨 */
.radio__input:checked + .radio__circle::before {
    border-color: #474646;
}
.radio__input:checked + .radio__circle::after {
    transform: translateY(-50%) scale(1);
}
.radio.radio--inline{
    display: inline-block;
    margin: 0;
    padding: 0;
}
    .radio.radio--inline .radio__circle{
        padding-left: 1.8rem;
    }

/* 버튼스타일 */
.button-dft{
    width: 100%;
    display: block;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
    color: #fafafa;
    padding: 2rem 0;
    border-radius: 0.4rem;
    background: linear-gradient(90deg, #474646, #231815, #383636);
    background-size: 300% 100%;
    margin-top: 3rem;
}
.button-dft:hover{
    background-position: 100% 0;
    transition: background-position 0.5s ease, transform 0.3s ease;
}
.button-dft.hf{
    width: 30%;
    margin: 0 auto 0;
}
.button-dft.hff{
    width: 18%;
    margin: 0 auto 0;
}
.button-gry{
    width: 100%;
    display: block;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 400;
    color: #fafafa;
    padding: 2rem 0;
    border-radius: 0.4rem;
    background: #838383;
    background-size: 300% 100%;
}
.button-gry:hover{
    background: #757575;
    transition: 0.5s ease;
}
.noscript{
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    margin-top: 5rem;
}


/*
*
*

Modal popup

*
*
*/
.modal {
    display: none;
    position: fixed;
    z-index:9999;
    top:0; left:0;
    width:100vw;
    height:100vh;
    background: rgba(0,0,0,0.5);
    justify-content: center;
    align-items: center;
    padding: 4rem;
    box-sizing: border-box;
    /* overflow: auto; 팝업 밖 스크롤 허용 */
}

.modal.show {
    display: flex;
}

.modal-content {
    background: #fff;
    max-width: 64rem; /* 최대 너비 지정 */
    width: 100%;
    max-height: calc(100vh - 8rem); /* 상하 여백만큼 빼서 최대 높이 지정 */
    overflow-y: auto; /* 내용이 넘치면 세로 스크롤 생성 */
    padding: 5.4rem;
    box-shadow: 0 0.4rem 1.6rem rgba(0,0,0,0.3);
    position: relative;
    border-radius: 1.2rem;
    -webkit-mask-image: -webkit-radial-gradient(white, black);
    clip-path: inset(0 round 1.2rem);
}
.modal-content.prv{
    max-width: 86rem;
}
    .plcy_content p.mtit{
        font-size: 1.5rem;
        font-weight: 600;
        margin-bottom: 2rem;
    }
    .plcy_content p{
        margin-bottom: 1.6rem;
        font-size: 1.5rem;
        line-height: 140%;
    }
        .plcy_content p span{
            padding-left: 0.8rem;
            margin-top: 0.4rem;
            font-weight: 500;
        }
            .plcy_content p span.smalltxt{
                display: block;
                font-size: 1.5rem;
                position: relative;
                margin-right: 1rem;
                line-height: 150%;
            }
    .plcy_content__tit{
        font-weight: 700;
    }

    /* mwcms SmartEditor 출력 HTML 정규화 */
    .plcy_content .plcy_content__tit span,
    .plcy_content .plcy_content__tit font {
        padding-left: 0;
        font-weight: inherit;
        font-size: 1.5rem !important;
        color: inherit;
    }

    .plcy_content span{
        display: block;
    }
    
.close {
    position: absolute;
    top: 0;
    right: 0.2em;
    font-size: 3.2em;
    cursor: pointer;
}

.lypop-tablecont{
    width: 100%;
    border-top: 0.4rem solid #555;
    border-collapse: collapse;
    margin: 3.2rem 0;
}   
    .lypop-tablecont_thead th,
    .lypop-tablecont_tbody td{
        padding: 1.2rem 1.6rem;
        font-size: 1.4rem;
    }
    .lypop-tablecont_thead tr {
        background-color: #fafafa;
    }
        .lypop-tablecont_thead th{
            text-align: center;
            border: 1px solid #ddd;
        }
    .lypop-tablecont_tbody td {
        text-align: center;
        border: 1px solid #ddd;
        line-height: 140%;
    }
    .speakers{
        text-align: left !important;
    }
        div.sbj{
            display: inline;
            color: #fc7147;
            font-size: 1.4rem;
            line-height: 145%;
            font-weight: 700;
            padding: 0.4rem 0;
            /* box-shadow: 0 -10px 0 #eeeeee inset;           */
        }

        p.spk{
            font-size: 1.45rem;
            line-height: 140%;
            margin-top: 0.8rem;
        }
         p.sbtxt{
            font-size: 1.45rem;
            line-height: 140%;
            margin-top: 0.2rem;
        }    




/* Top srcoll */
div.topscroll {
    margin: auto;
}
a.top_s_btn {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
}
a.top_s_btn svg{
    height: 6rem;
}

.agrchck_content:last-child{
    margin-top: 2.4rem
}
    .rdcol{
        color: #ff392b;
        font-weight:500;
    }
    .agrchck_content p{
        line-height: 150%;
    }
    .agrchck_content__tit{
        font-size: 1.7rem;
        font-weight: 700;
        margin-bottom: 1.2rem;
    }

    .imp_txt{
        position: relative;
        padding-left: 0.8rem;
        line-height: 150%;
    }
    .imp_txt::before{
        content: "";
        width: 0.3rem;
        height: 0.3rem;
        background: #333;
        position: absolute;
        left: 0;
        top: 40%;
    }

.mypop_content:last-child{
    margin-top: 2.4rem
}
.mypop_content__tit{
    text-align: center;
    font-size: 2rem;
    font-weight: 800;
}
.coupon-num-form{
    display: flex;
    align-items: center;
    width: 100%;
    margin: 2.4rem auto 0;    
}
.modal-content.pop-wdhhf{
    max-width: 56rem !important;
}
.btn-coupon {
    padding: 1.2rem 1.6rem;
    margin-left: 0.8rem;
    border: none;
    background-color: #272e2b;
    color: white;
    border-radius: 0.4rem;
    cursor: pointer;
    flex-shrink: 0;
    font-size: 1.3rem;
    font-family: "Paperlogy", 'Noto Sans KR', 'Malgun Gothic', sans-serif;
}
.imp_txt.cou{
    font-size: 1.3rem;
    font-weight: 600;
}
/* 
    .agrchck_table{
        margin-top: 1.6rem;
    }
        .agrchck_table span.tit{
            font-weight: 700;
        }
        .agrchck_tablecont{
            width: 100%;
            font-size: 1.5rem;
            margin-top: 2.4rem;
            border-collapse: collapse;
        }
        .agrchck_tablecont thead{
            background: #f1f1f1;
        }
        .agrchck_tablecont tbody tr{
            border-bottom: 1px solid #ddd;
        }
        .agrchck_tablecont thead th,
        .agrchck_tablecont tbody td{
            padding: 1.6rem;
            font-size: 1.4rem;
            text-align: center;
        } */


/* 
*
*

************************

Login & Join

************************
*
*
*/

.LogincontWrap{
    max-width: 48rem;
    width: 100%;
    margin: 8rem auto 0;
}
.Logincontainer{
    width: 36rem;
    margin: 0 auto 0;
}
.v_logo{
    text-align: center;
}
.v_logo img{
    height: 13.2rem;
}
.snslogWrap{
    margin-top: 4.8rem;
}
.snslog-cont{
    text-align: center;
}
    .snslog-cont__tit{
        font-size: 1.6rem;
        font-weight: 700;
        margin-bottom: 2.2rem;
    }
    a.snslog-cont__join{
        font-size: 1.4rem;
        background: #01AA3A;
        padding: 1.8rem  0;
        margin-bottom: 1.2rem;
        display: block;
        color: #fff;
        border-radius: 0.4rem;
        display: flex;
        gap: 1.2rem;
        align-items: center;
        justify-content: center;
    }
    a.snslog-cont__join:hover{
        transition: background-color 0.4s;
        background: #07b842;
    }
    a.snslog-cont__join.kko{
        background: #FAE100;
        color: #3C1E1E;
    }
    a.snslog-cont__join.kko:hover{
        transition: background-color 0.4s;
        background: #f1dd24;
    }
        
.idloginWrap{
    margin-top: 4.8rem;
}    
.idlogin-cont{
    text-align: center;
}
    .idlogin-cont__tit{
        font-size: 1.6rem;
        font-weight: 700;
        margin-bottom: 2.2rem;
    }
    .idlogin-cont__form input{
        font-size: 1.4rem;
        padding: 1.6rem 1.6rem;
        margin-bottom: 1.2rem;
        display: block;
        width: 100%;
    }
.logchkWrap{
    display: flex;
    justify-content: space-between;
}

.errmsg{
    font-size: 1.35rem;
    font-weight: 500;
    text-align: center;
    color: #F53034;
    margin: 1.6rem 0;
}

.joinmember{
    display: flex;
    justify-content: space-between;
    font-size: 1.4rem;
    gap: 2.4rem;
    margin: 2.4rem 0;
    font-weight: 600;
}
.joinmember.cnt{
    justify-content: center;
}
.joinmember a:hover{
    text-decoration: underline;
}
.joinarrow{
    vertical-align: middle;
}
.joinarrow img{
    height: 0.8rem;
    position: relative;
    top: 0.3rem;
}

/* 회원가입 타이틀 스타일 영역 */
.jointitWrap{
    margin-top: 4.8rem;
    text-align: center;
}
.jointitWrap h4.tit{
    font-size: 1.8rem;
    font-weight: 700;
}
.jointitWrap .stit{
    color: #503c3c;
    font-size: 1.35rem;
    font-weight: 500;
    margin-top: 0.8rem;
}
p.sbjtit{
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 138%;
}
.form-st input{
    font-size: 1.4rem;
    padding: 1.6rem 1.6rem;
    margin-bottom: 1.2rem;
    display: block;
    width: 100%;
}
.joinformWrap{
    margin-top: 2.4rem;
}
    .joinform-cont{
        margin-top: 1.6rem;
    }
        .joinform-text{
            font-size: 1.35rem;
            font-weight: 500;
            color: #555;
            line-height: 140%;
        }
        .joinform-text.ermsg{
            color: #F53034;
            text-align: left;
            margin-top: 0.6rem;
        }

.joinchkWrap{
    margin-bottom: 3.2rem;
}
.joinchkWrap li{
    margin-bottom: 1.2rem;
}
/* 회원가입 완료 타이틀 */
.jointitWrap.compl{
    font-size: 1.6rem;
    font-weight: 600;
    margin: 4.8rem 0 3.2rem;
    text-align: center;
}
.jointitWrap.compl .mtxt{
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 2.4rem;
}
.jointitWrap.compl .mtxt.ant{
    font-family: "Anton";
    font-weight: normal;
    font-size: 3.6rem;
}
.jointitWrap.compl .stxt{
    font-size: 1.5rem;
    line-height: 140%;
}
/* 아이디/비밀번호 찾기 */
.join_schtab{
    display: flex;
    margin-top: 3.2rem;
    padding: 2.4rem 0;
    border-top: 1px solid #B7B7B7;
}
.join_schtab a{
    width: 100%;
    max-width: 21rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 500;
    color: #555;
}
.join_schtab a:first-child{
    border-right: 1px solid #B7B7B7;
}
.join_schtab a.on{
    color: #222;
    font-weight: 700;
}
.join_schtab a:hover{
    color: #222;
    font-weight: 700;
}
.form-group{
    display: flex;
    align-items: center;
    margin-bottom: 0.8rem;
}
.form-group input {
    font-size: 1.4rem;
}
    .btn-ent {
        padding: 1.6rem 1.8rem;
        margin-left: 0.8rem;
        border: none;
        color: white;
        border-radius: 0.4rem;
        cursor: pointer;
        flex-shrink: 0; /* 버튼 크기 줄어들지 않게 */
        font-size: 1.3rem;
        font-weight: 600;
        background: linear-gradient(90deg, #383636, #231815, #383636);
        background-size: 300% 100%;
        font-family: "Paperlogy";
    }
    .btn-ent:hover{
        background-position: 100% 0;
        transition: background-position 0.5s ease, transform 0.3s ease;
    }
.form-group_srgh span{
    display: block;
    margin-bottom: 1.2rem;
}
.rsy_text{
    margin: 2.4rem 0 3.2rem;
    text-align: center;
}
    .rsy_text .mtxt{
        margin-top: 2.4rem;
        text-align: center;
        line-height: 140%;
    }
        .rsy_text .mtxt b, .col_rd{
            color: #F53034;
        }
    .rsy_text .stxt{
        font-size: 1.3rem;
        font-weight: 400;
        color: #666;
        margin-top: 1.2rem;
    }


/* 
*
*

************************

HEADER

************************
*
*
*/

header{  
    width: 100%;
    background: #fff;
}
section.topWrap{
    max-width: 100%;
    margin: 0 auto 0;
    padding: 1.2rem 3.2rem 1.2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #D2D1CA;
    position: relative;
}
.logotype img{
    max-width: 100%;
    height: 5.5rem;
}
.tmenu-item{
    display: flex;
    gap: 2.4rem;
}
    a.tmenu-item__list{    
        font-size: 1.4rem;
        color: #333;
        display: flex;
        align-items: center;
    }
        a.tmenu-item__list:hover{    
        color: #2c2422;
        text-decoration: underline;
    }
        a.tmenu-item__list span{
            vertical-align: middle;
            margin-right: 0.4rem;
        }

/* GNB MENU*/
.gnbContainer{
    width: 100%;
    max-width: 120rem;
    margin: 0 auto 0;
    
}
    .gnb-wrap {
        background: #fff;
        color: #3F3A0B;
        max-width: 120rem;
        margin: 0 auto;
        padding: 2.8rem 0 2.4rem;
    }
    .gnb > ul {
        display: flex;
        gap: 10rem;
        justify-content: center;
        list-style: none;
        margin: 0;
        padding: 0;
        position: relative;
    }
    .gnb > ul > li {
        position: relative; /* 서브메뉴 absolute 기준 */
    }
    .gnb .m_menu {
        display: block;
        padding: 1.2rem 0;
        font-weight: 600;
        font-size: 2rem;
        line-height: 1;
        color: #3F3A0B;
    }
    a.m_menu{
        font-family: "GangwonEduPowerExtraBoldA";
        line-height: 150% !important;
    }
    .gnb > ul > li > a:focus,
    .gnb > ul > li:hover > a {
        color: #00A966;
    }

    /* 서브메뉴 */
    .submenu {
        list-style: none;
        margin: 0;
        padding: 0;
        position: absolute;
        left: 0;
        top: 100%;
        min-width: 20rem;
        font-weight: 600;
        background: #fff;
        color: #3F3A0B;
        border-radius: 1rem;
        box-shadow: 0 1rem 3rem rgba(0,0,0,.2);
        display: none; /* 기본 접힘 */
        z-index: 1000;
    }
    .submenu li a {
        display: block;
        padding: 1.6rem 1.8rem;
        font-size: 1.6rem;
        color: #555;
        font-weight: 600;
    }
    .submenu li a:hover,
    .submenu li a:focus {
        background: #f1f1f1;
        border-radius: 1rem;
        color: #222;
        font-weight: 700;
    }
    .active{color: #00A966 !important;}
/* 모바일 햄버거 버튼 (평소에는 숨김) */
.gnb-button {
    display: none;
    position: relative;
    width: 3.2rem;
    height: 2.6rem;
    border: none;
    background: none;
    cursor: pointer;
    z-index: 1001; /* 메뉴보다 위에 오도록 설정 */
}
.gnb-button__line {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.5rem;
    background-color: #333;
    transition: all 0.3s;
}
.gnb-button__line:nth-child(1) { top: 0; }
.gnb-button__line:nth-child(2) { top: 50%; transform: translateY(-50%); }
.gnb-button__line:nth-child(3) { bottom: 0; }

/* 모바일 로고 숨김 (기본 PC 화면에서는 안 보이게) */
.gnb-mobile-logo {
    display: none;
    padding: 15px;
}

.gnb-mobile-logo img {
    max-width: 140px; /* 크기 조절 */
    height: auto;
}
/* 모바일 GNB 활성화 시 햄버거 버튼 모양 변경 (X) */
.gnb-button.is-active .gnb-button__line:nth-child(1) {
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}
.gnb-button.is-active .gnb-button__line:nth-child(2) {
    opacity: 0;
}
.gnb-button.is-active .gnb-button__line:nth-child(3) {
    bottom: 50%;
    transform: translateY(50%) rotate(-45deg);
}

/* 모바일 메뉴 배경 */
.gnb-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 999;
}
.gnb-overlay.gnb--active {
    display: block;
}


/*========================
MOBILE MENU
=========================*/

div.m_gnb_menu{
    float: right !important;
    margin-top: 35px;
    display: none;
}
.sidebar {width:100%; background-color:#fff; -webkit-overflow-scrolling:touch;}
/* .sidebar li:hover{background-color: #f1f1f1;} */

.sidebar nav{
    width:100%;
    padding: 2.2rem 3rem 2.2rem;
    position: relative;
}
.close_btn{
    position: absolute;
    right: 0.8rem;
    top: 1rem;
}
.toolbar_menu::after{
    content: "";
    display: block;
    clear: both;
}
.toolbar_menu li{
    float:left;
}
.toolbar_menu li:nth-child(2){
    float:right;
}
.toolbar_menu li.logo img{
    height: 4rem;
}
.sidebar .category_menu{
    width: 100%;
    border-top: 2px solid #163565;
}
.sidebar .category_menu p{
    font-size: 2rem;
    border-bottom: 1px solid #eee;
    padding: 2.8rem 3rem 2.8rem;
    font-weight: 700; 
}
.mb_gnb_menu-smenu{
    padding: 2.4rem 4rem 2.4rem;
}
.mb_gnb_menu-smenu__slist{
    font-size: 1.85rem;
    font-weight: 700;
    margin-bottom: 2.8rem;
}
.mb_gnb_menu-smenu__slist a{
    color: #555;
}
.mb_gnb_menu-smenu__slist:last-child{
    margin-bottom: 0;
}

/* === 모바일 (1024px 미만) === */

/* 
*
*

************************

My Page

************************
*
*
*/
.mpcontainer{
    width: 100%;
    max-width: 120rem;
    margin: 10rem auto 0;
    display: flex;
}
.sub-aside {
  max-width: 18rem;
  width: 100%;
}
.sub-aside h4{
    font-size: 3.2rem;
    font-weight: 600;
}
.sub-aside__list{
    margin-top: 4.8rem;
    padding-left: 0.4rem;
}
    .sub-aside__ltem {
        margin-bottom: 2.4rem;
    }
    .sub-aside__ltem a {
        font-size: 1.6rem;
        font-weight: 500;
        color: #888;
    }
    .sub-aside__ltem a.on {
        font-size: 2rem;
        font-weight: 800;
        color: #333;
    }


.Mymnge-cont{
    margin-left: 8rem;
    min-height: 60vh;
}
.Mymnge-cont__sect1{
    max-width: 96rem;
    width: 100%;
}
    .sect_title{
        font-weight: 700;
        font-size: 1.7rem;
    }
    /* 테이블 */
    .mp-ifpformtableWrap{
        width: 100%;
        /* overflow-x: auto; 작은 화면에서 가로 스크롤 */
        position: relative;
    }
        .mp-tableformcont {
            max-width: 64rem;
            width: 100%;
            table-layout: fixed;
            margin: 2.8rem 0;
            border-collapse: collapse;
            border-top: 3px solid #333;
        }

        .mp-tableformcont_tr th,
        .mp-tableformcont_tr td {
            padding: 1.2rem 1.6rem;
            border-top: 0.1rem solid #ddd;
            text-align: left;
            padding: 1.2rem 1.6rem;
            font-size: 1.4rem;
        }
        .mp-tableformcont_tr:last-child th,
        .mp-tableformcont_tr:last-child td {
            border-bottom: 0.1rem solid #ddd;
        }
        .mp-tableformcont_tr th{
            text-align: center;
            width: 20%;
            font-weight: 600;
            background: #FAFAFA;
            border-right: 0.1rem solid #ddd;
        }
        .mp-tableformcont_tr th.subtit{width: 16%;}
        .required::after {
            content: " *";
            color: #e74c3c;
            font-weight: bold;
        }
        .mp-tableformcont_tr input{
            font-size: 1.4rem;
            padding: 1.2rem 1.6rem;
            border: 1px solid #c7c7c7;
            display: block;
            line-height: 1;
            width: 100%;
            margin-bottom: 1rem;
        }
        a.passchg{
            font-weight: 700;
            text-decoration: underline;
        }
        a.passchg:hover{
            color: #e74c3c;
        }
        .pass input{margin-top: 1.2rem;}
        .altmsg{
            margin-top: 1.2rem;
            display: block;
            font-size: 1.35rem;
        }
.mp-tableformcont_col{
    width: 100%;
    /* table-layout: fixed; */
    margin: 2.8rem 0;
    border-collapse: collapse;
    border-top: 3px solid #333;    
}        
    .mp-tableformcont_trcol th, .mp-tableformcont_trcol td{
        padding: 1.2rem 1.6rem;
        border-top: 0.1rem solid #ddd;
        text-align: left;
        padding: 1.4rem 0.8em;
        font-size: 1.3rem;        
    }
    .mp-tableformcont_trcol th {
        text-align: center;
        font-weight: 700;
        background: #FAFAFA;
        border-right: 0.1rem solid #ddd;
    }
    .mp-tableformcont_trcol td {
        text-align: center;
        border-right: 0.1rem solid #ddd;
    }
    .mp-tableformcont_trcol th:last-child,
    .mp-tableformcont_trcol td:last-child {
        border-right: none;
    }           
    .mp-tableformcont_col tbody tr:last-child td{
        border-bottom: 0.1rem solid #ddd;
    }
    .mp-tableformcont_trcol td.coup_tit{
        text-align: left;
        font-weight: 700;
    }
    .coup_tit_infotxt{
        margin-top: 0.6rem;
        padding-left: 0.4rem;
    }
        .coup_tit_infotxt span{
            display: block;
            color: #777;
            font-weight: 500;
            font-size: 1.2rem;
            line-height: 150%;
        }
.radio-sel{
    margin-bottom: 0.8rem;
}
    .radio-sel .txt{
        display: block;
        margin: 0.8rem 0;
    }
    .radio-sel .txt a{
        text-decoration: underline;
        font-weight: 700;
    }
.gud-text{
    color: #888888;
    font-weight: 500;
}
a.txtlink{
    color: #888;
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.3rem;
    font-weight: 400;
    text-decoration: underline;
}
a.txtlink:hover{
    font-weight: 600;
}
.wnd-ntcontWrap{
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    border-top: 1px solid #CFCFCF;
}
    .rbox_tit{
        font-weight: 700;
        background: #EBEBEB;
        border-radius: 0.4rem;
        display: inline-block;
        padding: 0.6rem 1.2rem;
    }
    ol.ntlist{
        margin-top: 1.6rem;
        padding-left: 1.2rem;
    }
        ol.ntlist li{
            font-weight: 600;
            margin-bottom: 0.8rem;
            line-height: 140%;
        }
            .ntlist-subtxt{
                font-weight: 400;
                font-size: 1.4rem;
                color: #888888;
                padding-left: 0.4rem;
                margin-top: 0.6rem;
                display: block;
            }
            .txtbr br{display: none;}
.wnd-compl{
    margin-bottom: 2.4rem;
    text-align: center;
}

.wnd-draw-compl{
    margin-top: 2.4rem;
    margin-bottom: 2.4rem;
    text-align: justify;
}

    .wnd-compl_mtxt{
        font-size: 2.4rem;
        font-weight: 700;
    }
    .wnd-compl > span{
        display: block;
        font-size: 1.4rem;
        color: #555;
        font-weight: 500;
        margin-top: 1.6rem;
    }

.tnt_contWrap{
    padding-top: 2.4rem;
    margin-top: 2.4rem;
    border-top: 1px solid #CFCFCF;
}
.maintit{
    font-weight: 600;
    font-size: 1.4rem;
    line-height: 145%;

}

.chktextWrap{
    margin: 3.2rem 0;
}
.chktextcont dt, .chktextcont dd{
    font-size: 1.35rem;
    color: #555;
}
    .chktextcont_tit{
        font-weight: 600;
        margin-bottom: 0.8rem;
    }
    .chktextcont_txt{
        font-weight: 400;
        margin-bottom: 0.4rem;
        padding-left: 1.6rem;
    }
        .chktextcont_txt span{
            position: relative;
        }
            .chktextcont_txt span::before{
                content: "";
                display: block;
                position: absolute;
                left: -1rem;
                top: 50%; 
                transform: translate(0, -50%);
                width: 3px;
                height: 3px;
                background: #888;
                border-radius: 5rem;
            }    
            .no-bullet .chktextcont_txt span::before{
                display: none;
            }

/* 쿠폰관리 탭메뉴 */
.cplist_menu {
    margin-top: 3.2rem;
    background: #f9f9f9;
    position: relative;
    display: block;
}
    .cplist_menu__list{
        display: flex;
    }
        .cplist_menu__list a{position: relative;}
        .cplist_menu__list li:nth-of-type(2) a::after{
            content: "";
            width: 1px;
            height: 2rem;
            background: #ddd;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translate(0, -50%);
        }
        .cplist_menu__item{
            font-size: 1.35rem;
            padding: 1.2rem 3.2rem;
            display: block;
            font-weight: 500;
        }
        .cplist_menu__item.is_on{
            font-weight: 700;
            color: #fff !important;
            background: linear-gradient(90deg, #474646, #231815, #383636);
        }
        .cplist_menu__list li:nth-of-type(2) a.is_on::after{
            display: none;
        }
        .cplist_menu__list:has(li:nth-of-type(3) a.is_on) li:nth-of-type(2) a::after {
            display: none;
        }

    .cou_ent{
        font-weight: 700;
        color: #ed3e57;
        font-size: 1.4rem;
        text-decoration: underline;
        position: absolute;
        right: 3%;
        top: 50%;
        transform: translate(0, -50%);
    }

/* 
*
*
************************

Main Contents

************************
*
*
*/

.viva_ContentsWrap{
    width: 100%;
    clear: both;
}

/* Top Main Visual*/
section.main_visual_wrap{
    width: 100%;
}
    div.visual_contents{
        max-width: 192rem; /* 현재 이미지 가로 크기에 맞춤 */
        width: 100%;
        margin: 0 auto;
        text-align: center;
        overflow-x: hidden;
    }
    div.visual_contents img{
        max-width: 100%;
        height: auto;
        display: block;
        margin: 0 auto;
    }
    
/* Main contents */
section.contvisual_wrap{
    width: 100%;
    max-width: 192rem;
    height: 56rem;
    margin: 0 auto;
    background-image: url('/images/concert_visual.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-sizing: border-box;    
}
    div.cultvisual_contents{
        width: 100%;
        max-width: 120rem;
        margin: 0 auto 0;
        overflow: hidden;
        padding-left: 4rem;
        position: relative;
    }
    div.cultvisual_contents::before{
        content: "";
        display: block;
        width: 1.2rem;
        height: 52%;
        background: #8F0086;
        position: absolute;
        left: 0;
        top: 4.8rem;


    }
        .cct-titWrap{
            margin-top: 4.8rem;
            text-transform: uppercase;
        }
            .cct-tit{
                font-size: 6.4rem;
                color: #8F0086;
                letter-spacing: 0.3rem;
                line-height: 120%;
            }
            .cct-txt{
                font-size: 2.6rem;
                margin-top: 3.2rem;
                color: #d8d8d8;
            }
            .cct-loc{
                font-size: 1.6rem;
                color: #9F99A7;
            }        

        .cct-txtWrap{
            margin-top: 3.2rem;
        }
            .cct-tit2{
                font-size: 2.6rem;
                color: #d8d8d8;
                line-height: 110%;
            }
            .cct-txt2{
                font-size: 1.6rem;
                color: #9F99A7;
                margin-top: 1rem;
            }
        .vivacon-link{
            margin-top: 3.5rem;
        }
            .vivacon-link a{
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                padding: 1.5rem 3rem;
                border: 1px solid;
                color: #d8d8d8;
                font-size: 1.5rem;
                font-weight: 600;
                text-decoration: none;
            }
            .vivacon-link a svg{
                width: 1.8rem;
                stroke-width: 2.5px;
            }


.brvContwarp{
    max-width: 120rem;
    width: 100%;
    margin: 5.6rem auto 0;
    padding: 3rem
}
    .brv-area{
        margin-bottom: 6rem;
    }
    h4.brvCont-int{
        font-size: 2.4rem;
        font-weight: 500;
        text-align: center;
        margin-bottom: 3rem;
        word-break: keep-all;
    }
        h4.brvCont-int b{
            color: #274C3D;
            font-weight: 800;
        }
    .brvCont-int-item{
        display: flex;
        justify-content: space-between;
        margin-top: 3.2rem;
        gap: 2.5rem;
    }
        .brv-intro{
            width: 100%;
            max-width: 58.8rem;
            height: 26rem;
            background-color: #1D5E4C;
            background-image: url('/images/bravo_magazineintro.jpg');
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            box-sizing: border-box;
            padding: 4.8rem 0 0 4rem;
        }
        .brv-intro.scrt{
            background-color: #413B2E;
            background-image: url('/images/_bravo_magazinesubscp.jpg');
            
        }
        .int__tit{
            font-size: 2.8rem;
            font-weight: 300;
            color: #fff;
            line-height: 140%;
        }
        .int__tit b{font-weight: 700;}
        .brv-arwlink{
            display: block;
            margin-top: 4rem;
        }
    .brv-moments-area{
        text-align: center;
    }
        .vivacon-banner{
            width: 100%;
            max-width: 1200px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background: url('/images/viva-banner_1200x260.jpg');
            background-size: cover;
            background-position: center;
            color: #fff;
            text-align: center;
            padding: 4rem 2rem;
            margin: 2.5rem 0 0;
            line-height: 1.3;
        }
            .moments-tit{
                font-size: 2.5rem;
            }
            .vivacon-banner .banner-tit{
                font-size: 3.5rem;
            }
            .vivacon-banner .vivacon-date{
                font-size: 2.5rem;
            }
            .vivacon-banner .vivacon-location{
                font-size: 2.5rem;
                opacity: 0.9; 
                font-weight: 400;  
            }

/* 
*
*

************************

Sub Contents

************************
*
*
*/

.viva_subContainer{
    max-width: 120rem;
    width: 100%;
    margin: 6.4rem auto 8rem;
}
.viva_subContainer.scrtpform{
    max-width: 64rem;
}
.viva_subContainer.noticeboard{
    max-width: 120rem;
}
/* 브라보마이라이프 소개 */
.brvtop-visualWrap{
    width: 100%;
    max-width: 192rem;
    height: 72rem;
    background-image: url('/images/brv_back_visual.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 6rem;
}
.brvContWrap{
    width: 100%;
    max-width: 120rem;
    margin: 0 auto 0;
}
    .brvtop-title dt, .brvtop-title dd{
        font-family: "Noto Serif KR";
        color: #fff;
        font-weight: 300;
        letter-spacing: -0.3rem;
    }
    .brvtop-title dt{
        font-size: 5.6rem;
        font-weight: 700;
    }
    .brvtop-title dd{
        font-size: 4.2rem;
        margin-top: 1.6rem;
    }

    .brvtop-descrpt{
        display: flex;
        gap: 3rem;
        margin-top: 6.4rem;
    }
        .descrpt-sbj{
            width: 100%;
            max-width: 38rem;
            display: block;
            background: #fff;
        }
            .descrpt-sbj__tit{
                background: #154531;
                text-align: center;
                font-size: 1.6rem;
                color: #fff;
                padding: 1.6rem 0 1.2rem;
            }
            .descrpt-sbj__txt{
                font-weight: 500;
                text-align: center;
                font-size: 1.6rem;
                color: #444;
                padding: 3.2rem 3.2rem;
            }
h4.brvCont-sint{
    font-size: 1.8rem;
    font-weight: 500;
    text-align: center;
    line-height: 150%;
}
    h4.brvCont-sint b{
        color: #274C3D;
        font-weight: 800;
        display: block;
        margin-top: 1.6rem;
    }

    h4.brvCont-sint a{
        color: #274C3D;
        font-weight: 800;
        text-decoration: underline;
    }

.brvCont-slgWrap{
    border-top: 1px solid #E2E2E2;
    border-bottom: 1px solid #E2E2E2;
    margin-top: 4rem;
    padding: 2.4rem 0;
}
    .slg-item{
        display: flex;
        justify-content: center;
        gap: 2.4rem;
    }
    .slg-item__list{
        font-size: 1.8rem;
        font-family: 'Noto Serif KR';
    }
    .slg-item__list::first-letter{
        font-size: 3.2rem;
        font-weight: 800;
        color: #274C3D;
    }

.brvbtnWrap{
    margin-top: 3.2rem;
    display: flex;
    gap: 2.4rem;
    justify-content: center;
}
    .brvbtnWrap a.brvbtn{
        display: block;
        width: 100%;
        color: #fff;
        max-width: 36rem;
        margin-top: 4rem;
        padding: 2.4rem 1.2rem;
        text-align: center;
        background: linear-gradient(90deg, #3C6756, #194C37, #3C6756);
        background-size: 300% 100%;
        transition: background-position 0.5s ease, transform 0.3s ease;        
    }
    .brvbtnWrap a.brvbtn.scrpt{
        background: linear-gradient(90deg, #3f3b34, #2C2923, #3f3b34);
        background-size: 300% 100%;
    }    
    .brvbtnWrap a.brvbtn:hover, .brvbtnWrap a.brvbtn.scrpt:hover{
        background-position: 100% 0;
        transform: translateY(-2px);
    }
    .brvbtnWrap.payment a.brvbtn{max-width: 20rem; margin-top: 2rem;}

/* 브라보 구독신청 */

/* subpage top visual */
section.sub_topvisual_wrap{
    max-width: 100%;
    width: 100%;
    height: 28rem;
    background: #fff;
    background: url('/images/sub_top_vs_1.jpg');
    background-position: center;
    background-size: cover;
}
div.sub_visual_contents{
    max-width: 120rem;
    width: 100%;
    height: 100%;
    margin: 0 auto 0;
}
    .category_titlewrap{
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
        text-align: center; 
    }
        dl.category_title dt, dl.category_title dd{
            color: #fff;
            font-size: 1.8rem;
        }
        dl.category_title dt{
            font-size: 4rem;
            margin-bottom: 1.6rem;
            letter-spacing: -0.2rem;
            line-height: 110%;
            font-weight: 700;
            font-family: "Noto Serif KR";
        }
        dl.category_title dd{
            font-weight: 400;
            font-size: 1.6rem;
            line-height: 140%;
        }


/* subpage contents - 구독신청 입력폼*/
.iftextWrap {
    background: #F8F8F8;
    padding: 3.6rem 4rem 3.6rem;
    position: relative;
    width: 100%;
    margin: 0 auto;
    position: relative;
    text-align: center;
}
    .iftext__tit{
        font-size: 2.2rem;
        font-weight: 700;
    }     
    .iftext__txt{
        line-height: 130%;
        margin-top: 1.6rem;
        font-weight: 600;
    }
    .iftext__txt br{display: none;}
.scrpt-cont{
    margin-top: 3.2rem;
    text-align: left;
}    
    .scrpt-cont-txt{
        position: relative;
        padding-left: 1.6rem;
        line-height: 150%;
        margin-bottom: 2.4rem;
    }    
    .scrpt-cont-txt dt::before{
        content: "";
        display: block;
        width: 0.4rem;
        height: 0.4rem;
        border-radius: 10rem;
        background: #333;
        position: absolute;
        left: 0;
        top: 0.8rem;
    }
    .scrpt-cont-txt dd span{color: #888;}
.year_pr{
   background: #3C6756;
   color: #fff;
   font-size: 1.4rem;
   font-weight: 400;
   padding: 1.2rem 2.4rem;
   display: inline-block;
   margin-top: 1.6rem;
}
.sss_text{
    display: block;
    color: #888;
    font-size: 1.4rem;
    margin-top: 1.2rem;   
}

/* 입력폼 */
.ifpCont_wrap{
    margin-top: 4rem;
}
h4.tb_title{
    font-size: 2rem;
    position: relative;
}
    h4.tb_title span{
        font-size: 1.4rem;
        font-weight: 500;
        vertical-align: middle;
    }
    .ptcol{color: #F33333;}
    .ifpformtableWrap{
        width: 100%;
        margin-bottom: 2.4rem;
        overflow-x: auto; /* 작은 화면에서 가로 스크롤 */
    }
        .ifp-tableformcont {
            width: 100%;
            margin-top: 2.4rem;
            border-collapse: collapse;
            border-top: 3px solid #333;
        }

        .tableformcont_tr th,
        .tableformcont_tr td {
            padding: 1.4rem 1.6rem;
            border-top: 0.1rem solid #ddd;
            text-align: left;
            font-size: 1.35rem;
        }
        .tableformcont_tr:last-child th,
        .tableformcont_tr:last-child td {
            border-bottom: 0.1rem solid #ddd;
        }
        .tableformcont_tr th{
            text-align: center;
            font-weight: 600;
            background: #f9f9f9;
            border-right: 0.1rem solid #ddd;
        }
        .tableformcont_tr th.subtit{width: 16%;}
        .required::after {
            content: " *";
            color: #e74c3c;
            font-weight: bold;
        }

        /* 주소 영역 스타일 */
        .address-group {
            display: flex;
            align-items: center;
            margin-bottom: 0.8rem;
        }
        .address-group.wdh_hf{width: 50%;}
        .address-group:last-child {
            margin-bottom: 0;
        }
        .address-group input {
            flex-grow: 1; /* 남은 공간을 모두 차지 */
            font-size: 1.4rem;
        }
        .address-group .btn-find {
            padding: 1.2rem 1.6rem;
            margin-left: 0.8rem;
            border: none;
            background-color: #3C6756;
            color: white;
            border-radius: 0.4rem;
            cursor: pointer;
            flex-shrink: 0; /* 버튼 크기 줄어들지 않게 */
            font-size: 1.3rem;
            font-family: "Paperlogy", 'Noto Sans KR', 'Malgun Gothic', sans-serif;
        }
        .address-group .btn-find:hover {
            background-color: #2d5243;
        }
 
.ment{
    font-size: 1.35rem;
    color: #666;
    font-weight: 600;
    display: block;
    line-height: 190%;
}

.ifp_submitbtn{
    text-align: center;
    margin-top: 4rem;
}   

.ifp_submitbtn__btn {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 600;
    padding: 2.4rem 3.2rem;
    display: inline-block;
    width: 100%;
    max-width: 24rem;
    margin-top: 3.2rem;
    text-decoration: none;
    background: linear-gradient(90deg, #194C37, #3C6756, #194C37);
    background-size: 300% 100%;
    transition: background-position 0.5s ease, transform 0.3s ease;
}
.ifp_submitbtn__btn:hover{
    background-size: 100% 100%;
    transform: translateY(-2px);
}
.agrchck{
    padding: 0 0.4rem 1.6rem;
    position: relative;
}
    .agrchck-detail{
        margin-top: 0.8rem;
        padding-left: 2.8rem;
        font-size: 1.35rem;
        display: block;
        font-weight: 700;
        color: #3C6756;
        text-decoration: underline;
    }
    .agrchck-detail__text{
        margin-top: 1.2rem;
        padding-left: 2.8rem;
        font-size: 1.35rem;
        display: block;
        font-weight: 500;
        color: #888;
    }
a.recpt-link{
    color: #888;
    font-weight: 500;
    font-size: 1.2rem;
    text-decoration: underline;
    margin-left: 0.8rem;
}
a.recpt-link:hover{
    font-weight: 700;
    color: #194C37;
}


/* 공지사항 */

.noticeWrap{
    max-width: 114rem;
    width: 100%;
    margin-top: 3.2rem;
}
.noticeWrap::after{
    content: "";
    display: block;
    clear: both;
}
    .sb_objtitle{
    text-align: center;
    }
    .sb_objtitle span{
        font-size: 3.2rem;
        font-weight: 700;
    }

    .notice-board{
        width: 100%;
        border-top: 0.4rem solid #333333;
        border-collapse: collapse;
    }
        .notice-board thead{
            background: #fbfbfb;
        }
            .notice-board th,
            .notice-board td{
                padding: 2rem 1.6rem;
                font-size: 1.5rem;
            }
            .notice-board td a:hover{
                text-decoration: underline;
            }
            .rowbox{
                border-bottom: 1px solid #E3E3E3;
            }
            .rowbox.fxd{
                background: #fafafa;
                border-top: 1px solid #E3E3E3;
            }
                .title{
                    font-weight: 700;
                }
                .num, .time{text-align: center;}
                    .rowbox span.noti{
                        text-align: center;
                        background: #3C6756;
                        color: #fff;
                        font-size: 1.3rem;
                        border-radius: 10rem;
                        padding: 0.6rem 1.2rem;
                    }
.view-head{
    text-align: left;
    background: #fff !important;
}
    .view-head--tit{
        text-align: center;
    }
    .view-head--txt{
        font-weight: 600;
    }
.view-body{
    text-align: center;
}    
    .view-body__cont{
        line-height: 160%;
        padding: 3.2rem 8.6rem 3.2rem !important;
        border-bottom: 0.2rem solid #333333;
    }
        .view-body__cont p{
            margin-bottom: 2.4rem;
            font-size: 1.7rem !important;
        }
        .view-body__cont a{
            text-decoration: underline;
        }
        .view-body__cont img{
            width: 70%;
            height: 100%;
        }

.listico__btn {
    font-size: 1.3rem;
    color: #222;
    font-weight: 600;
    padding: 0.6rem 1.4rem;
    display: block;
    margin-top: 3.2rem;
    text-decoration: none;
    background: #f1f1f1;
    border-radius: 10rem;
    transition: background-position 0.5s ease, transform 0.3s ease; 
    margin: 1.6rem auto;
    text-align: center;
    float: right;
}
.listico__btn:hover{
    background: #e4e3e3;
}

/* page navigation */
.pagination {
  width: 100%;
  margin: 6.4rem auto 6.4rem;
  box-sizing: border-box;
}
.pagination__paging {
    display: flex;
    justify-content: center;  
    gap: 1.6rem;
}
.pagination__paging a {
    box-sizing: border-box;
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    width: 3.2rem;
    height: 3.2rem;
    text-align: center;
    border-radius: 3.2rem;
    line-height: 3.2rem;
    background: #fff;
}
.pagination__paging a:last-child {
    margin-right: 0;
}
.pagination__paging a.active {
    color: #fff !important;
    background-color: #3C6756;
}
.pagination__paging--arrow {
    vertical-align: middle;
}




/* FOOTER ==========================================================================================================================*/

.footerarea{
    width: 100%;
    padding: 2.8rem 0 2.8rem;
    margin-top: 6.4rem;
    clear: both;
    background: #f3f3f3;
}
    .footercont{
        max-width: 114rem;
        width: 100%;
        margin: 0 auto 0;
        display: flex;
        justify-content: space-around;
        align-items: center;
    }
        .f_logo{
            text-align: center;
        }
        .f_logo img{
            height: 10rem;
        }
        .f_info li{
            margin-bottom: 0.8rem;
            font-size: 1.3rem;
        }
        .policyWrap a{
            color: #333;
            font-weight: 700;
        }
        .policyWrap a:hover{
            color: #111;
        }
        .policyWrap a::after{
            content: "ㅣ";
            margin-left: 0.2rem;
            color: #111;
        }
        .policyWrap a:last-child:after{
            display: none;
        }
        .policyWrap a.policy_underline{
            text-decoration: underline;
        }
        .f_logo li:last-child, .f_info li:last-child{
            margin-bottom: 0;
        }
            .f_info li span{
                text-align: left;
                display: block;
                color: #555;
                font-weight: 600;
                line-height: 160%;
            }
            .f_info li span.contus{
                margin-bottom: 0.8rem;
                font-weight: 800;
            }
            .copy{
                font-weight: 400;
                color: #888;
            }



/* 사전등록 페이지 결제 방법 선택 스타일 */
.payment_method_section {
    margin: 30px 0;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border: 1px solid #e9ecef;
}

.payment_method_options {
    display: flex;
    gap: 15px;
    margin-top: 15px;
}

.payment_option {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 15px;
    background-color: white;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
}

.payment_option:hover {
    border-color: #007bff;
    background-color: #f8f9ff;
}

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

.payment_option input[type="radio"]:checked + .payment_icon + .payment_text {
    color: #007bff;
    font-weight: 600;
}

.payment_option input[type="radio"]:checked ~ * {
    color: #007bff;
}

.payment_option:has(input[type="radio"]:checked) {
    border-color: #007bff;
    background-color: #f8f9ff;
}

.payment_icon {
    font-size: 24px;
    margin-bottom: 8px;
    display: block;
}

.payment_text {
    font-size: 14px;
    font-weight: 500;
    color: #495057;
}

/* 버튼 스타일 개선 */
.btn_pay_now {
    background-color: #28a745 !important;
    border-color: #28a745 !important;
}

.btn_pay_now:hover {
    background-color: #218838 !important;
    border-color: #1e7e34 !important;
}


/* 사전등록신청 설문조사 응답 테이블 스타일 개선 */
.earlyformtableWrap table {
    width: 100%;
    border-collapse: collapse;
}
.earlyformtableWrap table th {
    background-color: #f8f9fa;
    font-weight: 600;
    text-align: left;
    vertical-align: top;
    padding: 15px 20px;
    border-bottom: 1px solid #e9ecef;
    width: 30%;
    min-width: 200px;
}
.earlyformtableWrap table td {
    padding: 15px 20px;
    border-bottom: 1px solid #e9ecef;
    vertical-align: top;
    line-height: 1.6;
}
.earlyformtableWrap table tr:last-child th,
.earlyformtableWrap table tr:last-child td {
    border-bottom: none;
}

/* 6번 질문 특별 스타일 */
.confirm_answer_group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.confirm_answer_item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.confirm_label {
    font-weight: 600;
    color: #495057;
    min-width: 60px;
}
.confirm_value {
    color: #212529;
}

.payment_notice{
    margin-top:1rem;
    color: #666;
    line-height: 1.5;
    font-size: 1.4rem;
}

/* 동의 항목 그리드 레이아웃 - 위아래 간격만 최소화 */
.agrchck_grid {
display: flex !important;
flex-direction: column !important;
gap: 0px !important;
}

.agrchck_row {
display: flex !important;
gap: 20px !important;
flex-direction: row !important;
}

.agrchck_row .agrchck {
flex: 1 !important;
display: block !important;
}

@media (max-width: 768px) {
.agrchck_row {
flex-direction: column !important;
gap: 0px !important;
}

.agrchck_row .agrchck {
flex: none !important;
width: 100% !important;
}

/* 모바일에서 첫 번째와 마지막 항목 사이 공백 제거 */
.agrchck_grid .agrchck_row:first-child .agrchck:last-child {
margin-bottom: 0 !important;
}

.agrchck_grid .agrchck_row:last-child .agrchck:first-child {
margin-top: 10px !important;
}
}

/* 플로팅 카카오톡 채널 버튼 */
.floating_kakaochat {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 1000;
    transition: transform .25s ease, opacity .25s ease;
}
.floating_btn {
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #3C1E1E;   /* 버튼 색상 */
    color: #fff;
    box-shadow: 2px 5px 0 rgba(0, 0, 0, .06);
    cursor: pointer;
    transition: transform 0.3s ease;
}
.floating_btn:hover::before {
    opacity: 1;
}
.floating_btn:hover {
    transform: translateY(-2px);
    box-shadow: 2px 5px 0 rgba(0, 0, 0, .09);
}
.chat_btn {
    background: #FAE100;
    position: relative;
    overflow: hidden;
}
.chat_btn:hover::after {
    opacity: 0.15;
}
.chat_btn svg {
    position: relative;
    z-index: 1;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}
.floating_btn svg {
    width: 38px;
    height: 38px;
    z-index: 1;
    position: relative;
    top: 2px;
    left: 1px;
}
/* 스크롤 다운 시 숨김 상태 */
.floating_kakaochat.hidden {
    transform: translateY(120%);
    opacity: 0;
    pointer-events: none;
}

@media screen and (max-width: 47.2em) {
.floating_kakaochat {
        bottom: 2rem;
        right: 2rem;
    }
    .floating_btn {
        width: 42px;
        height: 42px;
    }
    .floating_btn svg {
        width: 26px;
        height: 26px;
        left: 0;
    }
}

/* 메인팝업이미지 */
.popup-box {
    display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
    background: #fff;
    box-shadow: 1.2rem 1.1rem 1.4rem 0px rgb(0 0 0 / 9%);
    border-radius: 1rem;
    padding: 2.4rem;
    text-align: center;
    border: 1px solid #e9e9e9;
}
.popup-img {
    width: 100%;
    height: 100%;
}
.close-btn {
    position: absolute;
    top: 0.6rem;
    right: 1.4rem;
    border: none;
    background: transparent;
    font-size: 4rem;
    color: #000;
    cursor: pointer;
    padding: 0;
}

/* 마이페이지 - 우편번호 찾기 버튼 스타일 */
.btn-address-search {
    padding: 10px 20px;
    background: #3C6756;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 8px;
}

.btn-address-search:hover {
    background: #2d4f41;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
    transform: translateY(-1px);
}

.btn-address-search:active {
    transform: translateY(0);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* 마이페이지 - 주소 입력 필드 스타일 */
#post_num, #address, #address_detail {
    border-radius: 4px;
    transition: border-color 0.2s ease;
}

#post_num:hover, #address:hover {
    border-color: #3C6756;
}


/* 

2026-03 비바브라보클럽 추가 css

*/
:root {
    --vvc-main-color: #2F9359;
    --content-width: 114rem;

    --main-font: "Cafe24ClassicType", sans-serif;
    --line-height-base: 1.6;
    --mfont: normal 6.4rem var(--main-font);
    --sfont: normal 3.2rem var(--main-font);

}

.vvclub-contvisual_wrap{
    width: 100%;
    max-width: 192rem;
    height: 36rem;
    margin: 0 auto;
    background-image: url('/images/main_vivaclub_back.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-sizing: border-box;
}    
    div.vvclub-visual_contents {
        width: 100%;
        height: 100%;
        max-width: 120rem;
        margin: 0 auto 0;
    }
    .vv-txtWrap{
        display: flex;
        flex-direction: column;
        justify-content: center;
        height: 100%;
    }
    .vv-txtWrap dt, .vv-txtWrap dd{
        color: #fff;
        text-align: center;
    }
    .vv-txtWrap dt{
        font-size: 2rem;
        font-weight: 500;
        margin-bottom: 2.4rem;
    }
    .vvclub_tit{
        font: var(--mfont);
        line-height: 105%;
        letter-spacing: -0.4rem;
    }
        .vvclub_tit span{
        display: block;
        color: var(--vvc-main-color);
        }
.vvclub-visualWrap{
    width: 100%;
    max-width: 192rem;
    height: 72rem;
    background-image: url('/images/vvclub_back_visual.jpg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 6rem;
}
.vvclubContWrap{
    width: 100%;
    max-width: 120rem;
    margin: 0 auto 0;
}
    .vvclub-logo{
        width: 100%;
        text-align: center;
    }
    .vvclub-logo img{
        max-width: 12rem;
    }
    .vvclubtop-tit{
        text-align: center;
        margin-top: 2.4rem;
    }
        .vvclubtop-tit dt{
            font: var(--mfont);
            color: #fff;
            line-height: 115%;
            letter-spacing: -0.25rem;
        }
        .vvclubtop-tit dt span{
            display: block;
            color: var(--vvc-main-color);
        }    
        .vvclubtop-tit dd{
            font-size: 2rem;
            color: #fff;
            margin-top: 1.2rem;
        }

    .vvclubtop-descrpt{
        display: block;
        margin-top: 3.2rem;
    }
        .vvc-descrpt-sbj{
            width: 100%;
            max-width: 60rem;
            margin: 0 auto 0;
            display: block;
            background: #fff;
            border-radius: 0.8rem;
        }
            .vvc-descrpt-sbj__tit{
                background: #262135;
                text-align: center;
                font-size: 1.8rem;
                color: #fff;
                font-weight: 500;
                padding: 1.8rem 0 1.8rem;
            }
            .vvc-descrpt-sbj__txt{
                font-weight: 500;
                text-align: left;
                font-size: 1.5rem;
                color: #444;
                padding: 2.4rem 3.2rem;
            }
            .vvc-descrpt-sbj__txt div{
                display: flex;
                /* align-items: center; */
                gap: 1.2rem;
                width: 100%;
                margin-bottom: 0.8rem;
            }
            .vvc-descrpt-sbj__txt div:last-child{
                margin-bottom: 0;
            }
                .vvc-descrpt-sbj__txt div span{
                    display: block;
                    text-align: left;
                }
                    span.smtit{
                        font-weight: 700;
                        position: relative;
                        max-width: 3rem;
                        width: 20%;
                    }
                    span.smtit::after{
                        content: "│";
                        position: absolute;
                        padding-left: 1.2rem;
                        top: -0.2rem;
                    }
                    span.smtxt{
                        padding-left: 2.4rem;
                    }


section.vvclubContents{
    max-width: var(--content-width);
    width: 100%;
    margin: 4.8rem auto 0;
}
    .vvclubContents-box{
        display: flex;
        justify-content: center;
        gap: 2rem;
        padding: 0 2.4rem;
    }
    .box-textcontent{
        max-width: 56rem;
        width: 100%;
        border: 1px solid #E5E5E5;
        box-shadow: 0.6rem 0.8rem 1.6rem rgba(0,0,0,0.1);
        text-align: center;
        padding: 3.2rem 4rem;
        display: grid;
        align-content: space-between;
        border-radius: 0.8rem;    
    }
        .box-textcontent-tit{
            font: var(--sfont);
            letter-spacing: -0.25rem;
            line-height: 120%;
            margin-top: 2.4rem;
        }
        .box-textcontent-tit span{
            color: var(--vvc-main-color);
        }
        .box-textcontent-txt{
            font-size: 1.6rem;
            font-weight: 500;
            color: #333333;
            margin-top: 1.6rem;
            line-height: 140%;
        }
        .box-textcontent-img img{height: 12rem; margin-top: 2.4rem;}

/* 월별 주제 프로그램 계획 */
.mth-programWrap{
    max-width: var(--content-width);
    margin: 7.2rem auto 0;
}
    .vv-contents-grp-tit{
        font-size: 3.2rem;
        text-align: center;
    }
        .vv-contents-grp-tit span{font-weight: 800;}   

    .mth-program{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.7rem;
        margin-top: 3.2rem;
    }
        .mth-program-box{
            width: 100%;
            max-width: 27.2rem;
            text-align: center;
            border-radius: 0.6rem;
            box-shadow: 0.6rem 0.8rem 1.6rem rgba(0, 0, 0, 0.1);
        }
        .mth-program-box dd{
            padding: 2.4rem 0;
            font-size: 1.4rem;
            color: #555;
            font-weight: 600;
        }
            .mth_tit{
                color: #fff;
                padding: 1.2rem 0;
                background: var(--vvc-main-color);
            }
            .box_tit{
                display: block;
                font-weight: 700;
                color: #333;
                font-size: 1.7rem;
                margin-bottom: 1.2rem;
            }
    .mth-program-desc{
        text-align: right;
        color: #888;
        margin-top: 2.4rem;
        font-size: 1.45rem;
        font-weight: 500;
    }
    .vvclub-infoWrap{
        max-width: var(--content-width);
        margin: 7.2rem auto 0;
        padding-top: 4rem;
        border-top: 1px solid #D9D9D9;
    }
        .vv-contents-grp-stxt{
            font-weight: 500;
            font-size: 1.6rem;
            line-height: 130%;
            color: #777;
            text-align: center;
            margin-top: 1.4rem;
        }
    a.vvclubvbtn{
        display: block;
        width: 100%;
        color: #fff;
        max-width: 36rem;
        margin: 2.4rem auto 0;
        padding: 2.8rem 1.2rem;
        font-size: 1.8rem;
        text-align: center;
        background: linear-gradient(90deg, #0D8442, #196734, #0D8442);
        background-size: 300% 100%;
        transition: background-position 0.5s ease, transform 0.3s ease;        
    }
    a.vvclubvbtn:hover{
        background-position: 100% 0;
        transform: translateY(-2px);
    }
.custmWrap{
    margin-top: 5.6rem;
    background: #F5F5F5;
    display: flex;
    gap: 0.4rem;
    align-items: center;
    justify-content: center;
    padding: 1.6rem 0;
}
    .custmWrap span{
        line-height: 2.4rem;
        margin-left: 1.2rem;
    }
    .custmWrap span img{height: 2.4rem;}