@import url("basic_css.css");


.contents {
  position: relative;
  width: 100%;
  /* margin-top: 44px; */
  overflow: hidden;
}

.cell.circle1 {
  background-image: url('../image/circle1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.circle2 {
  background-image: url('../image/circle2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.round1 {
  background-image: url('../image/round1.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.cell.round2 {
  background-image: url('../image/round2.png');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}




    table {
        width: 100%;
        border-collapse: collapse;
        margin: 20px 0;
    }

    th, td {
        border: 1px solid #ddd;
        padding: 3px;
        text-align: center;
    }

    th {
        background-color: gray;
        color: white;
        font-size: 14px;
        font-weight: bold;
    }

    /* tr:nth-child(even) {
        background-color: #f2f2f2;
    } */

    /* tr:hover {
        background-color: #ddd;
    } */


/*
*
* ==========================================
*  데스크탑 1900 ~ , 노트북 1025 ~ 1899
* ==========================================
*
*/
@media screen and (min-width:1025px) {

  /* ============================================================================================================================= */
  /* 메인화면1 - 소개 */

  .content1 {
    position: relative;
    margin-top: 75px;
    width: 100%;
    height: 200px;
    position: relative;
    /* background-image: url(../img/background/sejong.jpg); */
    /* background-size: 100% 100%; */
    /* background-image: contain; */
    /* background-repeat: no-repeat; */
    overflow: hidden;
    /* background-position: center center; */
    /* color: white; */
    background: linear-gradient(-45deg, #1d2c41, #B7C9D9, #4FA3F0, #22131a);
    background-size: 400% 400%;
    animation: AnimationName 20s ease infinite;
    -webkit-animation: AnimationName 20s ease infinite;
    -moz-animation: AnimationName 20s ease infinite;
    -o-animation: AnimationName 20s ease infinite;
    animation: AnimationName 20s ease infinite;
  }



  @-webkit-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @-moz-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @-o-keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  @keyframes AnimationName {
    0% {
      background-position: 0% 50%
    }

    50% {
      background-position: 100% 50%
    }

    100% {
      background-position: 0% 50%
    }
  }

  .content1 .where {
    position: absolute;
    right: 30px;
    top: 20px;
    font-size: 12px;
    width: 251px;
    height: 20px;
  }

  .content1_text_wrap {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 10;
    color: #fff;
  }


  .content1 span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    font-size: 24px;
    float: left;
    margin-top: 30px;
    line-height: 70px;
    letter-spacing: -2px;
  }

  .content1_text {
    position: absolute;
    width: 100%;
    height: 100%;
    top: calc(50% - 100px);
    text-align: center;
  }



  .content1 .underline_wrap {
    width: 100%;
    height: 30px;
    position: relative;
    float: left;
  }

  .content1 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 15px;
  }

  .content1 span:nth-child(2) {
    display: block;
    width: 100%;
    height: 30px;
    font-size: 14px;
    float: left;
    line-height: 25px;
    margin-top: 30px;
    letter-spacing: -1px;
  }

  /* .s1_arrow{
	display:block; 
	position:absolute; 
	bottom: 18.4%;
	right: calc(50% - 4px);
	text-align:center; 
  }
  
  .scroll-arrow 
  {
	width:4px; 
	height:4px; 
	border-right: 3px solid white; 
	border-bottom: 3px solid white;
	transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	-moz-transform: rotate(45deg); 
	-o-transform: rotate(45deg);  
	-ms-transform: rotate(45deg);
	animation: arrow-wave 1s infinite; animation-direction: alternate;
  }
  
   .scroll-arrow:nth-child(1) {
	 animation-delay: 0.1s;
	}
  
   .scroll-arrow:nth-child(2) {
	 margin-top:6px; 
	 animation-delay: 0.2s;
	}
  
   .scroll-arrow:nth-child(3) {
	 margin-top:6px; 
	 animation-delay: 0.3s;
	}
  
   @keyframes arrow-wave {
   0% {opacity: 0;}
   50% {opacity: .5;}
   100% {opacity: 1;}
   }
  
   @keyframes arrow_down{
   0%{top:50px;}
   50%{top:30px;}
   100%{top:50px;}
   }

/* ============================================================================================================================= */
  /* 메인화면2 */

  .content2 {
    position: relative;
    width: 100%;
    height: 50px;
    z-index: 13;
    background: white;
    /* transition: all 0.5s; */
    box-sizing: border-box;
    border-bottom: 1px solid rgba(128, 128, 128, 0.3);
    color: #4a5160;
  }

  .content2_active {
    position: fixed;
    top: 0px;
    z-index: 7900;
  }

  .content2 img {
    position: absolute;
    display: block;
    width: 180px;
    height: 40px;
    margin: 5px 0px;
    left: -220px;
    transition: all 0.5s;
  }

  .menu_plus2 {
    transition: all 0.5s;
    position: absolute;
    width: 50px;
    float: right;
    height: 50px;
    right: -60px;
    text-align: center;
    z-index: 11;
    cursor: pointer;
  }

  .menu_plus2 .i {
    position: absolute;
    color: white;
    left: 0px;
    width: 21px;
    height: 21px;
    margin: 14.5px 14.5px;
    background-repeat: no-repeat;
    background-image: cover;
  }

  .x_img {
    background-image: url(../image/icon/x_black.png);
  }

  .list_img {
    background-image: url(../image/icon/list_black.png);
  }

  .menu_plus2_active {
    width: 200px;
  }

  .content2 .text_wrap {
    width: 1000px;
    min-width: 1000px;
    max-width: 1000px;
    height: 100%;
    margin: 0 auto;
  }


  .content2 .text1 {
    width: 100%;
    height: 100%;
  }

  .content2 .text1 ul {
    width: 150px;
    height: 100%;
    margin: 0 auto;

  }

  .content2 .text1 li {
    display: block;
    width: 150px;
    float: left;
    box-sizing: border-box;
    height: 50px;
    text-align: center;
  }

  .content2 .text1 a {
    display: block;
    color: #4a5160;
    font-size: 14px;
    position: relative;
    margin-top: 16px;
    height: 18px;
    border-right: 1px solid #4a516056;
  }

  .content2 .text1 li:last-child a {
    border-right: none;
  }

  .content2 .text1 a:hover {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 1px;
    background: #0070c9;
  }



  /* ============================================================================================================================= */
  /* 메인화면3 */

  .content3 {
    position: relative;
    width: 100%;
    /* height: 100vh; */
    /* min-height: 1080px; */
    overflow: hidden;
    padding-bottom: 100px;
    z-index: 12;
  }

  .container {
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }

  .content3_text {
    position: relative;
    width: 100%;
    height: 200px;
    /* background-color: aqua; */
    text-align: center;
    margin-top: 80px;
  }


  .content3 .content3_text span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    /* background-color: red; */
    font-size: 30px;
    float: left;
    font-weight: 100;
  }

  .content3 .content3_text span:nth-child(3) {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 15px;
    float: left;
    font-weight: 100;
    line-height: 30px;
  }

  .content3 .underline_wrap {
    width: 100%;
    height: 50px;
    position: relative;
    float: left;
  }

  .content3 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 20px;
  }

  .content3 .table_wrap{
    width: 100%;
    /* background-color: aqua; */
    overflow: hidden;
  }

  .content3 .table_wrap .doc_wrap {
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
  }


  .content3 .table_wrap .doc_wrap button{
    float: right;
    padding: 4px 0px;
    width: 60px;
    margin: 0px 2px;
    cursor: pointer;
    outline: none;
    border: 1px solid black;
    font-weight: bold;
    color: black;
  }

  .content3 .table_wrap .title_container{
    width: 1000px;
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    background-color: #FCFCFC;
    padding: 0px 20px;
    margin: 0 auto;
  }

  .content3 .table_wrap .title_container .content_title{
    font-size: 17px;
    /* color: rgb(87, 75, 75); */
    display: block;
    line-height: 50px;
    float: left;
    /* text-align: center; */
    font-size: 30px;
    font-weight: bold;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;
  }

  .is_live{
    display: flex;
    padding: 5px;
    background-color: gray;
    color: white;
    font-size: 15px;
    font-weight: bold;
    margin: 20px 0px;
    box-sizing: border-box;
    width: 120px;
    align-items: center;
    border-radius: 10px;
  }

  .content3 .table_wrap .info_container{
    width: calc(100% - 40px);
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    padding: 0px 20px 0px 0px;
    overflow: hidden;
    background: linear-gradient(-45deg,#82b8e7, #4FA3F0);
  }

  .info_box{
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }

  .content3 .table_wrap .info_container ul li{
   min-width: 200px;
   float: left;
   padding: 25px;
   font-weight: bold;
   position: relative;
   box-sizing: border-box;
  }

  .content3 .table_wrap .info_container ul li:not(:last-child)::after {
    position: absolute;
    right: 0;
    top: 25px;
    content: "";
    display: block;
    width: 1px;
    height: 50px;
    background-color: rgb(255, 255, 255, 0.75);
  }

  .content3 .table_wrap .info_container ul li label{
    display: block;
    font-size: 12px;
    color: white;
    margin-bottom: 10px;
    letter-spacing: -1px;
  }

  .content_navi_container{
    width: 1000px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    margin-top: 10px;
    margin: 0 auto;
  }

  .content_navi_wrap{
    overflow-x: auto;
    position: relative;
    box-sizing: border-box;
  }

  .content_navi_wrap ul{
    display: flex;
    position: relative;
  }

  .content_navi_wrap ul::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    background-color: #DBDBDB;
    opacity: 0.3;
  }

  .content_navi_wrap ul li {
    display: block;
    float: left;
    box-sizing: border-box;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    font-weight: bold;

  }

  .content_navi_wrap ul li a{
    color: black;
  }

  .content_navi_wrap ul li:nth-child(1) a{
    color: #0070c9;
  }

  .content_navi_wrap ul li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 7px;
    background: #0070c9;
}

  .content3 .table_wrap .text_content_container{
    width: 1000px;
    padding: 20px 20px 40px 20px;
    overflow: hidden;
    font-size: 15px;
    min-height: 500px;
    line-height: 25px;
    margin: 0 auto;
  }

