@charset "utf-8";

/* 가로 스크롤 전역 차단 - body에만 적용 (html에 적용하면 sticky 깨짐!) */
body {
  overflow-x: hidden;
  max-width: 100%;
}

/* 1360px 이하 미디어쿼리 시작 */
@media screen and (max-width: 1360px) {
  body {
    overflow-x: hidden;
    max-width: 100%;
  }
  .top {
    height: 100vh;
    height: 100dvh;
  }
  .bg {
    position: absolute;
    top: 10%;
    left: 50%;
    width: 1200px;
    height: 686px;
    translate: -50% 0;
  }
  .yayoi {
    position: absolute;
    top: 10vh;
    width: 243px;
    left: 50%;
    translate: -50% 0;
    z-index: 1;
  }

  .inbox {
    padding: 0 2vw;
  }
  .contact-area h2 {
    padding: 1vw 0 1vw 0;
  }
}
/* 1360px 이하 미디어쿼리 종료 */

/* 1200px 이하 미디어쿼리 시작 */
@media screen and (max-width: 1200px) {
  body {
    overflow-x: hidden;
    max-width: 100%;
  }

  html {
    font-size: 9px;
  }

  .center-box {
    width: 1200px;
  }

  .yayoi {
    width: 210px;
    top: 12vh;
  }
  .bg {
    width: 1000px;
  }
  .scroll-inbox {
    top: 80%;
  }

  .desc-box {
    width: 480px;
    border: 0.2vw solid rgb(0, 0, 0);
    height: 4vw;
    border-radius: 0.8vw;
  }

  .details-box {
    height: 136px;
  }
  .big {
    right: -594px;
  }
  .middle {
    right: -488px;
  }
  .small {
    right: 57px;
    top: -277px;
    width: 132px;
  }
  .bottom-area {
    max-width: 1200px;
  }
}
/* 1200px 이하 미디어쿼리 종료 */

/* 1024px 이하 미디어쿼리 시작 */
@media screen and (max-width: 1024px) {
  body {
    overflow-x: hidden;
    max-width: 100%;
  }

  html {
    font-size: 8px;
  }

  .center-box {
    justify-content: center !important;
    width: 1024px;
  }

  .circle {
    background: url(../images/연결1024.png) no-repeat center top / cover;
    height: 95px;
    top: 30px;
    width: 1024px;
  }

  .contact-area {
    height: 1045px;
    padding: 1vw calc(100% / 12) 1vw;
  }
  .contact-area h2 {
    padding: 0vw 0 1vw 0;
  }
  .circle2 {
    background: url(../images/연결1024.png) no-repeat center top / cover;
    height: 95px;
    width: 1024px;
  }
  .desc-box {
    width: auto;
    margin: 0 20px;
  }
  .big {
    position: absolute;
    top: 9px;
    left: 48%;
    translate: -50% 0;
  }
  .small {
    position: absolute;
    top: -145px;
    right: -63px;
    margin-right: 20px;
  }
  .middle {
    position: absolute;
    top: 250px;
    left: 75%;
    translate: -50% 0;
  }
}
/* 1024px 이하 미디어쿼리 종료 */

