
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브 컨텐츠 - 공통영역 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

/* 서브 컨텐츠 - 서브 상단 비주얼 영역 */
.sec-subvisual {position: relative; width: 100%; height: 36rem; background-repeat: no-repeat; background-position: center top; background-size: cover; z-index: 1;}
.subtitle-area {position: relative; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; padding-top: 8.5rem;}
.subtitle-area .inner {margin: 0 auto; width: 100%; max-width: var(--max-width); text-align: center;}
.subtitle-area h2.sub-tittxt {font-size: 4.8rem; color: #fff; font-weight: 700; line-height: 1; letter-spacing: -0.020rem;}
.subtitle-area p {font-size: 1.6rem; color: rgba(255,255,255,0.7); font-weight: 400; line-height: 1.4; letter-spacing: -0.025rem; word-break: keep-all; margin-top: 1.5rem;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.sec-subgnbcommon {position: relative; width: 100%; margin-top: 7rem;}
.subtitlegnb-wrap {width: 100%;}

.pagenavi-wrap {width: 100%; padding: 0 0 4rem;}
.pagenavi-wrap-no {border-bottom: 1px solid #eaeaea;}
.pagenavi-wrap .inner {display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; margin: 0 auto; width: 100%; max-width: var(--max-width);}
.pagenavi-wrap h3 {font-size: 4.5rem; color: #000; font-weight: 800; line-height: 1; letter-spacing: -0.030rem;}

.pagenavi-wrap .page-channel {display: flex; align-items: center; flex-wrap: wrap; height: 1.9rem;}
.pagenavi-wrap .page-channel a.homebtn {width: 1.8rem; height: 1.9rem;}
.pagenavi-wrap .page-channel a.homebtn img {width: 100%;}
.pagenavi-wrap .page-channel .menutxt {display: flex; align-items: center; flex-wrap: wrap; margin-top: 0.3rem;}
.pagenavi-wrap .page-channel .menutxt .circle {display: inline-block; width: 1.2rem; height: 0.2rem; margin: 0 1.2rem; background-color: #c6c3c3;}
.pagenavi-wrap .page-channel .menutxt strong {font-size: 1.55rem; color: #a2a1a1; font-weight: 600; letter-spacing: -0.025rem; line-height: 1;}
.pagenavi-wrap .page-channel .menutxt strong.on {color: var(--default-color);}

.subtabmenu-wrap {width: 100%;}
.subtabmenu-wrap .inner {margin: 0 auto; width: 100%; max-width: var(--max-width);}
.subtabmenu-wrap ul {display: flex; flex-wrap: wrap;}
.subtabmenu-wrap ul li {position: relative; margin-right: 4.2rem;}
.subtabmenu-wrap ul li a {display: block; width: 100%; height: 100%; font-size: 1.9rem; color: #8a8989; font-weight: 700; letter-spacing: -0.025rem; line-height: 1; transition: var(--transition1);}
.subtabmenu-wrap ul li a:before {position: absolute; top: 0; left: 50%; content: ""; transform: translateX(-50%); width: 0.8rem; height: 0.8rem; background: #5828d1; border-radius: 50%; opacity: 0; transition: all 0.3s ease;}

.subtabmenu-wrap ul li.on a {color: #5828d1;}
.subtabmenu-wrap ul li.on a:before {transform: translateX(-50%) translateY(-18px); opacity: 1;}
.subtabmenu-wrap ul li a:hover {color: #5828d1;}
.subtabmenu-wrap ul li a:hover:before {transform: translateX(-50%) translateY(-18px); opacity: 1;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브 컨텐츠 - 페이지 공통 영역 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.sec-sub {position: relative; width: 100%; padding-top: 5rem;}
.sec-sub .inner {display: flex; flex-wrap: wrap; margin: 0 auto; width: 100%; max-width: var(--max-width);}
.subpage-common {width: 100%; margin-bottom: 7rem;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브페이지 컨텐츠 영역 01 - 행사 개요 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

/* s01 행사 개요 - 행사 개요 */
.overview-wrap {width: 100%;}
.overview-wrap .sub-banner {width: 100%;}
.overview-wrap .sub-banner img {max-width: 100%;}

.overview-info {width: 100%; margin-top: 5rem; border-top: 2px solid #000;}
.overview-info .info-row {display: grid; grid-template-columns: 21rem 1fr; align-items: center; width: 100%; padding: 3.5rem 0; border-bottom: 1px solid #ddd;}
.overview-info .info-row h3 {display: flex; align-items: center; font-size: 2.2rem; color: #000; font-weight: 700; letter-spacing: -0.020rem;}
.overview-info .info-row h3:before {content: ""; display: inline-block; width: 5px; height: 22px; margin-right: 1rem; background: #713edd;}

.overview-info .info-row .info-body {width: 100%;}
.overview-info .info-row .info-body p {font-size: 2.1rem; color: #464646; font-weight: 500; letter-spacing: -0.030rem; word-break: keep-all;}
.overview-info .info-row .info-body p strong {color: #000; font-weight: 800;}
.overview-info .info-row .info-body span {display: block; font-size: 1.7rem; color: #9c9c9c; font-weight: 500; margin-top: 1rem;}
.overview-info .info-row .info-body-partners {display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 3rem; width: 100%;}

/* s02 행사 개요 - 행사장 안내 */
.location-wrap {width: 100%;}
.location-wrap .map-canvas {width: 100%;}
.location-wrap .map-canvas .canvas {position: relative; width: 100%; height: 55rem; border-radius: 2rem; overflow: hidden;}
.location-wrap .map-canvas .canvas iframe {position: absolute; width: 100%; height: 100%;}

.location-wrap .map-info {width: 100%; padding-bottom: 5rem; margin-top: 5rem; margin-bottom: 5rem; border-bottom: 1px solid #dedede;}
.location-wrap .map-info .titbox {width: 100%;}
.location-wrap .map-info .titbox span {display: inline-block; width: auto; transform: rotate(-0.03deg); font-size: 1.85rem; color: #fff; font-weight: 500; letter-spacing: -0.06rem; padding: 0.5rem 2rem; background-color: var(--default-color); border-radius: 6px;}
.location-wrap .map-info .map-contactus {display: flex; flex-wrap: wrap; width: 100%; margin-top: 2rem;}
.location-wrap .map-info .map-contactus i {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 8rem; height: 8rem; margin-right: 3rem; font-size: 3rem; border: 1px solid #ddd; border-radius: 50%;}
.location-wrap .map-info .map-contactus p {font-size: 2rem; color: #3e3e3e; font-weight: 500; letter-spacing: -0.035rem;}
.location-wrap .map-info .map-contactus p span {font-size: 1.75rem;}
.location-wrap .map-info .map-contactus .address {display: flex; align-items: center; flex-wrap: wrap; margin-right: 6rem;}

.location-wrap .traffic-wrap {display: flex; flex-wrap: wrap; width: 100%;}
.location-wrap .traffic-wrap .traffic-item {display: flex; flex-wrap: wrap;}
.location-wrap .traffic-wrap .traffic-item1 {margin-right: 6rem;}
.location-wrap .traffic-wrap .traffic-item .ico {display: flex; justify-content: center; align-items: center; flex-wrap: wrap; width: 8rem; height: 8rem; margin-right: 3rem; font-size: 5rem; border: 1px solid #ddd; border-radius: 50%;}
.location-wrap .traffic-wrap .traffic-item .ico i {font-size: 3rem;}
.location-wrap .traffic-wrap .traffic-item .item-info {display: flex; justify-content: center; flex-direction: column; flex-wrap: wrap;}
.location-wrap .traffic-wrap .traffic-item .item-info .titbox {width: 100%;}
.location-wrap .traffic-wrap .traffic-item .item-info .titbox span {display: inline-block; width: auto; transform: rotate(-0.03deg); font-size: 1.85rem; color: #fff; font-weight: 500; letter-spacing: -0.06rem; padding: 0.5rem 2rem; background-color: var(--default-color); border-radius: 6px;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway {width: 100%;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul {width: 100%;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li {display: flex; align-items: center; flex-wrap: wrap; width: 100%; margin-top: 1rem;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li span {display: inline-flex; justify-content: center; align-items: center; flex-wrap: wrap; text-align: center; width: 2.7rem; height: 2.7rem; font-size: 1.6rem; color: #fff; font-weight: 700; letter-spacing: -0.035rem; margin-right: 1rem; background-color: #0ea349; border-radius: 50%;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li p {font-size: 1.8rem; color: #252525; font-weight: 500; letter-spacing: -0.030rem;}

/* 주차 안내 */
.park-wrap {display: grid; grid-template-columns: 54.5rem 1fr; align-items: center; gap: 4rem; width: 100%; margin-top: 3rem; padding: 3.5rem; background: #f6f6f6; border-radius: 1.4rem;}
.park-wrap .sketchmap {width: 100%; border: 1px solid #e0e7ee; border-radius: 1.4rem; overflow: hidden;}
.park-wrap .sketchmap img {max-width: 100%;}
.park-wrap .park-info {width: 100%;}
.park-wrap .park-info .tit {display: flex; align-items: center; font-size: 2.2rem; color: #111; font-weight: 800; letter-spacing: -0.020rem;}
.park-wrap .park-info .tit i {font-size: 2.8rem; color: var(--default-color); margin-right: 6px;}

.park-wrap .park-info .park-table {width: 100%; margin-top: 2rem;}
.park-layout {width: 100%; border: 2px solid #4b2bb8;}
.park-layout td {font-size: 1.85rem; color: #111; font-weight: 700; letter-spacing: -0.030rem; text-align: center; padding: 1.5rem 1rem;}
.park-layout td.bg1 {color: #fff; background: #4b2bb8;}
.park-layout td.bg1-1 {color: #fff; background: #0b2496;}
.park-layout td.bg2 {color: #fff; background: #c05f45;}
.park-layout td.bg2-1 {color: #fff; background: #88370b;}

.park-wrap .park-info p {font-size: 1.65rem; color: #000; font-weight: 500; letter-spacing: -0.035rem; margin-top: 2rem;}
.park-wrap .park-info p span {font-family: 'SCoreDream', sans-serif; transform: rotate(-0.03deg);}

/* 행사장 배치도 */
.location-img {width: 100%; padding: 2rem 0; margin-top: 3rem; border: 1px solid #e0e7ee; border-radius: 1.4rem; overflow: hidden;}
.location-img img {max-width: 100%;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브페이지 컨텐츠 영역 02 - 프로그램 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

/* s01 프로그램 - 전체 프로그렘 */
.program-wrap {width: 100%;}
.program-timetable {width: 100%;}

.program-head {width: 100%;}
.program-head h3 {font-size: 3.2rem; color: #000; font-weight: 800; letter-spacing: -0.045rem; word-break: keep-all;}
.program-head .detail-badges {width: 100%; margin-top: 1.5rem;}
.program-head .detail-badges span {display: inline-flex; align-items: center; width: auto; height: 4rem; font-size: 1.45rem; color: #491db9; font-weight: 600; letter-spacing: -0.040rem; padding: 0 2rem; margin-right: 1rem; background: #f1eefb; border-radius: 0.5rem;}
.program-head .detail-badges span i {font-size: 1.8rem; font-weight: 400; margin-top: 2px; margin-right: 8px;}

.table-scroll {width: 100%; overflow-x: auto; margin-top: 3.5rem;}
.table-scroll .table-layout {table-layout: fixed; width: 100%;}
.table-scroll .table-layout th {font-size: 1.85rem; color: #fff; font-weight: 700; letter-spacing: -0.030rem; text-align: center; padding: 2rem 0; background: #4b2bb8;}
.table-scroll .table-layout td {font-size: 1.85rem; color: #626262; font-weight: 700; letter-spacing: -0.030rem; text-align: center; padding: 2rem 0; border-bottom: 1px solid #e3e3ea;}
.table-scroll .table-layout tr.part-row {background: #eeeafc;}
.table-scroll .table-layout tr.part-row td {color: #3b1fb0; font-weight: 800;}
.table-scroll .table-layout tr.break-row {background: #fbf8e8;}
.table-scroll .table-layout tr.break-row td {font-size: 1.55rem; color: #9a7400; font-weight: 600;}
.table-scroll .table-layout td.time {color: #3b1fb0;}
.table-scroll .table-layout td.program-name {text-align: left; color: #000; padding-left: 15px;}
.table-scroll .table-layout td.program-name span {font-size: 1.55rem; color: #6a6a6a; font-weight: 400; margin-left: 10px;}
.table-scroll .table-layout td.place {font-size: 1.65rem; font-weight: 400;}

.program-caption {font-size: 1.6rem; color: #464646; font-weight: 400; letter-spacing: -0.030rem; margin-top: 2rem;}

/* s03, s04 프로그램 - 정책 대담, 롤모델 강연 - 레이아웃 공통 */
.speaker-wrap {width: 100%;}
.speaker-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 3.5rem;}

.speaker-card {display: grid; grid-template-columns: 21rem 1fr; gap: 3rem; border: 1px solid #e3e3ea; border-radius: 10px; padding: 10px; min-height: 28rem;}
.speaker-card img {width: 100%; object-fit: cover; border-radius: 7px;}
.speaker-info {width: 100%; min-height: 28rem; padding: 10px 0 0;}
.speaker-tag {display: inline-block; font-size: 1.4rem; color: #603ca5; font-weight: 700; background: #e7e2f6; border-radius: 20px; padding: 6px 18px;}
.speaker-tag2 {color: #8a6500; background: #fff3c2;}

.speaker-card h3 {font-size: 2.8rem; color: #000; font-weight: 900; margin-top: 1rem; line-height: 1.3;}
.speaker-card h3 span {font-size: 1.8rem; font-weight: 500; margin-left: 9px;}
.speaker-card .affiliation {font-size: 1.6rem; color: #000; font-weight: 400; word-break: keep-all; padding-top: 0.5rem;}
.speaker-card .field {font-size: 1.55rem; color: #000; font-weight: 700; padding-top: 1rem; margin-top: 1rem; margin-bottom: 1rem; border-top: 1px solid #ddd;}
.speaker-card .bio {width: 100%;}
.speaker-card .bio li {position: relative; font-size: 1.5rem; color: #686868; font-weight: 500; letter-spacing: -0.035rem; padding-left: 12px; margin: 0.5rem 0;}
.speaker-card .bio li:before {position: absolute; top: 7px; left: 0; content: ""; display: block; width: 4px; height: 4px; background: #ccc; border-radius: 50%;}

.speaker-card .line-h {width: 100%; height: 1px; margin-top: 2rem; background: #ddd}

.speaker-info .subject-box {padding: 1.5rem 2rem; margin-top: 2rem; border-radius: 8px;}
.speaker-info .subject-box p {font-size: 1.35rem; font-weight: 400; letter-spacing: -0.035rem; line-height: 1.5;}
.speaker-info .subject-box strong {font-size: 1.95rem; font-weight: 800; letter-spacing: -0.035rem; line-height: 1.35; word-break: keep-all;}

/* 발표주제 예외처리 */
.speaker-info .policy-bg {background: #f1edff;}
.speaker-info .policy-bg p {color: #7d63e0;}
.speaker-info .policy-bg strong {color: #3b1fb0;}
.speaker-info .rolemodel-bg {background: #fff1e2;}
.speaker-info .rolemodel-bg p {color: #b8470a;}
.speaker-info .rolemodel-bg strong {color: #b8470a;}

/* s02 프로그램 - 개회 및 시상식 예외처리 */
.panel-head2 h4 span {font-size: 1.8rem; color: #5232db; margin-left: 1rem;}
.thalamus-wrap {display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; width: 100%; margin-top: 2rem;}
.thalamus-wrap .row-box {width: 100%; padding: 4rem 4rem 3rem; background: #f1edff; border-radius: 1.2rem;}
.thalamus-wrap .row-box2 {background: #fff7d6;}
.thalamus-wrap .row-box h5 {font-size: 2.65rem; color: #000; font-weight: 800; letter-spacing: -0.020rem;}
.thalamus-wrap .row-box h5 span {color: #5a2fd0;}
.thalamus-wrap .row-box ul {margin-top: 2rem;}
.thalamus-wrap .row-box ul li {font-size: 2rem; color: #000; font-weight: 600; letter-spacing: -0.020rem; margin: 1rem 0;}

/* s03 프로그램 - 정책 대담 예외처리 */
.panel-head {width: 100%; margin-top: 3.5rem;}
.panel-head h4 {display: flex; align-items: center; font-size: 2.4rem; color: #000; font-weight: 700; letter-spacing: -0.020rem;}
.panel-head h4:before {content: ""; display: inline-block; width: 5px; height: 2.2rem; margin-right: 1rem; background: #713edd;}

.panel-head .panel-box {display: flex; align-items: center; width: 100%; padding: 2rem 3rem; margin-top: 1rem; background: #3b13c9; border-radius: 1.2rem;}
.panel-head .panel-box span {display: inline-block; font-size: 1.65rem; color: #fff; font-weight: 700; padding: 0.8rem 2rem; background: #6748d5; border-radius: 5.8rem;}
.panel-head .panel-box p {display: inline-block; font-size: 2.45rem; color: #fff; font-weight: 800; word-break: keep-all; margin-left: 2rem;}

.panel-head2 {margin-top: 5rem;}
.panel-head2 .panel-box {background: #d5580f;}
.panel-head2 .panel-box span {background: #df7e44;}
.panel-head3 {margin-top: 7rem;}

.speaker-grid3 {margin-top: 2rem;}

/* s05 프로그램 - 주관기관별 세션 */
.special-wrap {width: 100%;}

.session-grid {display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; width: 100%; margin-top: 3.5rem;}
.session-card {width: 100%; border-radius: 14px; overflow: hidden;}
.session-card a {display: block; width: 100%; height: 100%;}
.session-card .organ-info {width: 100%; text-align: center; min-height: 35rem; transition: var(--transition1);}
.session-card .organ-info .organ-name {font-size: 2rem; color: #fff; font-weight: 700; letter-spacing: -0.020rem; padding: 2rem 0;}
.session-card .organ-info h3 {font-size: 2.4rem; color: #fff; font-weight: 800; letter-spacing: -0.020rem; line-height: 1.4; word-break: keep-all; margin: 3rem 1rem 2rem;}
.session-card .organ-info p {font-size: 1.55rem; color: rgba(255,255,255,0.8); font-weight: 500; letter-spacing: -0.020rem; line-height: 1.45; word-break: keep-all; margin-bottom: 3.5rem;}
.session-card .organ-info span.place {font-size: 1.45rem; color: #fff; font-weight: 700; letter-spacing: -0.010rem; padding: 8px 20px; border: 1px solid #fff; border-radius: 58px;}

/* 예외처리 */
.session-card .card-bg1 {background: #438a98;}
.session-card .card-bg1:hover {background: #0c687a;}
.session-card .card-bg2 {background: #c97a65;}
.session-card .card-bg2:hover {background: #bd3d1b;}
.session-card .card-bg3 {background: #7467cf;}
.session-card .card-bg3:hover {background: #4836c8;}
.session-card .card-bg4 {background: #2d86c9;}
.session-card .card-bg4:hover {background: #0d68ac;}

.session-card .card-bg1 .organ-name {background: #36717c;}
.session-card .card-bg2 .organ-name {background: #a46452;}
.session-card .card-bg3 .organ-name {background: #5f54a9;}
.session-card .card-bg4 .organ-name {background: #246da4;}

/* 주관기관별 세션 - 기관별 세부일정 레이어 팝업 스타일 */
#popup-organdetails-wiset {position: fixed; width: 100%; height: 100%; background: rgba(0,0,0,0.7); top: 0; left: 0; z-index: 1000000000; display: none;}
#popup-organdetails-kofwst {position: fixed; width: 100%; height: 100%; background: rgba(0,0,0,0.7); top: 0; left: 0; z-index: 1000000000; display: none;}
#popup-organdetails-kwse {position: fixed; width: 100%; height: 100%; background: rgba(0,0,0,0.7); top: 0; left: 0; z-index: 1000000000; display: none;}
#popup-organdetails-korci {position: fixed; width: 100%; height: 100%; background: rgba(0,0,0,0.7); top: 0; left: 0; z-index: 1000000000; display: none;}

.layerpop-open {position: absolute; width: 100%; height: auto; top: 0; left: 0;}
.layerpop-open .popup-contents {position: fixed; top: 50%; left: 50%; margin: 0; transform: translate(-50%, -50%); width: 100%; padding: 15px; max-width: 90rem; max-height: 95vh; background: #fff; border: 1px solid #111; border-top: 3px solid #1139be; border-radius: 18px; overflow: hidden;} 
.layerpop-open .popup-contents h4 {position: relative; font-size: 2rem; color: #fff; font-weight: 600; letter-spacing: -0.035rem; padding: 1.3rem 2rem 1rem; background: #3b13c9; border-bottom: 1px solid #3b13c9;}
.layerpop-open .popup-contents button.closebtn {position: absolute; top: 1.8rem; right: 2.5rem; background: none; border: 0; cursor: pointer; outline: none;}
.layerpop-open .popup-contents button.closebtn i {font-size: 4rem; color: #fff;}

.popup-table {width: 100%; overflow-x: auto; overflow-y: hidden; margin-top: 1rem;}
.popup-table .etc {font-size: 2rem; color: #787879; font-weight: 700; letter-spacing: -0.030rem; text-align: center; padding: 8rem 0;} /* 세부일정 준비중 */

.popup-table .table-poplayout {width: 100%;}
.popup-table .table-poplayout th {font-size: 1.65rem; color: #fff; font-weight: 700; letter-spacing: -0.030rem; text-align: center; padding: 1rem 1rem; background: #4b2bb8;}
.popup-table .table-poplayout td {font-size: 1.5rem; color: #626262; font-weight: 500; letter-spacing: -0.030rem; text-align: center; word-break: keep-all; padding: 1rem 1rem; border-bottom: 1px solid #e3e3ea;}
.popup-table .table-poplayout tr.part-row {background: #eeeafc;}
.popup-table .table-poplayout tr.part-row td {color: #3b1fb0; font-weight: 800;}
.details-info .popup-guide {width: 100%; margin-top: 1rem;}
.details-info .popup-guide p {font-size: 1.5rem; color: #000; font-weight: 400; letter-spacing: -0.030rem; margin: 5px 0;}

/* s06 프로그램 - 특별강연 */
.winner-grid {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 3.5rem;}
.winner-card {display: flex; flex-wrap: wrap; width: 100%; border: 1px solid #e3e3ea; border-radius: 10px; padding: 10px;}
.winner-card img {width: 100%; object-fit: cover; min-height: 22.4rem; border-radius: 7px;}
.winner-info {width: 100%; padding: 30px 10px 10px; min-height: 26.2rem;}
.winner-tag {display: inline-block; font-size: 1.4rem; color: #603ca5; font-weight: 700; background: #e7e2f6; border-radius: 20px; padding: 6px 18px;}

.winner-card h3 {font-size: 2.8rem; color: #000; font-weight: 900; margin-top: 1rem; line-height: 1.3;}
.winner-card h3 span {font-size: 1.8rem; font-weight: 500; margin-left: 9px;}
.winner-card .affiliation {font-size: 1.6rem; color: #000; font-weight: 400; padding-top: 0.5rem;}
.winner-card .field {font-size: 1.55rem; color: #000; font-weight: 700; padding-top: 1rem; margin-top: 1rem; margin-bottom: 1rem; border-top: 1px solid #ddd;}
.winner-card .bio {width: 100%;}
.winner-card .bio li {position: relative; font-size: 1.5rem; color: #686868; font-weight: 500; letter-spacing: -0.035rem; padding-left: 12px; margin: 0.5rem 0;}
.winner-card .bio li:before {position: absolute; top: 7px; left: 0; content: ""; display: block; width: 4px; height: 4px; background: #ccc; border-radius: 50%;}

.winner-info .subject-box {padding: 1.5rem 2rem; margin-top: 2rem; border-radius: 8px;}
.winner-info .subject-box p {font-size: 1.35rem; font-weight: 400; letter-spacing: -0.035rem; line-height: 1.5;}
.winner-info .subject-box strong {font-size: 1.95rem; font-weight: 800; letter-spacing: -0.035rem; line-height: 1.35; word-break: keep-all;}

/* s06 프로그램 - 특별강연 - 발표주제 예외처리 */
.winner-info .rolemodel-bg {background: #fff1e2;}
.winner-info .rolemodel-bg p {color: #b8470a;}
.winner-info .rolemodel-bg strong {color: #b8470a;}

/* s07 프로그램 - 발표자료 */
.presentations-wrap {width: 100%;}
.material-group {width: 100%; margin: 15px 0; background: #f9f9f9; border: 1px solid #dfe7ee; border-radius: 12px; overflow: hidden;}
.material-group .summary-head {background: #f1eefb; border-bottom: 1px solid #ddd6f2; font-size: 2.2rem; color: #42359a; font-weight: 800; padding: 1.5rem 2.2rem;}
.material-group .summary-head .cases {font-size: 1.55rem; color: #65708b; margin-left: 10px;}

.material-list {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 2.5rem 2rem;}
.material-list .material-item {display: flex; align-items: center; gap: 2rem; padding: 2rem; background: #fff; border: 1px solid #e0e7ee; border-radius: 10px;}
.material-list .material-item .file-ico {display: grid; place-items: center; width: 6rem; height: 6rem; font-size: 3rem; color: #5134b1; background: #eff2fd; border-radius: 50%;}
.material-list .material-item .material-label {flex: 1;}
.material-list .material-item .material-label strong {display: block; font-size: 2rem;}
.material-list .material-item .material-label strong span {font-size: 1.6rem; color: #5b5b5c; font-weight: 500; margin-left: 5px;}
.material-list .material-item .material-label p {display: block; font-size: 1.5rem; color: #708098; line-height: 1.3; word-break: keep-all; margin-top: 0.5rem;}

.material-list .material-item .file-btn {font-size: 1.35rem; color: #735ac6; font-weight: 500; padding: 10px 15px 10px 17px; background: #fff; border: 1px solid #9c8bd5; border-radius: 24px; transition: var(--transition1);}
.material-list .material-item .file-btn i {font-size: 1.55rem; margin-top: 2px;}
.material-list .material-item .file-btn:hover {color: #fff; background: #9c8bd5;}

/* PDF 열람 전용 팝업 스타일 */
#popup-pdfviewer {display: none; position: fixed; inset: 0; z-index: 100000000; padding: 20px; background: rgba(0, 0, 0, .7); align-items: center; justify-content: center;}
#popup-pdfviewer.open {display: flex;}

.pdf-popup-inner {display: flex; flex-direction: column; width: 100%; max-width: 1200px; max-height: 95vh; background: #fff; border-radius: 12px; overflow: hidden;}
.pdf-popup-header, .pdf-popup-footer {display: flex; align-items: center; justify-content: space-between; padding: 15px 20px;}
.pdf-popup-header h4 {font-size: 2rem;}
.pdf-popup-header button {font-size: 2.6rem; margin-top: -3px; background: #fff;}

.pdf-popup-body {flex: 1; min-height: 30rem; padding: 1rem; font-size: 2rem; color: #787879; font-weight: 700; overflow: auto; text-align: center; background: #f3f4f6;}
.pdf-popup-body.is-error {flex: 0 0 auto; min-height: 0; height: auto; padding: 10rem 1rem; overflow: visible;} /* PDF 파일을 불러오지 않았을때 */

.pdf-popup-body canvas {display: block; margin: 0 auto; height: auto !important;}
.pdf-popup-footer button {font-size: 1.55rem; font-weight: 600; background: #fff;}
#pdf-page-info {font-size: 1.55rem; color: rgba(0,0,0,0.5); font-weight: 600;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* 서브페이지 컨텐츠 영역 03 - 개인정보처리방침 */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

.user-wrap {width: 100%;}
.privacy-wrap {width: 100%; text-align: center;}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 Mobile 359 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (max-width:359px) {

/* 서브 컨텐츠 - 공통영역 */
.sec-subvisual {height: 28rem; background-position: right -15rem top;}
.subtitle-area .inner {padding: 0 2rem;}
.subtitle-area h2.sub-tittxt {font-size: 4rem;}

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.sec-subgnbcommon {margin-top: 1rem;}
.pagenavi-wrap {padding: 3rem 2rem 2rem;}
.pagenavi-wrap h3 {font-size: 3rem; margin-left: -0.3rem;}
.pagenavi-wrap .page-channel {width: 100%; margin-top: 1.5rem;}
.pagenavi-wrap .page-channel a.homebtn {width: 1.7rem; height: 1.7rem;}
.pagenavi-wrap .page-channel .menutxt strong {font-size: 1.5rem;}

.subtabmenu-wrap {padding: 0 2rem; margin-bottom: 3rem;}
.subtabmenu-wrap ul {width: 100%; border-top: 1px solid #ddd; border-left: 1px solid #ddd;}
.subtabmenu-wrap ul li {width: 33.3334%; text-align: center; margin-right: 0; margin-bottom: 0; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.subtabmenu-wrap ul.menutab-2 li {width: 50%;}

.subtabmenu-wrap ul li a {font-size: 1.6rem; padding: 1rem 0 0.8rem;}
.subtabmenu-wrap ul li a:before {display: none;}
.subtabmenu-wrap ul li.on a {color: #fff; background: var(--default-color);}

/* 서브 컨텐츠 - 페이지 공통 영역 */
.sec-sub {padding-top: 0;}
.subpage-common {padding: 0 2rem;}
.pagecontent-wrap h4 {font-size: 3.2rem;}

/* 서브페이지 컨텐츠 영역 01 - 행사 개요 */
/* s01 행사 개요 - 행사 개요 */
.overview-info .info-row {grid-template-columns: 12rem 1fr;}
.overview-info .info-row .info-body p {font-size: 1.8rem;}
.overview-info .info-row .info-body-partners {grid-template-columns: repeat(1, 1fr);}
.overview-info .info-row .info-body-partners img {max-width: 100%;}

/* s02 행사 개요 - 행사장 안내 */
.location-wrap .map-canvas .canvas {height: 35rem;}
.location-wrap .map-info .map-contactus .address {margin-right: 0;}
.location-wrap .map-info .map-contactus i {display: inline-flex; width: 6rem; height: 6rem; font-size: 2.5rem;}
.location-wrap .map-info .map-contactus p {display: inline-flex; flex-wrap: wrap; width: 70%;}

.location-wrap .traffic-wrap .traffic-item1 {margin-right: 0; margin-bottom: 3rem;}
.location-wrap .traffic-wrap .traffic-item .ico {width: 6rem; height: 6rem; font-size: 2.5rem;}
.location-wrap .traffic-wrap .traffic-item .ico i {font-size: 2.5rem;}
.location-wrap .traffic-wrap .traffic-item .item-info {display: inline-flex; flex-wrap: wrap; flex-direction: initial; width: 73%;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li {align-items: flex-start;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li p {display: inline-flex; width: 80%;}

.park-wrap {grid-template-columns: 1fr; padding: 0; background: #fff;}
.park-layout td {font-size: 1.65rem;}

/* 서브페이지 컨텐츠 영역 02 - 프로그램 */
/* s01 프로그램 - 전체 프로그렘 */
.program-head h3 {font-size: 2.5rem;}
.program-head .detail-badges {display: flex; flex-wrap: wrap; gap: 10px;}
.program-head .detail-badges span {margin-right: 0.3rem;}
.table-scroll:after {content: ""; display: block; position: absolute; top: 130px; right: 3.5rem; width: 6rem; height: 6rem; background: url("../images/mousedrag_ico.png") no-repeat 0 0; background-size: 100%;}
.table-scroll .table-layout {width: 210%;}

/* s03, s04 프로그램 - 정책 대담, 롤모델 강연 - 레이아웃 공통 */
.speaker-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.speaker-card {grid-template-columns: 40% 1fr; flex-wrap: wrap; gap: 2rem; min-height: auto;}
.speaker-card h3 {font-size: 2.5rem;}
.speaker-card h3 span {font-size: 1.6rem;}
.speaker-info {table-layout: fixed; min-height: auto;}
.speaker-info .subject-box strong {font-size: 1.65rem;}

/* s02 프로그램 - 개회 및 시상식 예외처리 */ 
.panel-head2 h4 {flex-wrap: wrap;}
.panel-head2 h4 span {display: block; margin-left: 1.5rem; margin-top: 0.5rem;}
.thalamus-wrap {grid-template-columns: repeat(1, 1fr);}
.thalamus-wrap .row-box {padding: 3rem 3rem 2rem;}
.thalamus-wrap .row-box h5 {font-size: 2.3rem;}
.thalamus-wrap .row-box ul li {font-size: 1.8rem;}

/* s03 프로그램 - 정책 대담 예외처리 */
.panel-head .panel-box {flex-wrap: wrap;}
.panel-head .panel-box p {font-size: 2rem; line-height: 1.4; margin-left: 0; margin-top: 1rem;}

/* s05 프로그램 - 주관기관별 세션 */
.session-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.session-card .organ-info {min-height: auto; padding-bottom: 5rem;}
.layerpop-open .popup-contents {width: 90%;}
.layerpop-open .popup-contents button.closebtn {top: 2.7rem;}
.layerpop-open .popup-contents button.closebtn i {font-size: 3rem;}
.popup-table .table-poplayout {width: 230%;}
.details-info .popup-guide p {font-size: 1.4rem;}

/* s06 프로그램 - 특별강연 */
.winner-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.winner-info {padding: 20px 10px 10px; min-height: auto;}

/* s07 프로그램 - 발표자료 */
.material-list {grid-template-columns: repeat(1, minmax(0, 1fr));}
.material-list .material-item {flex-wrap: wrap;}
.material-list .material-item .material-label {flex: initial; width: 100%;}
#popup-pdfviewer {padding: 10px;}

}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 Mobile 360,719 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:360px) and (max-width:719px) {

/* 서브 컨텐츠 - 공통영역 */
.sec-subvisual {height: 28rem; background-position: right -15rem top;}
.subtitle-area .inner {padding: 0 2rem;}
.subtitle-area h2.sub-tittxt {font-size: 4rem;}

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.sec-subgnbcommon {margin-top: 1rem;}
.pagenavi-wrap {padding: 3rem 2rem 2rem;}
.pagenavi-wrap h3 {font-size: 3rem; margin-left: -0.3rem;}
.pagenavi-wrap .page-channel {width: 100%; margin-top: 1.5rem;}
.pagenavi-wrap .page-channel a.homebtn {width: 1.7rem; height: 1.7rem;}
.pagenavi-wrap .page-channel .menutxt strong {font-size: 1.5rem;}

.subtabmenu-wrap {padding: 0 2rem; margin-bottom: 3rem;}
.subtabmenu-wrap ul {width: 100%; border-top: 1px solid #ddd; border-left: 1px solid #ddd;}
.subtabmenu-wrap ul li {width: 33.3334%; text-align: center; margin-right: 0; margin-bottom: 0; border-right: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.subtabmenu-wrap ul.menutab-2 li {width: 50%;}

.subtabmenu-wrap ul li a {font-size: 1.6rem; padding: 1rem 0 0.8rem;}
.subtabmenu-wrap ul li a:before {display: none;}
.subtabmenu-wrap ul li.on a {color: #fff; background: var(--default-color);}

/* 서브 컨텐츠 - 페이지 공통 영역 */
.sec-sub {padding-top: 0;}
.subpage-common {padding: 0 2rem;}
.pagecontent-wrap h4 {font-size: 3.2rem;}

/* 서브페이지 컨텐츠 영역 01 - 행사 개요 */
/* s01 행사 개요 - 행사 개요 */
.overview-info .info-row {grid-template-columns: 12rem 1fr;}
.overview-info .info-row .info-body p {font-size: 1.8rem;}
.overview-info .info-row .info-body-partners {grid-template-columns: repeat(1, 1fr);}
.overview-info .info-row .info-body-partners img {max-width: 100%;}

/* s02 행사 개요 - 행사장 안내 */
.location-wrap .map-canvas .canvas {height: 35rem;}
.location-wrap .map-info .map-contactus .address {margin-right: 0;}
.location-wrap .map-info .map-contactus i {display: inline-flex; width: 6rem; height: 6rem; font-size: 2.5rem;}
.location-wrap .map-info .map-contactus p {display: inline-flex; flex-wrap: wrap; width: 70%;}

.location-wrap .traffic-wrap .traffic-item1 {margin-right: 0; margin-bottom: 3rem;}
.location-wrap .traffic-wrap .traffic-item .ico {width: 6rem; height: 6rem; font-size: 2.5rem;}
.location-wrap .traffic-wrap .traffic-item .ico i {font-size: 2.5rem;}
.location-wrap .traffic-wrap .traffic-item .item-info {display: inline-flex; flex-wrap: wrap; flex-direction: initial; width: 73%;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li {align-items: flex-start;}
.location-wrap .traffic-wrap .traffic-item .item-info .subway ul li p {display: inline-flex; width: 80%;}

.park-wrap {grid-template-columns: 1fr; padding: 0; background: #fff;}
.park-layout td {font-size: 1.65rem;}

/* 서브페이지 컨텐츠 영역 02 - 프로그램 */
/* s01 프로그램 - 전체 프로그렘 */
.program-head h3 {font-size: 2.5rem;}
.program-head .detail-badges {display: flex; flex-wrap: wrap; gap: 10px;}
.program-head .detail-badges span {margin-right: 0.3rem;}
.table-scroll:after {content: ""; display: block; position: absolute; top: 130px; right: 3.5rem; width: 6rem; height: 6rem; background: url("../images/mousedrag_ico.png") no-repeat 0 0; background-size: 100%;}
.table-scroll .table-layout {width: 210%;}

/* s03, s04 프로그램 - 정책 대담, 롤모델 강연 - 레이아웃 공통 */
.speaker-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.speaker-card {grid-template-columns: 40% 1fr; flex-wrap: wrap; gap: 2rem; min-height: auto;}
.speaker-card h3 {font-size: 2.5rem;}
.speaker-card h3 span {font-size: 1.6rem;}
.speaker-info {table-layout: fixed; min-height: auto;}
.speaker-info .subject-box strong {font-size: 1.65rem;}

/* s02 프로그램 - 개회 및 시상식 예외처리 */ 
.panel-head2 h4 {flex-wrap: wrap;}
.panel-head2 h4 span {display: block; margin-left: 1.5rem; margin-top: 0.5rem;}
.thalamus-wrap {grid-template-columns: repeat(1, 1fr);}
.thalamus-wrap .row-box {padding: 3rem 3rem 2rem;}
.thalamus-wrap .row-box h5 {font-size: 2.3rem;}
.thalamus-wrap .row-box ul li {font-size: 1.8rem;}

/* s03 프로그램 - 정책 대담 예외처리 */
.panel-head .panel-box {flex-wrap: wrap;}
.panel-head .panel-box p {font-size: 2rem; line-height: 1.4; margin-left: 0; margin-top: 1rem;}

/* s05 프로그램 - 주관기관별 세션 */
.session-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.session-card .organ-info {min-height: auto; padding-bottom: 5rem;}
.layerpop-open .popup-contents {width: 90%;}
.popup-table .table-poplayout {width: 230%;}
.details-info .popup-guide p {font-size: 1.4rem;}

/* s06 프로그램 - 특별강연 */
.winner-grid {grid-template-columns: repeat(1, minmax(0, 1fr));}
.winner-info {padding: 20px 10px 10px; min-height: auto;}

/* s07 프로그램 - 발표자료 */
.material-list {grid-template-columns: repeat(1, minmax(0, 1fr));}
.material-list .material-item {flex-wrap: wrap;}
.material-list .material-item .material-label {flex: initial; width: 100%;}
#popup-pdfviewer {padding: 10px;}

}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 Tablet 720,767 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:720px) and (max-width:767px) {

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.pagenavi-wrap {padding: 5rem 3rem 2rem; margin-bottom: 4rem;}
.subtabmenu-wrap {padding: 0 3rem;}

/* 서브 컨텐츠 - 공통영역 */
.sec-subvisual {height: 24rem;}

/* 서브 컨텐츠 - 페이지 공통 영역 */
.sec-sub {padding-top: 7rem;}

}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 Tablet 768,1023 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:768px) and (max-width:1023px) {

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.pagenavi-wrap {padding: 5rem 3rem 2rem; margin-bottom: 4rem;}
.subtabmenu-wrap {padding: 0 3rem;}

/* 서브 컨텐츠 - 공통영역 */
.sec-subvisual {height: 24rem;}

/* 서브 컨텐츠 - 페이지 공통 영역 */
.sec-sub {padding-top: 7rem;}

}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 PC 1024,1279 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:1024px) and (max-width:1279px) {

/* 서브 컨텐츠 - 공통영역 */
.subtitle-area .inner {padding: 0 2rem;}

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.pagenavi-wrap {padding: 7rem 2rem 5rem;}
.subtabmenu-wrap {padding: 0 2rem; margin-top: 2rem;}



}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 PC 1024,1050 예외처리 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:1024px) and (max-width:1050px) {

.work-list .work-item .item-info .tittxt {font-size: 1.75rem;}

}


/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */
/* *** 반응형설정 PC 1280,1400 *** */
/* ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (min-width:1280px) and (max-width:1400px) {

/* 서브 컨텐츠 - 공통영역 */
.subtitle-area .inner {padding: 0 2rem;}

/* 서브 컨텐츠 - 페이지 타이틀 및 서브메뉴, 서브하위메뉴 영역 */
.pagenavi-wrap {padding: 7rem 2rem 5rem;}
.subtabmenu-wrap {padding: 0 2rem;}



}
