@charset "utf-8";

/* 1) 가운데 영역 자리는 유지하면서 내부만 숨김 */
.month-search-content.no-months .search-content-inner{
  visibility:hidden !important; /* 공간 유지 + 안 보이게 */
}

/* 2) no-months일 때 버튼을 컨테이너 우측 상단에 고정 */
.month-search-box{position:relative;} /* 기준점 */
.month-search-content.no-months ~ .schedule-button{
  position:absolute; right:0; top:0;
  width:300px;  text-align:right; /* 기존 스타일 유지 */
  float:none; /* 기존 float 영향 제거 */
}

.month-search-content.no-months{min-height:40px;}

.month-search-box{position:relative;} /* 기준점 */
.month-search-content ~ .schedule-button{
  position:absolute; right:0; top:0;
  width:300px;  text-align:right; /* 기존 스타일 유지 */
  float:none; /* 기존 float 영향 제거 */
}

.month-search-content{min-height:40px;}


.schedule-button{float: left; width: 300px; margin-top: 18px; text-align: right;}
.schedule-button.year {width: calc(100% - 310px);}
.schedule-button-box{display: inline-block; overflow: hidden;}
.schedule-button a{display: block;position: relative; float: left; padding-left: 35px; font-family: 'Noto Regular'; font-size: 16px; color: #000;}
.schedule-button .schedule-month{padding-right: 20px; margin-right: 20px; background: url(../images/schedule/schedule_month.png) no-repeat left center;}
.schedule-button .schedule-month.on{background: url(../images/schedule/schedule_month_on.png) no-repeat left center;}
.schedule-button .schedule-month::before{content:""; display: block; position: absolute; width: 1px; height: 17px; background-color: #d2d2d2; right: 0; top: 8px;}
.schedule-button .schedule-list{background: url(../images/schedule/schedule_year.png) no-repeat left center;}
.schedule-button .schedule-list.on{background: url(../images/schedule/schedule_year_on.png) no-repeat left center;}

.schedule-inner{display: none;}
.schedule-inner.on{display: block;}

.month-search-box{display: inline-block; width: 100%; margin-bottom: 50px;}
.month-search-header {float: left; width: 300px; font-size: 0;}
.month-search-header::after{content:""; display: table; clear: both;}
.month-search-header p{display: inline-block; min-width: 200px; font-weight:700;  font-size: 60px; line-height: 1.1; vertical-align: middle; color: #333;}
.month-search-content{float: left; width: calc(100% - 640px);}
.month-search-content .search-content-inner {display: block; width:100%; height:100%;}
.month-search-content .search-content-inner::after{content:""; display: table; clear: both;}
.month-search-content .png,.month-search-header .png{color: #444444; font-size: 17px;  display: block; line-height: 35px;}
.month-search-content .all-prev, .month-search-header .all-prev{position: relative; top: 0; display: inline-block; width: 50px; height: 50px; border: 1px solid #d7d7d7; background: url(../images/schedule/schedule_year_prev.png) no-repeat center; text-indent: -99999px; vertical-align: middle;}
.month-search-content .all-prev, .month-search-header .all-prev:hover{background:url(../images/schedule/schedule_year_prev_on.png) no-repeat center;}
.month-search-content .all-prev {display: none;}
.month-search-content .all-next, .month-search-header .all-next{position: relative; top: 0; display: inline-block; width: 50px; height: 50px; margin-left: -1px; border: 1px solid #d7d7d7; background: url(../images/schedule/schedule_year_next.png) no-repeat center; text-indent: -999999px; vertical-align: middle;}
.month-search-content .all-next, .month-search-header .all-next:hover { background: url(../images/schedule/schedule_year_next_on.png) no-repeat center;}
.month-search-content .all-next {display: none;}
.month-search-header .png {color:#fff;}
.month-search-content ul {margin-top: 6px; padding: 10px 120px 10px 40px;}
.month-search-content ul::after{content:""; display: table; clear: both;}
.month-search-content li{float: left; width: 8.3333%; text-align: center;}
.month-search-content li a{width: 100%; height: 100%; display: block; }
.month-search-content li span{position: relative; font-family: 'Noto Medium'; font-size: 18px; color: #333;}
.month-search-content li.on span {color: #fff;}
.month-search-content li.on span:after{content: ''; position: absolute; left: calc(50% - 25px); top: calc(50% - 25px); z-index: -1; width: 50px; height: 50px; background: #0e8e9b; border-radius: 100%;}

.table-content-wrap {display: table; border-top: 2px solid #152c46; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc;}
.table-content-wrap::after{content:""; display: table; clear: both;}
.table-content{display: table-cell; width: 550px; padding: 40px 40px 20px 40px; border-right: 1px solid #ccc; vertical-align: top;}
.table-content caption {display: block !important; position: absolute; left: -99999px}
.table-content .table-month{padding-bottom: 30px; text-align: center;}
.table-content .table-month p{display: inline-block; }
.table-content .table-month p span{margin-right: 15px; font-family: 'Noto Medium'; font-size: 20px; text-transform: uppercase; color: #19323c;}
.table-content .table-month .month-eng{ font-weight:700;  font-size: 22px; color: #333;}
.table-content-wrap ._fnTable{border: 0; padding:0 22px;}
.table-content-wrap ._fnTable thead tr {border-bottom:1px solid #dcdcdc;}
.table-content-wrap ._fnTable thead tr, ._fnctWrap ._fnTable tbody tr._odd{background-color: white;}
.table-content-wrap ._fnTable thead tr th{background-color: #f5f5f5; font-weight: normal; border: 0; font-size: 15px; box-shadow: none; color: #222;text-align: center;}
.table-content-wrap ._fnTable tbody tr td{position: relative; height: 60px; border: 0; font-size: 17px; vertical-align: top; color: #2a2a2a;text-align: center;}
.table-content-wrap ._fnTable tbody tr td ul {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.table-content-wrap ._fnTable tbody tr:last-child {border-bottom:0;}
.table-content-wrap ._fnTable tbody tr td .day{position: relative; top: 4px; z-index: 2; color: #666;}
.table-content-wrap ._fnTable tbody tr td.today {position: relative;}
.table-content-wrap ._fnTable tbody tr td.today::after {content: ''; position: absolute; left: 50%; top: 0; width: 100%; max-width: 60px; height: 100%; background: #ececec; transform: translate(-50%, 0);}
.table-content-wrap ._fnTable tbody tr td.sun .day{color: #FF1800}
.table-content-wrap ._fnTable tbody tr td.sat .day{color: #01499A}
.table-content-wrap ._fnTable tbody tr td .date-circle{display: none; width:10px; height:10px; background:var(--iden); border-radius: 100%; position: absolute; bottom: 15px; left:50%; z-index: 1; margin-left:-5px; text-indent: -99999px;}
.table-content-wrap ._fnTable tbody tr td .date-circle:first-of-type{display: inline-block;}
.table-content-wrap .applyList{display: table-cell; padding: 30px 50px; vertical-align: top; border-right: 1px solid #ccc;}
.table-content-wrap .applyList table {text-align:left;}
.table-content-wrap .applyList table th {text-align:left;}
.table-content-wrap .applyList col.th {width: 170px;}
.table-content-wrap .applyList tbody tr:last-child{border-bottom: 0;}
.table-content-wrap .applyList tbody th{ padding: 8px 0; font-weight: normal; font-size: 18px; color: #0e8e9b; vertical-align: top;}
.table-content-wrap .applyList tbody th span {position: relative; top: 2px;}
.table-content-wrap .applyList tbody td{padding: 8px 0; font-family: 'Noto Medium'; font-size: 18px; text-align: left; color: #333;}
.noti-txt.align-r {float: right; display: inline-block; text-align: right;}
.noti-txt.color1 p {font-family: 'Noto Regular'; font-size:14px; color: #e63b53;}

#layer_planner{display: none;}

@media all and (max-width: 1300px) {
    .month-search-header {width: 100%;}
    .month-search-content {width: 100%;}
    .month-search-content ul {margin-top: 15px; padding: 25px 0; border-top: 1px solid #d1d1d1; border-bottom: 1px solid #d1d1d1;}
    .schedule-button {position: absolute; right: 0; top: 0; width: auto;}
    .table-content {width: 450px;}
}

@media all and (max-width: 990px) {
    .month-search-box {margin-bottom: 40px;}
    .table-content {padding: 20px;}
    .table-content .table-month {padding-bottom: 15px;}
    .table-content-wrap .applyList {padding: 20px; border-top: 1px solid #ccc;}
    .table-content-wrap,
    .table-content,
    .table-content-wrap .applyList {display: block; width: 100%;}
    .schedule-button a {text-align: left; text-indent: -99999px;}
    .schedule-button .schedule-month {padding-left: 23px;}
}

@media all and (max-width: 767px) {
  .month-search-header .all-prev,
  .month-search-header .all-next,
  .month-search-content .all-prev,
  .month-search-content .all-next{
    width:32px;height:32px;background-size:10px auto;
  }

  /* hover일 때도 크기 고정 */
  .month-search-header .all-prev:hover,
  .month-search-header .all-next:hover,
  .month-search-content .all-prev:hover,
  .month-search-content .all-next:hover{
    width:32px;height:32px;background-size:10px auto;
  }
	
.month-search-header p {min-width:80px;}


.table-content-wrap ._fnTable thead tr th{    padding: 10px 0 10px 0; }




/*목록캘린더*/
.month-search-content.no-months {
    .min-height: 0; 
}
  .month-search-header .all-prev,
  .month-search-header .all-next,
  .month-search-content .all-prev,
  .month-search-content .all-next{width:32px;height:32px;background-size:10px auto;flex-shrink:0;}
  .month-search-header .all-prev:hover,
  .month-search-header .all-next:hover,
  .month-search-content .all-prev:hover,
  .month-search-content .all-next:hover{width:32px;height:32px;background-size:10px auto;}

  /* 이전에 주었던 레이아웃 그대로 */
  .month-search-box{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-areas:"hd btn" "months months";
    align-items:center;
    gap:8px;
    width:100%;
    margin-bottom:30px;
    padding:0 8px; /* ← 오른쪽 여유(밀림 방지) */
    box-sizing:border-box;
  }

  /* 년도 + <> */
  .month-search-header{grid-area:hd;display:flex;align-items:center;gap:6px;width:auto;float:none;margin:0;}
  .month-search-header p{min-width:80px;margin:0;font-size:28px;line-height:1.1;}

  /* 달력/목록 버튼 (오른쪽) */
  .schedule-button.year{grid-area:btn;justify-self:end;position:static;float:none;width:auto;margin:0 8px 0 0;text-align:right;} /* ← 폭 auto + 살짝 마진 */
  .schedule-button-box{display:flex;gap:6px;overflow:visible;vertical-align:middle;} /* ← base의 overflow:hidden 덮어쓰기 */
  .schedule-button.year a{float:none;display:inline-block;width:36px;height:36px;padding:0;text-indent:-9999px;border:0;background-color:transparent;background-size:18px auto;background-position:center;background-repeat:no-repeat;}
  .schedule-button.year .schedule-month{background-image:url(../images/schedule/schedule_month.png);}
  .schedule-button.year .schedule-month.on{background-image:url(../images/schedule/schedule_month_on.png);}
  .schedule-button.year .schedule-list{background-image:url(../images/schedule/schedule_year.png);}
  .schedule-button.year .schedule-list.on{background-image:url(../images/schedule/schedule_year_on.png);}

  /* 월 리스트 (두 줄) */
  .month-search-content{grid-area:months;width:100%;float:none;}
  .month-search-content ul{margin-top:10px;padding:10px 0;}
  .month-search-content li{width:16.666%;padding:8px 0;} /* 6개씩 */
  .month-search-content li span{font-size:14px;}

  /* 테이블 헤더 간격 */
  .table-content-wrap ._fnTable thead tr th{padding:10px 0;}

  /* 컨테이너: 1행(좌:년도+화살표, 우:아이콘) / 2행(월 리스트) */
  .month-search-box{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;          /* 2행으로 내려가게 */
    gap:8px;
    width:100%;
    padding:0 8px;
    box-sizing:border-box;
    position:relative;       /* 기준점 */
  }

  /* 왼쪽: 년도 + ‹› */
  .month-search-header{
    order:1;
    display:flex !important;
    align-items:center;
    gap:6px;
    width:auto !important;
    margin:0 !important;
    float:none !important;
  }
  .month-search-header p{min-width:80px;margin:0;font-size:28px;line-height:1.1;}
  .month-search-header .all-prev,
  .month-search-header .all-next{
    width:32px;height:32px;background-size:10px auto;border:0;
  }
  .month-search-header .all-prev:hover,
  .month-search-header .all-next:hover{
    width:32px;height:32px;background-size:10px auto;border:0;
  }

  /* 오른쪽: 달력/목록 아이콘(항상 우측 끝) */
  .schedule-button{
    order:1;
    margin-left:auto !important;
    width:auto !important;
    text-align:right;
    position:static !important;   /* 예전 absolute/float 무효화 */
    float:none !important;
  }
  /* 예전에 걸어둔 형제 선택자 absolute도 강제로 해제 */
  .month-search-content ~ .schedule-button{position:static !important;width:auto !important;}

  .schedule-button-box{display:flex;gap:6px;overflow:visible !important;}
  .schedule-button a,
  .schedule-button a:hover,
  .schedule-button a.on{
    display:inline-block;
    width:36px;height:36px;
    padding:0;border:0;
    text-indent:-9999px;
    background-position:center;
    background-repeat:no-repeat;
    background-size:18px 18px;   /* on/hover도 동일 크기 */
  }
  .schedule-button .schedule-month{background-image:url(../images/schedule/schedule_month.png);}
  .schedule-button .schedule-month.on{background-image:url(../images/schedule/schedule_month_on.png);}
  .schedule-button .schedule-list{background-image:url(../images/schedule/schedule_year.png);}
  .schedule-button .schedule-list.on{background-image:url(../images/schedule/schedule_year_on.png);}

  /* 아래: 월 리스트 */
  .month-search-content{
    order:2;
    width:100% !important;
    float:none !important;
    min-height:0;
  }
  .month-search-content ul{margin-top:10px;padding:10px 0;}
  .month-search-content li{width:16.666%;padding:8px 0;} /* 6개씩 두 줄 */
  .month-search-content li span{font-size:14px;}

  /* 2페이지(달/화살표 안 보이게) */
  .month-search-content.no-months .search-content-inner{display:none !important;}

.month-search-box{display:flex!important;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;width:100%;padding:0 8px;box-sizing:border-box;position:relative;}
.month-search-header{order:1;display:flex!important;align-items:center;gap:6px;width:auto!important;margin:0!important;float:none!important;}
.month-search-header p{min-width:72px;margin:0;font-size:28px;line-height:1.1;}
.month-search-header .all-prev,.month-search-header .all-next{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #d7d7d7!important;background-position:center;background-repeat:no-repeat;background-size:12px 12px;line-height:0;box-sizing:border-box;}
.month-search-header .all-prev:hover,.month-search-header .all-next:hover{width:36px;height:36px;border:1px solid #d7d7d7;background-size:12px 12px;}
.schedule-button{order:1;margin-left:auto!important;width:auto!important;text-align:right;position:static!important;float:none!important;}
.schedule-button-box{display:flex;align-items:center;gap:6px;overflow:visible!important;}
.schedule-button a,.schedule-button a:hover,.schedule-button a.on{display:inline-block;width:36px;height:36px;padding:0;border:0;text-indent:-9999px;background-position:center;background-repeat:no-repeat;background-size:18px 18px;line-height:0;}
.schedule-button .schedule-month{background-image:url(../images/schedule/schedule_month.png);}
.schedule-button .schedule-month.on{background-image:url(../images/schedule/schedule_month_on.png);}
.schedule-button .schedule-list{background-image:url(../images/schedule/schedule_year.png);}
.schedule-button .schedule-list.on{background-image:url(../images/schedule/schedule_year_on.png);}
.schedule-button .schedule-month::before{top:50%!important;transform:translateY(-50%);height:22px;right:-4px;}
.month-search-content{order:2;width:100%!important;float:none!important;min-height:0;}
.month-search-content ul{margin-top:10px;padding:10px 0;}
.month-search-content li{width:16.666%;padding:8px 0;}
.month-search-content li span{font-size:14px;}
.month-search-content.no-months .search-content-inner{display:none!important;}
.month-search-content ~ .schedule-button{position:static!important;width:auto!important;margin:0;}

/* 아이콘 흔들림 방지 */
.schedule-button a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;vertical-align:middle;text-indent:-9999px;background-position:center center;background-repeat:no-repeat;background-size:18px 18px;line-height:0;box-sizing:border-box;transition:none;}
.schedule-button a:hover,.schedule-button a.on{width:36px;height:36px;background-size:18px 18px;transform:none;outline:none;}
.schedule-button .schedule-list,.schedule-button .schedule-list:hover,.schedule-button .schedule-list.on{background-image:url(../images/schedule/schedule_year.png);}
.schedule-button .schedule-month,.schedule-button .schedule-month:hover,.schedule-button .schedule-month.on{background-image:url(../images/schedule/schedule_month.png);}
.schedule-button .schedule-list.on{background-image:url(../images/schedule/schedule_year_on.png);}
.schedule-button .schedule-month.on{background-image:url(../images/schedule/schedule_month_on.png);}

/* 버튼 박스/배경/텍스트 크기 완전 고정 */
.schedule-button a,.schedule-button a:hover,.schedule-button a.on{display:inline-flex!important;align-items:center;justify-content:flex-start;gap:8px;height:36px;line-height:36px;padding:0 12px 0 20px;margin:0;border:0!important;float:none!important;vertical-align:middle;text-decoration:none!important;font-weight:400!important;box-sizing:border-box;background-position:8px center!important;background-repeat:no-repeat!important;background-size:18px 18px!important;transition:none!important;transform:none!important;}
/* 아이콘 소스 지정(달력/목록) */
.schedule-button .schedule-month{background-image:url(../images/schedule/schedule_month.png)!important;}
.schedule-button .schedule-month.on{background-image:url(../images/schedule/schedule_month_on.png)!important;}
.schedule-button .schedule-list{background-image:url(../images/schedule/schedule_year.png)!important;}
.schedule-button .schedule-list.on{background-image:url(../images/schedule/schedule_year_on.png)!important;}
/* 테스트용: hover 때도 같은 이미지 쓰고 싶으면 아래 한 줄 추가(흔들림 원인 진단용) */
/* .schedule-button .schedule-list:hover{background-image:url(../images/schedule/schedule_year.png)!important;} */

/* no-months 높이 제거 */
.month-search-content.no-months{min-height:0!important;height:auto!important;}

}



@media all and (max-width: 600px) {
	.month-search-header p {font-size: 28px;}

    .table-content {padding: 20px 0px;}
    .table-content-wrap .applyList col.th {width: 100px;}
    .table-content-wrap .applyList tbody th {font-size: 14px;}
    .table-content-wrap .applyList tbody td {font-size: 14px;}
    .month-search-content li {width: 16.666%; padding: 10px 0;}
}

#timeTableList{border-top: 2px solid #005128;}
#timeTableList ul{width: 100%;}
#timeTableList ul::after{content:""; display: table; clear: both;}
#timeTableList li{position: relative; padding: 40px 0; border-bottom: 1px solid #d7d7d7;}
#timeTableList li::after{content:""; display: table; clear: both;}
#timeTableList li .scd-month{float: left; width: 330px;}
#timeTableList li .scd-month .month-box {text-align: center;}
#timeTableList li .scd-month .box-year { font-weight:700;  font-size: 20px; text-transform: uppercase; color: #c2c2c2; margin-top: 20px;}
#timeTableList li .scd-month .box-month {font-family: 'Noto Medium'; font-size: 40px; color: #19323c;}
#timeTableList li .list-inner{float: right; width: calc(100% - 330px);}
#timeTableList .list-box{margin-bottom: 8px; font-size: 0;}
#timeTableList .list-box:last-child{margin-bottom: 0;}
#timeTableList .list-box::after{content:""; display: table; clear: both;}
#timeTableList .list-date{float: left; width: 170px; font-size: 20px; color: #0e8e9b;}
#timeTableList .list-date em {position: relative; top: 0px; }
#timeTableList .list-content{float: left; width: calc(100% - 170px); font-family: 'Noto Medium'; font-size: 18px; color: #333;}
#timeTableList .search strong {display: block; padding: 60px 0 30px 0; border-bottom: 2px solid #43505d; font-weight:700;  font-size: 60px; line-height: 1.1; color: #333;}

@media all and (max-width: 990px) {
    #timeTableList li .scd-month {width: 200px;}
    #timeTableList li .list-inner {width: calc(100% - 200px);}
}

@media all and (max-width: 700px) {
    #timeTableList li .scd-month,
    #timeTableList li .list-inner {width: 100%;}
    #timeTableList li .list-inner {margin-top: 20px;}
    #timeTableList li {padding: 20px 20px 25px 20px;}
    #timeTableList li .scd-month .box-month {font-size: 25px;}
    #timeTableList li .scd-month .box-year {font-size: 20px;}
    #timeTableList li .scd-month .month-box {text-align: left;}
    #timeTableList .list-date {width: 120px; font-size: 16px;}
    #timeTableList .list-content {width: calc(100% - 120px); font-size: 16px;}
}


@media all and (max-width: 320px) {
.table-content-wrap ._fnTable thead tr th{    font-size: 14px;}
.noti-txt.color1 p {font-size: 14px;}
}