
.page_title{
    display:block;
    width:100%;
    text-align: center;
    margin:0 auto 42px;
    font-size:2.4rem;
    font-weight:700;
}
.page_title > span{
    display:block;
    width:100%;
    text-align: center;
    font-size:1.2rem;
    line-height:1em;
    margin-top:4px;
    font-weight:400;
}
.content_bx{
    display: flex;
    width: 100%;
    margin: 0 auto;
    max-width: 768px;
    flex-direction: column;
    justify-content: flex-start;
    align-content: flex-start;
}
.form_bx{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width:100%;
    margin:0 auto;
}
.form_bx > div{
    display:block;
    width:100%;
}
.form-label{
    font-size:1.2rem;
    color:#495057;
    line-height: 1em;
    margin-bottom:4px;
    font-weight:700;
}
.form-control{
    width:100%;
    padding:8px 12px;
    font-size:1.4rem;
    line-height:1em;
}
.btn.confirm{
    display:block;
    width:auto;
    padding:16px 24px;
    background:#0064FF;
    color:#fff;
    font-size:1.4rem;
    font-weight:700;
    line-height:1em;
    border-radius: 40px;
}
.text_link{
    display:block;
    width:auto;
    margin:0 auto;
    text-align: center;
    font-size:1.4rem;
    font-weight:500;
}
.sns_login_bx{
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}
.sns_login_bx > a{
    border:1px solid #CED4DA;
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding:8px 0;
    border-radius: 4px;
    width:100%;
}
.sns_login_bx > a > img{
    margin-right:8px;
}
.join_link_bx{
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.join_link_bx > p{
    font-size:1.4rem;
    line-height: 1em;
}
.join_link_bx > a{
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    background:#E7F5FF;
    color:#0064FF;
    font-weight: 700;
    font-size:1.4rem;
    line-height:1em;
    width:100%;
    padding:12px 0;
}
.join_link_bx > a > img{
    height: 1em;
    margin-right:8px;
}
#content.join_finish_bx{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height:100vh;
}
.join_finish_logo{
    display:block;
    height:35px;
    margin:62px auto 0;
}
.join_finish_txt{
    font-size:1.8rem;
    font-weight:700;
    height:1.2em;
    text-align: center;
    width:100%;
    align-self: center;
    margin:62px auto;
}
.link_bx{
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width:auto;
}
.pricecheck_bx{
    display: block;
    background:#F8F9FA;
    padding:24px 28px 16px;
    width:100%;
}
.pricecheck_form{
    display:flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}