/* 공통 박스 */
.group-box {
  border: 2px solid #444;
  padding: 10px;
  margin-bottom: 50px;
  border-radius: 10px;
  background-color: #f9f9f9;
}

/* 테이블 스크롤 영역 */
.overflow_container {
  /* overflow-x: auto; */
  position: relative;
  background: white;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.table-wrapper-scroll {
  width: 100%;
}

.table-row {
  display: flex;
  width: 100%;
}

.header-row {
  background-color: #f0f0f0;
  font-weight: bold;
  color: #333;
}

/* 셀 공통 */
.cell {
  padding: 8px 6px;
  font-size: 14px;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background-color: #fff;
  white-space: nowrap;
}

/* 고정 컬럼 */
.fixed-column {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #f4fbff !important;
  font-weight: bold;
  border-right: 1px solid #ccc;
}

/* 100% 맞춰지는 퍼센트 기반 폭 설정 */
.column-rank   { flex: 0 0 10%; }
.column-name   { flex: 0 0 12%; }
.column-school { flex: 0 0 18.1%; } /* ✅ 소속 칼럼 추가 */
.hole          { flex: 0 0 10%; }

.total,
.alt-highlight {
  flex: 0 0 20%;
  background-color: #c9eaf7;
  font-weight: bold;
}


/* 부 제목 스타일 */
.part-title {
  font-size: 18px;
  padding-left: 10px;
  margin-top: 40px;
  border-left: 5px solid #0077cc;
}

/* 버튼 컨테이너 */
.button-container {
  margin-bottom: 20px;
  text-align: left;
}

/* 드롭다운 */
.button-container select {
  background-color: gray;
  color: white;
  border: none;
  padding: 10px 10px;
  font-size: 14px;
  border-radius: 4px;
  cursor: pointer;
}



}


