/* 컨테이너2(venue) 설정 */
.committee-container2 {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center; /* 1열일 때 중앙 정렬 */
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
  box-sizing: border-box;
}

/* [기본 설정] PC 환경: 3열 */
.committee-card2 {
  /* 3열 기준 계산 */
  flex: 0 1 calc(33.333% - (20px * 2 / 3)); 
  min-width: 250px; /* PC에서 너무 작아지지 않게 방지 */
  text-align: center;
  margin-bottom: 30px;
  box-sizing: border-box;
}

/* 이미지 박스 */
.photo-box2 {
  width: 100%;
  aspect-ratio: 1 / 1.1; 
  overflow: hidden;
  border-radius: 20px;
  background-color: #f4f4f4;
  margin-bottom: 12px;
}

.photo-box2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- 반응형 설정 --- */

/* 태블릿 및 모바일 중대형 (768px 이하)부터 1열로 전환 */
@media (max-width: 768px) {
  .committee-container2 {
    padding: 15px;
    gap: 0; /* 1열일 때는 카드 사이 gap보다 margin-bottom이 더 중요합니다 */
  }

  .committee-card2 {
    flex: 0 1 100%; /* 화면 폭 100% 사용 */
    max-width: 500px; /* 모바일에서 이미지가 너무 거대해지는 것을 방지 (원치 않으면 삭제) */
    margin-bottom: 40px; /* 카드 사이 간격 */
  }

  .photo-box2 {
    border-radius: 15px;
  }
}

/* 아주 작은 모바일 (480px 이하) */
@media (max-width: 480px) {
  .committee-card2 {
    max-width: 100%; /* 작은 화면에서는 진짜 꽉 차게 */
    margin-bottom: 30px;
  }
}






.welcome-container {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
    font-family: 'Arial', sans-serif;
  }

  /* 가로 배치를 위한 Flex 설정 */
  .chair-row {
    display: flex;
    align-items: flex-start;
    gap: 40px; /* 사진과 텍스트 사이 간격 */
  }

  /* 좌측 프로필 영역 */
  .chair-profile {
    flex: 0 0 280px; /* 사진 너비 고정 */
    text-align: center;
  }

  .main-chair {
    width: 100%;
    aspect-ratio: 1 / 1.15;
    border-radius: 25px;
    overflow: hidden;
    background-color: #f0f0f0;
    margin-bottom: 15px;
  }

  .main-chair img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .chair-profile .name {
    font-size: 1.2rem;
    font-weight: bold;
    margin: 10px 0 5px;
  }

  .chair-profile .affiliation {
    font-size: 0.95rem;
    color: #666;
    line-height: 1.4;
  }

  /* 우측 메시지 영역 */
  .welcome-text {
    flex: 1; /* 남은 공간 모두 차지 */
    padding-top: 10px;
  }

  .welcome-text h2 {
    font-size: 2rem;
    color: #111;
    margin-bottom: 25px;
    position: relative;
  }

  .welcome-text p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #333;
    margin-bottom: 20px;
    text-align: justify; /* 양쪽 정렬 */
  }

  /* 모바일 반응형 설정 */
  @media (max-width: 768px) {
    .chair-row {
      flex-direction: column; /* 세로 배치로 변경 */
      align-items: center;
    }

    .chair-profile {
      flex: 0 0 auto;
      width: 240px; /* 모바일에서 사진 크기 축소 */
      margin-bottom: 20px;
    }

    .welcome-text {
      text-align: center;
    }
    
    .welcome-text p {
      text-align: center; /* 모바일에서는 중앙 정렬 */
    }
  }


/* 전체 컨테이너 */
  .committee-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px; /* 카드 사이 간격 */
    justify-content: flex-start; /* 왼쪽부터 정렬 */
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
  }

  /* 개별 위원 카드 */
  .committee-card {
    /* (100% / 4명) - (여백 고려) */
    flex: 0 1 calc(25% - 15px); 
    min-width: 200px; /* 너무 작아지지 않도록 최소 너비 설정 */
    text-align: center;
    margin-bottom: 40px;
  }

  /* 이미지 박스 스타일 */
  .photo-box {
    width: 100%;
    aspect-ratio: 1 / 1.15; /* 원본 이미지와 유사한 비율 */
    overflow: hidden;
    border-radius: 20px;
    background-color: #f4f4f4;
    margin-bottom: 15px;
  }

  .photo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  /* 이름 및 소속 텍스트 */
  .name {
    font-weight: bold;
    font-size: 1.1rem;
    margin: 5px 0;
    color: #000;
  }

  .affiliation {
    font-size: 0.9rem;
    line-height: 1.4;
    color: #555;
    word-break: keep-all;
  }

  /* --- 반응형 설정 --- */

  /* 태블릿: 한 행에 3명 */
  @media (max-width: 1024px) {
    .committee-card {
      flex: 0 1 calc(33.333% - 14px);
    }
  }

  /* 모바일 가로: 한 행에 2명 */
  @media (max-width: 768px) {
    .committee-card {
      flex: 0 1 calc(50% - 10px);
      margin-bottom: 30px;
    }
    .photo-box {
      border-radius: 15px;
    }
  }

  /* 모바일 세로: 한 행에 1명 또는 2명 유지 */
  @media (max-width: 480px) {
    .committee-container {
      gap: 10px;
    }
    .committee-card {
      flex: 0 1 calc(50% - 5px); /* 모바일에서도 2열이 깔끔할 수 있습니다 */
    }
    .name {
      font-size: 1rem;
    }
    .affiliation {
      font-size: 0.8rem;
    }
  }

