
@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");    


* {
  margin:0; padding:0; box-sizing:border-box;
}
html, body {
  height:100%; font-family:'Pretendard','sans-serif'; overflow-x: hidden; overflow-y: auto; scroll-behavior: smooth; background: #ffffff !important; color: #000000 !important;
}
a {
  text-decoration:none; color:inherit;
}
ul, li {
  list-style:none;
}

@media (prefers-color-scheme: dark) {
  body {
    background: #ffffff; /* 다크모드여도 흰색 유지 */
    color: #000000;
  }
}


/*~~~~~~~~~~~~~~~~~ 팝업 ~~~~~~~~~~~~~~~~*/

.pop_overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.5); display:flex; align-items:center; justify-content:center; padding:24px; z-index:10001; }
.pop_box{
  width:100%; max-width:500px; background:#e4edfd; border-radius:5px; box-shadow:0 8px 30px rgba(0,0,0,.15); text-align:center; padding:40px 30px; position:relative; }
/* 닫기 버튼 */
.popclose {
  position: absolute; right:20px; top: 20px; width: 30px;  height: 30px; cursor: pointer; z-index: 10001; border:none; background:none
}
.popclose::before,
.popclose::after {
  content: ""; position: absolute; left: 50%; top: 50%; width:20px; height: 3px; background: #000000; transform-origin: center; transition: backgrounds 0.3s ease;
}
.popclose::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.popclose::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* 팝업 내용 */
.pop_box h2{
  justify-items: center;
}
.pop_box h2 img{
  width:270px
}
.pop_text .pTbl {
  margin:0
}
.pop_text .pTbl th {
  width: 30%
}
.pop_text .pTbl th, .pop_text .pTbl td {
  font-size: 16px
}
.pop_text .pTbl .Ltbl {
  border-bottom: 1px solid #002464;
}
.pop_text .bTblBtn button{
  width:60%;
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}



/*~~~~~~~~~~~~~~~~~ Fullpage ~~~~~~~~~~~~~~~~*/

/*.swiper {
  width: 100%; height: 100%;
}
.swiper-slide {
  text-align: center; font-size: 18px; background: #ffffff; display: flex;justify-content: center; align-items: center;
}
.swiper-slide img {
  display: block; object-fit: cover;}
  */


/*~~~~~~~~~~~~~~~~~ 헤더 / 상단 메뉴 ~~~~~~~~~~~~~~~~*/

.header {
  position:fixed; top:0; left:0; width:100%; height:120px; background:#fff !important;
  border-bottom:1px solid #dadada; display:flex; align-items:center;
  z-index:9999;
}
.header nav {
  max-width:1180px; width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:center; transition: all 0.4s ease;
}
.logo img {
  width:240px;
}
.nav_menu {
  display:flex; gap:20px;
}
.nav_menu > li {
  position:relative;
}
.nav_menu > li > a {
  font-size:21px; font-weight:600; line-height:120px; padding:0 10px; transition:.3s;
}
.nav_menu > li a:hover {
  color:#013591;
}

/* 드롭다운 */
.sub_menu {
  position: absolute; top: 120px; left: -10px; background: #000; display: none; flex-direction: column; width: 180px; padding: 0; margin: 0;transition: all 0.3s ease;
}
.sub_menu li:first-child {
  border-bottom:1px solid #414141
}
.sub_menu li a {
  display: block; padding: 16px 5px; color: #fff; font-size: 18px; text-align: center; line-height: 1.4
}
.sub_menu li a:hover {
  color: #b0ceff;
}
.nav_menu li:hover .sub_menu {
  display: flex;
}

/* 햄버거 메뉴 */
.menu_toggle {
  display:none; flex-direction:column; justify-content:center; gap:6px; width:28px; height:24px; cursor:pointer;
}
.menu_toggle span {
  display:block; width:100%; height:3px; background:#000; border-radius:2px;
}


/*~~~~~~~~~~~~~~~~ 섹션 시작 / 섹션 공통 ~~~~~~~~~~~~~~~~~*/
/*
.section {
  display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh;
}
    */
.section h2{
  margin-bottom:20px; justify-items: center; text-align: center;
}
.section h2 img{
  width:270px
}
.section .content {
  width:1180px; margin:0 auto
}



/*~~~~~~~~~~~~~~~~ 메인 visual ~~~~~~~~~~~~~~~~~*/

.main_section {
  background:url('https://img.tf.co.kr/ss/2025/tfsf/tfsf25_visual_full.jpg') no-repeat center top / cover; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:230px 0 130px 0; text-align:center;
}
.visual_txt {
  width:90%; max-width:1180px; margin:0 auto; color:#1b409c; text-align:left;
  justify-items: flex-start;
}
.visual_txt img {
    max-width:100%; height:auto;
}
.visual_txt p {
    margin-top:20px; font-size:clamp(17px, 4vw, 23px);
    text-shadow:0 0 5px rgba(255,255,255,0.9); line-height: 1.5; text-align: center;
}

/*글자 나타나는 애니메이션*/
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeIn 1.5s ease forwards;
}
@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/*~~~~~~~~~~~~~~~ 초청의 글 ~~~~~~~~~~~~~~~~~~*/

