@charset "UTF-8";
/* CSS Document */


/* input style */
input,select{box-sizing:border-box;font-size:16px;}
.s_text{margin-top:5px;}
.checkmsg{font-size:12px;color:#666;}
.join_terms .text_container .title_section{width:100%;background-color:#001c54;color:#fff;padding:5px 0 5px 10px;margin:20px 0 40px 0;font-size:18px;}
.join_form .table_wrap .title_section{width:100%;background-color:#001c54;color:#fff;padding:5px 0 5px 10px;margin:20px 0 40px 0;font-size:18px;}
.join_form .table_wrap .program_select>div{display:flex;justify-content:space-between;flex-wrap:wrap;margin-bottom:20px;}


/*############ join ############*/
/*----- join_info -----*/

/* table */
.join_info .table1 tr > *:nth-child(3) { width: 20%; }
.join_info .table1 .exhibit_booth_img { width: 100%; }
.join_info .table1 .exhibit_booth_img > img { width: 100%; }
.join_info .table2 .w16 > th { width: 16.5%; }


/*----- join_terms -----*/
.join_terms .text_container { max-width: 1400px; }
.join_terms .text_container .text_box { margin: 0 auto 20px auto; height: 500px; padding: 30px 40px; line-height: 1.5; border: 1px solid #dfdfe1; color: #777777; overflow: scroll; }
.join_terms .text_container .txt { margin-bottom: 10px; font-size: 18px; text-align: center; font-weight: bold; }
.join_terms .text_container .checkbox_wrap_style { margin-bottom: 10px; line-height: 1.4; justify-content: flex-start; }
.join_terms .text_container .checkbox_wrap_style input { margin-top: 8px; }

.join_terms .btn_wrap { margin-bottom: 50px; display: flex; justify-content: center; }
.join_terms .btn_wrap > a { width: 320px; max-width: 80%; height: 70px; border-radius: 35px; font-size: 23px; color: #ffffff; font-weight: 900; background-color: #0070a8; display: flex; align-items: center; justify-content: center; }


/*----- join_form -----*/
.join_form > .center_inner { max-width: 1400px;}
.join_form .table_wrap { margin-bottom: 50px; }
.join_form .table_wrap .s_txt { margin-bottom: 5px; }
.join_form .table_wrap .info_text { line-height: 1.4; }
.join_form table .text_right { text-align: right; }
.join_form table .text_center { text-align: center; }
.join_form table caption { text-align: left;font-size:22px;font-weight: bold;line-height:1.6;}
.join_form table caption > span {font-size: 14px; font-weight: normal;}

/* input style */
.join_form .table_wrap input[type=text] { width: 100%;height: 45px; padding: 0 10px; font-size: 17px; border: 1px solid #d9d9d9; background-color: #f9f9f9; }
.join_form .table_wrap input[type=password] { width: 100%;height: 45px; padding: 0 10px; font-size: 17px; border: 1px solid #d9d9d9; background-color: #f9f9f9; }
.join_form .table_wrap input[type=tel] { width: 100%;height: 45px; padding: 0 10px; font-size: 17px; border: 1px solid #d9d9d9; background-color: #f9f9f9; }
.join_form .table_wrap input[type=email] { width: 100%;height: 45px; padding: 0 10px; font-size: 17px; border: 1px solid #d9d9d9; background-color: #f9f9f9; }

.join_form .table_wrap select { width: 100%; height: 45px; padding: 0 10px; border: 1px solid #d9d9d9; background-color: #f9f9f9; }
.join_form .table_wrap button { height: 80px; }

.join_form .table_wrap .checkbox_set_list > .checkbox_set { margin-right: 15px; width:150px; }

.join_form .table_wrap .checkbox_set_list > .checkbox_set { margin-right: 15px;  }
.join_form .table_wrap .checkbox_set { cursor: pointer;   }
.join_form .table_wrap .checkbox_set > input { margin: 10px 5px 10px 0; }
.join_form .table_wrap .checkbox_set2 { margin-top: -10px; display: flex; align-items: center; }
.join_form .table_wrap .checkbox_set2 >  input[type=text] { width: 150px; max-width: 50%; height: 30px; margin-left: 10px; font-size: 14px; }

.join_form .table_wrap .radio_set { margin: 10px 0; display: flex; flex-wrap: wrap; cursor: pointer; }
.join_form .table_wrap .radio_set > input { margin-right: 5px; }
.join_form .table_wrap .radio_set span { width: 100%; margin: 5px 0 0 20px; font-size: 0.8em; }

.join_form .table_wrap .input_set { display: flex; }
.join_form .table_wrap .input_set2 { display: flex; justify-content: space-between;}
.join_form .table_wrap .input_set2 > input[type=text] { width: 49%; }
.join_form .table_wrap .input_set2 > input[type=password] { width: 49%; }
.join_form .table_wrap .input_text_set { display: flex; align-items: center; justify-content: space-between; }

.join_form .table_wrap .input_set_address input[type=text] { margin: 3px 0; }
.join_form .table_wrap .input_set_address .address { display: flex; align-items: center; }
.join_form .table_wrap .input_set_address .address > input[type=text] { max-width: 150px; }
.join_form .table_wrap .input_set_address .address > button { margin: 3px 3px; padding: 0 10px; color: #ffffff; background-color: #000000; }

.join_form .table_wrap .input_set_image_upload { display: flex; align-items: center; }
.join_form .table_wrap .input_set_image_upload button { margin: 3px 3px; padding: 0 15px; color: #ffffff; background-color: #444444; }

.join_form .table_wrap .dietary_wrap td {border: none; padding-bottom: 0px;}
.join_form .table_wrap .allergy_input_wrap td {display: flex; align-items: center; padding-top: 10px;}
.join_form .table_wrap input[type=text].allergy_input {border: none; border-bottom: 1px solid #000; background-color: transparent;width: 50%;}

ul.wire_transfer_wrap input {border: none; border-bottom: 1px solid #000; background-color: transparent;}
ul.wire_transfer_wrap, ul.credit_wrap { margin-bottom: 20px; list-style: disc; font-size: 14px; font-weight: normal;}
ul.wire_transfer_wrap li, ul.credit_wrap li {margin-left: 24px; }
ul.wire_transfer_wrap span, ul.credit_wrap span {font-size: 18px; font-weight: bold;}

/* form_table_style */
.form_table_style { width: 100%; margin-bottom: 10px; border-top: 2px solid #0dace6; font-size: 14px; }
.form_table_style th { padding: 25px 15px; border-bottom: 1px solid #d1d1d1; background-color: #f3f8fd; vertical-align: middle; }
.form_table_style td { padding: 25px 15px; border-bottom: 1px solid #d1d1d1; vertical-align: middle; }
.form_table_style th > span {font-size: 18px; font-weight: bold;}
.form_table_style.payment_wrap td {text-align: center; }

/* form_table_style */
.form_table_styleA { width: 100%; margin-bottom: 10px; border-top: 2px solid #0dace6; font-size: 13px; }
.form_table_styleA th { padding: 25px 0px; border-bottom: 1px solid #d1d1d1; background-color: #f3f8fd; vertical-align: middle; }
.form_table_styleA td { padding: 25px 0px; border-bottom: 1px solid #d1d1d1; vertical-align: middle; }
.join_form .table_scroll_box { width: 100%; max-width: 100%; margin-bottom: 10px; overflow: scroll; -ms-overflow-style: none; scrollbar-width: none; }
.join_form .table_scroll_box::-webkit-scrollbar { display: none; }
.form_table_style_B { width: 100%; min-width: 800px; border-top: 2px solid #0dace6; }
.form_table_style_B th:first-child{ border-left: 1px solid #d1d1d1;  }
.form_table_style_B th { padding: 15px 10px; border-bottom: 1px solid #d1d1d1; border-right: 1px solid #d1d1d1; background-color: #f3f8fd; vertical-align: middle; }
.form_table_style_B td:first-child{ border-left: 1px solid #d1d1d1;  }
.form_table_style_B td { padding: 15px 10px; border-bottom: 1px solid #d1d1d1; border-right: 1px solid #d1d1d1; vertical-align: middle; }
.form_table_style_B .border_none { border-right: none!important; }
.form_table_style_B .table_title { font-size: 20px; color: #ffffff; font-weight: bold; background-color: #0dace6; }
.form_table_style_B .sum { background-color: #e3fde4; }
.form_table_style_B .sum2 { background-color: #f3f8fd; }


/* text_box */
.join_form .text_box { padding: 30px 20px; border-top: 2px solid #2e9182; border-bottom: 1px solid #888888; }
.join_form .text_box .txt { line-height: 1.7; }
.join_form .text_box ul { display: flex; align-items: center; justify-content: center; }
.join_form .text_box ul > li { margin: 0 20px; display: flex; align-items: center; }
.join_form .text_box ul > li > div { display: flex; align-items: center; }
.join_form .text_box ul > li > div:nth-child(1) { height: 36px; margin-right: 10px; border-radius: 18px; padding: 0 20px; color: #ffffff; text-align: center; font-weight: 900; background-color: #000000; display: flex; align-items: center; justify-content: center; }

/* btn_wrap */
.join_form .btn_wrap { margin-bottom: 50px; display: flex; justify-content: center; }
.join_form .btn_wrap > button {    width: 80%;
    max-width: 300px;
    padding: 10px 0;
    border-radius: 20px;
    background-color: #09007d;
    color: #ffffff;
    text-align: center; }
.join_form .btn_wrap > a { width: 25%; height: 40px; margin: 0 5px; border-radius: 20px; border: 1px solid #0070a8; color: #0070a8; font-weight: bold; display: flex; align-items: center; justify-content: center; }
.join_form .btn_wrap > a > img { width: 30px; margin-left: 10px; }



/*############ registration ############*/
/*----- registration_info -----*/
/* table */
.registration_info .table1 tr > *:nth-child(2) { width: 80%; }
.registration_info .table1 .step_img_wrap { width: 100%; }
.registration_info .table1 .step_img_wrap > img { width: 100%; }
.registration_info .table1 .pc_view { display: block; }
.registration_info .table1 .mobile_view { display: none; }

/* text box */
.registration_info .text_box1 { display: flex; align-items: center; }
.registration_info .text_box1 .img_wrap { width: 40%; display: flex; align-items: center; justify-content: center; }
.registration_info .text_box1 .img_wrap > img { width: 80%; max-width: 270px; }
.registration_info .text_box1 .text_wrap { width: 60%; padding: 0 20px; }

.registration_info .text_box1 .text_wrap .s_tit { text-align: center; }
.registration_info .text_box1 .text_wrap .input_set > div:nth-child(1) { margin: 10px 0; }
.registration_info .text_box1 .text_wrap .input_set > div:nth-child(2) { display: flex; align-items: center; }


/*----- registration_join -----*/
.registration_join .radio_btn_wrap { display: flex; flex-wrap: wrap; }
.registration_join .radio_btn_wrap .radio_set { margin-right: 20px; }
.registration_join .input_wrap { display: flex; align-items: center; }


/*----- registration_map -----*/
.registration_map .map_box { width: 100%; padding-bottom: 60%; border: 1px solid #c4c4c4; overflow: hidden; position: relative; }
.registration_map .map_box > div { width: 100%; height: 100%; position: absolute; top: 0; left: 0;}

@media all and (max-width:1000px) {
.join_form .table_wrap .allergy_input_wrap td {flex-wrap: wrap;}
.join_form .table_wrap input[type=text].allergy_input {width: 100%;}
}

@media all and (max-width:920px) {

    /*############ join ############*/
    /*----- join_info -----*/
    /* join_step */
    .join_info .join_step { flex-wrap: wrap; justify-content: center; }
    .join_info .join_step > li { margin: 15px 0; }
    .join_info .join_step > li:nth-child(odd) { width: 40%; }
    .join_info .join_step > li:nth-child(even) { width: 5%; }
    .join_info .join_step > li:nth-child(4) { display: none; }
    .join_info .join_step > li .s_tit { font-size: 16px; }
    .join_info .join_step > li .image { margin: 10px 0; }

    /* bank account */
    .join_info .bank_account_wrap { flex-direction: column; }
    .join_info .bank_account_wrap > li {  margin: 10px 0; }

    /*----- join_terms -----*/
    .join_terms .text_container .text_box { margin: 0 auto 15px auto; padding: 20px 20px; }
    .join_terms .btn_wrap > a { height: 50px; border-radius: 25px; font-size: 18px; }

    /*----- join_form -----*/
    .join_form .text_box ul { flex-direction: column; }
    .join_form .text_box ul > li { margin: 10px 0; }


    /*############ registration ############*/
    /*----- registration_info -----*/
    /* table */
    .registration_info .table1 .pc_view { display: none; }
    .registration_info .table1 .mobile_view { display: block; }

    /* text box */
    .registration_info .text_box1 .img_wrap { display: none; }
    .registration_info .text_box1 .text_wrap { width: 100%; padding: 0 10px; }


    /*############ board ############*/
    /*----- board_notice -----*/
    /* notice_group_btn_wrap */
    .board_notice .notice_group_btn_wrap > li { height: 35px; }
    .board_notice .notice_group_btn_wrap > li > a { font-size: 16px; }


    /*----- board_photo -----*/
    .board_photo .photo_list > li { width: 50%; }

}

@media all and (max-width:620px) {
  
    /*############ join ############*/
    /*----- join_info -----*/
    .join_info .bank_account_wrap > li > div { flex-direction: column; align-items: flex-start; }
    .join_info .bank_account_wrap > li > div img { width: 100px; }
    .join_info .bank_account_wrap > li > div:nth-child(1) { margin-right: 5px; padding: 0 15px; }

    /*----- join_terms -----*/
    .join_terms .text_container .text_box { height: 320px; margin: 0 auto 15px auto; padding: 15px 15px; }
    .join_terms .btn_wrap > a { font-size: 15px; }

    /*----- join_form -----*/
    /* input style */
    .join_form .table_wrap input[type=text] { height: 40px; }
    .join_form .table_wrap select { height: 40px; }
    .join_form .table_wrap button { height: 40px; }
.join_form .table_wrap .input_set2 > input[type=password]
    .join_form .table_wrap .input_set2 { flex-direction: column; }
    .join_form .table_wrap .input_set2 > input[type=text] { width: 100%; margin: 3px 0; }
.join_form table caption { text-align: left;font-size:18px;font-weight: bold;line-height:1.6;}

    /* form_table_style */
    .form_table_style { font-size: 14px; }
    .form_table_style th { width:100%; padding: 10px 5px; display: block; }
    .form_table_style td { width:100%; padding: 10px 5px 20px 5px; display: block;}

    .form_table_style_B th { padding: 5px 2px; font-size:11px; }
    .form_table_style_B td { padding: 5px 2px; font-size:11px; }

    /* text_box */
    .join_form .text_box { padding: 15px 10px; }
    .join_form .text_box ul > li > div { flex-direction: column; align-items: flex-start; }
    .join_form .text_box ul > li > div img { width: 100px; }
    .join_form .text_box ul > li > div:nth-child(1) { margin-right: 5px; padding: 0 15px; }

    /* btn_wrap */
    .join_form .btn_wrap { flex-direction: column; align-items: center; }
    .join_form .btn_wrap > button { width: 50%; margin: 5px 0; }
    .join_form .btn_wrap > a { width: 50%; margin: 5px 0; }
}
.submit{background-color:#0173ba;color:#fff;font-size:18px;border-radius:10px;display:flex;justify-content:center;align-items:center;width:260px;height:50px;margin:0 15px;}
.input-field{width:100%;padding:10px 35px 10px 10px;font-size:16px;border:2px solid #ccc;border-radius:6px;margin-bottom:8px;box-sizing:border-box;}
.select-box{width:100%;padding:12px;font-size:18px;border:2px solid #aaa;border-radius:6px;background-color:#fff;box-sizing:border-box;max-height:400px;overflow-y:auto;cursor:pointer;height:200px;}
.select-box option{padding:10px 14px;font-size:16px;}
.select-box option:hover,.select-box option:focus{background-color:#f0f0f0;color:#000;}
.select-box option:checked{background-color:#007bff;color:#fff;}
.clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:20px;cursor:pointer;color:#888;}
.clear-btn:hover{color:#000;}

  .btn_wrap{
  
  }

    
  /* 빨간 테두리 */
  .error-border { border: 2px solid #ff3b30 !important; }
  /* 흔들기 애니메이션 */
  .shake { animation: shake 0.5s; }
  @keyframes shake {
    0%,100% { transform: translateX(0); }
    20%,60% { transform: translateX(-8px); }
    40%,80% { transform: translateX(8px); }
  }


/* =================================
   결제 폼 메인 스타일
   ================================= */

.registration_payment_box { border: 1px solid #ddd; padding: 20px; margin: 20px 0 40px 0; border-radius: 5px; }

.registration_payment_box_title { font-size: 18px; font-weight: bold; margin-bottom: 10px; }

.method_field { border: none; padding: 0; margin: 0; }

/* =================================
   결제 방법 선택
   ================================= */

.payment_methods { display: flex; flex-direction: column; gap: 10px; }

.payment_option { display: flex; align-items: center; gap: 10px; font-size: 16px; }

.payment_option input[type="radio"] { margin: 0; }

.payment_option label { cursor: pointer; }

.payment_notice { font-size: 12px; color: #666; margin-top: 10px; line-height: 1.4; }

/* =================================
   결제 세부사항 (신용카드, 계좌이체)
   ================================= */

.credit_wrap, 
.wire_transfer_wrap { list-style: none; padding: 15px; margin: 15px 0; border: 1px solid #ddd; border-radius: 5px; }

.credit_wrap span, 
.wire_transfer_wrap span { font-weight: bold; font-size: 16px; display: block; margin-bottom: 10px; color: #333; }

.credit_wrap li { margin: 8px 0; padding-left: 15px; }

.wire_transfer_wrap li { margin: 8px 0; padding-left: 0; }

.wire_transfer_wrap label { display: block; margin-bottom: 5px; font-weight: bold; }

.wire_transfer_wrap input[type="text"] { width: 100%; padding: 8px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }

/* =================================
   알림 및 공지사항
   ================================= */

.notice {border: 1px solid #ffeaa7; border-radius: 5px; padding: 15px; margin-bottom: 40px; }

.notice h4 { margin-top: 0; color: #856404; font-size: 18px; font-weight: bold; display: flex; align-items: center; }

.notice h4 img { width: 18px; height: 18px; margin-right: 5px; }

.notice > div { display: flex; justify-content: space-around; background-color: #fcfcfc; padding: 10px; margin: 10px 0; border-bottom: 1px solid #ffeaa7; }

.notice > div:last-of-type { border-bottom: none; }

.notice > div > div { width: 49%; border: 1px solid #e0e0e0; border-radius: 10px; padding: 10px 0; text-align: center; }

.notice > div > div:nth-child(1) { background-color: #f6f6f6; }

.notice > div > div:nth-child(2) { background-color: #fff; font-weight: lighter; }

.notice ul {  list-style: disc; margin-top: 15px; }

.notice ul li { margin: 5px 0 5px 18px; }

/* =================================
   모달 팝업
   ================================= */

.modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background: rgba(0, 0, 0, 0.4); }

.modal-content { background: #fff; margin: 10% auto; padding: 20px; border: 1px solid #888; width: 400px; border-radius: 10px; }

.close { color: #aaa; float: right; font-size: 28px; font-weight: bold; cursor: pointer; }

/* =================================
   팝업 폼 스타일
   ================================= */

.popup_form { display: flex; flex-direction: column; gap: 15px; width: 100%; max-width: 400px; margin: 0 auto; }

.form_group { display: flex; flex-direction: column; }

.form_group label { font-size: 14px; font-weight: 600; margin-bottom: 5px; }

.form_group input[type="text"],
.form_group input[type="date"],
.form_group select { padding: 8px 10px; border: 1px solid #ccc; border-radius: 5px; font-size: 14px; }

.btn_submit { background-color: #007BFF; color: #fff; padding: 12px; border: none; border-radius: 5px; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color 0.2s; }

.btn_submit:hover { background-color: #0056b3; }

/* =================================
   유틸리티 클래스
   ================================= */

.hidden { display: none !important; }

.disabled { opacity: 0.5; pointer-events: none; }

/* =================================
   반응형 미디어 쿼리
   ================================= */

@media (max-width: 768px) {
    .payment_option { font-size: 15px; }
    .registration_payment_box_title { font-size: 16px; }
    .modal-content { width: 90%; margin: 20% auto; }
}