/*
*
* ==========================================
*  모바일 360 ~ 767, 테블릿 768~1024
* ==========================================
*
*/
@media screen and (min-width:360px) and (max-width:1024px){
/* @media screen and (max-width:1024px) { */

  td {
    border: 1px solid #ddd !important;
    padding: 2px !important;
    text-align: center !important;
    font-size: 11px !important;
}

.overflow_container{
  width: 100%;
  overflow-y: hidden;
}

.overflow_wrap{
  width: 1000px;
  overflow-y: hidden;
}

  /* ============================================================================================================================= */
  /* 메인화면1 - 소개 */

  .content1 {
    position: relative;
    width: 100%;
    height: 210px;
    position: relative;
    background-image: url(../image/background/sejong.jpg);
    background-size: 100% auto;
    background-image: cover;
    background-repeat: no-repeat;
    overflow: hidden;
    background-position: center center;
    /* color: white; */
  }

  .content1 .where {
    display: none;
  }

  .content1_text_wrap {
    overflow: hidden;
    width: 100%;
    height: 100%;
    position: relative;
    color: #fff;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
  }


  .content1 span:nth-child(1) {
    display: block;
    width: 100%;
    height: 25px;
    font-size: 18px;
    float: left;
    margin-top: 70px;
    /* line-height: 70px; */
    letter-spacing: -2px;
    /* background-color: aqua; */
  }

  .content1_text {
    position: absolute;
    width: calc(100% - 50px);
    padding: 0px 25px;
    height: 100%;
    top: calc(50% - 100px);
    text-align: center;
  }



  .content1 .underline_wrap {
    width: 100%;
    height: 15px;
    position: relative;
    float: left;
    /* background-color: aqua; */
  }

  .content1 .underline1 {
    position: absolute;
    left: calc(50% - 5px);
    width: 10px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 7.5px;
  }

  .content1 span:nth-child(2) {
    display: block;
    width: 100%;
    height: 40px;
    font-size: 11px;
    float: left;
    line-height: 20px;
    margin-top: 20px;
    letter-spacing: -1px;
  }


  /* ============================================================================================================================= */
  /* 메인화면2 */

  .content2{
    position: relative;
      width: 100%;
      height: 50px;
      z-index: 13;
    background: white;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(128, 128, 128, 0.3);
    color: #4a5160;
    -ms-overflow-style: none;
    overflow-y: hidden;
  }
  
  .content2::-webkit-scrollbar{
    display:none;
  }


  .content2_active {
    display: none;
  }

  .content2 img {
    display: none;
  }

  .menu_plus2 {
    display: none;
  }

  .menu_plus2 .i {
    display: none;
  }

  .x_img {
    display: none;
  }

  .list_img {
    display: none;
  }

  .menu_plus2_active {
    display: none;
  }

  .content2 .text_wrap {
    width: 100%;
    /* min-width: 1000px;
    max-width: 1000px; */
    height: 100%;
    margin: 0 auto;
  }


  .content2 .text1 {
    width: 100%;
    height: 100%;
  }

  .content2 .text1 ul {
    width: 100%;
    height: 100%;
    margin: 0 auto;

  }

  .content2 .text1 li {
    display: block;
    width: 200px;
    box-sizing: border-box;
    height: 50px;
    text-align: center;
    margin: 0 auto;
  }

  .content2 .text1 a {
    display: block;
    color: #4a5160;
    /* font-weight: bold; */
    font-size: 14px;
    position: relative;
    margin-top: 16px;
    height: 18px;
    border-right: 1px solid #4a516056;
  }

  .content2 .text1 li:last-child a {
    border-right: none;
  }

  .content2 .text1 a:hover {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a {
    color: #0070c9;
  }

  .content2 li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    z-index: 9000;
    width: 100%;
    height: 1px;
    background: #0070c9;
  }


  /* ============================================================================================================================= */
  /* 메인화면3 */

  .content3 {
    position: relative;
    width: 100%;
    /* height: 100vh; */
    /* min-height: 1080px; */
    overflow: hidden;
    padding-bottom: 100px;
    z-index: 12;
  }

  .container {
    width: 100%;
    margin: 0 auto;
    height: 100%;
  }

  .content3_text {
    position: relative;
    width: 100%;
    height: 200px;
    /* background-color: aqua; */
    text-align: center;
    margin-top: 80px;
  }


  .content3 .content3_text span:nth-child(1) {
    display: block;
    width: 100%;
    height: 50px;
    /* background-color: red; */
    font-size: 30px;
    float: left;
    font-weight: 100;
  }

  .content3 .content3_text span:nth-child(3) {
    display: block;
    width: 100%;
    height: 60px;
    font-size: 15px;
    float: left;
    font-weight: 100;
    line-height: 30px;
  }

  .content3 .underline_wrap {
    width: 100%;
    height: 50px;
    position: relative;
    float: left;
  }

  .content3 .underline1 {
    position: absolute;
    left: calc(50% - 10px);
    width: 20px;
    height: 1px;
    background-color: #fbd784;
    float: left;
    top: 20px;
  }

  .content3 .table_wrap{
    width: 100%;
    /* background-color: aqua; */
    overflow: hidden;
  }

  .content3 .table_wrap .doc_wrap {
    overflow: hidden;
    width: 100%;
    margin-bottom: 20px;
  }


  .content3 .table_wrap .doc_wrap button{
    float: right;
    padding: 4px 0px;
    width: 60px;
    margin: 0px 2px;
    cursor: pointer;
    outline: none;
    border: 1px solid black;
    font-weight: bold;
    color: black;
  }

  .content3 .table_wrap .title_container{
    width: 100%;
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    background-color: #FCFCFC;
    padding: 0px 20px;
    margin: 0 auto;
    box-sizing: border-box;
  }

  .content3 .table_wrap .title_container .content_title{
    font-size: 16px !important;
    /* color: rgb(87, 75, 75); */
    display: block;
    line-height: 25px;
    float: left;
    /* text-align: center; */
    font-size: 30px;
    font-weight: bold;
    width: 100%;
    overflow: hidden;
    margin-bottom: 30px;

    display: inline-block; /* 내부 컨텐츠 크기에 맞춰 조정 */
    max-width: 100%; /* 부모 요소를 넘어가지 않도록 제한 */
    word-wrap: break-word; /* 긴 단어 줄바꿈 */
    overflow-wrap: break-word; /* 강제 줄바꿈 지원 */
    white-space: normal; /* 줄바꿈 허용 */
  }

  .is_live{
    display: flex;
    padding: 5px;
    background-color: gray;
    color: white;
    font-size: 14px;
    font-weight: bold;
    margin: 20px 0px;
    box-sizing: border-box;
    width: 120px;
    align-items: center;
    border-radius: 10px;
  }

  .content3 .table_wrap .info_container{
    display: none;
    width: calc(100% - 40px);
    /* height: 100px; */
    overflow: hidden;
    /* border-top: 1px solid #ccc; */
    /* border-bottom: 1px solid #ccc; */
    padding: 0px 20px 0px 0px;
    overflow: hidden;
    background: linear-gradient(-45deg,#82b8e7, #4FA3F0);
  }

  .info_box{
    display: flex;
    align-items: center;
    width: 1000px;
    margin: 0 auto;
  }

  .content3 .table_wrap .info_container ul li{
   min-width: 200px;
   float: left;
   padding: 25px;
   font-weight: bold;
   position: relative;
   box-sizing: border-box;
  }

  .content3 .table_wrap .info_container ul li:not(:last-child)::after {
    position: absolute;
    right: 0;
    top: 25px;
    content: "";
    display: block;
    width: 1px;
    height: 50px;
    background-color: rgb(255, 255, 255, 0.75);
  }

  .content3 .table_wrap .info_container ul li label{
    display: block;
    font-size: 12px;
    color: white;
    margin-bottom: 10px;
    letter-spacing: -1px;
  }
  .content_navi_container {
    width: 100%;
    max-width: 1000px;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
    margin: 10px auto;
    overflow-y: hidden;
}

/* 가로 스크롤 적용 */
.content_navi_wrap {
    overflow-x: auto;
    overflow-y: hidden;
    position: relative;
    box-sizing: border-box;
    white-space: nowrap; /* 줄바꿈 방지 */
    -webkit-overflow-scrolling: touch; /* 모바일에서 부드러운 스크롤 */
}

/* 메뉴가 가로로 정렬되도록 설정 */
.content_navi_wrap ul {
    display: flex;
    flex-wrap: nowrap; /* 줄바꿈 방지 */
    position: relative;
    min-width: max-content; /* 최소 크기 유지 */
}


  .content_navi_wrap ul::after {
    position: absolute;
    bottom: 0;
    content: "";
    display: block;
    width: 100%;
    height: 7px;
    background-color: #DBDBDB;
    opacity: 0.3;
  }

  .content_navi_wrap ul li {
    display: block;
    float: left;
    box-sizing: border-box;
    padding: 30px 20px;
    text-align: center;
    position: relative;
    font-weight: bold;

  }

  .content_navi_wrap ul li a{
    color: black;
  }

  .content_navi_wrap ul li:nth-child(1) a{
    color: #0070c9;
  }

  .content_navi_wrap ul li:nth-child(1) a:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    z-index: 8000;
    width: 100%;
    height: 7px;
    background: #0070c9;
}

  .content3 .table_wrap .text_content_container{
    width: 100%;
    padding: 20px 20px 40px 20px;
    overflow: hidden;
    font-size: 15px;
    min-height: 500px;
    line-height: 25px;
    margin: 0 auto;
    box-sizing: border-box;
  }

/* 공통 박스 */
.group-box {
  border: 2px solid #444;
  padding: 10px;
  margin-bottom: 50px;
  border-radius: 10px;
  background-color: #f9f9f9;
}

/* 테이블 스크롤 영역 */
.overflow_container {
  overflow-x: auto;
  position: relative;
  background: white;
  border: 1px solid #ccc;
  border-radius: 6px;
}

.table-wrapper-scroll {
  /* min-width: 1200px; */
}

/* 테이블 헤더/행 */
.table-row {
  display: flex;
  /* min-width: 1200px; */
  border-bottom: 1px solid #ccc;
}

.header-row {
  background-color: #f0f0f0;
  font-weight: bold;
  color: #333;
}

/* 셀 공통 */
.cell {
  flex-shrink: 0;
  padding: 8px 6px;
  font-size: 13px;
  text-align: center;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background-color: #fff;
  white-space: nowrap;
}

.cell:last-child {
  border-right: none;
}

/* 고정 열 */
.fixed-column {
  position: sticky;
  left: 0;
  z-index: 2;
  background-color: #f4fbff !important;
  font-weight: bold;
  border-right: 1px solid #ccc;
}

.column-rank {
  flex: 0 0 35px;
  font-size: 12px;
}

.column-name {
  flex: 0 0 70px;
  left: 35px;
  font-size: 13px;
  z-index: 3;
}

.column-school {
  flex: 0 0 120px;
  font-size: 12px;
}

.hole {
  flex: 0 0 38px;
  font-size: 12px;
}

.total {
  flex: 0 0 50px;
  font-size: 12px;
}

.table-row .cell {
  padding: 4px 2px;
}

.fixed-column {
  background-color: #f4fbff !important;
  font-weight: bold;
}

.alt-highlight {
  background-color: #c9eaf7;
  font-weight: bold;
}


/* 부 제목 스타일 */
.part-title {
  font-size: 18px;
  padding-left: 10px;
  margin-top: 40px;
  border-left: 5px solid #0077cc;
}

/* 버튼 컨테이너 */
.button-container {
  margin-bottom: 20px;
  text-align: left;
}

/* 드롭다운 */
.button-container select {
  background-color: gray;
  color: white;
  border: none;
  padding: 10px 10px;
  font-size: 14px;
  border-radius: 4px;
  cursor: pointer;
}

}/* 공통 상태 배지 스타일 */
.is_status {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 8px;
  vertical-align: middle;
  color: #fff;
  margin-top: 30px;
}

