@media all and (max-width: 1400px) {

  .notice-controls .notice-btn.notice-prev { left: 1.25rem; }
  .notice-controls .notice-btn.notice-next { right: 1.25rem; }
  .location-info-box .txt-tip {
    align-items: flex-start;
  }
  .location-info-box .txt-tip img {
    padding-top: 5px;
  }
  .location-info-box .txt-tip p {
    white-space: wrap;
  }
}

@media all and (max-width: 1024px) {

  .notice-controls .notice-btn { display: none; }

  .event-summary .inner { flex-direction: column; align-items: stretch; }
  .event-summary .event-info,
  .event-summary .countdown-card { width: 100%; max-width: none;}

  .event-summary { background-size: 30% auto; }
  .about-cards { grid-template-columns: repeat(2, 1fr); }
  .news-list { display: grid; grid-template-columns: repeat(2, 1fr); }
  .news-list li {
    flex: 1;
    max-width: 100%;
  }
  .partners ul { grid-template-columns: repeat(3, 1fr); }
  .subnav-bottom {
    flex-flow: column wrap;
    align-items: flex-start;
    gap: 1.875rem;
  }

  .overview-info-item {
    height: auto;
    gap: 1.25rem;
  }

  .overview-hero-img.type2 {
    padding: 3.75rem 6.375rem;
  }
  .overview-info-grid  {
    grid-template-columns: 1fr
  }
  .overview-info-item .icon {
    display: none;
  }
}

@media all and (max-width: 768px) {
  .main-visual h2 { flex-direction: column; }
  .main-visual h2 img { margin-right: 0; margin-bottom: 6px; }
  .event-summary .venue-info { flex-wrap: wrap; }
  .event-summary .countdown-date { flex-direction: column; align-items: flex-start; }
  .stats li { flex: 1 1 50%; padding: 1.25rem 0;}
  .stats li:not(:first-child)::after {
    height: 100%;
    top: 0;
  }
  .stats li:nth-child(2n+1):not(:first-child)::after { display: none; }
  .stats li:nth-child(n+3) {
    border-top: 1px solid rgba(255, 255, 255, .15);;
  }
  .news-list { grid-template-columns: 1fr; }
  .partners ul { grid-template-columns: repeat(2, 1fr); }
  .notice-swiper,
  .event-summary .countdown-card,
  .about-cards li,
  .news-list .thumb,
  .partners ul li { border-radius: 14px; }

  .event-summary .venue-info .icon-box,
  .about-cards .icon-badge { border-radius: 12px; }
  .about-cards li a {
    height: 100%;
  }
  .event-summary .countdown-date .badge { border-radius: 8px; -webkit-border-radius: 8px; -moz-border-radius: 8px; -ms-border-radius: 8px; -o-border-radius: 8px; }

  .subtop {
    padding-top: 6.25rem;
    height: auto;
  }
  .subnav-bottom {
    padding-bottom: 0;
    border: none;
  }
  .subnav {
    flex-flow: column wrap;
    gap: 0.875rem;
    width: 100%;
  }
  .subnav .dropdown-toggle {
    width: 100%;
  }
  .subnav .dropdown.dropdown-active .dropdown-toggle {
    width: 100%;
  }
  .sub-container {
    padding: 4.5rem 0;
  }
  .sub-title {
    margin-bottom: 3.5rem;
  }

  .overview-hero-img.type2 {
    padding: 3.75rem;
    gap: 2rem;
    justify-content: center;
  }
  .overview-hero-img.type2 .text {
    max-width: 100%;
    width: 100%;
  }
  .overview-event-card {
    gap: 2rem;
  }
  .overview-event-card .text {
    order: 2;
  }
  .overview-event-card .thumb {
    order: 1;
  }
  .session-block-head {
    flex-flow: row wrap;
    justify-content: flex-end;
  }
  .session-block-head h3 {
    width: 100%;
    flex: auto;
  }
  .recruit-list li {
    flex-flow: row wrap;
    gap: 0rem 0.75rem;
  }
  .recruit-list .value {
    flex: auto;
    width: 100%;
  }

  .overview-info-item .logo2 img {
    width: 164px;
  } 
}

@media all and (max-width: 480px) {
  .stats {
    padding:1.25rem 0;
  }
  .stats li { flex: 1 1 100%; }
  .stats li::after { display: none !important; }
  .stats li:nth-child(n+2) {
    border-top: 1px solid rgba(255, 255, 255, .15);;
  }
  .about-cards { grid-template-columns: 1fr; }
  .partners ul { grid-template-columns: 1fr; }
  .location-wrap .location-btn-wrap a {
    width: 100%;
  }
}

@media all and (max-width: 350px) {
  .event-summary .countdown-timer { flex-wrap: wrap; row-gap: 0.75rem; }
  .event-summary .countdown-timer li { flex: 1 1 45%; }
}


@media all and (max-width: 1024px) {
  .field-grid { grid-template-columns: repeat(2, 1fr); gap: 1.125rem 1.25rem; }
}

@media all and (max-width: 768px) {
  /* 표는 레이아웃을 풀고 가로 스크롤로 대응 */
  .board-table-wrap { overflow-x: auto; }
  .board-table { table-layout: auto; min-width: 40rem; }
  .board-table th, .board-table td { padding: 0.875rem; font-size: 0.875rem; }
  .board-table .event-name { font-size: 0.9375rem; }
  .board-table .pay-date, .pay-date-cell { font-size: 0.75rem; }

  .status-badge { padding: 0.3125rem 0.75rem; font-size: 0.75rem; }

  .doc-cell .doc-btn-group,
  .doc-btn-group { flex-direction: column; align-items: center; gap: 0.375rem; }
  .doc-btn-group .doc-btn { width: 100%; text-align: center; }

  .form-section { margin-bottom: 1.875rem; }
  .form-section .section-head { flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.125rem; }
  .field-grid { grid-template-columns: 1fr; gap: 1rem; }

  .submit-area { flex-direction: column; align-items: stretch; }
  .submit-area .submit-btn,
  .submit-area .doc-btn { width: 100%; text-align: center; }
}

@media all and (max-width: 480px) {
  .sub-title h2 { font-size: var(--size28); }
  .board-table th, .board-table td { padding: 0.75rem 0.625rem; font-size: 0.8125rem; }
  .field label { font-size: 0.75rem; }
  .field input[readonly], .field textarea[readonly] { font-size: 0.875rem; padding: 0.625rem 0.875rem; }
  .status-badge { padding: 0.25rem 0.625rem; font-size: 0.6875rem; }
}


@media all and (max-width: 768px){
.purpose-list li{ flex-direction: column; align-items: flex-start; padding: 1.25rem; gap: 0.875rem; }
.purpose-list .num{ width: 2.75rem; height: 2.75rem; font-size: var(--size16); }
.host-box{ padding: 2rem 1.5rem; }
.host-logo img{ max-height: 1.875rem; }
.purpose-desc {
  width: 100%;
}
}