.intro_section {
  margin-top: 100px; background:#ffffff !important;
}
.intro_section .content p{
  max-width:1180px; margin:0 auto 20px; padding:35px 20px;
  border-top:5px solid #3674db; border-bottom:1px solid #000;
  text-align:left; font-size:20px; line-height:1.4; word-break: keep-all;
}
.intro_section .content p span{
  display: block;
}
.intro_section .content .ceoS {
  display: flex; justify-content: flex-end; align-items: center; margin-top:10px
}
.intro_section .content .ceoS .ceo {
  text-align: right; margin-right:10px;
}
.intro_section .content .ceoS .signature {
  text-align: right; width:9%
}
.intro_section .content .ceoS .signature img {
  width:100%
}
.intro_section .content .ceoS .ceo h3{
  font-size:33px
}



/*~~~~~~~~~~~~~~~~ 행사 개요 ~~~~~~~~~~~~~~~~~*/

.info_section {
  margin-top:100px; position: relative; width: 100%; background: url('https://img.tf.co.kr/ss/2025/tfsf/tfsf25_visual_02.jpg') no-repeat center/cover; display: flex; justify-content: center; align-items: center; color: #ffffff;
  padding:100px 0px
}
/* 반투명 박스 */
.info_section .infotbl {
  position: relative; width: 100%; max-width: 1200px; background:rgba(0, 28, 242, 0.4); color: #ffffff; overflow: hidden; clip-path: polygon(0 0, 96% 0, 170% 100%, 0 100%); transition: all 0.4s ease;
}
/* 표 구조 기본 */
.infotbl_01, .infotbl_02, .infotbl_03 {
  display: flex; justify-content:center; align-items:center;
}
.infotbl_03 {
  display: flex; justify-content: space-between; align-items: stretch;
}
/* 각 셀 스타일 */
.infotbl_01 div,
.infotbl_02 div,
.infotbl_03 div {
  flex: 1; font-size: 23px; line-height: 1.4;
}
.infotbl_03 div {
  font-size: 16px; line-height: 1.4; font-weight:lighter;
}
/* 텍스트 */
.infotbl_01 h4, .infotbl_02 h4, .infotbl_03 h4 {
  margin-bottom:5px; display: flex; justify-content: center;
}
/*초청연사 이름*/
.infotbl_03 h5 {
  font-size: 23px; font-weight: bold; margin-bottom: 6px;
}
.info_section span {
  display: block; font-size: 20px; margin-bottom: 6px; font-weight: 500;
}
.info_section h4 img {
  width:90px
}
.info_section .infotbl_tt, 
.infotbl_place,
.infotbl_date {
  border-bottom:1px solid #3490ff; border-right: 1px solid #3490ff;
}
.infotbl_subj,
.infotbl_host {
  border-bottom:1px solid #3490ff;
}
.info_section .infotbl_tt,
.info_section .infotbl_subj,
.info_section .infotbl_place,
.info_section .infotbl_date,
.info_section .infotbl_host {
  padding:45px 10px; text-align: center;
}
.info_section .infotbl_speakers01,
.info_section .infotbl_speakers02,
.info_section .infotbl_speakers03 {
  padding:45px 7px; text-align: left;
}
.infotbl:hover {
  filter: brightness(1.3);
}
.infotbl_sop {
  display: flex; align-items: center; justify-content: center;
}
.infotbl_03 div:nth-child(1) {
    flex: 0 0 14%;
}
.infotbl_03 div:nth-child(2), .infotbl_03 div:nth-child(3) {
    flex: 1;
}
.infotbl_03 div:nth-child(4) {
    flex: 0 0 32%;
}


/*~~~~~~~~~~~~~~~~~ 초청 연사 ~~~~~~~~~~~~~~~~*/

.speakers_section {
  max-width: 1200px; margin:100px auto; padding: 0 20px; background:#ffffff !important;
}
.speakers {
  justify-content: flex-start;
}
.speakertbl_01, .speakertbl_02, .speakertbl_03 {
  display: flex; align-items: flex-start; gap: 20px; background: #ffffff; padding: 10px; transition: all 0.3s ease; text-align: left;
}

