@media screen and (max-width: 1599px) {
  html {
    --max-width--wide: 1420px;
  }
  /* sub */
  .layer-inner {
    width: 90%;
  }
  /* header & footer */
  .header > .inner {
    padding: 25px;
  }
  .header-textwrap {
    padding-left: 25px;
  }
  .header-title1 {
    font-size: 18px;
  }
  .header-title2 {
    font-size: 20px;
  }
}

@media screen and (max-width: 1279px) {
  /* main */
  .board-list-wrap {
    justify-content: center;
  }
  .board-item {
    width: calc((95% - 25px) / 2);
  }
  .main-qmenu-list {
    padding: 0 20px;
    gap: 50px;
  }
  /* sub */
  .history-content-item:nth-child(odd)::before {
    right: -5.5%;
  }
  .history-content-item:nth-child(even)::before {
    left: -5.5%;
  }
  .layer-inner {
    width: calc(100% - 40px);
  }
  .layer-inner .p-bg-box {
    padding: 5px;
  }
  /* header & footer */
  .hd-logo-wrap {
    height: min(30px, 4vw);
  }
  .hd-gnb .item > .link {
    font-size: 16px;
  }
  .footer > .inner {
    display: grid;
    gap: 30px;
  }
  .ft-logo-wrap {
    grid-column: 1/3;
  }
  .ft-info-wrap {
    grid-column: 1/3;
  }
  .ft-btn-wrap {
    grid-column: 3/4;
  }
}

