@media screen and (max-width: 1680px) {
  /* 메인 */
  .main-visual .bg .obj { max-width: 130%; }
}

@media screen and (max-width: 1280px) {
  /* 메인 */
  .main-visual .sub-tit { width: 44%; min-width: 345px; margin-bottom: 1rem; }
  .main-visual .tit { width: 64%; min-width: 500px; }
  .main-visual .info-wrap { margin-top: 3rem; }
  .main-visual .info-wrap dl { font-size: 1.5rem; }
  .main-visual .btn-action { margin-top: 3rem; }
  .main-visual .bg .obj-d { max-height: 110%; right: auto; left: 50%; top: 60%; transform: translate(-40%, -52%); }

  /* 서브 공통 */
  .pg-tit { font-size: 2.875rem; }
  .body { min-height: calc(100% - 500px + 9.5rem); padding: 0 2rem 5.25rem; margin-top: -9.5rem; }
  .body .bg { height: calc(100% - 9.5rem); top: 9.5rem; }
  .container { padding: 4rem 2rem 4.75rem; }
  .con-tit { font-size: 2.125rem; margin-bottom: 4.5rem;}
}

@media screen and (max-width: 1024px) {
  /* 관리자페이지 */
  .admin-con .con-top { display: block; margin-bottom: 0.5rem; }
  .tab-list { justify-content: center; }
  .mail-menu { justify-content: flex-end; margin-top: 2rem; }
  .mail-btn { font-size: 0.875rem; line-height: 34px; height: 34px; width: 96px; }
  .board .con-mid { display: block; margin-top: 1rem; }
  .board .btn-action { font-size: 0.875rem; line-height: normal; width: auto; height: auto; padding: 0.5rem 1rem; }
  .inquiry { width: 100%; }
  .inquiry input[type=search] { flex: 1; max-width: none; }
  .board .con-mid .btn-group { margin-top: 2.5rem; }
}

