/* member */
.comp_wrap .btn {max-width: 300px; width: 100%; margin: 0 auto;}

.login_wrap {max-width: 400px; margin: 0 auto;}
.login_box {display: flex; flex-direction: column; gap: 15px;}
.login_box .input {display: flex; gap: 5px; align-items: center; justify-content: center;}
.login_box .label {padding-bottom: 10px; gap: 10px;}
.login_box .cmnt {text-align: center; margin-top: 10px; color: #767676;}


/* main */
#popMainVideo .contBox {position: relative;}
/* #popMainVideo .contBox::before {display: block; content: ""; z-index: 1; position: absolute; top:0; left: 0; width: 100%; height: 100%;} */
#popMainVideo .video_container {width: 350px;}

/* 
@media (min-aspect-ratio: 16/9) {
    .main_top {background: url('/img/bg_main_top-4a87c6408a96947d177c5f85a7d7c716.webp') no-repeat left bottom / 100% auto #1d275a;}
}

@media (max-aspect-ratio: 16/9) {
    .main_top {background: url('/img/bg_main_top-4a87c6408a96947d177c5f85a7d7c716.webp') no-repeat 20% bottom / auto 110% #1d275a; position: relative;}
    .main_top::after {display: block; content: ""; width: 100%; height: 100%; background: #000; opacity: .5; position: absolute; top: 0; left: 0;}
} 
    */

.main_top {background: url('/img/bg_main_top-4a87c6408a96947d177c5f85a7d7c716.webp') no-repeat center center / cover; position: relative;}
.main_top .inner {
    min-height: 100vh; padding: 150px 0 50px; position: relative; z-index: 1; max-width: 800px;
    /* display: flex; align-items: center; justify-content: center; display: flex; */
    display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 50px;
}
.main_top .title {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 20px;}
.main_top .info {max-width: 450px;}
.main_top .cmnt {color: #fff; font-size: 1.375rem; display: flex; flex-direction: column; gap: 5px; text-shadow: 2px 2px 5px rgba(0,0,0,.7);}
.main_top .cmnt > div {position: relative; padding-left: 15px;}
.main_top .cmnt > div::before {display: block; content: "※"; position: absolute; top: 0; left: 0;}
.main_top .btn_box {display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; width: 100%; max-width: 500px;}
.main_top .btn_box .btn {width: calc(50% - 5px); border-radius: 100px;}



.main_int {background: url('/img/bg_main_int-50ccc10a4fa473ebf9d281861e651b49.webp') no-repeat right bottom / cover; padding: 150px 0;}
.main_int .cont {display: flex; flex-direction: column; gap: 40px;}
.main_int .line {width: 50px; height: 5px; background: #ccc;}
.main_int .title {font-size: 2.5rem; font-weight: 400;}
.main_int .text {font-size: 1.25rem;}
.main_int .form {color: #767676; font-size: 1.125rem;}

.main_ov {background: #000; padding: 150px 0;}
.main_ov .sec_box {display: flex; gap: 80px; align-items: center;}
.main_ov .sec_box .img {width: 100%;}
.main_ov .sec_box .cont {width: 510px; flex-shrink: 0; color: #fff; display: flex; flex-direction: column; gap: 30px;}
.main_ov .sec_box .cont .btn {width: 220px; border-radius: 100px;}
.main_ov .title {font-size: 3.45rem; line-height: 1.2;}
.main_ov .title span {font-size: 5rem; color: var(--mainSky);}
.main_ov .title .logo {display: block; width: 460px; margin-top: 15px;}
.main_ov .text {font-size: 1.25rem; margin-bottom: 20px; display: flex; flex-direction: column; gap: 20px;}

.main_spk {padding: 150px 0;}
.main_spk .btn {width: 220px; border-radius: 100px;}
.main_spk .title .small {font-size: 2.5rem; margin-top: 10px; font-weight: 400;}
.main_spk .title .small .logo {height: 36px; display: inline-block; margin-top: 5px; margin-right: 3px; font-size: 0; vertical-align: text-top;}
.main_spk .title .small .logo img {width: 100%; height: 100%; object-fit: contain;}
.main_spk .title .btn {margin-top: 40px;}

/* 행사개요 */
.ov_wrap .sec_box {display: flex; gap: 60px; max-width: 1200px; margin: 0 auto}
.ov_wrap .img {max-width: 460px;}
.ov_wrap .title {margin-bottom: 25px;}
.ov_wrap .title .big {font-size: 2.5rem; line-height: 1; font-weight: 700;}
.ov_wrap .title .small {font-size: 1.25rem; margin-top: 5px;}
.ov_wrap .list {border-top: 1px solid #ddd;}
.ov_wrap .item {display: flex; flex-direction: column; gap: 5px; border-bottom: 1px solid #ddd; padding: 20px 0;}
.ov_wrap .item .gu {font-weight: 700; font-size: 1.125rem;}
.ov_wrap .item .nae {font-size: 1.125rem}
.ov_wrap .item .nae .p {display: flex; align-items: flex-start; gap: 10px; margin-top: 7px}
.ov_wrap .item .nae .p div {
    font-weight: 700; width: 75px; flex-shrink: 0; background: var(--mainOrg); color: #fff;
    line-height: 1; text-align: center; padding: 5px; border-radius: 3px; font-size: 1rem;
}

/* 프로그램 */
.prg_wrap .img {text-align: center;}
.prg_wrap .img.m {display: none;}

/* 컨퍼런스 */
.conf_dw .list {display: flex; flex-wrap: wrap; gap: 40px;}
.conf_dw .item {border: 1px solid var(--border); padding: 30px; width: calc(33.333% - 26.666px); display: flex; flex-direction: column; gap: 20px;}
.conf_dw .item .name {font-size: 1.5rem; text-align: center; height: 100px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;}
.conf_tab {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; margin-bottom: 80px; gap:10px;}
.conf_tab a {
    width: calc(25% - 7.5px); display: flex; align-items: center; justify-content: center; height: 50px; transition: all .3s;
    border: 1px solid var(--mainNavy); color: var(--mainNavy); text-align: center; line-height: 1.2; padding: 0 5px;
}
.conf_tab a:hover {background: #D4E5FF; border-color: #D4E5FF;}
.conf_tab a.on {background: var(--mainNavy); border-color: var(--mainNavy); color: #fff;}

.conf_ov .sec_box {display: flex; gap: 60px; align-items: flex-start;}
.conf_ov .tb_box {width: 100%;}
.conf_ov .list {width: 100%; border-top: 1px solid #ddd;}
.conf_ov .item {display: flex; flex-direction: column; gap: 5px; border-bottom: 1px solid #ddd; padding: 20px 0;}
.conf_ov .item .gu {font-weight: 700; font-size: 1.125rem; color: var(--mainNavy);}
.conf_ov .item .nae {font-size: 1.125rem}
.conf_ov .item .nae .p {display: flex; align-items: flex-start; gap: 10px; margin-top: 7px}
.conf_ov .item .nae .p div {
    font-weight: 700; width: 75px; flex-shrink: 0; background: var(--mainOrg); color: #fff;
    line-height: 1; text-align: center; padding: 5px; border-radius: 3px; font-size: 1rem;
}

.spk_list {display: flex; flex-wrap: wrap; gap: 20px;}
.spk_item {width: calc(33.333% - 13.333px); border: 1px solid var(--border); padding: 30px; display: flex; gap: 20px; align-items: center; min-height: 170px; cursor: pointer;}
.spk_item .img {width: 100px; aspect-ratio: 1/1; flex-shrink: 0; border-radius: 100px; overflow: hidden; position: relative;}
.spk_item .img::before {display: block; content: ""; background: #000; opacity: 0.05; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.spk_item .img img {width: 100%; height: 100%; object-fit: cover; object-position: center top;}
.spk_item .cont {flex: 1 0 0; display: flex; flex-direction: column; gap: 10px;}
.spk_item .sess {font-size: 1.25rem; font-weight: 700; color: var(--mainNavy);}
.spk_item .name {font-weight: 700; font-size: 1.125rem;}

.spk_item .pTit {display: none;}
.spk_item .time {display: none;}
.spk_item .intro {display: none;}
.spk_item .career {display: none;}

#popSpkIntro .close {position: absolute; top: -35px; right: 0;}
#popSpkIntro .pop_layer {max-width: 800px;}
.spk_int {display: flex; flex-direction: column; padding: 30px;}
.spk_int .infoBox {display: flex; align-items: flex-start; gap: 40px;}
.spk_int .img { width: 250px; aspect-ratio: 1/1; flex-shrink: 0; border-radius: 1000px; overflow: hidden; position: relative;}
.spk_int .img::before {display: block; content: ""; background: #000; opacity: 0.05; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.spk_int .img img {width: 100%; height: 100%; object-fit: cover; object-position: center top;}
.spk_int .cont {flex: 1 0 0; padding: 25px 0; display: flex; flex-direction: column; gap: 20px; min-height: 250px; justify-content: space-between;}
.spk_int .cont .top {border-bottom: 1px solid var(--border); padding-bottom: 15px;}
.spk_int .pTit{font-size: 1.25rem; font-weight: 700; color: var(--mainNavy);}
.spk_int .time {color: #767676; font-size: 0.875rem;}
.spk_int .info { margin-top: auto;}
.spk_int .name {font-size: 1.125rem; font-weight: 700;}
.spk_int .career {font-size: 0.8125rem; color: #767676; margin-top: 5px; display: flex; flex-direction: column; gap: 2px;}
.spk_int .career p {padding-left: 10px; position: relative;}
.spk_int .career p::before {display: block; content: "-"; position: absolute; left: 0; top: 0;}
.spk_int .intro {padding: 20px; border-radius: 10px; background: #f5f5f5; font-size: 0.94rem; line-height: 1.5; margin-top: 30px;}



/* 오시는길 */
.way_wrap .inner {max-width: 1000px;}
.way_wrap .img {overflow: hidden; display: block; position: relative;}
.way_wrap .img::before {display: block; content: ""; background: #000; opacity: 0.05; position: absolute; top: 0; left: 0; width: 100%; height: 100%;}
.way_wrap .cmnt {text-align: center; margin-top: 20px;}


/* 교통 및 주차안내 */
.trn_wrap .inner {max-width: 1100px;}
.trn_wrap .sec_box {display: flex; gap: 60px; align-items: center;}
.trn_wrap .sec_box .img {width: 100%; font-size: 0;}
.trn_wrap .sec_box .cont {width: 100%; display: flex; flex-direction: column; gap: 40px;}
.trn_wrap .sec_box .cont .text {font-size: 1.125rem;}


/* 단체등록 */
.ap_grp .title {text-align: center;}
.ap_grp .title .big {font-size: 2.5rem; font-weight: 700; color: var(--mainNavy);}
.ap_grp .title .small {margin-top: 10px; font-size: 1.125rem;}
.ap_grp .how {background: #f5f5f5; padding: 40px; margin-top: 40px; display: flex; flex-direction: column; gap: 10px;}
.ap_grp .how li {display: flex; gap: 15px; align-items: flex-start;}
.ap_grp .how .gu {
    font-weight: 700; color: #fff; background: var(--mainNavy); width: 36px; aspect-ratio: 1/1;
    display: flex; align-items: center; justify-content: center; text-align: center; flex-shrink: 0;
}
.ap_grp .how .nae {font-size: 1.125rem; padding-top: 5px;}
.ap_grp .how .nae p {font-size: 1rem; color: #555;}
.ap_grp .nt {margin-top: 20px; display: flex; flex-direction: column; gap: 20px;}
.ap_grp .nt .bold {background: var(--mainOrg); width: 70px; text-align: center; color: #fff; border-radius: 3px; margin-bottom: 5px;}
.ap_grp .nt .text {margin-left: 2px;}


/* keynote */
.knt_wrap {border-top: 1px solid var(--border);}
.knt_wrap .sec_box {display: flex; gap: 60px; margin: 0 auto; max-width: 1200px;}
.knt_wrap .img {overflow: hidden; width: 400px; flex-shrink: 0;}
.knt_wrap .img img {width: 100%; height: 100%; object-fit: cover;}
.knt_wrap .cont {display: flex; flex-direction: column; gap: 25px;}
.knt_wrap .sess {color: var(--mainNavy); font-size: 1.25rem; font-weight: 700; margin-bottom: 10px;}
.knt_wrap .name {font-size: 2rem; font-weight: 700;}
.knt_wrap .aff {color: #555; font-size: 1.125rem;}
.knt_wrap .title {background: #f5f5f5; padding: 20px;}
.knt_wrap .title .big {font-size: 1.5rem; font-weight: 700;}
.knt_wrap .title .small {margin-top: 10px;}
.knt_wrap .career {font-size: 0.875rem; color: #767676; display: flex; flex-direction: column; gap: 5px;}
.knt_wrap .career p {padding-left: 13px; position: relative;}
.knt_wrap .career p::before {display: block; content: "-"; position: absolute; left: 0; top: 0;}


/* 참가기업소개 */
.cp_tab {flex-wrap: nowrap;}
.cp_tab a {width: 100%;}
.cp_int {border-bottom: 1px solid var(--border);}
.cp_int .title {margin-bottom: 30px; font-size: 2.5rem; font-weight: 700; text-align: center;}
.cp_int .tb_box table {table-layout: fixed;}
.cp_int .tb_box td{text-align: left;}
.cp_int .tb_box td,
.cp_int .tb_box th {font-size: 0.9375rem;}
.cp_int .tb_box .name {text-align: center; width: 140px;}
.cp_int .tb_box .name2 {width: 280px; text-align: center;}
.cp_int .tb_box .booth {width: 120px; font-size: 0;}
.cp_int .tb_box .booth img {margin-bottom: 10px;}
.cp_int .tb_box .booth img:last-child {margin-bottom: 0;}
.cp_int .tb_box .int,
.cp_int .tb_box .dt {width: calc(50% - 130px);}

#tabCompany04 .tb_box .int,
#tabCompany04 .tb_box .dt {width: calc(50% - 200px);}