/* 800px 이하 미디어쿼리 시작 */
@media screen and (max-width: 800px) {
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  * {
    box-sizing: border-box;
  }

  #spart-menu {
    width: 100%;
    left: 0 !important;
    translate: none;
  }

  .top {
    height: auto;
  }

  .inbox {
    padding: 0;
  }

  .menu-group {
    height: 100%;
    display: flex;
    flex-direction: column;
    background-color: white;
    justify-content: flex-start;
    align-items: flex-start;
    box-sizing: border-box;
  }

  .center-box {
    width: 100%;
    max-width: 100%;
    position: relative;
    box-sizing: border-box;
  }
  body.menu-open {
    overflow: hidden;
    height: 100vh;
  }
  .menu-box {
    display: block;
    position: fixed;
    z-index: 1;
    top: 94px;
    height: 100vh;
    background-color: #fff;
    padding-right: 0;
    transition: left 0.5s ease-in-out;
  }
  .menubtn-group {
    display: block;
  }
  #top-area.on .menu-box {
    left: 0;
  }

  .gnb-menu ul {
    flex-direction: column;
    font-size: 2.5vh;
    margin: 0;
    padding: 0;
  }

  nav.gnb-menu {
    width: 100%;
  }
  .sub {
    display: flex;
    width: 100%;
  }
  .gnb-menu i {
    float: right;
  }
  .sub2 {
    position: absolute;
    width: 40%;
    text-align: left;
    right: calc(100% / 12);
  }
  .sub2 > div {
    font-size: 2.5vh;
    position: relative;
  }
  .exhibitionmenu,
  .visitmenu {
    position: relative;
  }

  .fa-chevron-down {
    cursor: pointer;
    transition: transform 0.3s ease;
    margin-left: 8px;
  }
  .fa-chevron-down.active {
    transform: rotate(180deg);
  }

  .gnb-menu ul {
    align-items: flex-start;
    height: auto;
  }
  .gnb-list > li {
    width: 100%;
    border-bottom: 1px solid #000000;
    padding: 3.2rem;
  }
  .gnb-list > li:nth-child(3),
  .gnb-list > li:nth-child(4) {
    padding: 3.2rem 3.2rem calc(2.5vh * 2 + 3.2rem) 3.2rem;
  }
  .gnb-list > li > a {
    color: #000 !important;
    width: 33%;
    margin: 0 0 0 calc(100% / 12);
    text-align: left;
    font-size: 2.5vh !important;
  }
  .two-line > li > a {
    color: #000 !important;
    font-size: 2.5vh !important;
  }
  .sub-menu > li > a {
    color: #000 !important;
  }
  .sub-list {
    display: none;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.3s ease;
  }
  .sub-list.active {
    display: block;
    max-height: 500px;
  }

  .sub-menu {
    position: fixed;
    top: 0;
    z-index: 1;
    height: 100vh;
    width: 50%;
    background-color: #8c4b4b;
    max-height: none;
  }
  .sub-menu.on {
    left: 0;
  }

  .mob {
    display: none !important;
  }

  .sub-list li {
    width: auto;
  }

  /* 모바일용 메인 */
  #col1,
  #col2,
  #col3 {
    display: none !important;
  }

  .mobile-main-list {
    display: flex !important;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    gap: 5px;
  }

  .mobile-main-list .contact,
  .mobile-main-list .img-box,
  .mobile-main-list .main-center {
    width: 100%;
    height: auto;
  }

  .mobile-main-list .contact img,
  .mobile-main-list .img-box img,
  .mobile-main-list video {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .contact:hover img {
    animation: none !important;
  }

  #maincontent {
    width: 100%;
  }

  .main-center {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  .main-info {
    height: 100%;
    display: block;
  }

  .main-info h4 {
    position: absolute;
    bottom: 15vw;
    left: 50%;
    translate: -50% 0;
    font-size: 1.6rem;
  }

  .main-area {
    display: block;
    margin: -16px auto;
    width: 100%;
  }
  .contact,
  .img-box img {
    aspect-ratio: 1 / 1;
    width: 100%;
  }

  .main-center h1 {
    letter-spacing: 2rem;
  }

  .contact img {
    box-sizing: border-box;
    padding: 0.1vw 0;
    height: 100%;
    animation: none;
  }

  #myvid {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
  }

  /* 배너영역 */
  .yayoi {
    top: -1%;
    scale: 0.7;
  }
  .bg {
    top: -8%;
    scale: 0.7;
  }
  .scroll-inbox {
    top: 85%;
  }

  /* 컨택영역 */
  .contact-area {
    background: url(../images/bg_mb.png) no-repeat center top / cover;
    background-color: #fff;
  }

  .paddingbox {
    padding: 5vw calc(100% / 12) 1vw;
  }
  .contact-area h2 {
    padding: 2vw 0 1vw 0;
  }

  .desc-box {
    width: auto;
    margin: 0 20px;
  }
  .desc-box h4 {
    margin: 0 5px;
  }

  .contact-area > p {
    position: relative;
    z-index: 1;
  }
  .big {
    position: absolute;
    top: 17px;
    left: 44%;
    translate: -50% 0;
  }
  .small {
    position: absolute;
    top: -107px;
    right: -62px;
    top: -128px;
  }
  .middle {
    position: absolute;
    top: 248px;
    left: 76%;
  }

  /* 하단영역 */
  .bottom-info-right {
    justify-content: flex-start;
  }
}
/* 800px 이하 미디어쿼리 종료 */