/* 사진 */
.speaker_pic {
  flex: 0 0 25%; height: auto; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease;
}
.speaker_pic:hover {
  filter: brightness(1.09);
}
.speaker_pic img {
  width: 100%; height: 100%; object-fit: cover;
}
/*텍스트*/
.speaker_info {
  flex: 1; color: #222222; font-size: 16px; line-height: 1.6; margin-top:25px; word-break: keep-all;
}
.speaker_info h5 {
  font-size:32px; font-weight: bold;
}
.speaker_info span {
  font-size: 23px; font-weight: 600; display: block; margin-bottom:5px;
}
.speakertbl_01 h5, .speakertbl_01 span {
  color:#007db8
}
.speakertbl_02 h5, .speakertbl_02 span {
  color:#055ed2
}
.speakertbl_03 h5, .speakertbl_03 span {
  color:#474eca
}
.bline {
  border-bottom:1px solid #b7d6e6; width:100%
}
/* 더보기 버튼 // 모바일에서만 */
.speaker_info .more_btn {
  display: none;
}

/* PC 전용: 위쪽에 위치 고정 */
@media (min-width: 768px) {

.speaker_pic a {
  cursor: default; pointer-events: none; 
}
.speaker_info p {
  display: block !important;
}
.popup {
  display: none !important; /* PC에서는 팝업 강제 비활성화 */
}
}


/*~~~~~~~~~~~~~~~~ 프로그램 ~~~~~~~~~~~~~~~~~*/

.program_section{
  padding:100px 0; 
   background: url('https://img.tf.co.kr/ss/2025/tfsf/tfsf25_visual_03_full.jpg') no-repeat center/cover; color: #fff;
}
.program_section p {
  font-size:27px; text-align: center;
}


/*~~~~~~~~~~~~~~~~ 참가 신청 / 확인 ~~~~~~~~~~~~~~~~~*/