/* 상태별 색 (목록에서 쓰던 거랑 통일) */
.status-ing {
  /* 대회진행중: 빨강 */
  background-color: #FF7373;
  color: #fff;
}
.status-apply {
  /* 신청진행중: 초록 */
  background-color: #76C079;
  color: #fff;
}
.status-soon {
  /* 신청예정 / 대회예정: 파랑 */
  background-color: #7CA9ED;
  color: #fff;
}
.status-closed {
  /* 신청마감 / 대회종료: 회색 */
  background-color: #A3A3A3;
  color: #fff;
}

/* =========================
   단체전(teams) — 개인전과 톤 통일 + 고정 컬럼 적용
   교체 전용 블록 (중복 제거됨)
   ========================= */

/* 폭/좌표 변수로 관리 → 헤더/바디 일관 */
:root {
  --rank-w:   42px;   /* 순위 */
  --team-w:  110px;   /* 팀명 */
  --player-w:120px;   /* 선수명 */
  --hole-w:   40px;   /* 1~18 */
  --sum-w:    54px;   /* OUT/IN */
  --tot-w:    60px;   /* TOT */
  --team-score-w:110px; /* 팀점수(베스트3) */
}

@media (max-width: 1024px) {
  :root {
    --rank-w:   36px;
    --team-w:  100px;
    --player-w:110px;
    --hole-w:   38px;
    --sum-w:    50px;
    --tot-w:    56px;
    --team-score-w:102px;
  }
}