/* 로고 그리드 컨테이너 */
.logo-grid {
    display: grid;
    /* 박스 최소 너비 250px, 화면에 맞춰 열 개수 자동 조절 */
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
    margin-bottom: 40px;
}

/* 각 로고 버튼 (링크 태그) */
.logo-link {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    border: 1px solid #d1d1d1; /* 이미지와 유사한 연한 회색/검정 테두리 */
    border-radius: 8px;
    padding: 10px;
    height: 100px;
    text-decoration: none;      /* 링크 밑줄 제거 */
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}

/* 마우스 올렸을 때 효과 */
.logo-link:hover {
    border-color: #333;         /* 테두리 진하게 */
    background-color: #f8f9fa;  /* 아주 연한 회색 배경 */
    transform: translateY(-2px); /* 살짝 위로 올라가는 효과 */
}

/* 이미지 반응형 설정 */
.logo-link img {
    max-width: 90%;
    max-height: 80%;
    object-fit: contain;        /* 비율 유지 */
}



.gray-round-box {
    background-color: #f5f6f7; /* 연한 회색 배경 */
    border-radius: 20px;       /* 부드러운 곡률 */
    padding: 17px 20px;        /* 상하좌우 여백 */
    line-height: 1.6;          /* 줄간격 */
    color: #333;               /* 기본 글자색 */
    margin: 15px 0;            /* 외부 간격 */
}



/* position center of abstract submission */
.section02 ul > li > a > .icon.ico_abstract {
	margin-left: -19px !important;
}

/* Index Menu Coufrac like Style*/
body.site-index .section02 ul > li:nth-child(1) > a  {
    background: #fb3350;
}
body.site-index .section02 ul > li:nth-child(2) > a  {
    background: #6A0888;
}
/* End */

table {border-collapse:separate; }

/* Hide Live button */
/.mLive, .sLive { display: none; }/

/* sub menu width */
.gnb ul > li { width: calc(10% - 1px);}
.gnb ul > li:first-child { width: calc(10% - 2px);}

.sub .h1_logo > a img { height: 40px; position:relative; top:-12px;}
.h1_tit .h1_logo>a img {width: auto; height: 45px; position:relative;}

.gnb ul>li>a>.title, .greeting .intro>strong, .greeting>.text, .name {font-family: NotoSans !important;}

.gnb ul>li>a>.title { width:90%; padding:0 5%;}

.ssTitleNormal {border-bottom: none; background: #252839; padding: 15px; color: #fff !important; text-align: center; border-radius: 12px;}

.table-program tbody td:last-child {border-right: 1px solid #e4e4e4;}

p {
  line-height: 1.6; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

h1 {
  line-height: 2; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

h2 {
  line-height: 1.8; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

h3 {
  line-height: 1.8; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

h4 {
  line-height: 1.8; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

h5 {
  line-height: 1.8; /* 글자 크기의 1.6배만큼 줄 간격을 줍니다 */
}

/* tbl_wrap 클래스가 적용된 모든 표에 스크롤 기능 부여 */
.tbl_wrap {
    width: 100%;
    overflow-x: auto; /* 가로 내용이 넘치면 스크롤 생성 */
    -webkit-overflow-scrolling: touch; /* 모바일에서 부드러운 스크롤 */
    margin-bottom: 20px;
}

/* tbl_wrap 내부의 table이 갑자기 줄어들지 않도록 최소 너비 설정 (선택 사항) */
.tbl_wrap table {
    min-width: 600px; /* 모바일에서도 표 형식을 유지하고 싶다면 설정 */
    border-collapse: collapse;
}



@media only screen and (max-width: 567px){
.h1_tit .h1_logo>a img {height:37px !important; top:-10px; left:-20px; width: auto !important;}
.sub .h1_tit .h1_logo>a img {height:37px !important; top:-5px; left:-4px; width: auto !important;}
}


@media only screen and (max-width:1370px){
	.swiper-main .swiper-slide {height:1070px;}
}

@media only screen and (max-width:1024px){
	.swiper-main .swiper-slide {height:884px;}
}
@media only screen and (max-width:830px){
	.swiper-main .swiper-slide {height:980px;}
}
@media only screen and (max-width:567px){
	.swiper-main .swiper-slide {height:760px;}
        .section02 ul>li>a>.icon.ico_abstract  {  margin-left:-12px !important; }
}