
/* 추가CSS */
.wrap{margin:0 auto; max-width:800px; width:100%;}
.area{margin:10px; }

/* 반응형 PC 시작 */
@media screen and (min-width: 480px){
.number{clear:both; font-size:16px; line-height:150%; font-weight:normal; color:rgb(137,137,137); margin-top:0px;}
.title{font-size:22px; line-height:150%; margin-top:40px; font-weight:700;color:#2E2645; }
.title1{font-size:28px; line-height:150%; margin-top:40px; margin-bottom:20px; font-weight:700;color:#2E2645; }
.title2{font-size:18px; line-height:150%; font-weight:400; color:#2E2645; }
.title3{font-size:22px; line-height:150%; margin-top:0px; font-weight:700; color:#3e3a39; }
.title4{font-size:14px; line-height:100%; font-weight:700; color:#2E2645;  margin-top:10px;}
.title5{width:100%; font-size:20px; line-height:150%; margin-top:10px; font-weight:600; color:#3e3a39; }
.title6{font-size:16px; line-height:140%; margin-top:-20px; margin-bottom:20px; font-weight:500; color:#3e3a39; }
.title7{width:180px; font-size:20px; line-height:150%; margin:10px auto; font-weight:700; color:#3e3a39; }
.title8{float:left; font-size:16px; line-height:150%; margin:10px 10px; padding:5px; border-bottom:dotted 1px;font-weight:600; color:#3e3a39; }
.content{clear:both; font-size:14px; line-height:150%; padding-top:10px; color:rgb(89,87,87); text-align:justify; }
.content2{font-size:16px; clear:both; line-height:150%; padding-top:10px; padding-bottom:10px; color:#212121; text-align:justify; word-break:keep-all; border-bottom-color:#c2c2c2; border-bottom-width:0.5px; border-bottom-style:dotted; }
.content3{font-size:16px; clear:both; line-height:150%; padding-top:10px; text-align:justify; }
    
ol.list_ol{padding:20px; font-size:16px; line-height:150%; text-align:justify; word-break:keep-all; }
    
.photo_frame{width:50%; float:left; margin-bottom:20px; overflow:auto;}
.photo_frame2{width:50%; float:left; margin-bottom:20px; overflow:auto;}
.photo_frame3{float:left; width:100%; margin-bottom:20px; overflow:auto;}
.photo_frame4{max-width:1200px; margin:auto;  width:100%; display: flex; flex-wrap: wrap; align-items: stretch;}
.photo_50{max-width:580px; width:48%; margin:10px; float:left;}
.photo_100{max-width:1180px; width:98%; margin:10px; float:left;}
.photo{float:left; width:150px; margin:10px;}
.photo_txt{font-size:15px; line-height:1.3; text-align: start; font-weight:400; color:rgb(137,137,137); margin:10px; }
.photo_txt2{float:left; max-width:890px; font-size:14px; line-height:150%; font-weight:400; color:#535353; text-align: start; padding:10px;  border-top:1px dotted #c2c2c2; }
    
.content_v{float:left; width:260px; font-size:14px; line-height:150%; padding-top:5px; color:rgb(89,87,87); text-align:justify; border-right-style:dotted; border-right-color:gray; border-right-width:0.1pt;}
.content_v2{float:left; width:260px; font-size:14px; line-height:150%; padding-top:10px; color:rgb(89,87,87); text-align:justify;}
.photo_frame_v{width:180px; height:400px; margin:10px auto;}

.photo_v{width:171px; margin:10px auto;}
.photo_txt_v{width:220px; font-size:15px; line-height:1.3; font-weight:500; color:rgb(137,137,137); margin:10px auto; }
.photo_txt2_v{min-width:100px; font-size:14px; line-height:150%; font-weight:400; color:rgb(137,137,137); margin:5px auto; }
    
.speaker{font-size:13px; line-height:200%; font-weight:300; color:rgb(137,137,137); }
a.dotted{border-bottom:dotted 1px; border-bottom-color:gray;}
img.rounded{border-radius:10%;}
img.rounded2{border-radius:40px;}
.box{width:100%; padding:20px; background-color:#F5F5F5; border-style:solid; border-width:2px; border-color:#c2c2c2; border-radius:20px; text-align:justify;}
.download{padding:5px auto; border-radius:5px; float:left; width:100px; text-align:center; font-size:12px; line-height:150%; font-weight:400; background-color:#A8A25E; margin:10px 10px 10px 10px; }
.download2{clear:both; padding:5px; border-radius:60px; width:120px; height:120px; text-align:center; font-size:18px; line-height:110px; font-weight:600; color:#ffffff; background-color:#9E5E4D; margin:10px auto; }
.download3{clear:both; padding:5px; border-radius:60px; width:120px; height:120px; text-align:center; font-size:18px; line-height:110px; font-weight:600; color:#ffffff; background-color:#60988B; margin:10px auto; }

#container { text-align:center; }
.tab { list-style: none; margin: 0 !important; padding: 0 !important; overflow: hidden; }
.tab li { width:185px; border: 0.01em solid #c2c2c2; float: left; margin-bottom:1px; background-color:#f1f2f2; }
.tab li a { display: inline-block; color: #000; text-align: center; text-decoration: none; padding: 14px 12px; font-size: 14px; font-weight:500; transition:0.3s; }
.tabcontent { border-top: 0.01em solid #c2c2c2; margin-top: -2.2px; display: none; background-color:rgb(255,255,255); padding: 6px 12px; color:#222; text-align:left !important; }
ul.tab li.current{ border-bottom: 0.01em solid #fff !important; background-color: rgb(255,255,255); color: #222; }
.tabcontent.current { display: block; text-align:left !important; }
.schedule{max-width:800px;width:100%;}
.schedule2{max-width:400px;width:100%;}
.prev{float:left; width:150px;margin-left:20px;font-size:16px; font-weight:500;}
.next{float:right; width:150px;margin-right:20px;text-align:right;font-size:16px; font-weight:500;}
.title5_phototext{overflow:auto;}
.pdf-viewer {
  width: 100%;
  max-width: 800px;
  margin: 20px auto;
  border: 0px none #ccc;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pdf-viewer canvas {
  width: 100% !important;
  height: auto !important;
  display: block;
}
}

/* 반응형 PC 끝 */

/* 반응형 Phone 시작 */
@media only screen and (min-width : 320px) and (max-width : 480px){
.number{clear:both; font-size:16px; line-height:150%; font-weight:normal; color:rgb(137,137,137); margin-top:30px;}
.title{font-size:20px; line-height:150%; margin-top:40px; font-weight:700; color:#2E2645; }
.title1{font-size:26px; line-height:150%; margin-top:40px; margin-bottom:20px; font-weight:700;color:#2E2645; }
.title2{font-size:16px; line-height:150%; font-weight:400; color:#2E2645; }
.title3{font-size:16px; line-height:150%; margin-top:0px; font-weight:700; color:#3e3a39; }
.title4{font-size:12px; line-height:100%; font-weight:700; color:#2E2645;  margin-top:10px;}
.title5{width:100%; font-size:16px; line-height:150%; margin-top:10px; font-weight:600; text-align: start; color:#3e3a39; }
.title6{font-size:14px; line-height:140%; margin-top:-20px; margin-bottom:20px; font-weight:500; color:#3e3a39; }
.title7{width:300px; font-size:20px; line-height:150%; margin:10px auto; font-weight:700; color:#3e3a39; }
.title8{float:left; font-size:14px; line-height:150%; margin:5px 5px; padding:5px; border-bottom:dotted 1px;font-weight:600; color:#3e3a39; }
.content{font-size:14px; clear:both; line-height:150%; color:rgb(89,87,87); padding:10px; text-align:justify; }
.content2{font-size:14px; clear:both; line-height:150%; padding-top:10px; padding-bottom:10px; color:#212121; text-align:justify; border-bottom-color:#c2c2c2; border-bottom-width:0.5px; border-bottom-style:dotted; }
.content3{font-size:16px; clear:both; line-height:150%; padding-top:10px; color:#696969; }
    
.photo_frame4{max-width:1000px; margin:auto; width:100%; display: flex; flex-wrap: wrap; align-items: stretch;}
.photo_50{width:100%; margin:10px auto; border-radius:10px; float:left;}
.photo_100{width:100%; margin:10px; float:left;}

.photo_frame{width:100%; float:left; margin-bottom:10px; overflow:auto;}
.photo_frame2{width:100%; float:left; margin-bottom:10px; overflow:auto;}
.photo_frame3{float:left; width:100%; margin-bottom:10px; overflow:auto;}
.photo{float:left; width:100px; margin:10px;}
.photo_txt{font-size:13px; text-align: start; line-height:1.3; font-weight:400; color:rgb(137,137,137); margin:10px; }
.photo_txt2{clear:both; width:100%; font-size:12px; line-height:150%; font-weight:400; color:#535353; text-align: start; margin-bottom:10px; padding:10px;  border-top:1px dotted #c2c2c2; }

.content_v{float:left; width:350px; font-size:14px; line-height:150%; padding-top:10px; color:rgb(89,87,87); text-align:justify; border-bottom-style:dotted; border-bottom-color:gray; border-bottom-width:0.1pt;}
.content_v2{float:left; width:350px; font-size:14px; line-height:150%; padding-top:10px; color:rgb(89,87,87); text-align:justify;}
.photo_frame_v{width:270px; height:400px; margin:10px auto;}
.photo_v{width:171px; margin:10px auto;}
.photo_txt_v{width:250px; font-size:15px; line-height:1.3; font-weight:500; color:rgb(137,137,137); margin:10px auto; }
.photo_txt2_v{min-width:150px; font-size:14px; line-height:150%; font-weight:400; color:rgb(137,137,137); margin:5px auto; }
    
.speaker{font-size:13px; line-height:200%; font-weight:300; color:rgb(137,137,137); }
a.dotted{border-bottom:dotted 1px; border-bottom-color:gray;}
img.rounded{border-radius:10%;}
img.rounded2{border-radius:20px;}
.box{width:100%; padding:20px; background-color:#F5F5F5; border-style:solid; border-width:2px; border-color:#c2c2c2; border-radius:20px; text-align:justify;}
.download{padding:5px auto; border-radius:5px; width:80px; float:left; text-align:center; font-size:10px; line-height:150%; font-weight:400; background-color:#A8A25E; margin:5px 5px 5px 5px; }
.download2{clear:both; padding:5px; border-radius:60px; width:120px; height:120px; text-align:center; font-size:18px; line-height:110px; font-weight:600; color:#ffffff; background-color:#9E5E4D; margin:20px auto; }
.download3{clear:both; padding:5px; border-radius:60px; width:120px; height:120px; text-align:center; font-size:18px; line-height:110px; font-weight:600; color:#ffffff; background-color:#60988B; margin:20px auto; }

#container { text-align:center; }
.tab { list-style: none; margin: 0 !important; padding: 0 !important; overflow: hidden; }
.tab li { width:170px; border: 0.01em solid #c2c2c2; float: left; margin-bottom:1px; background-color:#f1f2f2; }
.tab li a { display: inline-block; color: #000; text-align: center; text-decoration: none; padding: 14px 12px; font-size: 14px; font-weight:500; transition:0.3s; }
.tabcontent { border-top: 0.01em solid #c2c2c2; margin-top: -2.2px; display: none; background-color:rgb(255,255,255); padding: 6px 12px; color:#222; text-align:left !important; }
ul.tab li.current{ border-bottom: 0.01em solid #fff !important; background-color: rgb(255,255,255); color: #222; }
.tabcontent.current { display: block; text-align:left !important; }
.schedule{width:100%;}
.prev{float:left; width:150px;margin-left:20px;font-size:16px; font-weight:500;}
.next{float:right; width:150px;margin-right:20px;text-align:right;font-size:16px; font-weight:500;}
.title5_phototext{overflow:auto;}
.pdf-viewer {
  width: 100%;
  max-width: 400px;
  margin: 10px auto;
  border: 0px none #ccc;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pdf-viewer canvas {
  width: 100% !important;
  height: auto !important;
  display: block;
}
}
/* 반응형 Phone 끝 */

/* Youtube */
.youtubeWrap {position: relative;width: 100%;padding-bottom: 56.25%;margin-top:20px;}
.youtubeWrap iframe {position: absolute;width: 100%;height: 100%;}
iframe.rounded {border-radius:15px;}
   
/* Table */
table{border-collapse: collapse; margin-top:10px; margin-bottom:5px;}
table.application{margin:20px auto; width: 100px !important; height: 70px; border-spacing: 10px; border-collapse: separate;}
table.guide{border-width: 0.5px; border-collapse: collapse; margin-top:10px; margin-bottom:10px;}
tr{border-width: 0.5px;}
tr.gray{background-color:rgb(239, 239, 239);}
td.appl{background-color: #ad4ccf; font-size:14px; color:white !important; font-weight: bold; text-align: center; vertical-align: middle; border-width: 0.5px; border-radius: 10px; border-style: dotted; border-color: #58595b;}
td{border-width: 0.5px;font-size:14px; text-align: center; line-height:130%; color:rgb(89,87,87); padding:10px;}
td.subject{background-color:rgb(239, 239, 239); font-weight:bold; font-size:16px; border-style: solid dotted solid dotted; border-color: black rgb(213,213,213) black rgb(213,213,213) !important;}
td.subject1{background-color:rgb(239, 239, 239); font-weight:bold; font-size:16px; border-color: black rgb(213,213,213) black rgb(213,213,213) !important;}
td.row1{border-style: solid dotted solid dotted; border-color: rgb(213,213,213) rgb(213,213,213) rgb(213,213,213)  rgb(213,213,213); }
td.row2{border-style: solid dotted solid dotted; border-color: rgb(213,213,213) rgb(213,213,213) black  rgb(213,213,213); }
td.row1.sub-cont{text-align:left !important; }
td.row2.sub-cont{text-align:left !important; }
td.guide{border-width: 0.5px; padding:0; border-style: solid dotted solid dotted; border-color: rgb(89, 87, 87) rgb(204, 204, 204) rgb(89, 87, 87) rgb(204, 204, 204); font-size:12px; text-align: center; line-height:2em; font-size:14px; line-height:150%; color:rgb(89,87,87); padding:10px;}

/* 조직도 Table */
.table-wrapper {overflow-x: auto;}
.org-table {width: 100%; border-collapse: collapse; background-color: #fff; min-width: 600px; /* For horizontal scroll on smaller screens */ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);}
.org-table thead {background-color: #2c3e50; color: white;}
.org-table th,
.org-table td {padding: 12px 15px; border: 1px solid #ddd; text-align: left; vertical-align: top;}
.org-table tr:nth-child(even) {background-color: #f2f2f2;}
.org-table td:first-child {font-weight: bold;}
/* 두 번째 줄 이후에는 첫 번째 칸이라도 스타일 제거 */
.org-table tr:not(:first-child) td:first-child:not([rowspan]) {
  font-weight: normal;
}

/* ✅ 반응형 디자인 */
@media (max-width: 768px) {
    .org-table {font-size: 14px;}
}

/* 연혁 */
.kwmc-timeline {padding: 2rem;}
.kwmc-timeline h2 {text-align: center; margin-bottom: 1.5rem; font-size: 1.8rem; color: #2c3e50;}
.table-responsive {overflow-x: auto;}
.timeline-table {width: 100%; border-collapse: collapse; min-width: 800px;}
.timeline-table th,
.timeline-table td {border: 1px solid #dee2e6; padding: 0.75rem; text-align: center; font-size: 0.95rem;}
.timeline-table thead {background-color: #343a40; color: #fff;}
.timeline-table tbody tr:nth-child(even) {background-color: #f1f3f5;}
.timeline-table td:last-child {text-align: left;}
@media (max-width: 768px) {
  .timeline-table th,
  .timeline-table td {font-size: 0.85rem; padding: 0.5rem;}
  .kwmc-timeline h2 {font-size: 1.4rem;}
}



/* 대회 안내 전체 영역 */
.conference-info {
  max-width: 960px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: var(--font), -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
  color: #222;
  line-height: 1.5;
}

/* 섹션 제목 */
.conference-info h2 {
  font-size: 18px !important;
  font-weight: 700;
  margin: 20px 0 8px;
  padding-left: 12px;
  border-left: 4px solid #ed7248;
}

/* 기본 리스트 */
.conference-info ul {
  list-style: disc;
  padding-left: 24px;
  margin: 0;
}

/* 리스트 항목 */
.conference-info li {
  margin-bottom: 5px;
  font-size: 14px;
}

/* 하위 리스트 */
.conference-info ul ul {
  list-style: circle;
  margin-top: 8px;
}

/* 강조 텍스트 */
.conference-info .highlight {
  font-weight: 600;
  color: #ed7248;
}

/* 주의 문구 */
.conference-info .note {
  font-size: 14px;
  color: #555;
  margin-top: 8px;
}

/* 마감일 강조 */
.conference-info .deadline {
  margin-top: 32px;
  padding: 16px;
  background: #fce5cd;
  border-left: 4px solid #ed7248;
  font-weight: 600;
}

/* 반응형 */
@media (max-width: 768px) {
  .conference-info {
    padding: 12px 8px;
  }

  .conference-info h2 {
    font-size: 14px;
  }

  .conference-info li {
    font-size: 12px;
  }
}

/* 인사말 */
/* 1. 전체 컨테이너 설정 */
    .greeting-wrap {
        max-width: 760px; /* 최대 가로폭 760px */
        margin: 0 auto;   /* 중앙 정렬 */
        padding: 20px;
        box-sizing: border-box;
        line-height: 1.7;
        color: #333;
    }

    /* Float 해제 (텍스트가 영상보다 짧을 경우 컨테이너 레이아웃 붕괴 방지) */
    .greeting-wrap::after {
        content: "";
        display: block;
        clear: both;
    }

    /* 2. 유튜브 영상 래퍼 (PC 버전 기본) */
    .yt-container {
        float: left; /* 좌측으로 띄워 텍스트가 우측으로 흐르게 함 */
        width: calc(50% - 20px); /* 50% 공간에서 우측 여백 20px 제외 */
        margin-right: 20px; 
        margin-bottom: 20px; /* 텍스트가 아래로 흘러내릴 때의 하단 간격 */
        aspect-ratio: 16 / 9; /* 유튜브 16:9 비율 최신 속성 적용 */
        background-color: #000;
        border-radius: 8px; /* 필요시 둥근 모서리 삭제 가능 */
        overflow: hidden;
    }

    .yt-container iframe {
        width: 100%;
        height: 100%;
        border: none;
        display: block;
    }

    /* 3. 텍스트 영역 */
    .greeting-text {
        /* 별도의 width를 지정하지 않아야 float된 영상 옆을 채우고, 
           영상을 넘어가면 전체(100%) 넓이로 자연스럽게 확장됩니다. */
    }

    .greeting-text h2 {
        margin-top: 0;
        font-size: 1.5rem;
    }

    /* 4. 모바일 반응형 처리 (화면폭 600px 이하) */
    @media screen and (max-width: 600px) {
        .yt-container {
            float: none; /* 플로트 해제 */
            width: 100%; /* 영상 가로 100% */
            margin-right: 0;
            margin-bottom: 24px;
        }
    }