/* 컨테이너: 가로 스크롤만 */
.team-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 표 기본 */
table.team-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;         /* 고정폭 + sticky 안정화 */
  border: 1px solid #d5dbe5;
  background: #fff;
  color: #111;
  min-width: calc(var(--rank-w) + var(--team-w) + var(--player-w)
                 + 18 * var(--hole-w) + var(--sum-w) + var(--sum-w)
                 + var(--tot-w) + var(--team-score-w) + 40px);
}

table.team-table th,
table.team-table td {
  border: 1px solid #d5dbe5;
  text-align: center;
  background: #fff;
  color: #111;
  font-weight: 500;
  padding: 6px 6px;
  font-size: 13px;
  white-space: nowrap;
}

/* 헤더 톤 (개인전 header-row와 맞춤) */
table.team-table th {
  background: #f0f0f0;
  color: #333;
  font-weight: 700;
}

/* 줄무늬 */
table.team-table tbody tr:nth-child(odd)  td { background: #FAFBFC; }
table.team-table tbody tr:nth-child(even) td { background: #FFFFFF; }

/* 합계 톤 (개인전 highlight) */
table.team-table th.out,
table.team-table th.in,
table.team-table th.tot,
table.team-table td.out,
table.team-table td.in,
table.team-table td.tot {
  background: #FFF8DC !important;
  border-color: #F1DA99 !important;
  font-weight: 700 !important;
}

/* 팀점수(베스트3) 톤 (개인전 alt-highlight) */
table.team-table th.team-score,
table.team-table td.team-score {
  background: #c9eaf7 !important;
  font-weight: 700 !important;
}

/* 고정 컬럼 3개 (좌측) */
table.team-table .sticky-col {
  position: sticky;
  z-index: 3;                 /* 기본값, 필요시 아래에서 개별 조정 */
  background: #F4FBFF !important;  /* 개인전 fixed-column 톤 */
}

table.team-table .col-rank   { left: 0;                           width: var(--rank-w);   min-width: var(--rank-w);   max-width: var(--rank-w);   z-index: 6; }
table.team-table .col-team   { left: var(--rank-w);               width: var(--team-w);   min-width: var(--team-w);   max-width: var(--team-w);   z-index: 5; }
table.team-table .col-player { left: calc(var(--rank-w) + var(--team-w));
                               width: var(--player-w); min-width: var(--player-w); max-width: var(--player-w); z-index: 4; }

/* 고정 헤더도 같은 배경/두께 유지 */
table.team-table th.rank-head,
table.team-table th.team-head,
table.team-table th.player-head {
  background: #e9f5ff;        /* 헤더는 약간 더 밝게 */
  color: #111;
  border-color: #cfe8ff;
}

/* 고정 영역 경계선 보강 */
table.team-table .col-rank,
table.team-table .col-team,
table.team-table .col-player {
  box-shadow: 1px 0 0 rgba(0,0,0,0.07);
}

/* 각 칸 너비(홀/합계/팀점수) */
table.team-table th.hole,
table.team-table td.hole { width: var(--hole-w); min-width: var(--hole-w); max-width: var(--hole-w); }

table.team-table th.out,
table.team-table td.out { width: var(--sum-w); min-width: var(--sum-w); max-width: var(--sum-w); }

table.team-table th.in,
table.team-table td.in { width: var(--sum-w); min-width: var(--sum-w); max-width: var(--sum-w); }

table.team-table th.tot,
table.team-table td.tot { width: var(--tot-w); min-width: var(--tot-w); max-width: var(--tot-w); }

table.team-table th.team-score,
table.team-table td.team-score {
  width: var(--team-score-w);
  min-width: var(--team-score-w);
  max-width: var(--team-score-w);
}

/* 순위/팀명/팀합계 기본 톤 (개인전과 맞춤) */
table.team-table .team-rank,
table.team-table .team-name,
table.team-table .team-total {
  background: #F4FBFF !important;
  color: #111 !important;
  font-weight: 700;
}

/* 마킹 아이콘(개인전과 동일) */
table.team-table td.circle1,
table.team-table td.circle2,
table.team-table td.round1,
table.team-table td.round2 {
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 68% !important; /* 살짝 축소 */
}
table.team-table td.circle1 { background-image: url('../image/circle1.png') !important; }
table.team-table td.circle2 { background-image: url('../image/circle2.png') !important; }
table.team-table td.round1  { background-image: url('../image/round1.png') !important; }
table.team-table td.round2  { background-image: url('../image/round2.png') !important; }
/* ===== 단체전 고정열 수축 방지 + 선수명 더 줄이기 (덮어쓰기 패치) ===== */

/* 폭 변수 재정의: 더 촘촘하게 */
:root {
  --rank-w:   34px;   /* 순위 더 줄임 */
  --team-w:    96px;  /* 팀명 더 줄임 */
  --player-w:  88px;  /* 선수명 더 줄임 */
  --hole-w:    40px;
  --sum-w:     52px;  /* OUT/IN */
  --tot-w:     58px;  /* TOT */
  --team-score-w: 102px;
}
@media (max-width:1024px){
  :root{
    --rank-w:   30px;
    --team-w:    90px;
    --player-w:  80px; /* 모바일 선수명 더 타이트 */
    --hole-w:    36px;
    --sum-w:     48px;
    --tot-w:     54px;
    --team-score-w: 96px;
  }
}

/* 핵심: collapse → separate 로 바꿔 sticky 수축 버그 차단 */
table.team-table{
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
  /* min-width는 이전 계산식 유지 가능; 필요시 아래 한 줄로 더 안정화 */
  min-width: calc(var(--rank-w) + var(--team-w) + var(--player-w)
                  + 18 * var(--hole-w) + var(--sum-w) + var(--sum-w)
                  + var(--tot-w) + var(--team-score-w) + 40px) !important;
}

/* 셀 내부 박스 모델 고정 */
table.team-table th,
table.team-table td{
  box-sizing: border-box !important;
  padding: 6px 6px !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}

/* 고정 컬럼 공통: 배경 잘림/수축 방지 */
table.team-table .sticky-col{
  position: sticky !important;
  background: #F4FBFF !important;
  background-clip: padding-box !important; /* 경계선 겹침시 색 번짐 방지 */
  z-index: 3;
}

/* 왼쪽 오프셋과 정확한 폭 고정 (수축 차단) */
table.team-table .col-rank{
  left: 0 !important;
  width: var(--rank-w) !important;
  min-width: var(--rank-w) !important;
  max-width: var(--rank-w) !important;
  z-index: 6;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}
table.team-table .col-team{
  left: var(--rank-w) !important;
  width: var(--team-w) !important;
  min-width: var(--team-w) !important;
  max-width: var(--team-w) !important;
  z-index: 5;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}
table.team-table .col-player{
  left: calc(var(--rank-w) + var(--team-w)) !important;
  width: var(--player-w) !important;
  min-width: var(--player-w) !important;
  max-width: var(--player-w) !important;
  z-index: 4;
  box-shadow: 1px 0 0 rgba(0,0,0,.07);
}

/* 헤더 셀도 sticky 톤 일치 (수축 방지용 폭 고정) */
table.team-table th.rank-head{
  width: var(--rank-w) !important; min-width: var(--rank-w) !important; max-width: var(--rank-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:7; position: sticky; left:0;
}
table.team-table th.team-head{
  width: var(--team-w) !important; min-width: var(--team-w) !important; max-width: var(--team-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:6; position: sticky; left: var(--rank-w);
}
table.team-table th.player-head{
  width: var(--player-w) !important; min-width: var(--player-w) !important; max-width: var(--player-w) !important;
  background: #e9f5ff !important; border-color:#cfe8ff !important; z-index:5; position: sticky; left: calc(var(--rank-w) + var(--team-w));
}

/* 나머지 칸 폭 재강제 (렌더러가 쥐어짜지 않도록) */
table.team-table th.hole, table.team-table td.hole{
  width: var(--hole-w) !important; min-width: var(--hole-w) !important; max-width: var(--hole-w) !important;
}
table.team-table th.out,  table.team-table td.out {
  width: var(--sum-w) !important; min-width: var(--sum-w) !important; max-width: var(--sum-w) !important;
}
table.team-table th.in,   table.team-table td.in  {
  width: var(--sum-w) !important; min-width: var(--sum-w) !important; max-width: var(--sum-w) !important;
}
table.team-table th.tot,  table.team-table td.tot {
  width: var(--tot-w) !important; min-width: var(--tot-w) !important; max-width: var(--tot-w) !important;
}
table.team-table th.team-score, table.team-table td.team-score{
  width: var(--team-score-w) !important; min-width: var(--team-score-w) !important; max-width: var(--team-score-w) !important;
}

/* 스크롤 컨테이너: 성능/계산 안정화 */
.team-table-wrap{
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  contain: paint;     /* sticky 리페인트 영역 한정 */
}
