/* Firefox */
html {
    scrollbar-width: thin;
    scrollbar-color: #8E8BD8 #45439A;
}

/* Chrome, Edge, Safari */
html::-webkit-scrollbar {
    width: 12px;
}

html::-webkit-scrollbar-track {
    background: linear-gradient(
        180deg,
        #4C4B9D 0%,
        #45439A 50%,
        #383785 100%
    );
}

html::-webkit-scrollbar-thumb {
    background: linear-gradient(
        180deg,
        #9B98E8 0%,
        #7C77D9 100%
    );
    border-radius: 999px;
    border: 2px solid #45439A;
}

html::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(
        180deg,
        #E8BDD0 0%,
        #948FE6 100%
    );
}

html::-webkit-scrollbar-corner {
    background: #45439A;
}
section.container.form_page.sign_up input[type="text"], section.container.form_page.sign_up input[type="password"], section.container.form_page.sign_up input[type="email"], section.container.form_page.sign_up select,input,select{
    border: 1px solid #424190;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

input:focus,
select:focus{
    border-color: #424190;
    outline: none;
    box-shadow: 0 0 0 4px rgba(66, 65, 144, 0.12);
    background-color: #fff;
}

.red_txt{
    color: #d93b3b !important;
}

.sub_btn_box{
    display: flex;
    align-items: center;
    gap: 0;
    /* padding: 6px; */
    background: #f0f0f0;
    border-radius: 999px;
    width: fit-content;
    margin: 0 auto 40px auto;
}

.sub_btn_box a{
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    height: 48px;
    padding: 0 24px;
    border-radius: 999px;
    background: transparent;
    color: #222;
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sub_btn_box a.on{
    background: #424190;
    color: #fff;
    font-weight: 700;
}

/* 활성 탭 hover */
.sub_btn_box a.on:hover{
    background: #47479f;
    color: #fff;
}

/* 비활성 탭 hover */
.sub_btn_box a:not(.on):hover{
    background: rgba(255,255,255,0.45);
    color: #222;   /* hover 때도 흰색 안 되게 고정 */
}

.sub_nav_mobile{
    display: none;
    position: relative;
    /* top: -40px; */
    margin: 0 0 24px;
}

.sub_nav_mobile_btn{
    width: 100%;
    height: 48px;
    padding: 0 18px;
    border: 1px solid #424190;
    border-radius: 14px;
    background: #fff;
    color: #424190;
    font-size: 15px;
    font-weight: 600;
    text-align: left;
    position: relative;
}

.sub_nav_mobile_btn .arrow{
    position: absolute;
    right: 16px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #424190;
    border-bottom: 2px solid #424190;
    transform: translateY(-65%) rotate(45deg);
}

.sub_nav_mobile_list{
    display: none;
    margin-top: 8px;
    padding: 8px;
    border: 1px solid #d9d9e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

.sub_nav_mobile.open .sub_nav_mobile_list{
    display: block;
}

.sub_nav_mobile_list a{
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    color: #222;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.4;
}

.sub_nav_mobile_list a + a{
    margin-top: 4px;
}

.sub_nav_mobile_list a.on{
    background: #424190;
    color: #fff;
    font-weight: 600;
}

.sub_nav_mobile_list a:not(.on):hover{
    background: #f4f4fb;
    color: #222;
}

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

    .sub_nav_mobile{
        display: block;
    }
}

.title_nav{
    position: relative;
    top: -54px;           /* .inner margin-top 만큼 위로 */

    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;

    font-size: 11px;
    font-weight: 400;
    line-height: 1;
    color: #9a9a9a;
    white-space: nowrap;
    z-index: 2;
}

.title_nav a{
    display: inline-flex;
    align-items: center;
    color: #9a9a9a;
    text-decoration: none;
}

.title_nav a:hover{
    color: #6f6f6f;
}

.title_nav span{
    color: #9a9a9a;
    font-size: 12px;
}

.title_nav .main_color.bold{
    color: #424190;
    font-weight: 600;
}

.title_nav img{
    display: block;
    width: 6px;
    height: auto;
    opacity: 0.75;
}

.title_nav img.home{
    width: 16px;
}

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

.cancel_btn{
    background-color: #cecece;
    border-color: #cecece;
    color: #fff;
    border-radius: 16px;
    font-size:20px;
    max-width: 200px;
    height: 70px;
}

.submit_btn{
    background-color: #424190;
    border-color: #424190;
    color: #fff;
    border-radius: 16px;
    font-size:20px;
    max-width: 200px;
    height: 70px;
}
.down_btn,
.go_btn {
  position: relative;
  border: none;
  border-radius: 12px;
  color: #FFFFFF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 560px;
  padding: 20px 24px;
  padding-left: 72px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.down_btn {
  background-color: #E36C6C;
}

.go_btn {
  background-color: #3191bf;
}

.down_btn > img,
.go_btn > img {
  position: absolute;
  left: 32px;
  top: 50%;
  width: 32px;
  transform: translateY(-50%);
  transition: transform 0.2s ease;
}

.down_btn > span,
.go_btn > span {
  display: block;
  width: 100%;
  text-align: center;
  color: #FFFFFF;
  font-weight: 700;
}

.table_btn {
    height: 24px;
    max-width: 160px !important;
    padding: 0 12px 0 38px !important;
    font-size: 16px;
    box-sizing: border-box;
    white-space: nowrap;
}

.table_btn > img {
    width: 18px;
    left: 14px;
}

.down_btn:hover {
  background-color: #cf5b5b;
  box-shadow: 0 6px 14px rgba(227, 108, 108, 0.22);
}

.go_btn:hover {
  background-color: #267aa1;
  box-shadow: 0 6px 14px rgba(49, 145, 191, 0.22);
}

.down_btn:hover > img {
  transform: translateY(-50%) translateY(2px);
}

.go_btn:hover > img {
  transform: translateY(-50%) translateX(2px);
}

.down_btn:active,
.go_btn:active {
  transform: translateY(1px);
}

.down_btn_wrap{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

/* hover */
@media (hover: hover) and (pointer: fine){
    .submit_btn:hover{
        background-color: #4d4cab;
        border-color: #4d4cab;
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(66, 65, 144, 0.22);
    }

    .cancel_btn:hover{
        background-color: #bdbdbd;
        border-color: #bdbdbd;
        transform: translateY(-2px);
        box-shadow: 0 8px 18px rgba(0, 0, 0, 0.10);
    }
}

/* click */
.submit_btn:active,
.cancel_btn:active{
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

.submit_btn:active{
    background-color: #393881;
    border-color: #393881;
}

.cancel_btn:active{
    background-color: #a9a9a9;
    border-color: #a9a9a9;
}

/* focus */
.submit_btn:focus-visible,
.cancel_btn:focus-visible{
    outline: none;
    box-shadow: 0 0 0 4px rgba(66, 65, 144, 0.14);
}

.style_2023.container.form_layout > div{
    margin: 100px auto 100px;
}
@media screen and (max-width:1200px) {
    .style_2023.container.form_layout > div{
        margin: 60px auto 60px;
    }
}

/* 회원가입 */

	/*ldh 작성*/
	.korea_only, .korea_radio{
		display:none;
	}
	.korea_only.on, .korea_radio.on{
		display:revert;
	}
	.mo_korea_only, .korea_radio{
		display:none;
	}
	.mo_korea_only.on, .korea_radio.on{
		display:revert;
	}

	.no_kor_only {
		display:none;
	}
	.no_kor_only.on {
		display:revert;
	}	
	.mo_no_kor_only{
		display:none;
	}
	.mo_no_kor_only.on{
		display:revert;
	}
	.ksola_signup {
		display:none;
	}
	.mo_ksola_signup {
		display:none;
	}
	.ksola_signup.on {
		display:revert;
	}
	.mo_ksola_signup.on{
		display:revert;
	}
	/*태그 오른쪽 정렬*/
	.checkbox_wrap {
		padding-top: 30px;
	}
	.checkbox_wrap ul {
		text-align:right;
	}
	.checkbox_wrap li {
		display:inline-block;
	}
	.checkbox_wrap li:last-child {
		margin-left:20px;
	}
	.mo_other_radio {
		display:none;
	}


	/*2022-05-09*/
	.select_others {
		margin-bottom:5px;
	}
	.input_others {
		display: none;
		width: 100px;
		float: right;
		
	}

	/* 2022-05-10 HUBDNC LJH2 수정 */
	.pc_only input.tel_number {width:96px;}
	.pc_only input.tel_numbers {width:115px;margin-left:2px;}
	.mb_only input.tel_numbers {margin-left: 10px;}
	.mb_only input.tel_number, .mb_only input.tel_numbers.tel_phone {width: 100px;}
	.mb_only input.tel_numbers.tel_phone2 {width: calc(100% - 220px);}
	
	@media screen and (max-width: 480px){
		.mb_only input.tel_number, .mb_only input.tel_numbers.tel_phone {width: calc(50% - 5px);}
		.mb_only input.tel_numbers.tel_phone2 {width: 100%; margin: 10px 0 0;}
	}

/* .korea_only td {
    padding: 14px 18px;
} */

.korea_only th {
    vertical-align: top;
    padding-top: 18px;
}

.address_box {
    width: 100%;
    max-width: 700px;
}

.address_row {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}

.address_row:last-child {
    margin-bottom: 0;
}

.address_box input[type="text"] {
    height: 36px;
    padding: 0 10px;
    background: #fff;
    color: #333;
    font-size: 14px;
    box-sizing: border-box;
    outline: none;
}

.address_box input[type="text"]:focus {
    border-color: #999;
}

.address_row.top #sample6_postcode {
    width: 108px;
    flex: none;
}

.address_row.top .btn_postcode {
    width: 108px;
    height: 36px;
    border: 1px solid #cfcfcf;
    background: #f7f7f7;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    box-sizing: border-box;
}

.address_row.top .btn_postcode:hover {
    background: #efefef;
}

.address_row .full {
    width: 100%;
}

#sample6_detailAddress,
#sample6_extraAddress {
    width: calc(50% - 4px);
}

.mo_address_box {
    width: 100%;
}

.mo_address_row {
    margin-bottom: 8px;
}

.mo_address_row:last-child {
    margin-bottom: 0;
}

.mo_address_row.top {
    display: flex;
    gap: 6px;
}

.mo_address_row input[type="text"] {
    width: 100%;
    height: 40px;
    padding: 0 12px;
    box-sizing: border-box;
    font-size: 14px;
    background: #fff;
}

.mo_address_row.top input[type="text"] {
    flex: 1;
}

.mo_address_row.top .btn_postcode {
    width: 110px;
    height: 36px;
    border: 1px solid #424190;
    background-color: #f4f3ff;
    color: #424190;
    font-size: 13px;
    box-sizing: border-box;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

section.container.form_page.sign_up select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 10px 6px;
    padding-right: 36px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23777' d='M0 0l5 6 5-6z'/></svg>");
}

section.container.form_page.sign_up input[type="text"],
section.container.form_page.sign_up input[type="password"],
section.container.form_page.sign_up input[type="email"],
section.container.form_page.sign_up input[type="tel"],
section.container.form_page.sign_up select,
section.container.form_page.sign_up textarea {
    border: 1px solid #424190;
    background: #fff;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

section.container.form_page.sign_up input[type="text"]:focus,
section.container.form_page.sign_up input[type="password"]:focus,
section.container.form_page.sign_up input[type="email"]:focus,
section.container.form_page.sign_up input[type="tel"]:focus,
section.container.form_page.sign_up select:focus,
section.container.form_page.sign_up textarea:focus {
    border-color: #424190;
    box-shadow: 0 0 0 4px rgba(66, 65, 144, 0.12);
    background-color: #fff;
    outline: none;
}

section.container.form_page.sign_up input[type="text"]:disabled,
section.container.form_page.sign_up input[type="password"]:disabled,
section.container.form_page.sign_up input[type="email"]:disabled,
section.container.form_page.sign_up input[type="tel"]:disabled,
section.container.form_page.sign_up select:disabled,
section.container.form_page.sign_up textarea:disabled,
section.container.form_page.sign_up input[type="text"][readonly],
section.container.form_page.sign_up input[type="password"][readonly],
section.container.form_page.sign_up input[type="email"][readonly],
section.container.form_page.sign_up input[type="tel"][readonly],
section.container.form_page.sign_up select[readonly],
section.container.form_page.sign_up textarea[readonly] {
    background-color: #f4f3fb;
    border-color: #b7b5da;
    color: #5f5d86;
    opacity: 1;
}

section.container.form_page.sign_up .max_long,
section.container.form_page.sign_up .address_box {
    width: 100%;
    max-width: 700px;
}

section.container.form_page.sign_up .name_row,
section.container.form_page.sign_up .address_row {
    display: flex;
    gap: 10px;
    width: 100%;
    margin-bottom: 8px;
    box-sizing: border-box;
}

section.container.form_page.sign_up .name_row:last-child,
section.container.form_page.sign_up .address_row:last-child {
    margin-bottom: 0;
}

section.container.form_page.sign_up .name_row input,
section.container.form_page.sign_up .address_row input,
section.container.form_page.sign_up .address_row .btn_postcode {
    box-sizing: border-box;
}

section.container.form_page.sign_up .name_row input {
    width: calc(50% - 5px);
}

section.container.form_page.sign_up .address_row.top #sample6_postcode {
    width: 110px;
    flex: none;
}

section.container.form_page.sign_up .address_row.top .btn_postcode{
    height: 36px;
    /* padding: 0 16px; */
    border: 1px solid #424190;
    background-color: #f4f3ff;
    color: #424190;
    font-size: 14px;
    font-weight: 500;
    line-height: 34px;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.btn_postcode:hover{
    background-color: #424190;
    color: #fff;
}

.btn_postcode:focus{
    outline: none;
    border-color: #424190;
    box-shadow: 0 0 0 3px rgba(66, 65, 144, 0.12);
}

.btn_postcode:active{
    background-color: #37367e;
    border-color: #37367e;
    color: #fff;
}

section.container.form_page.sign_up .address_row .full {
    width: 100%;
}

section.container.form_page.sign_up #sample6_detailAddress {
    width: 100%;
}

section.container.form_page.sign_up input[type="text"],
section.container.form_page.sign_up input[type="password"],
section.container.form_page.sign_up input[type="email"],
section.container.form_page.sign_up select {
    height: 36px;
    padding: 0 12px;
    /* border: 1px solid #cfcfd6; */
    /* background: #fff; */
}

section.container.form_page.sign_up select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;

    border: 1px solid #424190;
    background-color: #fff;

    /* 오른쪽 화살표 */
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='12' viewBox='0 0 20 12'><path d='M2 2l8 8 8-8' fill='none' stroke='%23222222' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-size: 18px 10px;
    background-position: right 14px center;

    padding-right: 48px;
}

section.container.form_page.sign_up select:focus{
    border-color: #424190;
    outline: none;
    box-shadow: 0 0 0 4px rgba(66, 65, 144, 0.12);
}

.mb_only input.tel_number {
    width: 20% !important;
}

.mb_only input.tel_phone {
    width: 30% !important;
}

.mb_only input.tel_phone2 {
    width: 30% !important;
    margin-top: 0 !important;
    margin-left: 10px !important;
}

.section_bg{
    /* background-image: url('../img/2026/main_bg2.png');
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center;
    background-size: cover; */
    background:
        url('../img/2026/main_bg3.png') center top / auto 100% no-repeat,
        linear-gradient(to right, #4C4B9D 0 50%, #383785 50% 100%);
}

.main_section .img_vsl_text{
    width: 446px;
}

.main_section .btn_circle_arrow{
    background: center / contain no-repeat url('../img/2026/to_bottom_btn.svg');
}

.main_b_txt{
    max-width: 370px;
    position: absolute;
    bottom: 20px;
    right: 20px;
    transform: translate(-50%, -50%);
}

.main_section .main_btn_wrap{
    bottom: 0px;
    transform: translateY(-50%);
}

.g_h_logo {
    text-align: left;
    /* transform: translate(-410px, 10px); */
}

.g_h_logo img{
    max-width: 138px;
}

@media screen and (max-width: 330px) {
    .g_h_logo img{
        max-width: 80px;
    }
}

.dday_top{
    background: center / cover no-repeat url('../img/2026/hdr_dday.png');
}

.g_h_tool > li > a.contact{
    font-weight: 400;
    color: #161615;
}

header.blue_header {
    background-color: #333366;
}

.nav_btn_box{
    width: 490px;
    display: grid;
    grid-template-columns: repeat(2, 240px);
    gap: 8px;
    height: 268px;
    position: relative;
    top: 380px;
    margin: 0;               /* PC에서는 센터 정렬 안 함 */
}

.nav_btn_box .nav_btn{
    position: relative;
    display: block;
    width: 240px;
    height: 130px;
    overflow: hidden;
    border-radius: 0 0 20px 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    text-decoration: none;
    line-height: 0;
    background-image: url("/main/img/2026/main_program.png");
}

.nav_btn_box .nav_btn:nth-child(2){
    background-image: url("/main/img/2026/main_reg.png");
}

.nav_btn_box .nav_btn:nth-child(3){
    background-image: url("/main/img/2026/main_abstract.png");
}

.nav_btn_box .nav_btn:nth-child(4){
    background-image: url("/main/img/2026/main_mypage.png");
}

.nav_btn_box .nav_btn img{
    position: absolute;
    right: 18px;
    bottom: 18px;
    display: block;
    width: 34px;
    height: auto;
    transform: translateX(0);
    will-change: transform;
}

.nav_btn_box .nav_btn:hover img{
    animation: arrowMove 0.45s ease;
}

@keyframes arrowMove{
    0%{ transform: translateX(0); }
    30%{ transform: translateX(-10px); }
    70%{ transform: translateX(8px); }
    100%{ transform: translateX(0); }
}

/* 1080px 이하에서만 가운데 정렬 + 반응형 축소 */
@media screen and (max-width: 1080px){
    .nav_btn_box{
        width: min(490px, calc(100% ));
        max-width: 269px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 0 auto;   /* 여기서만 센터 */
        top: 214px;
        height: auto;
    }

    .nav_btn_box .nav_btn{
        width: 100%;
        height: auto;
        aspect-ratio: 240 / 130;
    }

    .nav_btn_box .nav_btn img{
        right: clamp(12px, 4vw, 18px);
        bottom: clamp(12px, 4vw, 18px);
        width: clamp(24px, 8vw, 34px);
    }
}
/* @media screen and (max-width:1080px) {
    .nav_btn_box{
        display: none;
    }
} */

.title{
    margin-bottom: 16px;
}

h3.title:after{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 10px;
    background-image: url('/main/img/2026/title_bg.svg');
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
.main_speaker2{justify-content: center;}
.main_speaker2 .profile_wrap, .main_speaker2 .index_speaker2 .profile_wrap, .main_speaker2 .index_speaker3 .profile_wrap, .main_speaker2 .index_speaker4 .profile_wrap{
    background-image: url('../img/2026/TBD.png');
}

.main_speaker2 .title{
    padding-left: 0;
}

.main_speaker2 .profile_wrap{
    width: 230px;
    height: 230px;
}

.main_speaker2 li{padding: 20px 11px;}
.noti_wrap > div:first-child{width: calc(60% - 10px); max-width: 584px;}
/* .dates_area li:nth-of-type(1){
    background-image: url('../img/2026/keydates01.png');
}
.dates_area li:nth-of-type(2){
    background-image: url('../img/2026/keydates02.png');
}
.dates_area li:nth-of-type(3){
    background-image: url('../img/2026/keydates03.png');
} */

.footer_wrap{
    background: #d0d0d0;
    padding: 28px 0 48px;
}

.footer_l{width: 144px;}
.f_bottom > div:not(:first-child) p, .f_bottom > div:not(:first-child) li{color: #000000;}

.footer_c {
    width: calc(80% - 170px);
}

.s_logo_list li{border-radius: 0;}

.slick-next{background-image: url("/main/img/2026/slick_next.svg") !important;}
.slick-prev{background-image:  url("/main/img/2026/slick_pre.svg") !important;}
header .depth01 li ul li a:hover{color: #F4BFD8; }
header.nav_show .depth01 > li:hover ul{background-color: #333366;}
.noti_area li{padding: 16px;border-bottom: 1px solid #B2B2B2;}
.noti_area li a{padding-left: 0px;}
.noti_area li a:before{content: none;}
.noti_area ul{border-radius: 32px 0 32px 0;}
.noti_area li:nth-of-type(even){background-color: #FFFFFF;}
.main .key_date_section {
    background-color: #f7f7f7;
}

/* hover */
.toolbar_wrap li a:hover{
    transform: translateY(-6px) scale(1.04);
    box-shadow: 0 12px 24px rgba(34, 24, 88, 0.22);
    filter: brightness(1.04);
}

.toolbar_wrap li a:hover::before{
    left: 120%;
    opacity: 1;
}

.toolbar_wrap li a:hover img{
    transform: scale(1.04);
    filter: drop-shadow(0 10px 16px rgba(34, 24, 88, 0.18));
}

/* active */
.toolbar_wrap li a:active{
    transform: translateY(-2px) scale(0.98);
}

/* focus */
.toolbar_wrap li a:focus-visible{
    outline: 2px solid #ffffff;
    outline-offset: 3px;
    box-shadow: 0 0 0 4px rgba(88, 76, 180, 0.28);
}

.btn_circle_arrow:hover {
  transform: translateY(-4px) scale(1.05);
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.18));
}

.btn_circle_arrow:active {
  transform: translateY(-1px) scale(0.97);
}

@media screen and (max-width: 1100px) {
    .noti_wrap > div:first-child {
        width: 100%;
    }
    .dates_area ul{
        justify-content: center;
    }
}

/* 
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
} */

/* 2026 key dates */
.dates_area {
  width: 100%;
}

.dates_area ul.key_date_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* card */
.dates_area .key_date_list > li {
  position: relative;
  flex: 0 0 176px;
  width: 176px;
  height: 246px;
  border-radius: 32px 0 32px 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* 배경 이미지는 CSS만 사용 */
.dates_area .keydate_item_1 {
  background-image: url('../img/2026/keydates01.png');
}

.dates_area .keydate_item_2 {
  background-image: url('../img/2026/keydates02.png');
}

.dates_area .keydate_item_3 {
  background-image: url('../img/2026/keydates03.png');
}

.dates_area li a {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 24px 18px 18px;
  box-sizing: border-box;
  text-decoration: none;
}

.dates_area li h2 {
  margin: 0;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.dates_area li h2::after {
  content: '';
  display: block;
  width: 82px;
  height: 2px;
  margin-top: 16px;
  background: rgba(255,255,255,0.95);
}

.dates_area li a div {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dates_area li a div p:first-child {
  margin: 0 0 18px;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 22px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

.dates_area li a div p:last-child {
  margin: 0;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 0.9;
  letter-spacing: -0.05em;
}

.dates_area li a > p.date_kst {
  position: absolute;
  right: 18px;
  bottom: 16px;
  margin: 0;
  color: #fff;
  font-family: "Barlow", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

@media (hover: hover) and (pointer: fine) and (min-width: 631px) {
  .dates_area li:hover {
    transform: translateY(-6px);
    box-shadow: 0 14px 24px rgba(34, 24, 88, 0.18);
  }
}

.dates_area li a:focus-visible {
  outline: 2px solid rgba(255,255,255,0.9);
  outline-offset: -6px;
}

/* tablet */
@media screen and (max-width: 768px) {
  .dates_area ul.key_date_list {
    gap: 20px;
  }
}

/* 630 이하에서는 2개씩 */
@media screen and (max-width: 630px) and (min-width: 561px) {
  .dates_area ul.key_date_list {
    gap: 16px;
    justify-content: center;
    max-width: 368px;
    margin: 0 auto;
  }

  .dates_area ul.key_date_list > li {
    flex: 0 0 176px;
    width: 176px;
  }

  .dates_area li:hover {
    transform: none;
    box-shadow: none;
  }
}

/* 모바일 슬라이더 래퍼 */
.keydate_viewport {
  position: relative;
  width: 100%;
  overflow: hidden;
  margin: 0 auto;
}

.keydate_dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 10px;
}

.keydate_dot {
  width: 8px;
  height: 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0,0,0,0.2);
  cursor: pointer;
}

.keydate_dot.is-active {
  background: #5a46c2;
}

.keydate_arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,0.88);
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  color: #4f46b8;
  font-size: 20px;
  line-height: 34px;
  text-align: center;
  cursor: pointer;
}

.keydate_arrow_prev {
  left: 8px;
}

.keydate_arrow_next {
  right: 8px;
}

@media screen and (max-width: 630px) {
  .dates_area ul.key_date_list {
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    will-change: transform;
  }

  .dates_area .key_date_list > li {
    flex: 0 0 100%;
    width: 100%;
    max-width: none;
    height: 246px;
    background-size: 176px 246px;
    background-position: center top;
    background-repeat: no-repeat;
  }

  .dates_area .key_date_list > li a {
    width: 176px;
    margin: 0 auto;
  }

  .dates_area li:hover {
    transform: none;
    box-shadow: none;
  }

  .keydate_arrow {
    width: 30px;
    height: 30px;
    font-size: 18px;
    line-height: 30px;
  }
}

.dday_wrap.mb_only {
    right: 40px;
    top: 10px;
    min-width: 170px;
}
.dday_wrap.mb_only .dday_top{height: 20px;    padding: 2px 4px;}
.dday_wrap.mb_only .dday_top span:nth-child(1){
    font-size: 14px;
}
.dday_wrap.mb_only .dday_top .header_bar {
    height: 12px;
}

.dday_wrap.mb_only .dday_top span:nth-child(3),.dday_wrap.mb_only .dday_top span:nth-child(4){
    font-size: 12px;
}

@media screen and (max-width: 1024px) {
    .section_bg {
        background: url("/main/img/2026/main_m_bg.png") no-repeat bottom center / cover;
    }
}

.mb_only.img_vsl_text img{
    max-width: 269px;
}

.main_speaker2 .slick-arrow{ height: 24px;}
/* .footer_wrap .slick-arrow{ height: 12px;} */

section.container .page_title{
    background: url('../img/2026/sub_title.png') no-repeat center / cover;
    height: 146px;
    padding: 48px 0 48px;
}


#keep_signed_in{
    margin: 0;
}

label[for="keep_signed_in"]{
    margin-left: 6px;
}

label[for="keep_signed_in"]:hover{
    text-decoration: underline;
}

.checkbox_row{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 16px 0 20px;
}

.style_2023.login_form .main_btn{
    background-color: #454494;
    border-color: #454494;
    border-radius: 16px;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

/* PC/마우스 환경에서만 hover */
@media (hover: hover) and (pointer: fine){
    .style_2023.login_form .main_btn:hover{
        background-color: #5050a8;
        border-color: #5050a8;
        transform: translateY(-2px);
        box-shadow: 0 10px 24px rgba(69, 68, 148, 0.28);
    }
}

.style_2023.login_form .main_btn:active{
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(69, 68, 148, 0.18);
}

.style_2023.login_form .main_btn:focus-visible{
    outline: 3px solid rgba(69, 68, 148, 0.22);
    outline-offset: 3px;
}

@media screen and (max-width:1200px) {
    section.container .page_title{
        height: 60px;
        padding: 16px 0 16px;
    }
}

table.type2 th{
    border-right: 1px solid #424190 !important;
    background-color: #f3f3fb !important;
    text-align: left;
}

table.type2 th, table.type2 td{
    border-bottom: 1px solid #424190 !important;
}

.table tr:nth-child(1){
    border-top: 1px solid #424190;
}
.table tr{
    border-bottom: 1px solid #424190;
}

.cancel_btn{
    background-color: #cecece;
    border-color: #cecece;
}

.submit_btn{
    background-color: #424190;
    border-color: #424190;
}

.cancel_btn,
.submit_btn{
    transition:
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease,
        box-shadow 0.2s ease;
    cursor: pointer;
}


.long_btn{    
    background: #424190;
    background-color:#424190;
    transition: all 0.25s ease;
}

.long_btn:hover{
    background: #35347a;
    background-color: #35347a;
    box-shadow: 0 8px 20px rgba(66, 65, 144, 0.35);
    transform: translateY(-2px);
}

.long_btn:active {
    transform: translateY(0);
    box-shadow: 0 4px 10px rgba(66, 65, 144, 0.25);
}

.short_btn{
    max-width: 200px;
}

.c_table th, .c_table td, .c_table2 th, .c_table2 td{
    border-bottom: 1px solid #424190;
}

@media screen and (max-width: 740px) {
    section.container .page_title {
        font-size: 20px;
    }
    .inner{
       margin: 40px auto 70px; 
    }
    section.container{
        padding: 90px 0 60px;
    }

    table.type2 th{
        border-right: none !important;
    }
}

table p{
    font: inherit;
    line-height: 1.4;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
}
.text_box{background-color: transparent;}
.text_box.color{background-color: #f3f3fb;}
.second_title {
    font-size: 28px;
    font-weight: bold;
    display: inline-block;
    padding-left: 30px;
    position: relative;
}

@media screen and (max-width: 486px) {
    .second_title {
        font-size: 16px;
    }
}
/* 기본: 긴 텍스트 줄바꿈 */
.responsive_stack_table th,
.responsive_stack_table td,
.responsive_stack_table p {
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 모바일 반응형 */
@media screen and (max-width: 768px) {
  .responsive_stack_table {
    display: block;
    width: 100%;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
  }

  .responsive_stack_table colgroup,
  .responsive_stack_table tbody,
  .responsive_stack_table tr,
  .responsive_stack_table th,
  .responsive_stack_table td {
    display: block;
    width: 100%;
  }

  .responsive_stack_table colgroup {
    display: none;
  }

  .responsive_stack_table tr {
    margin: 0 0 16px;
    border: 0 !important;
    background: transparent;
  }

  .responsive_stack_table th {
    box-sizing: border-box;
    margin: 0;
    padding: 14px 16px;
    background: #f4f3fb;
    text-align: left;
    font-size: 18px;
    line-height: 1.35;
    border: 1px solid #424190 !important;
    border-bottom: 1px solid #424190 !important;
  }

  .responsive_stack_table td {
    box-sizing: border-box;
    margin: 0;
    padding: 14px 16px;
    font-size: 16px;
    line-height: 1.6;
    background: #fff;
    border: 1px solid #424190 !important;
    border-top: 0 !important; /* 핵심 */
  }

  .responsive_stack_table td p {
    margin: 0 0 6px;
  }

  .responsive_stack_table td p:last-child {
    margin-bottom: 0;
  }
}

.abstract_btn {
    display: block;
    width: 100%;
    max-width: 327px;
    height: 102px;
    border: 0;
    padding: 0;
    background: url('/main/img/2026/abstract_guide_btn.png') center center / cover no-repeat;
    cursor: pointer;
    margin: 0 auto;
    transition: transform 0.08s ease;
}
.abstract_btn:active {
  transform: translateY(2px);
}

.m_nav{
      background: linear-gradient(-90deg, #e8f6fd 60%, #333366 60%);  
}

.m_nav_li > a.show{    
    background: #f4bfd8;
}

.m_nav_li > a.show span{
    color: #424190;
}

.table th{
     background-color: #f3f3fb;   
}
.green_table .border_left {
    border-left: 1px solid #424190;
}

.radio:checked + label:after, .radio:not(:checked) + label:after{
    background: #424190;
}

input[type="text"], input[type="password"], input[type="number"], textarea{
    border: 1px solid #424190;
}

.responsive_table .abstract_title_box{
	word-break: break-word;
	white-space: normal;
}

.responsive_table .btn_wrap{
	display: flex;
    justify-content: center;
    align-items: center;
	gap: 8px;
	flex-wrap: wrap;
    margin-top: 0;
}

/* PC에서는 기존 테이블 그대로 */
.responsive_table .abstract_title_box {
    word-break: break-word;
    white-space: normal;
}

table.type1 tbody td{
    border-bottom: 1px solid #424190;
}

/* 모바일 */
@media screen and (max-width: 768px) {
    .responsive_table,
    .responsive_table colgroup,
    .responsive_table thead,
    .responsive_table tbody,
    .responsive_table tr,
    .responsive_table th,
    .responsive_table td {
        all: unset;
        box-sizing: border-box;
    }

    .responsive_table {
        display: block;
        width: 100%;
    }

    .responsive_table colgroup,
    .responsive_table thead {
        display: none;
    }

    .responsive_table tbody {
        display: block;
        width: 100%;
    }

    .responsive_table tbody tr {
        display: block;
        width: 100%;
        margin-bottom: 16px;
        padding: 16px;
        border: 1px solid #d9dce7;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    }

    .responsive_table tbody td {
        display: grid;
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 8px 12px;
        align-items: start;
        width: 100%;
        padding: 12px 0;
        border-bottom: 1px solid #eceef5;
        font-size: 14px;
        line-height: 1.5;
        color: #222;
        word-break: break-word;
    }

    .responsive_table tbody td:last-child {
        border-bottom: none;
        padding-bottom: 0;
    }

    .responsive_table tbody td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #555;
        line-height: 1.5;
    }

    /* 제목은 한 줄 구조 말고 위/아래 구조로 */
    .responsive_table tbody td {
        display: block;
        white-space: normal;
        word-break: break-word;
        text-align: left;
    }

    .responsive_table tbody td::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 8px;
        font-weight: 700;
        color: #555;
        line-height: 1.5;
        text-align: left;

    }

    /* 버튼 영역은 3칸 그리드: 라벨 / 버튼 / 버튼 */
    .responsive_table tbody td.btn_td {
        display: grid;
        grid-template-columns: 96px 1fr 1fr;
        gap: 8px;
        align-items: center;
        padding-top: 14px;
        text-align: left;
    }

    .responsive_table tbody td.btn_td::before {
        content: attr(data-label);
        display: block;
        width: auto;
        margin-bottom: 0;
        font-weight: 700;
        color: #555;
        text-align: left;
    }

    .responsive_table tbody td.btn_td .btn {
        width: 100%;
        min-width: 0;
        height: 36px;
        padding: 0 10px;
        margin: 0;
        border-radius: 18px;
    }

    .responsive_table tbody td.centerT {
        display: block;
        text-align: center;
        padding: 30px 12px;
        border: 1px solid #d9dce7;
        border-radius: 16px;
    }

    .responsive_table tbody td.centerT::before {
        display: none;
    }
    .responsive_table tbody td {
        border-right: none !important;
        border-left: none !important;
        border-top: none !important;
        text-align: left !important;
    }

    .responsive_table tbody tr, table.type1 tbody td:not(:last-child) {
        border-right: none !important;
    }

    .registration_table button + *, .registration_table a.btn + *{
        margin-left: 0px;
    }

    table.type2.responsive_table th {
        background-color: #FFFFFF !important;
    }

    .down_btn, .go_btn{
        padding: 12px 24px !important;
        padding-left: 72px !important;
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .table_btn {
        padding: 0px !important;
        padding-left: 0px !important;
        font-size: 14px;
    }
}



/* 기본 PC 스타일은 그대로 사용 */
.responsive_info_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.responsive_info_table th,
.responsive_info_table td {
    padding: 14px 16px;
    border-bottom: 1px solid #424190;
    font-size: 15px;
    line-height: 1.5;
    word-break: break-word;
}

.responsive_info_table th {
    background: #f7f8fc;
    font-weight: 700;
    text-align: left;
    color: #222;
}

.responsive_info_table td {
    color: #222;
}


/* 모바일 */
@media screen and (max-width: 768px) {
    .responsive_info_table,
    .responsive_info_table colgroup,
    .responsive_info_table tbody,
    .responsive_info_table tr,
    .responsive_info_table th,
    .responsive_info_table td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .responsive_info_table colgroup {
        display: none;
    }

    /* 테이블 전체를 카드처럼 */
    .responsive_info_table {
        border: none;
        border-radius: 16px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
    }

    .responsive_info_table tbody {
        display: block;
    }

    .responsive_info_table tr {
        display: block;
        padding: 0;
        margin: 0;
        border-bottom: 1px solid #eceef5;
    }

    .responsive_info_table tr:last-child {
        border-bottom: none;
    }

    table.responsive_info_table th,
    table.responsive_info_table td {
        display: block;
        border: none;
        padding: 12px 16px !important;
        text-align: left;
        border-bottom: none !important;
        border-right: none !important;
        text-align: left !important;
    }

    table.responsive_info_table th {
        background: #f7f8fc;
        font-size: 13px;
        font-weight: 700;
        color: #555;
        padding-bottom: 6px;
        padding-left: 12px;
    }

    .responsive_info_table td {
        padding-top: 0;
        font-size: 14px;
        color: #222;
        white-space: normal;
        word-break: break-word;
    }
}

.review_table_wrap {
    width: 100%;
    overflow-x: auto;
}

.review_table {
    width: 100%;
    /* min-width: 1180px; */
    table-layout: fixed;
    border-collapse: collapse;
}

.review_table th,
.review_table td {
    padding: 14px 10px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
    overflow: hidden;
}

.review_table th {
    white-space: normal !important;
    text-align: center !important;
    font-weight: 600 !important;
}

.review_table td {
    white-space: normal !important;
    font-weight: 500 !important;
}

.review_table .text_left {
    text-align: left !important;
}

.review_table .text_center {
    text-align: center !important;
}

.review_table .ellipsis_box {
    display: block;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 1.4;
    cursor: default;
}

.review_table .detail_btn {
    min-width: 56px;
    white-space: nowrap;
}

/* 커스텀 툴팁 */
#customTooltip {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    max-width: 420px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(18, 18, 18, 0.96);
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    white-space: normal;
    word-break: break-word;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.08s ease;
}

/* 화살표 */
#customTooltip::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 14px;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid rgba(18, 18, 18, 0.96);
}

#customTooltip.show {
    opacity: 1;
    visibility: visible;
}
.info-cards {
  display: flex;
  gap: 50px;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 16px 0;
  cursor: pointer;
}

.info-card {
  width: 320px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease, filter 0.22s ease;
}
.info-card.long{
    max-width: 620px;
    width: 100%;
}
.card-head {
  background: #8585d8;
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  padding: 14px 16px;
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  transition: background-color 0.22s ease;
}

.info-card:nth-child(2) .card-head {
  background: #5e5ebf;
}

.info-card:nth-child(3) .card-head {
  background: #44449f;
}

.card-body {
  background: #e7e7f7;
  color: #000;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  padding: 28px 16px;
  transition: background-color 0.22s ease;
}

/* hover 효과 */
.info-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.info-card:hover .card-body {
  background: #f0f0fb;
}

.info-card:nth-child(1):hover .card-head {
  background: #9393e5;
}

.info-card:nth-child(2):hover .card-head {
  background: #6c6cd0;
}

.info-card:nth-child(3):hover .card-head {
  background: #5252af;
}

/* 클릭 느낌 */
.info-card:active {
  transform: translateY(-3px) scale(0.99);
}

/* 키보드 포커스 */
.info-card:focus-visible {
  outline: 3px solid #9ea8ff;
  outline-offset: 4px;
  border-radius: 18px 18px 0 0;
}
.card_footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  padding: 12px 16px;
  background: #8585d8;
  color: #fff;

  font-size: 16px;
  font-weight: 700;
  text-align: center;
  transition: background-color 0.22s ease;
}

.card_footer img {
  width: 18px;
  height: auto;
  display: block;
}

.info-card:nth-child(2) .card_footer {
  background: #5e5ebf;
}

.info-card:nth-child(3) .card_footer {
  background: #44449f;
}

/* hover footer 색상 */
.info-card:nth-child(1):hover .card_footer {
  background: #9393e5;
}

.info-card:nth-child(2):hover .card_footer {
  background: #6c6cd0;
}

.info-card:nth-child(3):hover .card_footer {
  background: #5252af;
}

.info-card:hover .card_footer img {
  animation: arrowMove 0.55s ease infinite alternate;
}

@keyframes arrowMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(7px);
  }
}

@media (max-width: 1100px) {
  .info-cards {
    flex-wrap: wrap;
    gap: 20px;
  }

  .info-card {
    width: calc(50% - 10px);
  }
}

@media (max-width: 700px) {
  .info-card {
    width: 100%;
  }
}

table.faculty_table thead th{
    background-color: #ededf9 !important;
    color: #000000 !important;
    border-right: 1px solid #424190 !important;
    border-bottom: 1px solid #424190 !important;
}

table.faculty_table thead th.br_none {
    border-right: none !important;
}

table.faculty_table thead th.session-head{
    background-color: #dadaf3 !important;
}
table.faculty_table thead th.lecture-head{
    background-color: #fcecf3 !important;
}

table.faculty_table thead th.session-sub{
    background-color: #dadaf3  !important;
}
table.faculty_table thead th.lecture-sub{
    background-color: #fcecf3 !important;
}

table.type2 th.br_none{ border-right: none !important;}

.input-error {
    border: 1px solid red !important;
}

.radio-error {
    outline: 2px solid red;
    outline-offset: 2px;
}

table.type1 thead th{
    border-right: 1px solid #424190 !important;
    border-bottom: 1px solid #424190 !important;
    background-color: #f3f3fb !important;
    color: #000000 !important;
}

table.type1 thead th:last-child{
    border-right: none !important;
}

.table_vertical thead tr{
    border-top: 2px solid #424190;
}
/* 기본 */
.tab_li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.tab_li li,
.tab_li li a {
  box-sizing: border-box;
}

.tab_li li a {
  text-decoration: none;
}

.program_detail .tab_li li{
    padding: 0px 16px 8px;
}

/* =========================
   PC
========================= */
@media (min-width: 1024px) {
  .tab_li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 82px;
    padding: 0 20px;
    /* background: #f3f3f3; */
  }

  .tab_li li {
    position: relative;
    margin: 0;
    padding: 0 34px;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
  }

  /* 세로 구분선 */
  .tab_li li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 18px;
    background: #d7d7d7;
    transform: translateY(-50%);
  }

  .tab_li li a {
    display: inline-block;
    height: 82px;
    line-height: 82px;
    padding: 0;
    font-size: 18px;
    font-weight: 500;
    color: #222;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
  }

  .tab_li li.on a {
    color: #ea6b63;
    font-weight: 700;
    border-bottom-color: #ea6b63;
    background: transparent !important;
    text-decoration: underline;
     text-underline-offset: 6px;
     text-decoration-thickness: 2px;
  }

  .tab_li li a:hover {
    color: #ea6b63;
  }
}

/* =========================
   Mobile
========================= */
@media (max-width: 1023px) {
  .tab_li {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0 16px;
    margin: 0;
    background: transparent;
    overflow: visible !important;
    white-space: normal !important;
  }

  .tab_li li {
    width: 100%;
    margin: 0;
    padding: 0;
    flex: none !important;
  }

  .tab_li li a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    color: #333;
    background: #fff !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    white-space: nowrap;
  }

  .tab_li li.on a {
    color: #fff;
    background: #ea6b63 !important;
    border-color: #ea6b63 !important;
  }

  /* 마지막 AGORA는 한 줄 전체 사용 */
  .tab_li li:last-child {
    grid-column: 1 / -1;
  }
}

.fave_btn {
    width: 58px;
    height: 54px;
    padding: 0;
    border: 0;    
    background-image: url("/main/img/2026/fave.svg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    position: absolute;
    right: 0;
}

/* row */
.purple_bg th{
  padding: 0;
  border: 0;
  background: #403b97; /* 보라색 */
    position: relative;
}
.detail_table_common .c_table th {
    background-color: #403b97; 
}


/* 안쪽 정렬 */
.program_head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 34px;
  padding: 10px 75px 12px 24px;
}

/* 왼쪽 날짜 */
.day_tit {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

/* 오른쪽 묶음 */
.program_head_right {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Room A */
.room_name {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 30px;
  padding: 0 8px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  border: 1px solid rgba(255,255,255,0.65);
  border-radius: 999px;
  line-height: 1;
  white-space: nowrap;
}

/* 선택 상태 예시 */
.fave_btn.on{
  background-image: url("/main/img/2026/fave_on.svg");
}


/* 컬럼 폭 */
.c_table.detail_table .col_time {
  width: 120px;
}

.c_table.detail_table .col_icon {
  width: 80px;
}

.c_table.detail_table .col_speaker {
  width: 320px;
}

@media (max-width: 767px) {
  /* 바깥 테이블 기본 해제 */
  .c_table.detail_table {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
  }

  .c_table.detail_table colgroup {
    display: none;
  }

  .c_table.detail_table > tbody,
  .c_table.detail_table > tbody > tr,
  .c_table.detail_table > tbody > tr > th,
  .c_table.detail_table > tbody > tr > td {
    display: block;
    width: 100%;
    overflow: hidden;
    white-space: normal;
  }

  /* 상단 보라 헤더 */
  .c_table.detail_table > tbody > tr:first-child th {
    border: 0;
    /* border-radius: 10px 10px 0 0; */
    overflow: hidden;
  }

  .program_head {
    min-height: 44px;
    padding: 0 80px 0 12px;
  }

  .day_tit {
    font-size: 13px;
  }

  .program_head_right {
    gap: 8px;
  }

  .room_name {
    min-width: auto;
    height: 22px;
    padding: 0 10px;
    font-size: 11px;
  }

  /* 요약행 */
  .c_table.detail_table > tbody > tr.purple_bg td {
    display: block;
    width: 100%;
    border-left: 1px solid #d9d9e2;
    border-right: 1px solid #d9d9e2;
    background: #f3f1fa;
    text-align: left !important;
  }

  .c_table.detail_table > tbody > tr.purple_bg td:first-child {
    padding: 10px 12px 0;
    border-top: 0;
    border-bottom: 0;
    font-size: 12px;
    font-weight: 600;
    color: #666;
  }

  .c_table.detail_table > tbody > tr.purple_bg td:nth-child(2) {
    padding: 6px 12px 8px;
    border-top: 0;
    border-bottom: 0;
    font-size: 14px;
    line-height: 1.45;
  }

  .c_table.detail_table > tbody > tr.purple_bg td:nth-child(3) {
    padding: 0 12px 12px;
    border-top: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
  }

  .c_table.detail_table > tbody > tr.purple_bg td:nth-child(3) p {
    display: inline;
    margin: 0;
  }

  /* 안내문 */
  .program_detail_td {
    padding: 12px;
    margin-bottom: 10px;
    border: 1px solid #e2e2ea;
    border-top: 0;
    border-radius: 0;
    background: #fff;
    font-size: 13px;
    color: #777;
  }

  /* 상세영역 wrapper */
  .c_table.detail_table td.on {
    padding: 0;
    border: 0;
    background: transparent;
  }

  /* 안쪽 상세 테이블 카드형 변경 */
  .c_table.detail_table.padding_0 {
    display: block;
    width: 100%;
    border: 0;
    background: transparent;
  }

  .c_table.detail_table.padding_0 colgroup {
    display: none;
  }

  .c_table.detail_table.padding_0 tbody {
    display: block;
  }

  .c_table.detail_table.padding_0 tr {
    display: block;
    position: relative;
    margin-top: 8px;
    border: 1px solid #e1e1ea;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
  }

  .c_table.detail_table.padding_0 td {
    display: block;
    width: 100%;
    border: 0;
    padding: 0 12px;
    text-align: left !important;
    background: transparent;
  }

  /* 시간 */
  .c_table.detail_table.padding_0 td:nth-child(1) {
    padding-top: 12px;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    white-space: nowrap;
  }

  /* 제목 */
  .c_table.detail_table.padding_0 td:nth-child(2) {
    padding-top: 6px;
    padding-right: 44px;
    font-size: 14px;
    line-height: 1.45;
    color: #333;
  }

  /* 재생버튼 칸 */
  .c_table.detail_table.padding_0 td:nth-child(3) {
    position: absolute;
    top: 14px;
    right: 12px;
    width: auto;
    padding: 0;
  }

  /* 발표자 */
  .c_table.detail_table.padding_0 td:nth-child(4) {
    padding-top: 8px;
    padding-bottom: 12px;
    font-size: 12px;
    line-height: 1.5;
    color: #666;
    text-align: left !important;
  }

  .c_table.detail_table.padding_0 td:nth-child(4) p {
    display: inline;
    margin: 0;
  }

  /* 플레이 버튼 크기 약간 축소 */
  .play_btn,
  .program_play_btn {
    width: 20px;
    height: 20px;
  }

  .play_btn::before,
  .program_play_btn::before {
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-left-width: 6px;
  }

  /* 큰 글씨 클래스 모바일에서 완화 */
  .font_20 {
    font-size: 14px !important;
  }
}

.registration_v2 {
    max-width: 960px;
    margin: 0 auto;
    padding: 20px 0 60px;
    color: #2d3152;
}

.registration_v2 .section_title {
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: 700;
    color: #40466d;
}

.registration_v2 .section_desc,
.registration_v2 .guide_text {
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.7;
    color: #6b6f86;
}

.registration_v2 .form_block {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.registration_v2 .form_row {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.registration_v2 .form_label {
    font-size: 16px;
    font-weight: 700;
    color: #353b60;
}

.registration_v2 .info_table_wrap,
.registration_v2 .payment_box {
    /* border: 1px solid #424190; */
    /* border-radius: 18px; */
    background: #fff;
    overflow: hidden;
    border-top: 1px solid #424190;
    border-bottom: 1px solid #424190;
}

.registration_v2 .info_table,
.registration_v2 .payment_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.registration_v2 .info_table th,
.registration_v2 .info_table td,
.registration_v2 .payment_table th,
.registration_v2 .payment_table td {
    padding: 16px 18px;
    border-bottom: 1px solid #424190;
    vertical-align: middle;
    text-align: left;
    word-break: break-word;
}

.registration_v2 .info_table tr:last-child th,
.registration_v2 .info_table tr:last-child td,
.registration_v2 .payment_table tr:last-child th,
.registration_v2 .payment_table tr:last-child td {
    border-bottom: none;
}

.registration_v2 .info_table th,
.registration_v2 .payment_table th {
    width: 220px;
    background: #ededf9;
    font-weight: 700;
    /* color: #3c4268; */
    border-right: 1px solid #424190;
    text-align: center;
}

.registration_v2 .info_link {
    color: #5a63b8;
    text-decoration: underline;
}

.registration_v2 .field_group {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.registration_v2 .form_select,
.registration_v2 input[type="text"] {
    width: 100%;
    height: 46px;
    padding: 0 14px;
    border: 1px solid #424190;
    /* border-radius: 12px; */
    background: #fff;
    box-sizing: border-box;
    font-size: 15px;
    color: #2d3152;
}

.registration_v2 .form_select:focus,
.registration_v2 input[type="text"]:focus,
.registration_v2 .form_file:focus {
    outline: none;
    border-color: #5a63b8;
    box-shadow: 0 0 0 3px rgba(90, 99, 184, 0.08);
}

.registration_v2 .selected_summary {
    padding: 18px 20px;
    border: 1px solid #424190;
    /* border-radius: 16px; */
    background: #f8f9ff;
}

.registration_v2 .selected_summary .summary_title {
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 700;
    color: #414874;
}

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

.registration_v2 .selected_summary li {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 8px 0;
    border-bottom: 1px solid #e6e9f7;
}

.registration_v2 .selected_summary li:last-child {
    border-bottom: none;
}

.registration_v2 .selected_summary span {
    color: #6d728d;
}

.registration_v2 .selected_summary strong {
    color: #2f355a;
    text-align: right;
}

.registration_v2 .upload_box {
    padding: 20px;
    border: 1px solid #d8ddf1;
    /* border-radius: 16px; */
    background: #fcfcff;
}

.registration_v2 .upload_desc {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.7;
    color: #666d87;
}

.registration_v2 .form_file {
    width: 100%;
    height: 46px;
    padding: 8px 12px;
    border: 1px solid #bfc5e3;
    /* border-radius: 12px; */
    background: #fff;
    box-sizing: border-box;
    font-size: 14px;
}

.registration_v2 .form_file::file-selector-button {
    height: 30px;
    margin-right: 12px;
    padding: 0 14px;
    border: 0;
    /* border-radius: 8px; */
    background: #5a63b8;
    color: #fff;
    cursor: pointer;
}

.registration_v2 .upload_notice {
    margin: 14px 0 0;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.8;
    color: #565d77;
}

.registration_v2 .member_box {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.registration_v2 .small_notice {
    font-size: 13px;
    line-height: 1.7;
    color: #6c728e;
}

.registration_v2 .option_cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.registration_v2 .option_card {
    position: relative;
    display: flex;
    align-items: flex-start;
    /* min-height: 82px; */
    padding: 16px 18px;
    border: 1px solid #d7dbef;
    /* border-radius: 14px; */
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
    transition: all .2s ease;
}

.registration_v2 .option_card:hover {
    border-color: #424190;
    box-shadow: 0 6px 18px rgba(71, 78, 146, 0.08);
}

.option_cards input[type="radio"]:checked + .option_card {
    border: 1px solid #424190;
    background: #f3f3fb;
}

.registration_v2 .option_card input[type="radio"] {
    position: absolute;
    top: 16px;
    right: 16px;
}

.registration_v2 .option_name {
    display: block;
    padding-right: 30px;
    font-size: 15px;
    line-height: 1.6;
    color: #2f3558;
    font-weight: 600;
}

.registration_v2 .info_list {
    margin: 0;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.8;
    color: #555c75;
}

.registration_v2 .info_list li{
    line-height: 1.8;
}
/* 
.registration_v2 .choice_chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.registration_v2 .choice_chips li {
    list-style: none;
}

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

.registration_v2 .choice_chips label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 150px;
    height: 42px;
    padding: 0 16px;
    border: 1px solid #cfd5ef;
    border-radius: 999px;
    background: #fff;
    box-sizing: border-box;
    color: #444b69;
    cursor: pointer;
    transition: all .2s ease;
}

.registration_v2 .choice_chips input[type="radio"]:checked + label {
    background: #424190;
    border-color: #424190;
    color: #fff;
    font-weight: 700;
} */
.registration_v2 .choice_chips input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.registration_v2 .choice_chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.registration_v2 .choice_chips li {
    width: calc((100% - 24px) / 3);
}

.registration_v2 .choice_chips label {
    display: flex !important;
    align-items: center;
    justify-content: center;

    width: 100%;
    height: 42px;
    min-width: 0;

    border: 1px solid #cfd5ef;
    border-radius: 999px;
    background: #fff;
    color: #444b69;

    cursor: pointer;
    box-sizing: border-box;
}

/* Not Applicable */
.registration_v2 .choice_chips #special_request1:checked + label {
    background: #424190;
    border-color: #424190;
    color: #fff;
    font-weight: 700;
}

/* Vegetarian */
.registration_v2 .choice_chips #special_request2:checked + label {
    background: #2e9d59;
    border-color: #2e9d59;
    color: #fff;
    font-weight: 700;
}

/* Halal */
.registration_v2 .choice_chips #special_request3:checked + label {
    background: #d94b4b;
    border-color: #d94b4b;
    color: #fff;
    font-weight: 700;
}

@media (max-width: 480px) {
    .registration_v2 .choice_chips li {
        width: 100%;
    }
}
.registration_v2 .inline_radio {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 20px;
}

.registration_v2 .inline_radio label {
    margin-right: 8px;
    color: #444b69;
}

.registration_v2 .payment_box {
    padding: 0;
}

.registration_v2 .payment_title {
    padding: 18px 20px;
    margin: 0;
    border-bottom: 1px solid #e5e8f5;
    background: #f8f9ff;
    font-size: 18px;
    font-weight: 700;
    color: #40476f;
}

.registration_v2 .currency_badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    height: 38px;
    margin-right: 10px;
    border-radius: 10px;
    /* background: #5a63b8; */
    color: #fff;
    font-weight: 700;
    vertical-align: middle;
}

.registration_v2 .regi_fee input,
.registration_v2 .payment_table input[type="text"] {
    width: calc(100% - 76px);
    vertical-align: middle;
}

.registration_v2 .promo_grid {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 10px;
    align-items: center;
}

.registration_v2 .btn_apply {
    height: 46px;
    padding: 0 20px;
    border: 0;
    border-radius: 12px;
    background: #6c738f;
    color: #fff;
    font-weight: 700;
    cursor: pointer;
}

.registration_v2 .total_row th,
.registration_v2 .total_row td {
    background: #fff7fb;
    color: #b43c6d;
    font-weight: 700;
}
.btn_wrap_v2{
    display:flex;
    /* flex-direction:row-reverse; submit 왼쪽, cancel 오른쪽 */
    gap:18px;
    justify-content:center;
    align-items:center;
    margin-top:40px;
}

.btn_common{
    width:100%;
    max-width:200px;
    height:70px;
    border:none;
    border-radius:16px;
    font-size:20px;
    font-weight:600;
    line-height:1;
    color:#fff;
    cursor:pointer;
    transition:all 0.2s ease;
}

.btn_submit{
    background:#4b4aa0;
}

.btn_submit:hover{
    background:#43428f;
}

.btn_prev{
    background:#c6c6c6;
    color:#fff;
}

.btn_prev:hover{
    background:#b8b8b8;
}

.btn_prev.is_disabled{
    background:#c6c6c6;
    color:#fff;
    cursor:default;
    opacity:1;
}

@media (max-width: 900px){
    .btn_wrap_v2{
        flex-direction:column-reverse;
    }

    .btn_common{
        width:100%;
        height:72px;
        font-size:16px;
    }
}
.registration_v2 .btn_prev.is_disabled {
    opacity: .7;
}

.registration_v2 .btn_submit.is_active {
    background: #4f56b2;
}

@media (max-width: 900px) {
    .registration_v2 .option_cards {
        grid-template-columns: 1fr;
    }

    .registration_v2 .promo_grid {
        grid-template-columns: 1fr;
    }

    .registration_v2 .btn_wrap_v2 {
        grid-template-columns: 1fr;
    }

    .registration_v2 .info_table th,
    .registration_v2 .payment_table th {
        width: 140px;
    }

    .registration_v2 .regi_fee input,
    .registration_v2 .payment_table input[type="text"] {
        width: 100%;
        margin-top: 10px;
    }

    .registration_v2 .currency_badge {
        display: inline-flex;
        margin-bottom: 8px;
    }
}


.table_responsive {
    width: 100%;
    margin-top: 20px;
}

.table_responsive .c_table2 {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #424190;
    border-bottom: 1px solid #424190;
    background: #fff;
}

.table_responsive .c_table2 th,
.table_responsive .c_table2 td {
    /* border: 1px solid #7b7fc8; */
    padding: 16px 14px;
    font-size: 16px;
    line-height: 1.5;
    color: #222;
    word-break: keep-all;
    vertical-align: middle;
}

.table_responsive .c_table2 thead th {
    font-weight: 700;
    text-align: center;
}

.table_responsive .c_table2 tbody td {
    text-align: center;
}

.default_th{
    background-color: #f3f3fb !important;
}

table.type1 thead th.light_purple_th{
    background-color: #dadaf3 !important;
    background: #dadaf3 !important;
}
table.type1 thead th.light_pink_th{
    background-color: #fcecf3 !important;
    background: #fcecf3 !important;
}

@media (max-width: 768px) {
    .table_responsive .c_table2,
    .table_responsive .c_table2 thead,
    .table_responsive .c_table2 tbody,
    .table_responsive .c_table2 tr,
    .table_responsive .c_table2 th,
    .table_responsive .c_table2 td {
        display: block;
        width: 100%;
    }

    .table_responsive .c_table2 thead {
        display: none;
    }

    .table_responsive .c_table2 {
        border: 0;
        background: transparent;
    }

    .table_responsive .c_table2 tbody tr {
        margin-bottom: 16px;
        border: 1px solid #7b7fc8;
        border-radius: 14px;
        overflow: hidden;
        background: #fff;
    }

    .table_responsive .c_table2 tbody td {
        position: relative;
        padding: 14px 14px 14px 120px;
        text-align: left;
        border: 0;
        border-bottom: 1px solid #e4e6f5;
        min-height: 24px;
    }

    .table_responsive .c_table2 tbody td:last-child {
        border-bottom: 0;
    }

    /* .table_responsive .c_table2 tbody td::before {
        content: attr(data-label);
        position: absolute;
        left: 14px;
        top: 14px;
        width: 92px;
        font-weight: 700;
        color: #4b4aa0;
        line-height: 1.4;
    } */
}

/* card table responsive */
@media (max-width: 768px) {
    .card_table_wrap {
        overflow-x: visible;
    }

    table.card_table colgroup,
    table.card_table thead {
        display: none;
    }

    table.card_table,
    table.card_table tbody,
    table.card_table tr,
    table.card_table th,
    table.card_table td {
        display: block;
        width: 100% !important;
        box-sizing: border-box;
    }

    table.card_table {
        border: 0;
    }

    table.card_table tr {
        margin-bottom: 14px;
        border: 1px solid #8d8bd4;
        overflow: hidden;
        background: #fff;
    }

    table.card_table th {
        background: #8d8bd4;
        padding: 12px 14px;
        text-align: left;
        border: 0;
    }

    table.card_table td {
        padding: 10px 14px;
        text-align: left;
        border: 0;
        border-top: 1px solid #ddd;
    }

    table.card_table tbody th:not(:last-child) {
        border-right: none !important;
    }

    table.card_table tbody td {
        border-bottom: none !important;
    }
}