.participation_section {
  background:#e4edfd !important; padding:100px 0;
}
.participation_section .content {
  color:#002464; font-size:26px;
}
.participation_section h2 {
  font-size:25px
}
.privacy_box {
  background: #fff; padding: 20px; margin-bottom: 20px; text-align: left; font-size: 16px; color: #333; line-height: 1.5;
}
.privacy_box p {
  margin-bottom:15px; word-break: keep-all;
}
/* 개인정보 동의 */
.agree_box {
  margin: 20px 0; font-size: 16px; text-align: center;
}
.agree_box input[type="checkbox"] {
  display: none;
}
.agree_box label {
  position: relative; padding-left: 28px; cursor: pointer; font-size:20px; color:#002464; font-weight: 400;
}
.agree_box label:hover {
  filter: brightness(1.3);
}
.agree_box label::before {
  content: ''; position: absolute; left: -6px; top: 0; width: 20px; height: 20px;border: 2px solid #002464; background: #fff;
}
.agree_box input[type="checkbox"]:checked + label::before {
background: #002464 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path stroke="%23fff" stroke-width="3" fill="none" d="M4 8l3 3 6-6"/></svg>') center no-repeat;
}
/* 테이블 스타일 */
.pTbl {
  margin-top:50px;
}
.pTbl table {
  width: 100%; border-collapse: collapse; background: #fff; margin-bottom: 30px; border:1px solid #002464
}
.pTbl th {
  width: 20%; background: #2e9bff; color: #fff; font-size:20px; padding: 15px; border-bottom:1px solid #72ccff; font-weight: 400; }
.pTbl .lpTbl{
  border-bottom:1px solid #002464
}
.pTbl td {
border-bottom:1px solid #d6d6d6
}
.pTbl input {
  width: 100%; padding:20px 10px; font-size:20px; border:none; outline: none; 
}
/* 버튼 컨테이너 */
.bTblBtn {
  display: flex; justify-content: center; gap: 20px;
}
/* 버튼 */
.btn {
  display: inline-flex; align-items: center; justify-content: center; font-size:25px; color: #fff; width:400px; padding: 20px 0; border: none; cursor: pointer; position: relative; transition: 0.3s; letter-spacing: -0.05em; gap:12px;
}
/* 버튼 스타일 */
.btn.left {
  background: #0059f0; clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 0px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
.btn.right {
  background: #5244d9; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
.btn.left::after, .btn.right::after{
  content: ""; display: inline-block; width: 10px; height: 10px; border-top: 2px solid #ffffff; border-right: 2px solid #ffffff; transform: rotate(45deg) translate(3px);transition: all 0.3s ease;
}
.btn:hover {
filter: brightness(1.3);
}

/*~~~~~~~~~~~~~~~~ 미디어 ~~~~~~~~~~~~~~~~~*/
.media_section {
    padding: 100px 0; background: #fff; text-align: center;
}
.media_inner {
    max-width: 1200px; margin: 0 auto; padding:40px 0px; border-top:5px solid #3674db;
}
.media_inner h2 {
    margin-bottom: 30px; border-bottom: 2px solid #007aff; display: inline-block; padding-bottom: 10px;
}
.media_grid {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px 30px; margin-bottom: 30px;
}
.media_item {
    display: flex; gap: 15px; align-items: flex-start; color:inherit;  transition: transform 0.3s ease;
}
.media_item:hover {
    transform: scale(1.02);
}
.media_item .thumb img {
    width: 170px; height: 130px; object-fit: cover; border:1px solid #eaeaea
}
.media_item .info {
    text-align: left; flex: 1;
}
.media_item .info h5 {
    font-size: 18px; margin-bottom: 8px; font-weight: bold; color: #000; display:-webkit-box; -webkit-line-clamp: 1; /* 1줄 */ -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal;
}
.media_item .info p {
    font-size: 16px; color: #666; line-height: 1.4; margin-bottom: 10px; display: -webkit-box; -webkit-line-clamp: 3; /* 3줄 */ -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal;
}
.media_item .info .date {
    font-size: 14px; color: #888;
}
.media_more {
    width:100%
}
/* 더보기 */
.moreBtn {
  display: inline-flex; justify-content: center; align-items: center; gap:10px; background: #ffffff; color: #2a53de; border: 1px solid #2a53de; font-size: 22px; padding: 20px 0; cursor: pointer; transition: all 0.3s ease; width:100%;
}
.moreBtn:hover {
  background: #2a53de; color: #fff;
}
.moreBtn::after {
  content: ""; display: inline-block; width: 10px; height: 10px; border-top: 2px solid #2a53de; border-right: 2px solid #2a53de; transform: rotate(45deg) translate(3px); transition: all 0.3s ease;
}
.moreBtn:hover::after {
  border-color: #ffffff;
}


/*~~~~~~~~~~~~~~~~ Footer ~~~~~~~~~~~~~~~~~*/

.footer_section {
  background: #252525; padding: 35px 0; width: 100%;
}
.swiper {
  padding-bottom: 150px;
}
.footer_inner {
  width: 1200px; margin: 0 auto; display: flex; justify-content: flex-start; align-items: center; gap: 40px; padding: 0 20px;
}
/* 로고 영역 */
.footer_logo {
  flex-shrink: 0; width: 300px; height: 80px; transform: translateY(0); z-index: 0;
}
/* 텍스트 영역 */
.footer_info {
  position: relative; z-index: 1; color: #ffffff; font-size: 16px; line-height: 1.8;text-align: left;
}
.footer_info .copy {
  font-size: 15px; color: #959595;
}
.footer_text span {
  position: relative; margin-left: 9px; padding-left: 18px;
}
.footer_text span::before {
  content: "|"; position: absolute; left: 0; color: #777;
}


/*~~~~~~~~~~~~~~~~ TOP 버튼 ~~~~~~~~~~~~~~~~~*/

.go_top {
    position: fixed; bottom: 30px; right: 30px; z-index: 8888;}




/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 태블릿 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
@media screen and (min-width: 768px) and (max-width: 1024px) {


/*~~~~~~~~~~~~~~~~~ 팝업 ~~~~~~~~~~~~~~~~*/
.popclose {
  right:10px; top:10px;
}
.pop_box {
  padding:30px 20px
}
.pop_box h2 img {
  width:210px
}
.pop_text .bTblBtn button {
  font-size:20px; padding:15px 0; width:100%
}
.pop_text .bTblBtn button:after {
  width:10px; height: 10px; transform: rotate(45deg) translate(0px);
}
/*~~~~~~~~~~~~~~~~~ 헤더 / 상단 메뉴 ~~~~~~~~~~~~~~~~*/

.header {
  height: 80px;
}
.header nav{
   width:94%;
}
.logo img {
  width:190px
}
/*햄버거 메뉴 - 모바일 전용*/
.menu_toggle {
  display: flex !important; margin-left: auto; z-index: 9998; margin-right: 5px;
}
.nav_menu {
  position:fixed; top:80px; left:-100%; width:100%; height:calc(100vh - 80px);
  background:#111111; flex-direction:column; padding:20px; gap:15px; transition:left .3s; z-index:9997;
}
.nav_menu.active {
  left:0; z-index: 10000;
}
.nav_menu > li {
  margin: 10px 0 5px 10px;
}
.nav_menu > li > a {
  color:#fff; padding:15px 0; line-height:normal;
}
.nav_menu > li > a:hover {
  color:#b0ceff}
.sub_menu {
  position:static; background:#111; display:none;
}
.has_sub.active .sub_menu {
  display:block;
}
.sub_menu {
  margin-top:20px
}
.sub_menu li {
  margin:0
}
.sub_menu li:first-child {
  border:none; margin-bottom:10px
}
.sub_menu li a {
  text-align: left; padding:0; font-size:16px
}
/* 닫기 버튼 */
.close_btn {
  position: absolute; right: 20px; top: 20px; width: 30px;  height: 30px; cursor: pointer; z-index: 10001;
}
.close_btn::before,
.close_btn::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 24px; height: 3px; background: #fff; transform-origin: center; transition: backgrounds 0.3s ease;
}
.close_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.close_btn:hover::before,
.close_btn:hover::after {
  background: #2e9bff;
}
/* 서브메뉴 클릭하면 보이게 */
.nav_menu li:hover .sub_menu {
  display: none;
}
.has_sub.active .sub_menu {
  display: block !important;
}
.nav_menu li a {
  transition: all 0.3s ease;
}


/*~~~~~~~~~~~~~~~~ 섹션 시작 / 섹션 공통 ~~~~~~~~~~~~~~~~~*/
/*.swiper, .swiper-slide {
  display: none;
}
  */
.section h2{
  margin-bottom:20px; justify-items: center;
}
.section h2 img{
  width:180px
}
.section .content {
  width:94%; margin:0 auto
}
/* 스와이프 표시 모바일에선 X 
.swiper-pagination {
  display: none;
}
*/


/*~~~~~~~~~~~~~~~~ 메인 visual ~~~~~~~~~~~~~~~~~*/

.main_section {
  justify-content: center; padding: 170px 0 90px 0;
}
.visual_txt {
  padding-left: 0; text-align: center;
}
.visual_txt img {
  margin: 0 auto; /* 중앙정렬 */
}
.main_v .visual_txt p {
  max-width:100%;
}


/*~~~~~~~~~~~~~~~ 초청의 글 ~~~~~~~~~~~~~~~~~~*/

.intro_section {
  justify-content: flex-start; margin-top:100px
}
.intro_section .content p {
  width:100%; font-size:17px; padding:25px 5px; word-break: keep-all; white-space: normal; line-height: 1.5; margin: 0 auto;
}
.intro_section .content .ceoS .ceo span {
  font-size: 16px;
}
.intro_section .content .ceoS .ceo h3 {
  font-size: 20px
}
.intro_section .content .ceoS .signature {
  width:10%
}


/*~~~~~~~~~~~~~~~~ 행사 개요 ~~~~~~~~~~~~~~~~~*/

.info_section {
  margin-top:100px; padding:50px 0 60px
}

.info_section .content {
  width:94%; justify-content: center;
}
.infotbl_01, .infotbl_02, .infotbl_03 {
  gap:0px; flex-direction: column; 
}
.info_section .infotbl_tt, .info_section .infotbl_subj, .info_section .infotbl_place, .info_section .infotbl_date, .info_section .infotbl_host, .info_section .infotbl_tt, .infotbl_place, .infotbl_date{
  display: flex; align-items: center; justify-content:flex-start;  padding:20px 5px; width:96%; border-right:none; gap:10px 
}
.infotbl_01 h5, .infotbl_02 h5, .infotbl_03 h5 {
  margin:0; 
}
.infotbl_01 h4, .infotbl_02 h4, .infotbl_03 h4 {
  margin:0
}
.info_section h4 img {
  width:75px
}
.infotbl_01 div, .infotbl_02 div, .infotbl_03 div {
  font-size:17px; flex:1
}
.info_section .infotbl_speakers01, .info_section .infotbl_speakers02, .info_section .infotbl_speakers03 {
  padding:12px 5px; justify-content:center; font-size:15px
}

.infotbl_03 h5 {
  font-size:17px;
}
.infotbl_03 {
  padding: 25px 20px; gap:15px ; flex-direction: row;
}
.info_section span {
  font-size:15px;
}

.infotbl_03 div:nth-child(2), .infotbl_03 div:nth-child(3), .infotbl_03 div:nth-child(4) {
  flex: 1;
}
.info_section .infotbl_speakers01, .info_section .infotbl_speakers02, .info_section .infotbl_speakers03 {
  padding:0; font-size:14px
}

.info_section .infotbl {
  clip-path: polygon(0 0, 97% 0, 180% 100%, 0 100%);
}
.infotbl_03 div:nth-child(1) {
  flex:0 0 11%
}


/*~~~~~~~~~~~~~~~~~ 초청 연사 ~~~~~~~~~~~~~~~~*/

.speakers_section {
  justify-content: flex-start; padding:0 10px; margin:100px 0
}
.speakertbl_01, .speakertbl_02, .speakertbl_03 {
 padding:0; gap:5px; margin-bottom: 15px; padding-bottom: 10px; align-items: center;
}
.speaker_info {
  line-height: 1.3;
}
.speaker_pic {
  flex:0 0 30%
}
.speaker_pic img {
  width:100%
} 
.speaker_info {
  margin-top:0
}
.speaker_info p {
  font-size: 14px; word-break: break-word; line-height: 1.4;
}
/*더보기 모바일에서만*/
.speaker_info .more_btn {
  display: none;
}
.speakertbl_01 h5, .speakertbl_02 h5, .speakertbl_03 h5 {
  font-size: 22px
}
.speaker_info span {
  font-size:17px; line-height: 1.3; font-weight: normal; margin-bottom:10px
}



/*~~~~~~~~~~~~~~~~ 프로그램 ~~~~~~~~~~~~~~~~~*/



/*~~~~~~~~~~~~~~~~ 참가 신청 / 확인 ~~~~~~~~~~~~~~~~~*/

.participation_section {
  justify-content: flex-start; padding:100px 0
}
.participation_section h2 {
  font-size:20px
}
.privacy_box {
  line-height: 1.3; font-size:15px; padding:15px
}
.pTbl {
  margin-top:30px
}
.pTbl th {
  font-size:14px; padding:5px 7px; line-height: 1.3;
}
.pTbl input {
  font-size:15px; padding:10px 7px; line-height: 1.3;
}
.pTbl table {
  margin-bottom:20px
}
.bTblBtn {
  gap:10px
}
.btn {
  font-size:17px; width:48%; padding:15px 0; gap:5px
}
.btn.left::after, .btn.right::after {
  width:7px; height: 7px; transform: rotate(45deg) translate(0px);
}
.agree_box label::before {
  left:-4px; top:0 ; width:17px; height: 17px;
}
.agree_box label {
  font-size:18px
}

/*~~~~~~~~~~~~~~~~ 미디어 ~~~~~~~~~~~~~~~~~*/

.media_section {
  justify-content: flex-start; padding:100px 0; background:#ffffff !important
}
.media_grid {
  gap:10px; margin:0; grid-template-columns: repeat(2, 1fr);
}
/*
.media_grid > *:nth-child(n+7) {
  display: none;
}
  */
.media_inner {
  padding:15px 0 20px
}
.media_item .thumb img {
  width: 120ox; height: 100px;
}
.media_item .info {
}
.moreBtn {
  gap:5px; padding:20px 0; font-size:18px
}
.moreBtn::after {
  width:7px; height: 7px; transform: rotate(45deg) translate(2px);
}


/*~~~~~~~~~~~~~~~~ Footer ~~~~~~~~~~~~~~~~~*/

.footer_section {
  padding:0
}
.footer_inner {
  width:100%; padding:25px 15px; gap:7px
}
.footer_section .footer_logo h2{
  margin-bottom:0; justify-items: flex-start;
}
.footer_logo {
  width:25%; height: auto;
}
.footer_section h2 img {
  width:150px
}
.footer_info {
  font-size:13px; line-height: 1.4;
}
.footer_text span {
  margin-left: 5px;
    padding-left: 12px;
}
.footer_text {
  margin-bottom:10px; color: #dadada;
}
.footer_info .copy {
  font-size:11px
}



/*~~~~~~~~~~~~~~~~ TOP 버튼 ~~~~~~~~~~~~~~~~~*/

.go_top {
  right:20px; bottom:20px;
}
.go_top img {
  width:35px; opacity: 0.5;
}




}

/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 모바일 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/

@media (max-width: 767px) {

/*~~~~~~~~~~~~~~~~~ 팝업 ~~~~~~~~~~~~~~~~*/
.popclose {
  right:10px; top:10px;
}
.pop_box {
  padding:30px 20px
}
.pop_box h2 img {
  width:210px
}
.pop_text .bTblBtn button {
  font-size:20px; padding:15px 0; width:100%
}
.pop_text .bTblBtn button:after {
  width:10px; height: 10px; transform: rotate(45deg) translate(0px);
}
/*~~~~~~~~~~~~~~~~~ 헤더 / 상단 메뉴 ~~~~~~~~~~~~~~~~*/

.header {
  height: 80px;
}
.header nav{
   width:94%;
}
.logo img {
  width:190px
}
/*햄버거 메뉴 - 모바일 전용*/
.menu_toggle {
  display: flex !important; margin-left: auto; z-index: 9998; margin-right: 5px;
}
.nav_menu {
  position:fixed; top:80px; left:-100%; width:100%; height:calc(100vh - 80px);
  background:#111111; flex-direction:column; padding:20px; gap:15px; transition:left .3s; z-index:9997;
}
.nav_menu.active {
  left:0; z-index: 10000;
}
.nav_menu > li {
  margin: 10px 0 5px 10px;
}
.nav_menu > li > a {
  color:#fff; padding:15px 0; line-height:normal;
}
.nav_menu > li > a:hover {
  color:#b0ceff}
.sub_menu {
  position:static; background:#111; display:none;
}
.has_sub.active .sub_menu {
  display:block;
}
.sub_menu {
  margin-top:20px
}
.sub_menu li {
  margin:0
}
.sub_menu li:first-child {
  border:none; margin-bottom:10px
}
.sub_menu li a {
  text-align: left; padding:0; font-size:16px
}
/* 닫기 버튼 */
.close_btn {
  position: absolute; right: 20px; top: 20px; width: 30px;  height: 30px; cursor: pointer; z-index: 10001;
}
.close_btn::before,
.close_btn::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 24px; height: 3px; background: #fff; transform-origin: center; transition: backgrounds 0.3s ease;
}
.close_btn::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.close_btn::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.close_btn:hover::before,
.close_btn:hover::after {
  background: #2e9bff;
}
/* 서브메뉴 클릭하면 보이게 */
.nav_menu li:hover .sub_menu {
  display: none;
}
.has_sub.active .sub_menu {
  display: block !important;
}
.nav_menu li a {
  transition: all 0.3s ease;
}


/*~~~~~~~~~~~~~~~~ 섹션 시작 / 섹션 공통 ~~~~~~~~~~~~~~~~~*/
/*.swiper, .swiper-slide {
  display: none;
}
  */
.section h2{
  margin-bottom:20px; justify-items: center;
}
.section h2 img{
  width:180px
}
.section .content {
  width:94%; margin:0 auto
}
/* 스와이프 표시 모바일에선 X 
.swiper-pagination {
  display: none;
}
*/


/*~~~~~~~~~~~~~~~~ 메인 visual ~~~~~~~~~~~~~~~~~*/

.main_section {
  justify-content: center; padding: 170px 0 90px 0;
}
.visual_txt {
  padding-left: 0; text-align: center;
}
.visual_txt img {
  margin: 0 auto; /* 중앙정렬 */
}
.main_v .visual_txt p {
  max-width:100%;
}


/*~~~~~~~~~~~~~~~ 초청의 글 ~~~~~~~~~~~~~~~~~~*/

.intro_section {
  justify-content: flex-start; margin-top:60px
}
.intro_section .content p {
  width:100%; font-size:3.5vw; padding:15px 5px; word-break: break-word; white-space: normal; line-height: 1.3; margin: 0 auto;
}
.intro_section .content .ceoS .ceo span {
  font-size: 14px;
}
.intro_section .content .ceoS .ceo h3 {
  font-size: 18px
}
.intro_section .content .ceoS .signature {
  width:15%
}


/*~~~~~~~~~~~~~~~~ 행사 개요 ~~~~~~~~~~~~~~~~~*/

.info_section {
  margin-top:60px; padding:50px 0 60px
}

.info_section .content {
  width:94%; justify-content: center;
}
.infotbl_01, .infotbl_02, .infotbl_03 {
  gap:0px; flex-direction: column; 
}
.info_section .infotbl_tt, .info_section .infotbl_subj, .info_section .infotbl_place, .info_section .infotbl_date, .info_section .infotbl_host, .info_section .infotbl_tt, .infotbl_place, .infotbl_date{
  display: flex; align-items: center; justify-content:flex-start;  padding:12px 5px; width:96%; border-right:none; gap:10px 
}
.infotbl_01 h5, .infotbl_02 h5, .infotbl_03 h5 {
  margin:0; 
}
.infotbl_01 h4, .infotbl_02 h4, .infotbl_03 h4 {
  margin:0
}
.info_section h4 img {
  width:75px
}
.infotbl_01 div, .infotbl_02 div, .infotbl_03 div {
  font-size:16px; flex:1
}
.info_section .infotbl_speakers01, .info_section .infotbl_speakers02, .info_section .infotbl_speakers03 {
  padding:12px 5px; justify-content:center; font-size:15px
}

.infotbl_03 h5 {
  font-size:19px;
}
.infotbl_03 {
  padding: 25px 20px; gap:15px 
}
.info_section span {
  font-size:17px;
}

.infotbl_sop {
  justify-content: flex-start;
}
.info_section .infotbl_speakers01 p, .info_section .infotbl_speakers02 p, .info_section .infotbl_speakers03 p {
  display: none;
}
.infotbl_03 div:nth-child(2), .infotbl_03 div:nth-child(3), .infotbl_03 div:nth-child(4) {
  flex: 1;
}
.info_section .infotbl_speakers01, .info_section .infotbl_speakers02, .info_section .infotbl_speakers03 {
  padding:0
}

.info_section .infotbl {
  clip-path: polygon(0 0, 97% 0, 180% 100%, 0 100%);
}


/*~~~~~~~~~~~~~~~~~ 초청 연사 ~~~~~~~~~~~~~~~~*/

.speakers_section {
  justify-content: flex-start; padding:0 10px; margin:60px 0
}
.speakertbl_01, .speakertbl_02, .speakertbl_03 {
 padding:0; gap:5px; margin-bottom: 15px; padding-bottom: 10px; align-items: center;
}
.speaker_info {
  line-height: 1.3;
}
.speaker_pic {
  flex:0 0 30%
}
.speaker_pic img {
  width:100%
}
.speaker_info {
  margin-top:0
}
.speakertbl_01 h5, .speakertbl_02 h5, .speakertbl_03 h5 {
  font-size: 22px
}
.speaker_info span {
  font-size:17px; line-height: 1.3; font-weight: normal; margin-bottom:10px
}


/* 모바일에선 더보기 누르면 설명 팝업으로 */
.popup {
  position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); display: none; /* 기본 숨김 */ align-items: center; justify-content: center; z-index: 9999;
}
.popup_content {
  background: #fff; padding: 20px; width: 90%; max-width: 500px; max-height: 80%; overflow-y: auto; border-radius: 12px;
}
.popup:target {
  display: flex; /* target 상태에서 보여줌 */
}
.popclose_btn {
  display: inline-block; margin-top: 10px; padding: 8px 15px; background: #333; color: #fff; text-decoration: none; border-radius: 8px;
}
.speaker_info p {
  display: none; /* 모바일에서 숨김 */
}

.popup .popup_content p {
  margin:10px 0; line-height: 1.3; font-size: 15px; word-break: keep-all;
}

/* 더보기 버튼 // 모바일에서만 */
.speaker_info .more_btn {
  display: inline-block; font-size: 14px; color: #111111; text-decoration: underline; cursor: pointer;
}


/*~~~~~~~~~~~~~~~~ 프로그램 ~~~~~~~~~~~~~~~~~*/



/*~~~~~~~~~~~~~~~~ 참가 신청 / 확인 ~~~~~~~~~~~~~~~~~*/

.participation_section {
  justify-content: flex-start; padding:60px 0
}
.participation_section h2 {
  font-size:20px
}
.privacy_box {
  max-height: 180px; overflow-y: auto; -webkit-overflow-scrolling: touch;
  line-height: 1.3; font-size:14px; padding:17px
}
.pTbl {
  margin-top:30px
}
.pTbl th {
  font-size:14px; padding:5px 7px; line-height: 1.3;
}
.pTbl input {
  font-size:15px; padding:10px 7px; line-height: 1.3;
}
.pTbl table {
  margin-bottom:20px
}
.bTblBtn {
  gap:10px
}
.btn {
  font-size:17px; width:48%; padding:15px 0; gap:5px
}
.btn.left::after, .btn.right::after {
  width:7px; height: 7px; transform: rotate(45deg) translate(0px);
}
.agree_box label::before {
  left:-4px; top:0 ; width:17px; height: 17px;
}
.agree_box label {
  font-size:18px
}

/*~~~~~~~~~~~~~~~~ 미디어 ~~~~~~~~~~~~~~~~~*/

.media_section {
  justify-content: flex-start; padding:60px 0; background:#ffffff !important
}
.media_grid {
  gap:10px; margin:0; grid-template-columns: repeat(2, 1fr);
}
/*
.media_grid > *:nth-child(n+7) {
  display: none;
}
  */
.media_inner {
  padding:15px 0 20px
}
.media_item {
  display: grid;
}
.media_item .thumb img {
  width: 100%; height: 100px;
}
.media_item .info {
  display: none;
}
.moreBtn {
  gap:5px; padding:10px 0; font-size:15px
}
.moreBtn::after {
  width:7px; height: 7px; transform: rotate(45deg) translate(2px);
}


/*~~~~~~~~~~~~~~~~ Footer ~~~~~~~~~~~~~~~~~*/

.footer_section {
  padding:0
}
.footer_inner {
  flex-direction: column; width:100%; padding:20px 15px; gap:7px
}
.footer_section .footer_logo h2{
  margin-bottom:0; justify-items: flex-start;
}
.footer_logo {
  width:100%; height: auto;
}
.footer_section h2 img {
  width:150px
}
.footer_info {
  font-size:13px; line-height: 1.4;
}
.footer_text span {
  margin-left: 5px;
    padding-left: 12px;
}
.footer_text {
  margin-bottom:10px; color: #dadada;
}
.footer_info .copy {
  font-size:11px
}



/*~~~~~~~~~~~~~~~~ TOP 버튼 ~~~~~~~~~~~~~~~~~*/

.go_top {
  right:20px; bottom:20px;
}
.go_top img {
  width:35px; opacity: 0.5;
}


/*~~~~~~~~~~~~~~~~ *** css 위치고정 *** ~~~~~~~~~~~~~~~~~*/

/* 초청연사 // 모바일 전용 // 위치고정 */
.speaker_info p {
  display: none;
}
.popup {
  position: fixed; top: 20px; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: none; align-items: center; justify-content: center; z-index: 9987;
}
.popup:target {
  display: flex;
}

}