@media screen and (max-width: 1400px) {
  #contents {
    max-width: 1100px;
  }

  .n_date {
    width: 10%;
    margin: -5px 12px 0 12px;
  }

  .n_txt {
    width: 85%;
  }

  .n_title {
    font-size: 18px;
  }
}

@media screen and (max-width: 1200px) {
  .utill {
    display: none;
  }

  #header {
    display: none;
  }

  #contents {
    max-width: 900px;
  }

  .n_date {
    width: 12%;
    margin: -5px 12px 0 12px;
  }

  .n_txt {
    width: 80%;
  }

  .n_title {
    font-size: 18px;
  }

  .n_text {
    font-size: 14px;
  }

  .reserve {
    margin-bottom: 30px;
  }
  .nview_tit {
    font-size: 14px;
    font-weight: 600;
    text-align: left;
  }
  .flowchart {
    flex-direction: column;
    align-items: center;
  }
  .arrow-right,
  .next-arrow-horizontal {
    display: none;
  }
  .branch-container {
    flex-direction: row;
    width: auto;
    margin: 20px 0;
  }
  .branch-step {
    margin: 0 15px;
  }
  .step.decision {
    top: 0px;
  }
  .step.final {
    top: 5px;
  }
}

/* PC 화면에서 모바일 메뉴 숨기기 */
@media (min-width: 1025px) {
  /* 모바일 메뉴 숨기기 */
  .mobile-nav ul {
    display: none !important;
  }

  /* 햄버거 메뉴 숨기기 */
  .mobile-toggle {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .main-nav ul {
    display: none;
    /* PC 메뉴 숨김 */
  }

  .mobile-toggle {
    display: block !important;
    /* 반응형에서 햄버거 메뉴 보이도록 */
  }

  /* 모바일 메뉴가 열린 상태 */
  .mobile-nav ul.open {
    display: flex;
  }

  /* 모바일에서 하위 메뉴가 상위 메뉴 바로 아래에 위치하도록 */
  .mobile-nav .submenu {
    top: 100%;
    /* 상위 메뉴 바로 아래에 위치 */
  }

  /*카피라이터*/
  #footerIn {
    width: 100%;
    flex-direction: column;
    text-align: center;
    gap: 20px;
    height: auto;
    padding: 20px 10px;
  }

  #footer {
    height: auto;
    padding: 20px 0;
  }

  .finfo {
    order: 3;
    font-size: 14px;
  }

  #contents {
    max-width: 650px;
  }

  .sub_tit h1 {
    font-size: 30px;
    margin: 30px 0 25px;
  }

  .search {
    position: relative;
    top: 0;
    right: 0;
    margin-bottom: 30px;
  }

  .search_bt {
    position: absolute;
    top: 17px;
    right: 130px;
  }

  .list_02 th {
    width: 200px;
    font-size: 14px;
    font-weight: 600;
    padding: 20px 0 20px 0;
  }

  .reserve .list_01 th {
    font-size: 15px;
    padding: 20px 0 20px 10px;
  }

  .reserve .list_01 td {
    font-size: 16px;
    padding: 10px 10px 10px 10px;
  }

  .reserve .list_01 td input {
    height: 46px;
    padding-left: 20px;
  }

  .notice2 td {
    padding: 20px 20px 20px 0;
    font-size: 14px;
  }

  .file img {
    width: 18px;
  }

  .f2 a {
    font-size: 15px;
  }

  .notice_view tr td a {
    font-size: 15px;
  }

  .blue-bt {
    width: 110px;
    height: 57px;
    font-size: 18px;
  }
}
@media (max-width: 900px) {
  .doc-section {
    flex: 1 1 calc(50% - 20px);
  }
}
@media screen and (max-width: 768px) {
  #contents {
    max-width: 550px;
  }

  .notice h2 {
    font-size: 22px;
  }

  .notice2 .n_tit {
    font-size: 14px;
    font-weight: 600;
    text-align: left;
  }

  .n_day {
    font-size: 30px;
  }

  .n_title {
    font-size: 17px;
  }

  .search {
    position: relative;
    top: 0;
    right: 0;
    margin-bottom: 30px;
  }

  .search_bt {
    position: absolute;
    top: 17px;
    right: 30px;
  }

  .input_search {
    font-size: 15px;
  }

  .sum {
    font-size: 18px;
  }

  .reserve .list_01 {
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: scroll;
  }

  .reserve .list_01 th {
    font-size: 1px;
    width: 200px;
    padding: 20px 30px 20px 30px;
  }

  .reserve .list_01 td {
    font-size: 16px;
    padding: 10px 10px 10px 10px;
  }

  .reserve_complete {
    overflow: auto;
  }

  .mr .list_02 th {
    padding: 25px 25px 25px 20px;
  }

  .mr .list_02 td {
    font-size: 15px;
    padding: 15px 0 15px 0;
  }

  .no_des {
    display: block;
  }

  .list_02 {
    white-space: nowrap;
    overflow-x: scroll;
    overflow-y: scroll;
    overflow: -moz-scrollbars-vertical;
  }

  .list_02 th {
    width: 200px;
    font-size: 14px;
    font-weight: 600;
    padding: 15px 15px 15px 0;
  }

  .notice2 td {
    padding: 20px 20px 20px 0;
    font-size: 14px;
  }

  .notice_view td {
    font-size: 14px;
  }

  .notice_view a {
    font-size: 14px;
  }

  .blue-bt {
    width: 80px;
    height: 47px;
    font-size: 15px;
  }

  #footerIn {
    width: 600px;
  }

  .related_org {
    display: none;
  }

  .utill {
    display: none;
  }

  /*정보공개제도*/
  .policy-section {
    padding: 20px;
    margin-bottom: 20px;
  }
  .policy-section .section-title {
    font-size: 1.4em;
    padding-left: 10px;
  }
  .policy-section .section-content {
    font-size: 1em;
  }
  .flowchart {
    flex-direction: column;
    align-items: center;
  }
  .arrow-right,
  .next-arrow-horizontal {
    display: none;
  }
  .branch-container {
    flex-direction: row;
    width: auto;
    margin: 20px 0;
  }
  .branch-step {
    margin: 0 15px;
  }
  .step.decision {
    top: 0px;
  }
  .step.final {
    top: 5px;
  }

  .pg-container {
    padding: 20px 15px;
  }
  .pg-table {
    display: block;
    overflow-x: auto; /* 내용이 넘치면 스크롤바 생성 */
    white-space: nowrap; /* 내용이 줄바꿈 되지 않도록 */
  }
  .pg-table thead th,
  .pg-table tbody td {
    padding: 12px 10px;
  }

  /*공시지정자*/
  .disc-table {
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
  }
  .disc-table th,
  td {
    padding: 8px;
    font-size: 0.87em;
  }
  .disclosure-info p {
    margin: 5px 0;
    color: #666;
    font-size: 0.9em;
  }
}