@media screen and (max-width: 1199px) {
  /* main */
  .contact-list .title1 {
    font-size: 16px;
  }
  .contact-list .title2 {
    font-size: 27px;
  }
  /* sub */
  .sub-visual .subtitle {
    font-size: 45px;
  }
  .board-notice-table .td-view {
    width: 10%;
  }
  [class^="board-view-page-"] {
    grid-template-columns: 6% 82% 10%;
    text-wrap: nowrap;
  }
  /* header & footer */
  body.mobile-open {
    /* 모바일 메뉴 열렸을 때 스크롤 방지 */
    overflow: hidden;
  }
  .header {
    position: relative;
    overflow: hidden;
  }
  .pc-gnb {
    display: none;
  }
  .hd-mnav-btn {
    display: flex;
  }
  .mobile-open .m-nav {
    right: 0;
  }
  .mobile-open .m-nav::before {
    display: block;
  }
  .hd-gnb .item {
    width: 100%;
    padding: 0;
  }
  .hd-gnb .item > .link {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 20px 10px 20px 15px;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .hd-gnb .item > .link::after {
    content: "\e313";
    font-family: "Material Symbols Outlined";
    color: var(--color-gray-500);
  }
  .hd-gnb--second {
    position: relative;
    top: unset;
    padding: 0 20px;
  }
  .hd-gnb .item.open .hd-gnb--second {
    height: auto;
    padding: 20px;
    border-bottom: 1px solid var(--color-gray-300);
  }
  .hd-gnb .item-second > .link {
    color: var(--color-gray-500);
    font-size: 16px;
    font-weight: 400;
  }
}

@media screen and (max-width: 800px) {
  /* main */
  .main-navmenu-list {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
  }
  .main-navmenu-item {
    width: 100%;
  }
  .main-navmenu-item > .link {
    padding: 40px 15px;
  }
  .main-navmenu-item .icon {
    width: 60px;
    height: 60px;
  }
  .board-list-wrap {
    flex-direction: column;
  }
  .board-item {
    width: 100%;
    max-width: 100%;
  }
  .main-contact {
    height: auto;
    display: flex;
    flex-direction: column;
  }
  .main-contact-map {
    height: min(270px, 70vw, 25vh);
  }
  .contact-list-wrap {
    flex-direction: column;
  }
  .contact-list,
  .contact-list-wrap,
  .contact-list-info {
    width: 100%;
    box-sizing: border-box;
  }
  .contact-list-wrap {
    padding: 30px;
    gap: 15px;
  }
  .contact-list-info {
    padding: 0 30px 30px;
  }
  /* sub */
  .sub-visual .subtitle {
    font-size: 32px;
  }
  .sub-visual .title {
    font-size: 24px;
  }
  .sub-nav {
    margin: 20px 0;
    border: 0;
  }
  .subnav-dep {
    width: auto;
    flex: 1;
    border-top: 1px solid var(--color-gray-300);
    box-sizing: border-box;
  }
  .subnav--second {
    top: calc(100% - 1px);
  }
  .sub-content-box {
    flex-direction: column;
  }
  .p-img > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .bm0101 .info-wrap {
    flex-direction: column;
  }
  .map-info-list {
    gap: 25px;
  }
  .map-info-item {
    flex-direction: column;
    gap: 10px;
  }
  .traffic {
    flex-direction: column;
    gap: 20px;
  }
  .traffic:not(:last-of-type) {
    margin-bottom: 55px;
  }
  .traffic-title {
    width: 100%;
  }
  .table-wrap {
    overflow-x: scroll;
  }
  .tb1 {
    width: 100vw;
  }
  .board-notice-table {
  }
  .board-notice-table thead,
  .board-notice-table .td-num,
  .board-notice-table .td-view {
    display: none;
  }
  .board-notice-table tr {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 15px;
  }
  .board-notice-table tr td {
    padding: 0;
    text-align: left;
  }
  .board-notice-table .td-subject {
    width: 100%;
    color: var(--color-dark);
    font-weight: 500;
  }
  .board-notice-table .td-date {
    color: var(--color-gray-400);
  }
  [class^="board-view-page-"] {
    grid-template-columns: 10% 75% 20%;
  }
  .board-gallery {
    gap: 20px;
  }
  /* header & footer */
  .ft-logo-wrap,
  .ft-info-wrap,
  .ft-btn-wrap {
    grid-column: 1/4;
  }
  .ft-btn-wrap {
    width: 100%;
    flex-direction: row;
  }
  .ft-btn-wrap .link {
    flex: 1;
    height: 50px;
    line-height: 20px;
  }
}

@media screen and (max-width: 600px) {
  html {
    --max-width: calc(100% - 40px);
  }
  /* main */
  .main-visual-textwrap {
    width: 80%;
    top: 30%;
  }
  .main-visual-textwrap .title {
    font-size: min(32px, 6vw);
  }
  .main-navmenu-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .main-navmenu-item > .link {
    padding: 20px 40px;
  }
  .main-qmenu {
    padding: 30px 0 40px;
  }
  .main-qmenu-list {
    margin-top: 30px;
    gap: 30px;
  }
  .main-qmenu-item .icon {
    width: 60px;
    height: 60px;
    background-size: 36px;
  }
  .main-qmenu-item .text {
    font-size: 16px;
  }
  /* sub */
  .history-content-item .sub {
    max-width: 85%;
  }
  .history-content-item:nth-child(odd)::before {
    right: -7%;
  }
  .history-content-item:nth-child(even)::before {
    left: -7%;
  }
  .bm0101 .info-wrap {
    align-items: center;
  }
  .bm0101 .info-text .name,
  .bm0101 .info {
    text-align: center;
  }
  .bm0101 .pf-item .btn-wrap {
    justify-content: center;
    margin-top: 20px;
  }
  .cm03 .p-bg-box a {
    cursor: default;
  }
  .cm03 .layer-wrap {
    display: none !important;
  }
  .board-notice-table .td-date {
    width: 100%;
  }
  [class^="board-view-page-"] {
    padding: 15px;
    grid-template-columns: 10% 65% 20%;
  }
  .board-view-pagination .link {
    max-width: 90%;
  }
  .board-gallery {
    grid-template-columns: repeat(2, 1fr);
  }
  /* header & footer */
}

@media screen and (max-width: 430px) {
  .layer-inner {
    width: calc(100% - 15px);
  }
  /* main */
  .main-navmenu-item .text {
    font-size: 17px;
  }
  .board-title {
    font-size: 20px;
  }
  .board-content-item .link {
    font-size: 16px;
  }
  .board-btn .link::after {
    font-size: 20px;
  }
  /* sub */
  .sub-nav {
    display: none;
  }
  .con-p,
  .am0101 .con-p {
    font-size: 16px;
  }
  .am0101 img {
    float: none;
    margin-bottom: 30px;
  }
  .history-content::before {
    left: 0;
  }
  .history-content-item {
    width: 100%;
    padding-left: 20px;
  }
  .history-content-item:nth-child(odd)::before,
  .history-content-item:nth-child(even)::before {
    right: unset;
    left: -5px;
  }
  .history-content-item:nth-child(odd) {
    align-items: flex-start;
    text-align: left;
  }
  .history-content-item:nth-child(even) {
    margin-left: 0;
  }
  .traffic-description .item-list {
    gap: 5px;
  }
  .traffic-description [class^="subway"] {
    width: 18px;
    height: 18px;
    font-size: 16px;
  }
  .traffic-description [class^="bus"] {
    padding: 1px 6px;
  }
  .search-input {
    flex-direction: column;
  }
  [class^="board-view-page-"] {
    display: flex;
    flex-direction: column;
  }
  .board-view-pagination .link {
    max-width: 100%;
  }
  .board-gallery {
    gap: 15px;
  }
  .gallery-title {
    font-size: 16px;
  }
  .sub-content-box .img-wrap {
    width: 100%;
  }
  .sub-content-box .img-wrap > img {
    object-fit: contain;
  }
  /* header & footer */
  .header > .inner {
    padding: 15px;
  }
  .hd-logo-wrap {
    height: min(26px, 9vw);
  }
  .m-nav {
    right: -100%;
  }
  .mobile-gnb {
    width: min(250px, 65vw);
  }
  .ft-btn-wrap {
    flex-direction: column;
  }
  .ft-btn-wrap .link {
    width: 100%;
  }
}

@media screen and (max-width: 320px) {
  /* main */
  .main-navmenu-item > .link {
    padding: 15px;
  }
  .main-navmenu-item .icon {
    width: 40px;
    height: 40px;
  }
  .main-navmenu-item .text {
    font-size: 16px;
  }
  .board-content-wrap {
    gap: 20px;
  }
  .board-content-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
  .btn-waytocome {
    white-space: nowrap;
  }
  /* sub */
  .bm0101 .pf-item .btn-wrap {
    flex-direction: column;
  }
  .traffic-title {
    font-size: 18px;
  }
  .traffic-description {
    gap: 20px;
  }
  .traffic-description [class^="bus"] {
    width: fit-content;
    display: flex;
  }
  .board-gallery {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .sub-content-box {
    padding: 20px 0;
  }
  /* header & footer */
  .mobile-gnb {
    width: 70vw;
  }
  .copyright {
    font-size: 13px;
  }
}
