﻿/* 서브페이지 */
/* body{background: linear-gradient(to right, #000000, #000032) } */
/*#container_wr:not(.main):before {background-image: url(../img/sub/sub_visual.webp);background-position: 100% 0;background-size: 45% auto;}*/
#container {padding-top: 80px;padding-bottom: 80px;}
#container .btn{opacity:.8;transition: .2s ease-in-out;}
#container .btn:hover{opacity:1;}
#ctt {padding: 0 !important;background: inherit !important;margin: 0 !important;}
/*서브비주얼*/
.subVisual {position: relative;height:420px;display: flex;align-items: center;font-size: 65px;font-family: var(--main-font);font-weight: 700; z-index: 1;}
.subVisual> .container {padding-bottom:75px;position: relative;display: flex;align-items: center;height: 100%;}
.subVisual img{position: absolute; right: 0; width: 45%;top:calc(50% + 75px);transform: translateY(-50%);}
.subMenu {position: absolute;bottom:0;left:0;right:0;border-top: 1px solid rgba(255, 255, 255, .3);border-bottom: 1px solid rgba(255, 255, 255, .3);/* backdrop-filter: blur(5px);background:rgba(255,255,255,.2); */line-height: 1;}
.subMenu .container {max-width: 1600px;margin: 0 auto;}
.subMenu ul {display:flex;align-items: center; text-align: center;}
.subMenu ul li a {color: #fff;font-size: 18px;font-family: var(--main-font);font-weight: 400;padding: 25px 40px;display: block; white-space: nowrap;min-width:160px; transition: all .2s ease-in-out;}
.subMenu ul li:hover a{color:var(--primary)}
.subMenu ul li.active a {background: var(--primary);color: #000}
/* 개요 */
.sec_title {font-size: 50px;font-family: var(--main-font);padding:0 0 100px 0;font-weight: 600;line-height: 120%;font-weight: 500;}
.sec_title.type_b {font-size:50px; padding:0; line-height:120%; font-weight:500; font-family:var(--main-font);}
.sec_title:not(:first-of-type){padding-top: 80px}
.sec_title>span {font-size: 20px;display: block;margin-bottom: 20px;color: var(--primary);line-height: 1rem; font-weight:400}
.attend,
.schedule,
.company,
.extra,
.events {color:#fff;}
.attend .attend_head,
.schedule .schedule_head {padding-bottom:100px;}
.company .company_head,
.extra .extra_head,
.events .events_head {padding-bottom:60px;}
.attend .attend_head .sub_tit,
.schedule .schedule_head .sub_tit,
.company .company_head .sub_tit,
.extra .extra_head .sub_tit,
.events .events_head .sub_tit {color:var(--primary); font-family:var(--main-font); font-size:20px; display:inline-block;}
.attend .attend_head .sub_tit,
.schedule .schedule_head .sub_tit {display:block; font-weight:400; margin-bottom:20px; line-height:1rem;}
.company .company_head .sub_tit,
.extra .extra_head .sub_tit {font-weight:500; padding-bottom:20px;}
.company .company_grid,
.extra .extra_grid,
.events .events_grid {display:grid;}
.extra .card_thumb,
.events .card_thumb {position:relative; width:100%; overflow:hidden; border-radius:8px; background:rgba(255,255,255,.05);}
.extra .card_thumb img,
.events .card_thumb img {width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease;}
.extra .card_title,
.events .card_title {font-family:var(--main-font); font-size:24px; font-weight:500; color:#fff;}
.extra .extra_card,
.events .event_card {display:flex; flex-direction:column;}
.extra .extra_card:hover .card_thumb img,
.events .event_card:hover .card_thumb img {transform:scale(1.04);}
.sec_con:not(:nth-of-type(1)) {margin-top: 100px;}
.sec_con .sub_tit {font-size: 30px;font-weight: 600;padding-bottom: 60px;font-family: var(--main-font);position: relative;display: inline-flex;}
.sec_con .sub_tit::after{content: "";width: 10px;height: 10px;border-radius: 50%;background: var(--primary);position: absolute;top: -5px;right: -20px;}
.sec_con .con_wrap {width: 100%;}
.sec_con .con_list>li {display: flex;align-items: center;justify-items: center;color: #fff;border-bottom: 1px solid rgba(255, 255, 255, .2);}
.sec_con .con_list>li:first-child {}
.sec_04 .con_list>li:first-child span{color: var(--primary);opacity: .85;}
.sec_con .con_list>li span {display: flex;padding: 35px 20px;justify-content: space-between; align-items: center;}
.sec_con .con_list li>.tit {font-size: 22px;font-family: var(--main-font);width: 150px;}
.sec_con .con_list li>.txt {flex:1;font-size: 20px;gap:20px}
.sec_con .con_list li>.txt span{padding:0;margin-bottom:20px;}
.sec_con .con_list li>.txt.ico {display: flex;align-items: center;gap: 10px;}
.sec_con .con_item {border: 1px solid var(--primary);flex: 1 1 auto;width: 100%;}
.sec_con .con_item .con_tit {color: #000;font-family: var(--main-font);font-size: 24px;background: var(--primary);padding: 20px 30px; text-align: center;}
.sec_con .con_item .con_txt{padding: 40px 20px;display: flex;align-items: center;justify-content: center;text-align: center;}
.sec_con .con_item .list {padding: 30px;}
.sec_con .con_item .list li {display: flex;align-items: center;color: #fff;font-size: 16px;padding-bottom: 5px;}
.sec_con .con_item .list li::before {content: "";width: 5px;height: 5px;border-radius: 50%;background: #fff;margin-right: 5px;}
.sec_con .con_item .list li:last-child {padding-bottom: 0;}
.sec_con .list_wrap {display: flex;align-items: flex-start;gap: 60px;justify-content: center;}
.sec_01 {display: flex;align-items: centr;justify-items: center;}
.sec_01 .img_wrap {padding-right: 100px;}
.sec_01 .img_wrap>img {min-width: 520px;}
.sec_01 .con_list li .txt {flex:unset;justify-content: flex-start;}
.sec_02 .con_wrap {display: flex;align-items: center;justify-items: center;gap: 30px;}
.sec_04 .sub_tit {padding-bottom: 20px;}
.sec_04 .con_list li>.tit {min-width: 230px;}
.sec_04 .con_list>li:nth-child(2)>.txt>span {padding: 0;}
.sec_04 .bus_chips {display: flex;align-items: center;padding-top: 10px;gap: 5px;}
.sec_04 .bus_chips li {padding: 4px 10px;background: rgba(255, 255, 255, .1);border: 1px solid rgba(255, 255, 255, .1);border-radius: 5px;}
.sec_04 .map_top{display: flex;align-items: center;justify-content: space-between;padding-bottom: 20px;}
.sec_04 .more_btn{padding: 20px 12px;background: var(--primary);position: relative;border-radius: 6px;color: #000;font-size: 16px;display: flex;align-items: center;justify-content: center;}
.sec_04 .more_btn::after{content: "";width: 14px;height: 14px;display: block;margin-left: 8px;background: url(../img/sub/ico_more_window.png)0 0 no-repeat;background-size: contain;}
.sec_04 .map{position:relative;width:100%;height:480px;border-radius:8px;overflow:hidden;background:rgba(255,255,255,.04);}
.sec_04 .map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:invert(.92) hue-rotate(180deg) saturate(.8);}
/* 부스 배치도 */
.booth_sec {margin-top:0 !important;}
.booth_map {width:100%;padding:50px;border:1px solid rgba(255, 255, 255, .2);border-radius:8px;background:rgba(0, 0, 0, .42);}
.booth_map img {display:block;width:100%;;max-width:900px !important;height:auto;margin:0 auto}
.booth_list_wrap {display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) minmax(320px, .85fr);gap:36px;margin-top:48px;}
.booth_side_tables {display:flex;flex-direction:column;gap:28px;}
.booth_table {color:#fff;}
.booth_table_head,
.booth_table li {display:grid;grid-template-columns:88px minmax(0, 1fr);gap:4px;align-items:center;}
.booth_table_head {margin-bottom:8px;}
.booth_table_head span {display:flex;align-items:center;justify-content:center;min-height:38px;font-size:15px;font-weight:700;color:#111;}
.booth_table_head span:first-child {border-radius:8px 0 0 8px;}
.booth_table_head span:last-child {border-radius:0 8px 8px 0;}
.booth_table li {margin-top:5px;}
.booth_table li span,
.booth_table li strong {display:flex;align-items:center;justify-content:center;min-height:36px;padding:8px 12px;background:rgba(255, 255, 255, .12);font-size:14px;line-height:1.25;}
.booth_table li span {border-radius:7px 0 0 7px;font-weight:600;}
.booth_table li strong {border-radius:0 7px 7px 0;font-weight:500;word-break:keep-all;}
.booth_table_a .booth_table_head span {background:linear-gradient(90deg, #d9f3d0, #9fcf9b);}
.booth_table_b .booth_table_head span {background:linear-gradient(90deg, #bddce1, #85b5bd);}
.booth_table_c .booth_table_head span {background:linear-gradient(90deg, #ffd4b3, #d8a37e);}
.booth_table_d .booth_table_head span {background:linear-gradient(90deg, #e8addf, #b777b0);}
.booth_table_e .booth_table_head span {background:linear-gradient(90deg, #f0efa3, #d5d17d);}
@media (max-width:1200px) {
  .booth_list_wrap {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .booth_side_tables {grid-column:1 / -1;display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width:767px) {
  .booth_map {padding:25px;}
  .booth_list_wrap,
  .booth_side_tables {grid-template-columns:1fr;gap:24px;}
  .booth_table_head,
  .booth_table li {grid-template-columns:76px minmax(0, 1fr);}
}
/* 비즈매칭 */
.bizmaching .sub_tit {font-family: var(--main-font);font-size: 34px;line-height: 120%;font-weight: 500;padding-bottom: 80px;}
.bizmaching .sub_tit span {color: var(--primary);font-size: 20px;padding-bottom: 20px;display: block;} 
.bizmaching .txt_box{border: 2px solid var(--primary);background: rgba(0, 255, 122, 0.1);border-radius: 10px;padding: 60px 50px;display: flex;gap: 20px;color: #fff;}
.bizmaching .txt_box *{flex: 1 1;}
.bizmaching .txt_box .text,.bizmaching .txt_box .point_txt{line-height: 140%;font-size: 22px;}
.bizmaching .txt_box .text{display: flex; flex-direction: column;gap: 15px;}
.bizmaching .txt_box .point_txt{color: var(--primary);font-family: var(--main-font);}
.bizmaching .step{}
.bizmaching .step ul{display:inline-flex;gap:40px;margin: 50px 0;}
.bizmaching .step li {border:2px solid #03793E;border-radius:10px;font-family:var(--main-font);display: flex; align-items: center; justify-content: center; height: 100px; width: 100px; position: relative;}
.bizmaching .step li:not(:first-child)::before{content:'';background: url(../img/sub/arrow.png) no-repeat 50%; position: absolute;left:-42px;width:40px;bottom:0;top:0}
.bizmaching .step > p{margin-bottom: 20px;}
.bizmaching .btn_wrap{padding-top: 80px;text-align: center;}
.bizmaching .btn{display: inline-flex;align-items: center;justify-content: center;background: var(--primary);border-radius: 6px;color: #000;font-weight: 500;padding:0 15px;height:36px;font-size:90%;}
.bizmaching .btn.submit{height: 68px;min-width: 220px;font-size: 22px;}
/* =============== ATTEND - 사전등록 =============== */
/* 페이지 탭 */
.attend .page_tab {display:flex; gap:50px; padding:0 0 60px; border-bottom:1px solid rgba(255,255,255,.2); margin-bottom:60px;}
.attend .page_tab li a {display:inline-block; padding:14px 28px; color:#a1a1a1; font-size:16px; font-family:var(--main-font); border-radius:6px; transition:all .2s ease;}
.attend .page_tab li.on a {background:var(--primary); color:#000; font-weight:600;}
.attend .page_tab li:not(.on) a:hover {color:#fff;}
/* 섹션 헤더 */
.attend .attend_head {position:relative;flex-direction: column; gap:50px;display:flex;}
/* 타입 토글 (일반 관람객 / 바이어) */
.attend .type_toggle {display:flex; gap:10px;}
.attend .type_toggle .type_btn {background:transparent; border:1px solid rgba(255,255,255,.3); color:#a1a1a1; padding:12px 26px; font-size:15px; border-radius:6px; cursor:pointer; transition:all .2s ease; font-family:var(--main-font);}
.attend .type_toggle .type_btn:hover {color:#fff; border-color:#fff;}
.attend .type_toggle .type_btn.on {border-color:var(--primary); color:var(--primary); background:rgba(0,255,122,.05);}
/* 폼 토글 */
.attend .attend_form {display:none;}
.attend .attend_form.is-active {display:block;}
/* 폼 리스트 */
.attend .frm_list {border-top:1px solid rgba(255,255,255,.2);}
.attend .frm_row {display:flex; align-items:center; border-bottom:1px solid rgba(255,255,255,.2); gap:30px;}
.attend .frm_row.split {gap:0;}
.attend .frm_row.split .frm_col {flex:1; min-width:0; display:flex; align-items:center; gap:30px; padding-right:30px;}
.attend .frm_row.split .frm_col:last-child {padding-right:0; padding-left:30px; border-left:0;}
.attend .frm_label {/*flex:0 0 140px;*/ font-size:17px; font-family:var(--main-font); font-weight:500; color:#fff;background: rgba(255,255,255,.1);display: flex;align-items: center;width: 220px;/*height: 80px;*/padding:30px;}
/* .attend .frm_row.split .frm_col .frm_label {flex:0 0 120px;} */
.attend .frm_field {flex:1; min-width:0;}
.attend .req {color:var(--primary); font-style:normal; margin-left:4px;}
/* 인풋 / 셀렉트 */
.attend .frm_input {background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.15); color:#fff; height:50px; padding:0 16px; border-radius:6px; font-size:15px; width:100%;}
.attend .frm_input:focus {outline:none; border-color:var(--primary); box-shadow:0 0 0 2px rgba(0,255,122,.15);}
.attend select.frm_input {appearance:none; background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3e%3cpath fill='none' stroke='%23ffffff' stroke-width='1.5' d='M1 1l5 5 5-5'/%3e%3c/svg%3e"); background-repeat:no-repeat; background-position:right 16px center; padding-right:40px;}
.attend select.frm_input option {background:#000; color:#fff;}
.attend .frm_input::placeholder {color:rgba(255,255,255,.3);}
/* 라디오 / 체크박스 그룹 */
.attend .radio_group,
.attend .check_group {display:flex; flex-wrap:wrap; gap:14px 30px;}
.attend .radio_group label,
.attend .check_group label {display:inline-flex; align-items:center; gap:8px; cursor:pointer; color:#fff; font-size:15px;}
.attend .radio_group input[type="radio"],
.attend .check_group input[type="checkbox"] {appearance:none; width:18px; height:18px; border:1.5px solid rgba(255,255,255,.4); background:transparent; cursor:pointer; position:relative; flex-shrink:0; transition:all .15s ease;}
.attend .radio_group input[type="radio"] {border-radius:50%;}
.attend .check_group input[type="checkbox"] {border-radius:3px;}
.attend .radio_group input[type="radio"]:checked {border-color:var(--primary);}
.attend .radio_group input[type="radio"]:checked::after {content:""; width:10px; height:10px; border-radius:50%; background:var(--primary); position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);}
.attend .check_group input[type="checkbox"]:checked {background:var(--primary); border-color:var(--primary);}
.attend .check_group input[type="checkbox"]:checked::after {content:""; width:5px; height:9px; border:solid #000; border-width:0 2px 2px 0; transform:rotate(45deg); position:absolute; top:1px; left:5px;}
/* 바이어 안내 박스 */
.attend .buyer_notice {margin-top:30px; padding:20px 30px; border:1px solid rgba(0, 255, 122, 0.1); background:rgba(0,255,122,.1); border-radius:6px; display:flex; align-items:center; justify-content:center; gap:30px;}
.attend .buyer_notice p {color:var(--primary); font-size:15px;}
.attend .buyer_notice .join_btn {background:var(--primary); color:#000; padding:8px 20px; border-radius:6px; font-size:14px; font-weight:600; height:auto; line-height:1.5;}
/* 개인정보 동의 */
.attend .privacy_wrap {margin-top:80px;}
.attend .privacy_tit {font-size:22px; font-family:var(--main-font); font-weight:500; color:#fff; padding-bottom:20px;}
.attend .privacy_box {border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.1); border-radius:6px; padding:30px; max-height:300px; overflow-y:auto;}
.attend .privacy_box::-webkit-scrollbar {width:6px;}
.attend .privacy_box::-webkit-scrollbar-thumb {background:rgba(255,255,255,.3); border-radius:3px;}
.attend .agree_tit {font-size:16px; font-weight:600; color:#fff; padding-bottom:18px;}
.attend .agree_txt {color:#a1a1a1; font-size:14px; line-height:1.7;}
.attend .agree_txt p:not(:last-child) {padding-bottom:14px;}
.attend .agree_check {display:inline-flex; align-items:center; gap:8px; cursor:pointer; color:#fff; font-size:15px; margin-top:20px;}
.attend .agree_check input[type="checkbox"] {appearance:none; width:18px; height:18px; border:1.5px solid rgba(255,255,255,.4); border-radius:3px; background:transparent; cursor:pointer; position:relative; flex-shrink:0;}
.attend .agree_check input[type="checkbox"]:checked {background:var(--primary); border-color:var(--primary);}
.attend .agree_check input[type="checkbox"]:checked::after {content:""; width:5px; height:9px; border:solid #000; border-width:0 2px 2px 0; transform:rotate(45deg); position:absolute; top:1px; left:5px;}
/* 버튼 영역 */
.attend .btn_wrap.center {display:flex; justify-content:center; gap:14px; margin-top:50px;}
.attend .btn_wrap .btn {display:inline-flex; align-items:center; justify-content:center; min-width:160px; height:56px; padding:0 30px; font-size:16px; font-weight:500; border-radius:6px; font-family:var(--main-font); cursor:pointer; border:0;}
.attend .btn_wrap .btn_cancel {background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#fff;}
.attend .btn_wrap .btn_cancel:hover {background:rgba(255,255,255,.15);}
.attend .btn_wrap .btn_submit {background:var(--primary); color:#000;}
.attend .btn_wrap .btn_submit:hover {filter:brightness(1.1);}
/* 반응형 */
@media (max-width:1023px) {
  .attend .attend_head {padding-bottom:70px;}
  .attend .type_toggle {position:static; bottom:auto; display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); width:100%; margin-top:30px;}
  .attend .type_toggle .type_btn {min-height:50px; padding:12px 14px; word-break:keep-all;}
  .attend .frm_row {flex-direction:column; align-items:stretch; gap:10px; padding:16px 0;}
  .attend .frm_row.split {flex-direction:column;}
  .attend .frm_row.split .frm_col {width:100%; padding:0; flex-direction:column; align-items:stretch; gap:10px;}
  .attend .frm_row.split .frm_col:last-child {padding-left:0;}
  .attend .frm_label,
  .attend .frm_row.split .frm_col .frm_label {flex:none; width:100%; min-height:46px; padding:13px 0 0; border-radius:0; background:transparent;}
  .attend .frm_field {width:100%;}
  .attend .radio_group,
  .attend .check_group {padding:2px 0 4px; gap:12px 22px;}
  .sec_con .con_list>li span{flex-direction: column;align-items: flex-start;gap:7px}
}
@media (max-width:767px) {
  .attend .page_tab {gap:8px; padding-bottom:30px; margin-bottom:30px; flex-wrap:wrap;}
  .attend .page_tab li a {padding:10px 16px; font-size:14px;}
  .attend .attend_head {padding-bottom:50px;}
  .attend .attend_head .sub_tit {font-size:17px; margin-bottom:14px;}
  .attend .type_toggle {gap:8px; margin-top:24px;}
  .attend .type_toggle .type_btn {font-size:14px;}
  .attend .frm_row {padding:14px 0;}
  .attend .frm_label,
  .attend .frm_row.split .frm_col .frm_label {min-height:42px; padding:11px 14px; font-size:14px;}
  .attend .frm_input {height:46px; font-size:14px;}
  .attend .radio_group,
  .attend .check_group {gap:10px 14px;}
  .attend .radio_group label,
  .attend .check_group label {font-size:14px;}
  .attend .buyer_notice {flex-direction:column; gap:14px; text-align:center; padding:20px;}
  .attend .privacy_wrap {margin-top:50px;}
  .attend .privacy_box {padding:20px; max-height:260px;}
  .attend .privacy_tit {font-size:18px; padding-bottom:14px;}
  .attend .agree_txt {font-size:13px;}
  .attend .agree_check {align-items:flex-start; line-height:1.45;}
  .attend .btn_wrap.center {flex-direction:column;}
  .attend .btn_wrap .btn {width:100%; max-width:none; min-width:0; height:50px; font-size:15px;}
}
@media (max-width:480px) {
  .attend .attend_head {padding-bottom:40px;}
  .attend .attend_head .sub_tit {font-size:15px;}
  .attend .type_toggle {grid-template-columns:1fr;}
  .attend .type_toggle .type_btn {min-height:46px;}
  .attend .radio_group,
  .attend .check_group {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px;}
  .attend .radio_group label,
  .attend .check_group label {min-width:0;}
  .attend .radio_group label span,
  .attend .check_group label span {min-width:0; word-break:keep-all;}
  .attend .privacy_box {padding:16px; max-height:240px;}
  .attend .buyer_notice .join_btn {width:100%; height:42px; line-height:42px; padding:0 16px;}
}
/* ========================= PROGRAM.php Responsive (Tablet / Mobile) ========================= */
/* ---- ~1640px : 좌우 여백 확보 ---- */
@media (max-width: 1640px) {.subVisual img {}}
/* ---- ~1280px : 폰트/여백 축소 ---- */
@media (max-width: 1280px) {#container { padding-top: 60px;padding-bottom: 60px;}
  /* sub visual */
  .subVisual { height: 280px; font-size: 50px;padding-bottom: 50px; }
  .subVisual article > .container { padding-bottom: 60px; }
  .subVisual img { width: 32%; top: 50%; }
  .subMenu ul li a { font-size: 16px; padding: 20px 28px; min-width: 0; }
   /* 공통 sec */
  .sec_title { font-size: 40px; padding: 0 0 70px 0;word-break: keep-all; }
  .sec_title.type_b {font-size:40px; padding:0;}
  .sec_title:not(:first-of-type) { padding-top: 60px; }
  .sec_con:not(:nth-of-type(1)) { margin-top: 80px; }
  .sec_con .sub_tit { font-size: 26px; padding-bottom: 45px; }
  /* sec_01 - 포스터 + 정보 */
  .sec_01 .img_wrap { padding-right: 60px; }
  .sec_01 .img_wrap > img { min-width: 0; width: 100%; max-width: 420px; }
   /* sec_02 - 메인 프로그램 */
  .sec_02 .con_wrap { gap: 20px; }
  .sec_con .con_item .con_tit { font-size: 22px; padding: 18px 25px; }
  .sec_con .con_item .list { padding: 25px; }
  /* sec_03 - 부대 프로그램 */
  .sec_con .list_wrap { gap: 40px; }
  /* sec_04 - 오시는 길 */
  .sec_04 .con_list li > .tit { min-width: 200px; }
  /* 비즈매칭 */
  .bizmaching .sub_tit { font-size: 28px; padding-bottom: 60px; }
  .bizmaching .txt_box { padding: 45px 40px; }
  .bizmaching .txt_box .text,
  .bizmaching .txt_box .point_txt { font-size: 19px; }}
/* ---- ~900px : 모바일 스택 시작 ---- */
@media (max-width: 900px) {
  #container { padding-top: 40px; padding-bottom: 40px; }
  /* sub visual */
  .subVisual { height: 220px; font-size: 38px; }
  .subVisual >.container { padding-bottom:0px; }
  .subVisual img { display: none; }
  /* subMenu - 가로 스크롤 */
  .subMenu { left: 0; right: 0; }
  .subMenu .container { padding-left: 0; padding-right: 0; }
  .subMenu ul {overflow-x: auto;  -webkit-overflow-scrolling: touch;  scrollbar-width: none;}
  .subMenu ul::-webkit-scrollbar { display: none; }
  .subMenu ul li a { font-size: 15px; padding: 16px 22px; }
  /* 공통 sec */
  .sec_title { font-size: 30px; padding: 0 0 50px 0; line-height: 1.3; }
  .sec_title.type_b {font-size:30px; padding:0; line-height:1.3;}
  .sec_title br { display: none; }
  .sec_title:not(:first-of-type) { padding-top: 50px; }
  .sec_title > span { font-size: 17px; margin-bottom: 14px; }
  .sec_con:not(:nth-of-type(1)) { margin-top: 60px; }
  .sec_con .sub_tit { font-size: 22px; padding-bottom: 35px; }
  /* con_list 폭 줄이기 */
  .sec_con .con_list > li { flex-wrap: wrap; }
  .sec_con .con_list > li span { padding: 22px 16px; }
  .sec_con .con_list li > .tit { font-size: 18px; width: 110px; }
  .sec_con .con_list li > .txt { font-size: 16px; flex: 1 1 0; min-width: 0; }
  /* sec_01 - 세로 스택 */
  .sec_01 { flex-direction: column; align-items: stretch; gap: 30px; }
  .sec_01 .img_wrap { padding-right: 0; text-align: center; }
  .sec_01 .img_wrap > img { max-width: 320px; }
  /* sec_02 - 세로 스택 */
  .sec_02 .con_wrap { flex-direction: column; gap: 20px; }
  .sec_con .con_item .con_tit { font-size: 20px; padding: 16px 22px; }
  .sec_con .con_item .list { padding: 22px; }
  .sec_con .con_item .list li { font-size: 15px; }
  /* sec_03 - 세로 스택 */
  .sec_con .list_wrap { flex-direction: column; gap: 16px; }
  /* sec_04 - 지도/주소 */
  .sec_04 .map_top { flex-direction: column; align-items: flex-start; gap: 12px; }
  .sec_04 .map_top .address { font-size: 15px; line-height: 1.5; }
  .sec_04 .more_btn { padding: 14px 16px; font-size: 14px; }
  .sec_04 .map { height: 360px; }
  .sec_04 .map img { width: 100%; height: auto; }
  .sec_04 .con_list li > .tit { min-width: 140px; width: 140px;word-break: keep-all; }
  .sec_04 .con_list li .txt { padding: 22px 16px; }
  .sec_04 .bus_chips { flex-wrap: wrap; gap: 6px; }
  .sec_04 .bus_chips li { padding: 3px 8px; font-size: 13px; }
  /* 비즈매칭 */
  .bizmaching .sub_tit { font-size: 24px; padding-bottom: 50px; }
  .bizmaching .sub_tit span { font-size: 17px; padding-bottom: 14px; }
  .bizmaching .txt_box { flex-direction: column; padding: 35px 28px; gap: 18px; }
  .bizmaching .txt_box .text,
  .bizmaching .txt_box .point_txt { font-size: 17px; word-wrap: break-word;word-break: keep-all;}
  .bizmaching .txt_box .text br,.bizmaching .txt_box .point_txt br{display: none;}
  .bizmaching .step ul { gap: 28px; margin: 35px 0; flex-wrap: wrap; }
  .bizmaching .step li { width: 84px; height: 84px; font-size: 14px; }
  .bizmaching .step li:not(:first-child)::before { left: -32px; width: 28px; background-size: contain; }
  .bizmaching .btn_wrap { padding-top: 60px; }
  .bizmaching .btn.submit { height: 58px; min-width: 180px; font-size: 18px; }}
/* ---- ~600px : 좁은 모바일 ---- */
@media (max-width: 600px) {
  .subMenu ul li a { font-size: 14px; padding: 14px 20px; }
  .sec_title { font-size: 26px; padding: 0 0 40px 0; }
  .sec_title.type_b {font-size:26px; padding:0;}
  .sec_title > span { font-size: 15px; }
  .sec_con .sub_tit { font-size: 20px; }
  .sec_con .con_list > li span { padding: 18px 12px; }
  .sec_con .con_list li > .tit { font-size: 16px; width: 90px; }
  .sec_con .con_list li > .txt { font-size: 14px; }
  .sec_04 .con_list li > .tit { min-width: 110px; width: 110px; }
  .sec_04 .map { height: 280px; border-radius: 6px; }
  /* 비즈매칭 step 줄바꿈 시 화살표 숨김 */
  .bizmaching .txt_box { flex-direction: column; padding: 25px 20px;}
  .bizmaching .step ul { gap:5px; justify-content: center;text-align: center;word-wrap: break-word;word-break: keep-all;}
  .bizmaching .step li:not(:first-child)::before { display: none; }}
/* ============================================================
   PROGRAM3 - 행사 일정표   ============================================================ */
/* 섹션 헤더 */
.schedule .schedule_head {transform: translate(0, 0) !important;}
/* DAY 토글 */
.schedule .day_tab {display:flex; gap:20px; margin:20px 0 60px; align-items: center;}
.schedule .day_tab .day_btn {flex:1; background:transparent; border:0; border-bottom:4px solid rgba(255,255,255,.2);padding:20x 0; font-size:22px; font-family:var(--main-font); cursor:pointer; transition:all .2s ease; display:flex; justify-content:center; gap:20px; height: 82px;transform: translate(0, 0) !important;}
.schedule .day_tab .day_btn span:not(:first-of-type)::before{content:'';width: 1px; background: rgba(255, 255, 255, .3); display: inline-flex;margin:0 20px 0 0;height: 20px; align-items: center;}
.schedule .day_tab .day_btn span{ display: inline-flex;align-items:center;}
.schedule .day_tab .day_btn .lbl {font-weight:500;}
.schedule .day_tab .day_btn .date {font-weight:600;}
.schedule .day_tab .day_btn:hover {color:#fff;} 
.schedule .day_tab .day_btn.on {color:#fff; opacity: 1 !important; border-bottom-color:var(--primary);}
.schedule .day_tab .day_btn.on .lbl {color:var(--primary);}
.schedule .day_tab .day_btn.on .date {color:var(--primary);}
/* DAY 패널 */
.schedule .day_panel {display:none;}
.schedule .day_panel.is-active {display:block;}
.schedule:not(.official) .day_panel {overflow-x:auto; -webkit-overflow-scrolling:touch;}
.schedule:not(.official) .day_panel::-webkit-scrollbar {height:6px;}
.schedule:not(.official) .day_panel::-webkit-scrollbar-thumb {background:rgba(255,255,255,.25); border-radius:3px;}
.schedule:not(.official) .day_panel::-webkit-scrollbar-track {background:rgba(255,255,255,.04); border-radius:3px;}
/* 일정표 그리드 */
.schedule .sch_grid {display:grid;width:100%;min-width:960px;grid-template-columns:170px repeat(5, minmax(0, 1fr));grid-auto-rows:minmax(70px, auto);gap:10px;padding-top:20px;}
/* 헤더 (메인무대 / 전시관 / 301호 / 302호) */
.schedule .sch_head {background: linear-gradient(135deg,#00ff7a 0%,#00f06f 45%,#00c95f 100%);color:#000;font-family:var(--main-font);font-size:20px;font-weight:500;display:flex; align-items:center; justify-content:center;height:64px;border-radius:6px;}
.schedule .sch_head.sch_blank {background:transparent;}
/* 시간 컬럼 */
.schedule .sch_time {display:flex; align-items:center; justify-content:flex-start;padding:0 14px;color:#fff;font-size:15px;font-family:var(--main-font);}
/* 빈 칸 */
.schedule .sch_cell {background:rgba(255,255,255,.1);border-radius:6px;min-height:70px;}
/* 일정 칸 */
.schedule .sch_item {background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:24px 18px;display:flex; flex-direction:column; align-items:center; justify-content:center;text-align:center;color:#fff;font-size:16px;line-height:1.45;gap:15px;}
.schedule .sch_item::before {display:none;}
.schedule .sch_item p {font-family: var(--main-font); margin:0;}
/* ---- 반응형 ---- */
/* ~1280px : 폰트/여백 축소 */
@media (max-width:1280px) {
  .schedule .schedule_head {padding-bottom:70px;}
  .schedule .day_tab {margin:10px 0 50px; gap:14px;}
  .schedule .day_tab .day_btn {font-size:20px; height:72px; border-bottom-width:3px; gap:14px;}
  .schedule .day_tab .day_btn span:not(:first-of-type)::before {margin:0 14px 0 0; height:18px;}
  .schedule .sch_grid {grid-template-columns:130px repeat(5, minmax(0, 1fr)); gap:8px; grid-auto-rows:minmax(60px, auto); padding-top:10px;}
  .schedule .sch_head {font-size:18px; height:56px;}
  .schedule .sch_time {font-size:14px; padding:0 10px;}
  .schedule .sch_item {font-size:15px; padding:20px 12px; gap:8px;}
  .schedule:not(.official) .sch_item p{word-break:keep-all;word-wrap: break-word;}
  .schedule:not(.official) .sch_item p > br {display:none;}
}
/* ~1024px : 가로 스크롤 대비(태블릿) */
@media (min-width:901px) and (max-width:1024px) {
  .schedule .schedule_head {padding-bottom:70px;}
  .schedule .day_tab {margin:6px 0 40px;}
  .schedule .day_tab .day_btn {font-size:18px; height:64px; border-bottom-width:3px; gap:10px;}
  .schedule .day_tab .day_btn span:not(:first-of-type)::before {margin:0 10px 0 0; height:16px;}
  /* 그리드 가로 스크롤 영역 */
  .schedule .sch_grid {grid-template-columns:110px repeat(5, minmax(0, 1fr)); gap:6px;}
  .schedule .sch_head {font-size:16px; height:50px;}
  .schedule .sch_time {font-size:13px; padding:0 8px;}
  .schedule .sch_item {font-size:14px; padding:16px 10px; line-height:1.4;}}
/* ~900px : 모바일 진입 */
@media (max-width:900px) {
  .schedule .schedule_head {padding-bottom:50px;}
  .schedule .schedule_head .sub_tit {font-size:17px; margin-bottom:14px;}
  /* DAY 탭: 컴팩트 */
  .schedule .day_tab {gap:8px; margin:4px 0 30px;}
  .schedule .day_tab .day_btn {font-size:16px;border-bottom-width:2px; gap:8px; flex-direction:column;}
  .schedule .day_tab .day_btn span:not(:first-of-type)::before {display:none;}
  .schedule .day_tab .day_btn .lbl {font-size:14px;}
  .schedule .day_tab .day_btn .date {font-size:15px;}
  .schedule:not(.official) .sch_grid {grid-template-columns:110px repeat(5, minmax(0, 1fr)); gap:6px; grid-auto-rows:minmax(58px, auto); padding-top:0;}
  .schedule:not(.official) .sch_head {display:flex; height:50px; font-size:16px;}
  .schedule:not(.official) .sch_time {display:flex; font-size:13px; padding:0 8px;}
  .schedule:not(.official) .sch_cell {display:block; min-height:58px;}
  .schedule:not(.official) .sch_item {min-height:58px; padding:16px 10px; font-size:14px; line-height:1.4; gap:8px;}
  .schedule:not(.official) .sch_item::before {display:none;}
}
/* ~600px : 좁은 모바일 */
@media (max-width:600px) {
  .schedule .schedule_head {padding-bottom:40px;}
  .schedule .schedule_head .sub_tit {font-size:15px;}
  .schedule .day_tab {margin:0 0 20px;}
  .schedule .day_tab .day_btn {font-size:14px; height:60px; gap:4px;}
  .schedule .day_tab .day_btn .lbl {font-size:12px;}
  .schedule .day_tab .day_btn .date {font-size:13px;}
} 
@media (max-width:480px) {
  .schedule:not(.official) .sch_grid {min-width:900px; grid-template-columns:90px repeat(5, minmax(0, 1fr)); gap:5px;}
  .schedule:not(.official) .sch_head {height:46px; font-size:14px;}
  .schedule:not(.official) .sch_time {font-size:12px; padding:0 6px;}
  .schedule:not(.official) .sch_cell {min-height:54px;}
  .schedule:not(.official) .sch_item {min-height:54px; padding:14px 8px; font-size:13px;}
}
/* ============================================================
   PROGRAM6 - 공식행사
   ============================================================ */
.schedule.official .official_table {display:grid; grid-template-columns:170px repeat(2, minmax(0, 1fr)); gap:5px; max-width:1340px; margin:0 auto;}
.schedule.official .official_event,
.schedule.official .official_info,
.schedule.official .official_item {display:contents;}
.schedule.official .official_info {margin:0;}
.schedule.official .official_head,
.schedule.official .official_label,
.schedule.official .official_cell {display:flex;flex-direction: column; align-items:center; justify-content:center; min-height:74px; margin:0; padding:22px 28px; border-radius:8px; text-align:center; word-break:keep-all;}
.schedule.official .official_head {grid-row:1; min-height:78px; background:linear-gradient(135deg, #00ff7a 0%, #00d967 100%); color:#000; font-family:var(--main-font); font-size:22px; font-weight:500;}
.schedule.official .event_opening .official_head {grid-column:2;}
.schedule.official .event_ceremony .official_head {grid-column:3;}
.schedule.official .official_label,
.schedule.official .official_cell {background:rgba(255,255,255,.1); color:#fff; font-size:18px; line-height:1.55;}
.schedule.official .official_label {grid-column:1; font-family:var(--main-font); font-weight:500;}
.schedule.official .event_ceremony .official_label {display:none;}
.schedule.official .item_date .official_label,
.schedule.official .item_date .official_cell {grid-row:2;}
.schedule.official .item_place .official_label,
.schedule.official .item_place .official_cell {grid-row:3;}
.schedule.official .item_content .official_label,
.schedule.official .item_content .official_cell {grid-row:4;}
.schedule.official .event_opening .official_cell {grid-column:2;}
.schedule.official .event_ceremony .official_cell {grid-column:3;}
.schedule.official .official_content {min-height:305px; align-items:flex-start;}
.schedule.official .official_list {width:100%; margin:0; padding:0; list-style:none;}
.schedule.official .official_list li {color:#fff; font-size:18px; line-height:1.55;}
.schedule.official .speaker_box {display:flex; align-items:center; gap:24px; width:100%; max-width:560px; margin:32px auto 0; padding:17px 20px; border:1px solid rgba(255,255,255,.13); border-radius:4px; background:rgba(255,255,255,.025); text-align:left;}
.schedule.official .speaker_box img {flex:0 0 auto; width:74px; height:74px; border-radius:50%; object-fit:cover; background:rgba(255,255,255,.08);}
.schedule.official .speaker_box .role {display:block; margin-bottom:6px; color:var(--primary); font-size:14px; font-weight:700;}
.schedule.official .speaker_box strong {display:block; color:#fff; font-family:var(--main-font); font-size:18px; line-height:1.35; font-weight:500;}
.schedule.official .speaker_box .name {display:block; margin-top:5px; color:rgba(255,255,255,.55); font-size:13px;}

@media (max-width:1280px) {
  .schedule.official .official_table {grid-template-columns:140px repeat(2, minmax(0, 1fr));}
  .schedule.official .official_head,
  .schedule.official .official_label,
  .schedule.official .official_cell {padding:20px 18px;}
  .schedule.official .speaker_box {max-width:520px;}
}
@media (max-width:900px) {
  .schedule.official .official_table {display:flex; flex-direction:column; gap:64px; max-width:1120px; margin:0 auto;}
  .schedule.official .official_event {display:grid; grid-template-columns:170px minmax(0, 1fr); gap:5px;}
  .schedule.official .official_info,
  .schedule.official .official_item {display:contents;}
  .schedule.official .official_event .official_head,
  .schedule.official .event_opening .official_head,
  .schedule.official .event_ceremony .official_head {grid-column:2; grid-row:auto;}
  .schedule.official .event_ceremony .official_label {display:flex;}
  .schedule.official .official_label {grid-column:1;}
  .schedule.official .official_cell,
  .schedule.official .event_opening .official_cell,
  .schedule.official .event_ceremony .official_cell {grid-column:2;}
  .schedule.official .item_date .official_label,
  .schedule.official .item_date .official_cell,
  .schedule.official .item_place .official_label,
  .schedule.official .item_place .official_cell,
  .schedule.official .item_content .official_label,
  .schedule.official .item_content .official_cell {grid-row:auto;}
  .schedule.official .official_event .official_content {min-height:0px;}
}
@media (max-width:1024px) {
  .schedule.official .official_head {font-size:19px;}
  .schedule.official .official_label,
  .schedule.official .official_cell,
  .schedule.official .official_list li {font-size:16px;}
}
@media (max-width:767px) {
  .schedule.official .official_table {gap:42px;}
  .schedule.official .official_event {grid-template-columns:86px minmax(0, 1fr); gap:4px;}
  .schedule.official .official_head,
  .schedule.official .official_label,
  .schedule.official .official_cell,
  .schedule.official .official_list li {font-size:14px;}
  .schedule.official .official_head,
  .schedule.official .official_label,
  .schedule.official .official_cell {min-height:60px; padding:16px 14px; border-radius:6px;}
  .schedule.official .official_content {}
  .schedule.official .speaker_box {gap:14px; margin-top:24px; padding:14px;}
  .schedule.official .speaker_box img {width:58px; height:58px;}
  .schedule.official .speaker_box .role,
  .schedule.official .speaker_box .name {font-size:12px;}
  .schedule.official .speaker_box strong {font-size:14px;}
}
@media (max-width:480px) {
  .schedule.official .official_table {gap:38px;}
  .schedule.official .official_event {grid-template-columns:72px minmax(0, 1fr);}
  .schedule.official .official_info,
  .schedule.official .official_item {display:contents;}
  .schedule.official .official_event .official_head,
  .schedule.official .event_opening .official_head,
  .schedule.official .event_ceremony .official_head {grid-column:2;}
  .schedule.official .official_label {grid-column:1; min-height:54px; padding:14px 8px; background:rgba(255,255,255,.1); color:#fff;}
  .schedule.official .official_cell,
  .schedule.official .event_opening .official_cell,
  .schedule.official .event_ceremony .official_cell {grid-column:2;}
  .schedule.official .official_head,
  .schedule.official .official_label,
  .schedule.official .official_cell {padding:14px 10px;}
  .schedule.official .official_content {padding:26px 14px;}
  .schedule.official .speaker_box {align-items:center; gap:10px; padding:12px;}
  .schedule.official .speaker_box img {width:52px; height:52px;}
}
/* ============================================================
   PROGRAM4 - 참가기업 목록
   ============================================================ */
/* 섹션 헤더 */
/* 그리드 */
.company .company_grid {grid-template-columns:repeat(4, 1fr); gap:16px; align-items:stretch;}
/* 카드 */
.company .company_card {position:relative; height:100%; border:solid rgba(255,255,255,.15);border-width:2px 1px 1px;border-radius:8px; background:rgba(255,255,255,.03); overflow:hidden; transition:all .25s ease;border-top-color:var(--primary); ;}
.company .company_card::before {content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--primary); opacity:0; transition:opacity .25s ease;}
.company .company_card:hover {border-color:var(--primary); background:rgba(255,255,255,.045); transform:translateY(-3px);}
.company .company_card:hover::before {opacity:1;}
.company .card_link {display:flex; flex-direction:column; height:100%; padding:0; color:#fff;pointer-events: none;cursor: default;}
/* 로고 영역 */
.company .card_logo {display:flex; align-items:center; padding:18px 18px 14px; gap:12px;}
.company .card_logo .logo_thumb {flex:0 0 70px; width:70px; height:70px; padding:7px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(255,255,255,.18); background:#fff; overflow:hidden;}
.company .card_logo .logo_thumb img {max-width:100%; max-height:100%; object-fit:contain; display:block;}
.company .card_logo .logo_name{ display: flex;flex-direction: column; gap:5px}
.company .card_logo .logo_name *{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display: block;}
.company .card_logo .logo_name strong {font-family:var(--main-font); font-size:150%; font-weight:600;line-height:1.3; }
.company .card_logo .logo_name span{ font-size: 14px; opacity: .75;}

/* 카드 본문 */
.company .card_body {flex:1; padding:18px 22px 24px; border-top:1px solid rgba(255,255,255,.08);}
.company .card_info {padding-bottom:16px;}
.company .card_info:last-child {padding-bottom:0;}
.company .card_info dt {font-weight:600; padding-bottom:8px;}
.company .card_info dd {font-size:13px;line-height:1.7;opacity: .75;}
.company .card_info dd ul li {position:relative; padding-left:10px;}
.company .card_info dd ul li::before {content:""; position:absolute; left:0; top:11px; width:3px; height:3px; border-radius:50%; background:rgba(255,255,255,.55);}
/* ============================================================
   PROGRAM5 - 부대 프로그램
   ============================================================ */
/* 섹션 헤더 */
/* 그리드 */
.extra .extra_grid {grid-template-columns:repeat(3, 1fr); gap:95px;}
/* 카드 */
/* 썸네일 */
/* 카드 본문 */
.extra .card_body {padding:22px 4px 0;}
.extra .card_title {padding-bottom:10px;}
.extra .card_desc {font-size:14px; color:#a1a1a1; line-height:1.55; padding-bottom:18px;}
/* 정보 리스트 */
.extra .card_info {border-top:1px solid rgba(255,255,255,.2); padding-top:16px;}
.extra .card_info li {display:flex; align-items:flex-start; gap:14px; padding:5px 0; color:#cfd2d6; font-size:16px; line-height:1.5;}
.extra .card_info li .lbl {flex:0 0 60px; font-weight:500;}
.extra .card_info li .txt {flex:1;opacity: .75;font-size: 15px;}
/* 참가신청 버튼 */
.extra .apply_btn {display:flex; align-items:center; justify-content:center; height:44px; margin-top:18px; background:var(--primary); color:#000;font-weight:500; border-radius:6px; transition:filter .2s ease;}
.extra .apply_btn:hover {filter:brightness(1.1);}
/* ============================================================
   PROGRAM5 - 참가신청 모달
   ============================================================ */
body.no-scroll {overflow:hidden;}
.apply_modal {position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:30px 20px; visibility:hidden; opacity:0; transition:opacity .25s ease, visibility .25s ease;}
.apply_modal.is-open {visibility:visible; opacity:1;}
.apply_modal__dim {position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);}
.apply_modal__panel {position:relative; width:100%; max-width:820px; max-height:calc(100vh - 60px); background:#000; border:1px solid rgba(255,255,255,.12); border-radius:14px; padding:50px 50px 40px; color:#fff; overflow-y:auto; transform:translateY(20px); transition:transform .3s ease;}
.apply_modal.is-open .apply_modal__panel {transform:translateY(0);}
.apply_modal__panel::-webkit-scrollbar {width:6px;}
.apply_modal__panel::-webkit-scrollbar-thumb {background:rgba(255,255,255,.25); border-radius:3px;}

.apply_modal__close {position:absolute; top:18px; right:18px; width:36px; height:36px; background:transparent; border:0; cursor:pointer; padding:0;}
.apply_modal__close span {position:absolute; top:50%; left:50%; width:18px; height:1.5px; background:#fff; transform-origin:center;}
.apply_modal__close span:nth-child(1) {transform:translate(-50%,-50%) rotate(45deg);}
.apply_modal__close span:nth-child(2) {transform:translate(-50%,-50%) rotate(-45deg);}
.apply_modal__close:hover span {background:var(--primary);}

.apply_modal__head {text-align:center; padding-bottom:28px;}
.apply_modal__title {font-family:var(--main-font); font-size:26px; font-weight:600; color:#fff; padding-bottom:14px;}
.apply_modal__desc {font-size:15px;opacity: .6;; line-height:1.5;}

/* 안내 박스 */
.apm_info {display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 28px; padding:18px 24px; margin-bottom:30px; background:rgba(0, 255, 122, 0.15); border-radius:8px;line-height:1.4;}
.apm_info li {display:flex; align-items:center; gap:8px; position:relative;}
.apm_info li + li::before {content:""; position:absolute; left:-14px; top:50%; transform:translateY(-50%); width:1px; height:14px; background:rgba(255,255,255,.25);}
.apm_info .lbl {opacity: .8;}
.apm_info .val {color:var(--primary);}

/* 기본정보 */
.apm_list {display:flex; flex-direction:column; border-top:1px solid rgba(255,255,255,.15); padding-bottom:35px;}
.apm_row {display:flex; align-items:stretch; border-bottom:1px solid rgba(255,255,255,.15);}
.apm_label {flex:0 0 160px; display:flex; align-items:center; padding:14px; font-size:15px;color:#fff; background-color: rgba(255, 255, 255, .1);}
.apm_field {flex:1; display:flex; align-items:center; padding:10px;}
.apm_input {width:100%; height:46px; padding:0 14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); color:#fff; border-radius:6px; font-size:14px;}
.apm_input:focus {outline:none; border-color:var(--primary); box-shadow:0 0 0 2px rgba(0,255,122,.15);}
.apm_input::placeholder {color:rgba(255,255,255,.3);}
.apply_modal .req {color:var(--primary); font-style:normal; margin-left:2px;}

/* 신청 사유 */
.apm_slot_wrap {padding-bottom:28px;}
.apm_slot_tit {font-size:20px; font-family:var(--main-font); font-weight:500; color:#fff; padding-bottom:16px;display: flex;justify-content: space-between;align-items: center;}
.apm_slot_tit span{font-size: 75%; opacity: .7;font-weight:300;font-family: var(--sub-font);}
.apm_slot_group {padding-bottom:18px;}
.apm_slot_group:last-child {padding-bottom:0;}
.apm_slot_sub {font-size:16px; font-family:var(--main-font); font-weight:500; color:var(--primary); padding-bottom:10px;}
.apm_slot_grid {display:grid; grid-template-columns:repeat(4, 1fr); gap:10px;}
.apm_slot {position:relative; display:block; cursor:pointer;}
.apm_slot input {position:absolute; opacity:0; width:0; height:0;}
.apm_slot > span {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:14px 16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.15); border-radius:6px; text-align:left; transition:all .15s ease;min-height: 6.5rem;}
.apm_slot > span strong {font-size:15px; font-weight:500; color:#fff;}
.apm_slot > span em {font-size:13px; color:#a1a1a1; font-style:normal;}
.apm_slot.is-closed {opacity: .5;pointer-events:none;}
.apm_slot.is-disabled-round {opacity:1;}
.apm_slot.is-disabled-round > span {border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.02);}
.apm_slot.is-disabled-round > span strong {color:rgba(255,255,255,.42); font-weight:400;}
.apm_slot:hover > span {border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.1)}
.apm_slot.is-on > span,
.apm_slot input:checked + span {background:rgba(0,255,122,.08); border-color:var(--primary);}
.apm_slot.is-on > span strong,
.apm_slot input:checked + span strong {color:var(--primary);}
.apm_slot.is-on > span em,
.apm_slot input:checked + span em {color:var(--primary); opacity:.85;}

/* 동의 */
.apm_agree {display:inline-flex; align-items:center; gap:8px; cursor:pointer; color:#fff; font-size:15px; padding-bottom:24px;}
.apm_agree input[type="checkbox"] {appearance:none; width:16px; height:16px; border:1.5px solid rgba(255,255,255,.4); border-radius:3px; background:transparent; cursor:pointer; position:relative; flex-shrink:0;}
.apm_agree input[type="checkbox"]:checked {background:var(--primary); border-color:var(--primary);}
.apm_agree input[type="checkbox"]:checked::after {content:""; width:4px; height:8px; border:solid #000; border-width:0 2px 2px 0; transform:rotate(45deg); position:absolute; top:1px; left:4.5px;}

/* 버튼 */
.apm_btns {display:flex; gap:10px; justify-content:center;}
.apm_btn {flex:1; max-width:180px; height:48px; border:0; border-radius:6px; font-size:16px; font-weight:500; cursor:pointer; transition:filter .15s ease, background .15s ease;}
.apm_btn_cancel {background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); color:#fff;}
.apm_btn_cancel:hover {background:rgba(255,255,255,.15);}
.apm_btn_submit {background:var(--primary); color:#000;}
.apm_btn_submit:hover {filter:brightness(1.1);}

/* 모달 반응형 */
@media (max-width:1024px) {
  .apply_modal__panel {max-width:720px; padding:46px 40px 36px;}
  .apply_modal__title {font-size:24px;}
  .apm_label {flex:0 0 140px;}
}
@media (max-width:900px) {
  .apply_modal {padding:20px 16px;}
  .apply_modal__panel {padding:40px 26px 30px; max-height:calc(100vh - 40px);}
  .apply_modal__head {padding-bottom:22px;}
  .apply_modal__title {font-size:22px; padding-bottom:10px;}
  .apply_modal__desc {font-size:12px;}
  .apm_info {gap:8px 18px; padding:14px 18px; margin-bottom:24px; font-size:13px;}
  .apm_info li + li::before {left:-9px; height:12px;}
  .apm_list {padding-bottom:24px;}
  .apm_row {flex-direction:column; align-items:flex-start; padding:14px 0;}
  .apm_label {flex:none; width:100%; padding:0 0 8px 0; font-size:14px;}
  .apm_field {width:100%; padding:0;}
  .apm_input {height:44px; font-size:14px;}
  .apm_slot_wrap {padding-bottom:24px;}
  .apm_slot_tit {font-size:16px;}
  .apm_slot_sub {font-size:14px;}
  .apm_slot_grid {grid-template-columns:repeat(2, 1fr);}
  .apm_btns {flex-direction:column-reverse; gap:8px;}
  .apm_btn {flex:none; max-width:none; width:100%; height:46px; font-size:14px;}
}
@media (max-width:600px) {
  .apply_modal {padding:16px 12px;}
  .apply_modal__panel {padding:36px 18px 24px; border-radius:10px;}
  .apply_modal__close {top:12px; right:12px; width:32px; height:32px;}
  .apply_modal__close span {width:16px;}
  .apply_modal__title {font-size:20px;}
  .apm_info {flex-direction:column; align-items:flex-start; gap:6px; padding:14px 16px;}
  .apm_info li + li::before {display:none;}
  .apm_slot > span {padding:12px 12px;}
  .apm_slot > span strong {font-size:13px;}
  .apm_slot > span em {font-size:12px;}
}
/* ============================================================
   EVENTS - 이벤트   ============================================================ */
/* 카테고리 필터 */
.events .events_filter {padding-bottom:30px;}
.events .events_filter .cate_btn {display:inline-flex; align-items:center; justify-content:center; min-width:120px; height:42px; padding:0 22px; background:var(--primary); color:#000; font-family:var(--main-font); font-size:15px; font-weight:600; border-radius:30px; border:0; cursor:pointer; transition:filter .2s ease;}
.events .events_filter .cate_btn:hover {filter:brightness(1.1);}
/* 섹션 헤더 */
.events .events_head .sub_tit {position:relative; font-weight:500; padding:0 0 20px 16px;}
.events .events_head .sub_tit::before {content:""; position:absolute; left:0; top:11px; width:6px; height:6px; border-radius:50%; background:var(--primary);}
/* 그리드 */
.events .events_grid {grid-template-columns:repeat(3, 1fr); gap:95px 50px;}
/* 카드 */
.events .event_card .card_link {display:flex; flex-direction:column; gap:18px;}
.events .card_thumb {aspect-ratio:4/3;}
.events .card_title {line-height:1.4;}
.events .date{opacity: .6;font-size: 60%;font-family: var(--sub-font);margin-top:8px;font-weight: 400;}
.bo_w_extra.write_div label{ display: none;}
/* 반응형 */
@media (max-width:1400px) {
  .events .events_grid {gap:45px 30px;}
}
@media (max-width:1280px) {
  .events .events_head {padding-bottom:50px;}
  .events .card_title {font-size:18px;}
}
@media (max-width:1024px) {
  .events .events_grid {grid-template-columns:repeat(2, 1fr); gap:36px 20px;}
}
@media (max-width:900px) {
  .events .events_head .sub_tit {font-size:16px; padding-bottom:12px;}
  .events .events_head {padding-bottom:40px;}
  .events .events_filter .cate_btn {height:38px; min-width:104px; font-size:14px;}
  .events .events_grid {gap:30px 16px;}
  .events .card_title {font-size:16px;}
  .events .events_paging {padding-top:50px;}
}
@media (max-width:600px) {
  .events .events_grid {grid-template-columns:1fr; gap:28px;}
  .events .card_title {font-size:16px;}
}
/* ============================================================
   ARCHIVE - 전자정부의 날   ============================================================ */
.sec_title.archive{padding-bottom:80px;}
.archive_tab{width:100%}
.archive_tab .tab > ul{display: flex;align-items: center;overflow-x: auto;gap:10px;width: 100%;}
.archive_tab .tab > ul li, .archive_tab .tab .tab_btn{display: inline-flex;align-items: center;justify-content: center;}
.archive_tab .tab .tab_btn{background-color: transparent;padding: 15px 30px; border-radius: 10px; border:1px solid rgba(255,255,255,.2);}
.archive_tab .tab > ul li.active .tab_btn, .archive_tab .tab > ul li:hover .tab_btn{border:1px solid var(--primary);color: var(--primary);}
.archive_tab .tab_conts{display: none;margin-top: 80px;}
.archive_tab .tab_conts.active{display: flex;flex-direction: column;}
.tab_con_wrap{display: flex;align-items: flex-start;gap:90px;}
.tab_con_wrap .img_wrap{border-radius: 10px; overflow: hidden;width: 30%;}
.tab_con_wrap .img_wrap img{width: 100%;}
.tab_con_wrap .con_wrap {width:calc(70% - 90px);}
.tab_con_wrap .con_wrap .sub_tit {font-size: 30px;font-weight: 600;padding-bottom: 60px;font-family: var(--main-font);position: relative;display: inline-flex;}
.tab_con_wrap .con_wrap .sub_tit::after{content: "";width: 10px;height: 10px;border-radius: 50%;background: var(--primary);position: absolute;top: -5px;right: -20px;}
.tab_con_wrap .con_wrap .con_list>li {display: flex;align-items: center;justify-items: center;color: #fff;border-bottom: 1px solid rgba(255, 255, 255, .2);}
.tab_con_wrap .con_wrap .con_list>li:first-child {border-top: 1px solid rgba(255, 255, 255, .2);}
.tab_con_wrap .con_wrap .con_list>li span {display: block;padding: 35px 20px;}
.tab_con_wrap .con_wrap .con_list li>.tit {font-size: 22px;font-family: var(--main-font);min-width: 220px;}
.tab_con_wrap .con_wrap .con_list li>.txt {font-size: 20px;line-height: 1.7;}
.tab_con_wrap .btn_wrap{padding-top: 40px;}
.tab_con_wrap .btn_wrap .btn {height: 45px;align-items: center;justify-content: center;display: flex;gap:10px;background: var(--primary);border-radius: 10px;padding: 12px 20px; font-family: var(sub-font);font-size: 16px;color: #000;}
.tab_con_wrap .btn_wrap .btn i{color: #000;}
/* ---- 반응형 ---- */
/* ~1280px : 폰트/여백 축소 */
@media (max-width:1280px) {
  .tab_con_wrap{flex-wrap: wrap;flex-direction: column;}
  .tab_con_wrap .con_wrap{width: 100%;}
  .tab_con_wrap .img_wrap{width:100%;max-width: 600px;}
}
/* ~1024px : 가로 스크롤 대비(태블릿) */
@media (max-width:1024px) {
  .archive_tab .tab > ul{flex-wrap: wrap;}
  .archive_tab .tab > ul li{width: calc(100% / 2 - 15px);}
  .archive_tab .tab .tab_btn{width: 100%;}
}
/* ~900px : 모바일 진입 */
@media (max-width:900px) {
  .sec_title.archive{padding-bottom:45px;}
  .archive_tab .tab > ul{gap:8px;}
  .archive_tab .tab > ul li{width:calc(50% - 4px);}
  .archive_tab .tab .tab_btn{min-height:48px; padding:12px 16px; font-size:15px; border-radius:8px; word-break:keep-all;}
  .archive_tab .tab_conts{margin-top:45px;}
  .tab_con_wrap{gap:36px;}
  .tab_con_wrap .img_wrap{max-width:420px; margin:0 auto;}
  .tab_con_wrap .con_wrap .sub_tit{font-size:24px; padding-bottom:34px; line-height:1.35;}
  .tab_con_wrap .con_wrap .sub_tit::after{width:8px; height:8px; top:-3px; right:-16px;}
  .tab_con_wrap .con_wrap .con_list>li{align-items:flex-start;}
  .tab_con_wrap .con_wrap .con_list>li span{padding:24px 16px;}
  .tab_con_wrap .con_wrap .con_list li>.tit{min-width:130px; font-size:18px;}
  .tab_con_wrap .con_wrap .con_list li>.txt{font-size:16px; line-height:1.65;}
  .tab_con_wrap .btn_wrap{padding-top:28px;}
}
/* ~600px : 좁은 모바일 */
@media (max-width:600px) {
  .sec_title.archive{padding-bottom:34px;}
  .archive_tab .tab > ul{flex-wrap:wrap; overflow:visible; padding-bottom:0;}
  .archive_tab .tab > ul li{flex:1 1 calc(50% - 4px); width:auto; min-width:0;}
  .archive_tab .tab .tab_btn{width:100%; min-height:42px; padding:10px 14px; font-size:14px;}
  .archive_tab .tab_conts{margin-top:34px;}
  .tab_con_wrap{gap:28px;}
  .tab_con_wrap .img_wrap{width:100%; max-width:320px; border-radius:8px;}
  .tab_con_wrap .con_wrap .sub_tit{font-size:20px; padding-bottom:24px;}
  .tab_con_wrap .con_wrap .sub_tit::after{right:auto; left:calc(100% + 10px);}
  .tab_con_wrap .con_wrap .con_list>li{display:block; padding:18px 0;}
  .tab_con_wrap .con_wrap .con_list>li span{padding:0;}
  .tab_con_wrap .con_wrap .con_list li>.tit{min-width:0; padding-bottom:8px; font-size:15px; color:var(--primary);}
  .tab_con_wrap .con_wrap .con_list li>.txt{font-size:14px; line-height:1.6; word-break:keep-all;}
  .tab_con_wrap .btn_wrap{padding-top:24px;}
  .tab_con_wrap .btn_wrap .btn{width:100%; height:42px; font-size:14px; border-radius:8px;}
}
/* ---- 반응형 ---- */
@media (max-width:1400px) {
  .extra .extra_grid {gap:45px;}
}
@media (max-width:1280px) {
  .company .company_head,
  .extra .extra_head {padding-bottom:50px;}
  .company .company_grid {grid-template-columns:repeat(3, 1fr); gap:20px;}
  .company .card_logo {padding:18px;}
  .company .card_body {padding:18px 18px 22px;}
  .extra .card_title {font-size:20px;}
}
@media (max-width:1024px) {
  .company .company_grid {grid-template-columns:repeat(2, 1fr);}
  .extra .extra_grid {grid-template-columns:repeat(2, 1fr); gap:26px 20px;}
  .extra .card_title {font-size:19px;}
}
@media (max-width:900px) {
  .company .company_head .sub_tit,
  .extra .extra_head .sub_tit {font-size:16px; padding-bottom:12px;}
  .company .company_head,
  .extra .extra_head {padding-bottom:40px;}
  .company .company_grid {gap:16px;}
  .company .card_logo {padding:14px; gap:12px;}
  .company .card_logo .logo_thumb {flex:0 0 48px; width:48px; height:48px; padding:6px;}
  .company .card_logo .logo_name {font-size:15px;}
  .company .card_logo .logo_name strong{font-size:130%}
  .company .card_body {padding:16px 18px 20px;}
  .company .card_info dt {font-size:13px;}
  .company .card_info dd {font-size:12px;}
  .extra .extra_grid {gap:24px 16px;}
  .extra .card_body {padding:18px 2px 0;}
  .extra .card_title {font-size:18px;}
  .extra .card_desc {font-size:13px; padding-bottom:14px;}
  .extra .card_info {padding-top:12px;}
  .extra .card_info li {font-size:13px; gap:10px;}
  .extra .card_info li .lbl {flex:0 0 54px;}
  .extra .apply_btn {height:40px; font-size:14px;}
}
@media (max-width:600px) {
  .company .company_grid {grid-template-columns:1fr; gap:14px;}
  .company .card_logo {padding:15px 10px;}
  .extra .extra_grid {grid-template-columns:1fr; gap:24px;}
  .extra .card_title {font-size:17px;}
}
/* prefers-reduced-motion 대응 */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {animation-duration: .001ms !important;  transition-duration: .001ms !important;}
}
/* GSAP 애니메이션 성능 hint */
.subVisual article,
.sec_title,
.sec_con .sub_tit,
.sec_con .con_list > li,
.sec_con .con_item,
.sec_01 .img_wrap,
.sec_01 .con_wrap,
.sec_04 .map,
.sec_04 .map_top,
.bizmaching .txt_box,
.bizmaching .step li,
.bizmaching .btn_wrap {will-change: transform, opacity;}
/* ============================================================
   ATTEND4 - Visitor information
   ============================================================ */
.attend_info {color:#fff;}
.attend_info .sec_title {padding-bottom:78px;}
.attend_info .info_section {margin-top:86px;}
.attend_info .info_section:first-of-type {margin-top:0;}
.attend_info .info_title {display:inline-flex; align-items:flex-start; gap:12px;color:#fff; font-family:var(--main-font); font-size:30px; font-weight:700; line-height:1.15; letter-spacing:0; word-break:keep-all;}
.attend_info .info_title::after {content:""; width:9px; height:9px; margin-top:5px; border-radius:50%; background:var(--primary); flex:0 0 auto;}
.attend_info .info_desc {margin:30px 0; color:#fff; font-size:20px; line-height:1.65; letter-spacing:0; word-break:keep-all;}
.attend_info .info_list {border-top:1px solid rgba(255,255,255,.2);}
.attend_info .info_row {display:grid; grid-template-columns:150px minmax(0, 1fr); align-items:center; border-bottom:1px solid rgba(255,255,255,.2);font-size:20px;}
.attend_info .info_row dt {color:var(--primary);  font-weight:500; line-height:1.45; word-break:keep-all;font-family:var(--main-font)}
.attend_info .info_row dd {margin:0;line-height:1.55; word-break:keep-all;padding: 25px 0px;}
.attend_info .info_actions {display:flex; justify-content:center; margin-top:54px;}
.attend_info .info_btn {display:inline-flex; align-items:center; justify-content:center; min-width:180px; height:48px; padding:0 26px; border-radius:6px; background:var(--primary); color:#000; font-weight:600; line-height:1; transition:filter .2s ease;}
.attend_info .info_btn:hover {filter:brightness(1.1);}
.attend_info .fee_table {width:100%; overflow:hidden; }
.attend_info .fee_head,
.attend_info .fee_body {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:5px;}
.attend_info .fee_head span,
.attend_info .fee_body span {display:flex; align-items:center; justify-content:center; min-height:48px; padding:15px 10px; font-weight:500; line-height:1.35; text-align:center; word-break:keep-all;border-radius:10px;font-family:var(--main-font)}
.attend_info .fee_head span {background: linear-gradient(135deg, #00ff7a 0%, #00f06f 45%, #00c95f 100%); color:#000; font-size: 18px;}
.attend_info .fee_body {margin-top:5px;}
.attend_info .fee_body span {background:rgba(255, 255, 255, .1);}
.attend_info .fee_price {grid-column:3; grid-row:1 / span 2;}
.attend_info .process_group {margin-top:34px;}
.attend_info .process_group + .process_group {margin-top:46px;}
.attend_info .process_bar {display:flex; align-items:center; justify-content:center; min-height:58px; margin:0 0 30px; border-radius:6px; background:var(--primary); color:#000; font-family:var(--main-font); font-size:24px; font-weight:800; line-height:1.25; word-break:keep-all;}
.attend_info .process_steps {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:75px; margin:0; padding:0; list-style:none;}
.attend_info .process_step {position:relative; display:flex; align-items:center;flex-direction: column; justify-content:flex-start; padding:40px 30px; border-radius:10px; background:rgba(0,255,122,.1); color:#fff; font-size:18px; line-height:1.45; text-align:center; word-break:keep-all; border:1px solid var(--primary);gap:10px}
.attend_info .process_step:not(:first-child)::after {content:"";position:absolute; top:50%;left:-75px; width:75px; height:15px; background: url(../img/sub/arrow2.png) no-repeat 100% 50% ; transform:translateY(-50%);}
.attend_info .process_step:not(:last-child)::before{content:"";position:absolute; top:50%;left:100%;width: 7px;height: 7px;border-radius:100%;background:var(--primary);transform:translate(-50%,-50%);}
.attend_info .process_step strong{font-size:105%;font-weight: 700;color:var(--primary);}

@media (max-width:1023px) {
  .attend_info .sec_title {padding-bottom:58px;}
  .attend_info .info_section {margin-top:66px;}
  .attend_info .info_title {margin-bottom:26px; font-size:29px;}
  .attend_info .info_desc {margin-bottom:28px; font-size:16px;}
  .attend_info .info_row {grid-template-columns:124px minmax(0, 1fr); min-height:66px;}
  .attend_info .info_row dt,
  .attend_info .info_row dd {font-size:16px;}
  .attend_info .process_steps {gap:38px;}
  .attend_info .process_step {padding:22px 18px; font-size:15px;}
  .attend_info .process_step:not(:first-child)::after {left:-40px;width:40px;}
}

@media (max-width:767px) {
  .attend_info .sec_title {padding-bottom:42px;}
  .attend_info .info_section {margin-top:54px;}
  .attend_info .info_title {gap:9px; margin-bottom:20px; font-size:24px;}
  .attend_info .info_title::after {width:7px; height:7px; margin-top:4px;}
  .attend_info .info_desc {margin-bottom:22px; font-size:15px;}
  .attend_info .info_row {display:block; min-height:0; padding:16px 0;font-size:15px;}
  .attend_info .info_row dt {padding-top:10px; }
  .attend_info .info_row dd {font-size:15px;padding: 15px 0;}
  .attend_info .info_actions {margin-top:34px;}
  .attend_info .info_btn {width:100%; min-width:0; max-width:320px; height:44px; font-size:14px;}
  .attend_info .fee_table {overflow-x:auto; padding-bottom:4px;}
  .attend_info .fee_head,
  .attend_info .fee_body {min-width:620px;}
  .attend_info .fee_head span,
  .attend_info .fee_body span {min-height:42px; padding:10px 12px; font-size:14px;}
  .attend_info .process_group {margin-top:24px;}
  .attend_info .process_group + .process_group {margin-top:34px;}
  .attend_info .process_bar {min-height:48px; margin-bottom:18px; font-size:18px;}
  .attend_info .process_steps {grid-template-columns:1fr; gap:18px;}
  .attend_info .process_step {min-height:88px; padding:20px 16px; font-size:15px;}
  .attend_info .process_step::before,.attend_info .process_step::after {display:none;}
}