@media screen and (max-width: 668px) {
  #contents {
    max-width: 400px;
  }

  .notice {
    margin: 30px 30px 55px 0;
  }

  .n_date {
    width: 13%;
    margin: -5px 15px 0 12px;
  }

  .search {
    position: relative;
    top: 0;
    right: 0;
    margin-bottom: 20px;
  }

  .input_search {
    width: 100%;
    height: 50px;
    font-size: 15px;
  }

  .search_bt {
    position: absolute;
    top: 14px;
    right: 30px;
  }

  .c_des {
    font-size: 14px;
  }

  .no_des {
    font-size: 14px;
  }
}
@media (max-width: 600px) {
  .doc-section {
    flex: 1 1 100%;
  }
}
@media screen and (max-width: 480px) {
  #contents {
    max-width: 390px;
  }

  .notice {
    margin: 30px 30px 45px 0;
  }

  .n_date {
    width: 19%;
    margin: -5px 15px 0 12px;
  }

  .n_txt {
    width: 70%;
  }

  .list_01 th {
    width: 260px;
    font-size: 14px;
    padding: 15px 0 15px 6px;
  }

  .list_01 td {
    font-size: 15px;
  }

  #wrap {
    padding-bottom: 166px;
  }

  .list_02 th {
    width: 200px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    padding: 25px 25px 25px 0;
  }

  .notice2 td {
    padding: 20px 20px 20px 0;
    font-size: 13px;
  }

  .notice2 .n_tit {
    font-size: 14px;
  }

  .file img {
    width: 17px;
  }

  #footerIn {
    width: 300px;
  }

  .finfo {
    font-size: 12px;
  }
}