@media screen and (max-width: 768px) {
  /* 공통 */
  .btn-util { font-size: 1rem; }

  /* 헤더 */
  .header { height: 80px; }
  .header .logo { width: 140px; }
  .header .btn-link { font-size: 1.125rem; }
  .header .menu-list { background-color: rgba(225, 225, 225, 0.5); backdrop-filter: blur(4px); border-radius: 5px; column-gap: 1rem; width: 13rem; position: absolute; right: 0; top: 35px; max-height: 0px; overflow: hidden; transition: max-height 0.4s ease-in-out; }
  .header .menu-list .btn-link { color: #000; }
  .header .menu-list .btn-link:hover { color: rgba(0, 0, 0, 0.5); }
  .btn-menu { display: block; }
  .header .menu.on .menu-list { max-height: 42px; }

  /* 메인 */
  .main-visual { align-items: flex-start; padding-top: 80px; }
  .main-visual .content { text-align: center; margin-top: 14%; }
  .main-visual .sub-tit { /* max-width: 364px; width: 76%; */ min-width: auto; margin-left: auto; margin-right: auto; }
  .main-visual .tit { /* max-width: 486px; width: 100%; */ min-width: auto; margin: 0 auto; }
  .main-visual .info-wrap { display: inline-block; margin-left: auto; margin-right: auto; }
  .main-visual .info-wrap dl { grid-template-columns: 48px 1fr; font-size: 1.25rem; }
  .main-visual .info-wrap dl:not(:first-child) { margin-top: 0.75rem; }
  .main-visual .info-wrap dt { position: relative; }
  .main-visual .info-wrap dt:before { background-color: rgba(255, 255, 255, 0.3); border-radius: 25px; width: 160%; height: 32px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
  .main-visual .info-wrap dd { text-align: left; }
  .main-visual .btn-action { display: block; max-width: 191px; margin-left: auto; margin-right: auto; }
  .main-visual .bg .obj-d { display: none; }
  .main-visual .bg .obj-m { display: block; }

  /* 서브 공통 */
  .top-visual { height: 375px; padding-top: 80px; }
  .top-visual .bg { background-position: right -150px center; background-size: auto 100%; }
  .pg-tit { font-size: 2.25rem; margin-top: 4.625rem; }
  .body { min-height: calc(100% - 375px + 6.5rem); margin-top: -6.5rem; }
  .body .bg { height: calc(100% - 6.5rem); top: 6.5rem; }
  .container { padding: 3rem 1.5rem 3.75rem; }
  .con-tit { font-size: 2rem; margin-bottom: 3rem; }

  .alert-txt { font-size: 1.375rem; }
  .modal .btn-action { font-size: 1.125rem; min-width: 170px; }
  .modal .btn-group .btn-action { min-width: 140px; }

  /* 참가 등록 폼 */
  input.ip-txt, input.ip-pw, input.ip-tel, input.ip-email, input.ip-num, select.ip-select { font-size: 1rem; padding: 0.5rem 1rem; }
  input.ip-rd { width: 1rem; height: 1rem; }
  select.ip-select { background-size: 11px 9px; }

  .form-block { font-size: 0.875rem; }
  .form-block .btn-action { font-size: 1.125rem; max-width: 170px; }
  .fs-common, .fs-poster, .form-group:not(:first-child) { margin-top: 1.5rem; }
  .form-elements.rd-group label:not(:last-child) { margin-right: 1.25rem; }
  .form-note { font-size: 0.875rem; }
  .form-note.notice { font-size: 0.7rem; margin-top: 0.5rem; }
  .form-elements.email-elems { column-gap: 0.5rem; }
  .form-elements.email-elems .display-layer { font-size: 1rem; }

  .file-guide__tit { font-size: 1rem; }
  .file-guide__item { font-size: 0.875rem; }
  .link-download { font-size: 0.875rem; }
  .file-notice { column-gap: 0.75rem; padding: 1.35rem 1rem 1.35rem 1.5rem; }
  .poster-group { margin-top: 1.5rem; }

  /* 관리자페이지 */
  .header--admin { padding: 2rem 4.2vw; overflow: hidden; }
  .header--admin .logo { column-gap: 1rem; }
  .header--admin .logo a { width: 140px; }
  .header--admin .logo span { font-size: 1.125rem; }
  .header--admin .logo span:before {     transform: translate(-0.5rem, calc(-50% + 0.1rem)); }
  .header--admin .btn-auth { flex-shrink: 0; padding: 8px 16px; }

  .board { padding-left: 1.5rem; padding-right: 1.5rem; }
  .board .con-tit { display: block; text-align: left; }
  .board-title { font-size: 1.75rem; }
  .tab-list { justify-content: center; column-gap: 0.5rem; }
  .tab-btn { background: none; color: #000; font-size: 1.25rem; font-weight: 700; position: relative; padding: 0.25rem; }
  .tab-btn.active { background: none; color: #5367cc; }
  .tab-btn.active:after { content: ''; background-color: #5367cc; display: block; width: 100%; height: 1px; position: absolute; left: 0; bottom: 0; }
  .mail-btn { line-height: initial; width: auto; height: auto; padding: 0.5rem; }

  .inquiry { flex-wrap: wrap; justify-content: center; row-gap: 0.5rem; }
  .inquiry input[type=search], .inquiry select { font-size: 0.875rem; }
  .inquiry input[type=search] { width: calc(100% - 5.625rem); flex: auto; }
  .inquiry select { max-width: 195px; width: calc(100% - 5.625rem); }

  .tbl-wrap { margin-top: 0.5rem; }
  .tbl-wrap table { font-size: 0.875rem; }
}

@media screen and (max-width: 480px) {
  /* 메인 */
  .main-visual .info-wrap dl { column-gap: 1.5rem; font-size: 1.125rem; }
  .main-visual .info-wrap dl:not(:first-child) { margin-top: 0.75rem; }
  .main-visual .info-wrap dt:before { width: 140%; height: 28px; }
  .main-visual .btn-action { font-size: 1.125rem; max-width: 158px; padding: 0.1rem 2rem; }

  /* 서브 공통 */
  .top-visual { height: 300px; }
  .pg-tit { font-size: 1.875rem; margin-top: 4rem; }
  .body { min-height: calc(100% - 375px + 4.5rem); padding: 0 2rem 3.25rem; margin-top: -4.5rem; }
  .body .bg { height: calc(100% - 4.5rem); top: 4.5rem; }
  .container { padding: 2.5rem 1.5rem 3.25rem; }
  .con-tit { font-size: 1.75rem; }

  .modal .btn-group { display: block; width: 100%; }
  .modal .btn-group .btn-action { display: block; line-height: 2; min-width: auto; max-width: 160px; width: 100%; margin: 0 auto; }
  .modal .btn-group .btn-modification { margin-top: 0.5rem; }

  /* 참가 등록 폼 */
  input.ip-txt, input.ip-pw, input.ip-tel, input.ip-email, input.ip-num, select.ip-select { height: 47px; padding: 0.25rem 0.5rem; }

  .form-block .btn-action { max-width: 150px; margin-top: 4.75rem; padding: 0.125rem 1.75rem; }
  .form-group__tit .tip { display: block; }
  .form-elements.rd-group label { margin-bottom: 0.25rem; }
  .form-elements__inner .btn-util { width: 25%; height: 47px; font-size: 0.8rem; }
  .form-note { margin-left: 0.5rem; }
  .form-elements.email-elems .btn-util { width: 25%; height: 47px; font-size: 0.8rem; }

  .file-guide { padding: 1rem; }
  .file-wrap label { height: 47px; line-height: calc(47px - 0.5rem); }
  .file-notice { display: block; margin-top: 1.5rem; padding-left: 1rem; }
  .file-notice .con-left { width: 2.9375rem; height: 2rem; margin-bottom: 0.7rem; }

  /* 관리자페이지 */
  .header--admin { column-gap: 1rem; }
  .header--admin .logo a { max-width: 140px; width: 100%; }
  .header--admin .logo span { font-size: 1rem; }
  .board-title { font-size: 1.5rem; }
  .tab-btn { font-size: 1.125rem; }
  .inquiry input[type=search], .inquiry select { padding: 0 1rem; }
}





/* 251002 */
@media screen and (max-width: 1280px) {
  .main-visual .tit-wrap { max-width: 712px; width: 100%; }
  .main-visual .sub-tit { width: 43.54%; min-width: auto; margin-bottom: 0.75rem; }
  .main-visual .tit { width: 100%; min-width: auto; }
  .main-visual .logo-visual { width: 30.9%; }

  .con-tit + .con-subtext { margin-bottom: 4.5rem; }
}

@media screen and (max-width: 768px) {
  .header .logo { width: 50%; max-width: 180px; min-width: 140px; }
  .header .logo a { display: flex; flex-direction: column; justify-content: center; }
  .header .logo-sub { width: 62.7%; margin-right: 0; }
  .header .logo-main { width: 100%; }
  .header .menu-list { width: auto; padding: 0 1.25rem; }
  .header .btn-link { white-space: nowrap; }

  .main-visual { align-items: center; }
  .main-visual .content { margin-top: 0; }
  .main-visual .sub-tit { margin-bottom: 1.5vw; min-width: 140px; }
  .main-visual .logo-visual { margin-top: 1.5vw; min-width: 100px; }
  .main-visual .info-wrap { margin-top: 3rem; }

  .con-tit + .con-subtext { font-size: 1rem; margin-bottom: 3rem; }
  .con-tit + .con-subtext span { display: block; }


  .header--admin .logo { justify-content: flex-start; }
  .header--admin .logo a { width: auto; max-width: 200px; }
  .header--admin .logo-sub { width: 60%; }
  .header--admin .logo span { margin-bottom: 0; }
}

@media screen and (max-width: 480px) {
  .header--admin .logo { display: block; }
  .header--admin .logo span { margin-left: 3.5vw; margin-top: 0.15rem; }
  .header--admin .logo-sub { width: 40%; min-width: 100px; }
}




/* 251013 */
@media screen and (max-width: 768px) {
  .file-notice__con { margin-top: 1.25rem; }
  .file-notice__con__tit { transform: translate(-50%, -50%); }
  .file-notice__con__list { padding: 1.5rem 1.5rem 1rem 2.75rem; margin-top: 0; }
}

@media screen and (max-width: 480px) {
  .file-notice__con { display: block; width: auto; min-width: auto; margin: 1.25rem auto 0; }
  .file-notice__con:not(:last-of-type) { margin-right: auto; }
}