.ask_bx{
    display:block;
    width:100%;
    margin:0 auto;
}
.ask_bx > li{
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width:100%;
    text-align: center;
}
.ask_bx > li > .number{
    text-align: center;
    font-weight: 900;
    color:#0064FF;
    font-size:1.8rem;
    line-height: 1em;
}
.ask_bx > li > .txt{
    font-size:1.4rem;
    line-height: 1em;
    font-weight:700;
}
.answer_bx{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width:240px;
    margin:0 auto;
}
.btn.price-check{
    border:1px solid #0064FF;
    color:#0064FF;
    background:#fff;
    border-radius: 40px;
    padding:16px 0px;
    width:calc(50% - 5px);
    font-size:1.4rem;
    line-height:1em;
    font-weight:400;
}
.btn.price-check:hover{
    border:1px solid #0064FF;
    color:#fff;
    background:#0064FF;
    font-weight:800;
}
.answer_bx > .btn-check:checked + label{
    border:1px solid #0064FF;
    color:#fff;
    background:#0064FF;
    font-weight:800;
}
.form_notice{
    font-size:10px;
    color:#495057;
    font-weight: 400;
    line-height:1em;
}
.link_bx > .collapse {
    width:100%;
}
.link_bx > .collapse > .card-body{
    width:100%;
}
.result_title{
    font-size: 2rem;
    text-align: center;
    font-weight: 700;
    line-height: 1em;
    color:#0064FF;
}
.result_price_bx{
    display: block;
    width:100%;
    background:#dce0e7;
    border-radius: 12px;
    padding:24px 16px;
}
.result_price_bx > dl{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    font-size:1.6rem;
    line-height:1em;
    margin-bottom:16px;
}
.result_price_bx > dl:last-child{
    margin-bottom:0;
}
.result_price_bx > dl > dt{
    font-weight:500;
}
.result_price_bx > dl > dd{
    font-weight: 700;
}
.lg_btn_bx{
    display: block;
    width:100%;
    margin:0 auto;
}
.btn.send_btn{
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-size:1.4rem;
    font-weight:600;
}
.btn.send_btn.kakao{
    background:#ffe600;
    color:#575757;
}
.btn.send_btn.message{
    background:#0064FF;
    color:#fff;
}
.btn.send_btn > img{
    margin-right:8px;
    height:30px;
}
.id_check{
    font-size: 1.2rem;
    color:#ff8787;
    font-weight:700;
    line-height:1.6em;
    padding-left:12px;
}
.input_row_bx{
    flex-wrap: wrap;
}
.form-label{
    width:100%;
}
.input_row_bx > .name_input_bx{
    width: calc(100% - 78px - 8px);
}
.input_row_bx > .name_input_bx input[type="text"]{
    width:100%;
    padding: 8px 12px;
    font-size: 1.4rem;
    line-height: 1.2em;
    border-radius: 8px;
    border: 1px solid #DEE2E6;
}
.input_row_bx > .gender_input_bx{
    width:78px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.gender_input_bx input[type="radio"] + label{
    background:#fff;
    color:#495057;
    width:37px;
    height:36px;
    text-align: center;
    border:1px solid #DEE2E6;
    border-radius: 8px;;
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    line-height: 1em;
    font-size:1.4rem;
}
.gender_input_bx input[type="radio"]:checked + label{
    background:#0064FF;
    color:#fff;
    border:1px solid #0064FF
}
.form-select{
    font-size:1.4rem;
    padding:8px 12px;
    border:1px solid #DEE2E6;
    border-radius: 8px;
}

.btn.confirm.cancel{
    background:#CED4DA;
    border:1px solid #CED4DA;
    color:#fff;
    margin-right:8px;
}
.button_bx{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
;
}
.mypage_bx{
    height:calc(100vh - 70px - 53px - 58px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
}
.my_page_list{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width:100%;
}
.my_page_list > li{
    display: block;
    width:100%;
    margin:12px 0;
}
.my_page_list > li > a{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    font-size:1.8rem;
    font-weight:600;
}
.my_page_list > li > a > img{
    margin-right:8px;
}
.doc_list{
    display:flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width:100%;
    font-size:1.2rem;
    color:#868E96;
    padding-bottom:24px;
}
.doc_list > li:nth-child(2){
    padding:0 16px;
    position: relative;
}
.doc_list > li:nth-child(2)::before{
    content:'/';
    display: block;
    position:absolute;
    left:6px;
    top:0;
}
.doc_list > li:nth-child(2)::after{
    content:'/';
    display: block;
    position:absolute;
    right:6px;
    top:0;
}
.doc_list > li > a{
    color:#868E96;
}
.modal-content.drop{
    border-radius: 24px;
    overflow: hidden;
    width:288px;
    margin:0 auto;
}
.modal .modal-header.drop{
    background: #fff;
    color: #444;
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    border-bottom: 0;
    font-size:1.8rem;
    font-weight:700;
    padding-top:32px;
}
.notice .modal-body.drop{
    height:auto;
    text-align:center;
    margin:48px 0;
    padding:0;
}
.modal-footer.drop{
    justify-content: center;
    align-items: center;
    border:0;
    margin:0;
    padding-bottom:32px;
}
.modal-content.edit{
    margin-top:inherit;
}
.notice .modal-body.edit{
    height:auto;
}
.ins_notice_bx{
    background:#F1F3F5;
    padding:24px 16px 56px;
}
.ins_notice_bx > .name{
    font-size:1.8rem;
    color:#0064FF;
    line-height: 1em;
    font-weight: 700;
    width:100%;
    text-align: center;
}
.ins_notice_bx > .ins_date{
    font-weight: 700;
    font-size:2rem;
    width:100%;
    text-align: center;
    display: block;
    line-height:1em;
}
.ins_notice_bx > .ins_update_txt{
    font-size:1.6rem;
    line-height:1em;
    font-weight: 700;
    text-align: center;
    width:100%;
    display: block;
    margin-bottom:40px;
}
.ins_price_result .accordion-button,
.ins_notice_bx > .ins_title,
.total_bx > .notice_bx_title{
    font-size:1.8rem;
    font-weight: 800;
    text-align: left;
}
.total_bx{
    background:#fff;
    padding:16px 16px 24px 16px;
    border-radius: 16px;;
}
.total_bx > ul{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width:100%;;
}
.total_bx > ul > li{
    padding: 4px 24px;
    border-radius: 8px;
    background:#F1F3F5;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width:100%;
    margin-bottom:16px;
}
.total_bx > ul > li:last-child{
    margin-bottom:0;
}
.total_bx > ul > li > .price{
    font-size:1.6rem;
    font-weight: 600;
}
.total_bx > ul > li > .price.first{
    color:#C92A2A;
}
.total_bx > ul > li > .price.second{
    color:#0064FF;
}
.total_bx > ul > li > .price.third{
    color:#495057;
}
.total_bx > ul > li > img{
    height:14px;
    display: block;
}
.ins_price_result > .accordion-item{
    border-radius: 16px;
    overflow: hidden;
    border:0;
}
.ins_price_result .accordion-button:not(.collapsed){
    background:none;
}
.result_list{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items: flex-start;
    width:100%;
}
.result_list > li{
    display: block;
    width:100%;
    margin-bottom:16px;
}
.result_list > li:last-child{
    margin-bottom:0;
}
.result_list > li > a{
    display:flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding:4px 24px;
    background:#fff;
    border-radius: 12px;
    position:relative;
}

.result_list > li > a::after{
    display: block;
    content:'';
    border-left:2px solid #333;
    width:1px;
    height:8px;
    position: absolute;
    top:50%;
    right:16px;
    transform: translateY(-100%) rotate(-45deg);
}
.result_list > li > a::before{
    display: block;
    content:'';
    border-left:2px solid #333;
    width:1px;
    height:8px;
    position: absolute;
    top:50%;
    right:16px;
    transform: translateY(-25%) rotate(45deg);
}
.result_list > li > a > .date{
    font-size:14px;
    line-height:1em;
    text-align: left;
}
.result_list > li > a > .name{
    font-weight:800;
    display:block;
    max-width:120px;
    min-width:90px;
    width:30%;
    padding:0 16px;
    margin:0 16px;
    text-align: center;
    position:relative;
}
.result_list > li > a > .name::before{
    display:block;
    content:'';
    width:1px;
    height:14px;
    position:absolute;
    top:50%;
    left:0;
    background:#d0d0d0;
    transform: translateY(-50%);
}
.result_list > li > a > .name::after{
    display:block;
    content:'';
    width:1px;
    height:14px;
    position:absolute;
    top:50%;
    right:0;
    background:#d0d0d0;
    transform: translateY(-50%);
}
.event_list{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    width: 100%;
    padding:16px;
}
.event_list > li{
    display: block;
    width: calc(50% - 8px);
    margin-right:16px;
    margin-bottom:24px;
}
.event_list > li:nth-child(even){
    margin-right:0;
}
.event_list > li > a{
    display:block;
    width:100%;
}
.promote_img{
    display:block;
    width:100%;
    margin-bottom:12px;
}
.promote_img > img{
    display:block;
    width:100%;
}
.promote_txt{
    display:block;
    width:100%;
    padding:0 8px;
}
.promote_txt > .title{
    display:block;
    width:100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow:hidden;
    font-size:2rem;
    font-weight: 800;
    line-height: 1em;
    margin-bottom:8px;
}
.promote_txt > .period{
    font-size:1.4rem;
    color:#495057;
    line-height:1em;
}
.view_page_wrap{
    display:block;
    width:100%;
    padding: 16px;
}
.info_wrap{
    border-top:2px solid #0064FF;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-star;
    padding:16px;
    background:#0064FF08;
}
.info_wrap > .title{
    font-size:2.4rem;
    font-weight:800;
    line-height: 1.2em;
    margin-bottom:16px;
}
.info_wrap > .period{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    width:100%;
    font-size:1.3rem;
    line-height:1em;
}
.info_wrap > .period > .title{
    padding-right:16px;
    margin-right:16px;
    border-right: 1px solid #666;
}
.content_wrap{
    padding:32px 0;
    display: block;
    width:100%;
    border-top:1px solid #0064FF80;
    border-bottom:1px solid #0064FF80;
}
.content_wrap > img{
    display:block;
    width:100%;
    margin: 8px auto;
}
.content_wrap > .apply_btn{
    margin:48px auto 0;
    background:#0064FF;
    color:#fff;
    font-size: 2rem;
    text-align: center;
    line-height: 1em;
    padding:16px 32px;
    display: block;
    width:60%;
    font-weight:600;
    border-radius: 4px;
}
.view_page_wrap > .btn_wrap{
    border-bottom:2px solid #0064FF;
    padding:16px;
    display:block;
    width:100%;
}
.view_page_wrap > .btn_wrap > ul{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    align-items: stretch;
    width:100%;
}
.view_page_wrap > .btn_wrap > ul > li{
    margin-left:8px;
}
.view_page_wrap > .btn_wrap > ul > li > a{
    display:block;
    width:100%;
    padding:4px 8px;
    border:1px solid #0064ff;
}
.view_page_wrap > .btn_wrap > ul > li > a.list{
    background:#0064FF;
    color:#fff;
}

/*----------서브페이지 반응형*/

@media (min-width:768px){
    #content{
        padding:82px 0 0;
        max-width:1024px;
    }
    .page_title{
        margin-top:32px;
    }
    #content.join_finish_bx{
        transform: translateY(-80px);
    }
    .event_list > li{
        width: calc(50% - 16px);
        margin-right: 32px;
        margin-bottom: 32px;
    }

    #footer {
        padding:10px 0 0;
        max-width:1024px;
    }
}
/*-----------------------------프리셋*/
.mb-8{
    margin-bottom:8px !important;
}
.mb-16{
    margin-bottom:16px !important;
}
.mb-24{
    margin-bottom:24px !important;
}
.mb-40{
    margin-bottom:40px;
}
.flex-r-j-center{
    display:flex !important;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.flex-c{
    flex-direction:column !important;
}
.w-100{
    width:100% !important;
}
/*new form*/
.new-form-group input[type=text]{

}
.new-form-group input[type=text]{
    width: 100%;
    padding: 8px 12px;
    font-size: 1.4rem;
    line-height: 1.2em;
    border-radius: 8px;
    border: 1px solid #DEE2E6;
}
.new-form-group {
    display: flex;
    justify-content: space-between;
    gap:5px;
}
.new-form-group > div > div {
    display: flex;
    justify-content: space-between;
    gap:5px;
}
.new-form-group > div > div > input[type=radio] {
    display:none;
}
.new-form-group > div > div input[type=radio]:checked+label{
    background: #0064FF;
    color: #fff;
    border: 1px solid #0064FF;
}


.new-form-group > div > div > label {
    width: 50%;
    padding: 8px 12px;
    font-size: 1.4rem;
    line-height: 1.2em;
    border-radius: 8px;
    border: 1px solid #DEE2E6;
    text-align: center;
}
.new-form-group > div {
    display: flex;
    flex-direction: column;
    width: 50%;
}