.mg.top-0 {
  margin-top: 0px !important;
}
.mg.bottom-0 {
  margin-bottom: 0px !important;
}
.mg.top-5 {
  margin-top: 5px !important;
}
.mg.bottom-5 {
  margin-bottom: 5px !important;
}
.mg.top-10 {
  margin-top: 10px !important;
}
.mg.bottom-10 {
  margin-bottom: 10px !important;
}
.mg.top-15 {
  margin-top: 15px !important;
}
.mg.bottom-15 {
  margin-bottom: 15px !important;
}
.mg.top-20 {
  margin-top: 20px !important;
}
.mg.bottom-20 {
  margin-bottom: 20px !important;
}
.mg.top-25 {
  margin-top: 25px !important;
}
.mg.bottom-25 {
  margin-bottom: 25px !important;
}
.mg.top-30 {
  margin-top: 30px !important;
}
.mg.bottom-30 {
  margin-bottom: 30px !important;
}
.mg.top-35 {
  margin-top: 35px !important;
}
.mg.bottom-35 {
  margin-bottom: 35px !important;
}
.mg.top-40 {
  margin-top: 40px !important;
}
.mg.bottom-40 {
  margin-bottom: 40px !important;
}
.mg.top-45 {
  margin-top: 45px !important;
}
.mg.bottom-45 {
  margin-bottom: 45px !important;
}
.mg.top-50 {
  margin-top: 50px !important;
}
.mg.bottom-50 {
  margin-bottom: 50px !important;
}
.mg.top-55 {
  margin-top: 55px !important;
}
.mg.bottom-55 {
  margin-bottom: 55px !important;
}
.mg.top-60 {
  margin-top: 60px !important;
}
.mg.bottom-60 {
  margin-bottom: 60px !important;
}
.mg.top-65 {
  margin-top: 65px !important;
}
.mg.bottom-65 {
  margin-bottom: 65px !important;
}
.mg.top-70 {
  margin-top: 70px !important;
}
.mg.bottom-70 {
  margin-bottom: 70px !important;
}
.mg.top-75 {
  margin-top: 75px !important;
}
.mg.bottom-75 {
  margin-bottom: 75px !important;
}
.mg.top-80 {
  margin-top: 80px !important;
}
.mg.bottom-80 {
  margin-bottom: 80px !important;
}
.mg.top-85 {
  margin-top: 85px !important;
}
.mg.bottom-85 {
  margin-bottom: 85px !important;
}
.mg.top-90 {
  margin-top: 90px !important;
}
.mg.bottom-90 {
  margin-bottom: 90px !important;
}
.mg.top-95 {
  margin-top: 95px !important;
}
.mg.bottom-95 {
  margin-bottom: 95px !important;
}
.mg.top-100 {
  margin-top: 100px !important;
}
.mg.bottom-100 {
  margin-bottom: 100px !important;
}
.mg.top-105 {
  margin-top: 105px !important;
}
.mg.bottom-105 {
  margin-bottom: 105px !important;
}
.mg.top-110 {
  margin-top: 110px !important;
}
.mg.bottom-110 {
  margin-bottom: 110px !important;
}
.mg.top-115 {
  margin-top: 115px !important;
}
.mg.bottom-115 {
  margin-bottom: 115px !important;
}
.mg.top-120 {
  margin-top: 120px !important;
}
.mg.bottom-120 {
  margin-bottom: 120px !important;
}
.mg.top-125 {
  margin-top: 125px !important;
}
.mg.bottom-125 {
  margin-bottom: 125px !important;
}
.mg.top-130 {
  margin-top: 130px !important;
}
.mg.bottom-130 {
  margin-bottom: 130px !important;
}
.mg.top-135 {
  margin-top: 135px !important;
}
.mg.bottom-135 {
  margin-bottom: 135px !important;
}

@keyframes motion {
  0% {
    margin-top: 0px;
  }
  100% {
    margin-top: 0.9375rem;
  }
}
@keyframes change-img-anim {
  0% {
    opacity: 0;
    transform: scale(1.12);
  }
  100% {
    opacity: 1;
    transform: scale(1.12);
  }
}
@keyframes change-img-anim2 {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* Bootstrap Transition */
.fade {
  transition: opacity 0.15s linear;
}
.fade:not(.show) {
  opacity: 0;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1100;
  display: none;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: 0;
}
.modal .modal-dialog {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease-out;
  transform: translate(0, 50px);
  pointer-events: none;
}
.modal .modal-dialog .btn-close {
  margin-left: auto;
}
.modal.show .modal-dialog {
  transform: none;
}
.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100vh;
  background-color: #000;
  opacity: 0;
}
.modal-backdrop.show {
  opacity: 0.5;
}
.modal-backdrop + .modal-backdrop {
  z-index: 2000;
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 280px;
  max-width: calc(100% - 40px);
  max-height: 100%;
  background-color: #fff;
  pointer-events: auto;
  transition: all 0.2s ease;
}
.modal-content .modal-header {
  flex: none;
}
.modal-content .modal-header .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  height: 48px;
  padding: 0;
}
.modal-content .modal-header .btn-close .icn-modal-close {
  display: block;
  width: 100%;
  height: 100%;
  background: no-repeat center center/contain;
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='24' cy='24' r='24' fill='black'/%3E%3Cpath d='M29 19L19 29M19 19L29 29' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-content .modal-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  flex-basis: auto;
  overflow: hidden;
}
.modal-content .modal-body .modal-inner {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  flex-basis: auto;
  overflow: auto;
}
.modal-content .modal-body .modal-inner::-webkit-scrollbar {
  width: 8px;
  height: 8px;
  background-color: transparent;
}
.modal-content .modal-body .modal-inner::-webkit-scrollbar-track {
  background-color: transparent;
  border-radius: 5px;
}
.modal-content .modal-body .modal-inner::-webkit-scrollbar-thumb {
  background-color: #E6E6E6;
  border-radius: 5px;
  transition: all 0.2s ease;
}
.modal-content .modal-body .modal-inner::-webkit-scrollbar-thumb:hover {
  background-color: #ccc;
}
.modal-content .modal-body .tab-style1,
.modal-content .modal-body .tab-style2 {
  top: 0;
}
.modal-content .modal-footer {
  display: flex;
  flex: none;
}

.modal-full .modal-dialog {
  transform: translate(0, 50px);
  padding: 1.875rem 3.75rem;
}
.modal-full .modal-content {
  width: 100%;
  max-width: 1160px;
  max-height: 100%;
  background: no-repeat right top;
  background-image: url("data:image/svg+xml,%3Csvg width='1160' height='961' viewBox='0 0 1160 961' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 937V24C0 10.7452 10.7451 0 24 0H1076C1089.25 0 1100 10.7452 1100 24C1100 43.8822 1116.12 60 1136 60C1149.25 60 1160 70.7452 1160 84V937C1160 950.255 1149.25 961 1136 961H24C10.7452 961 0 950.255 0 937Z' fill='white'/%3E%3C/svg%3E%0A");
  background-color: transparent;
  border-radius: 20px;
  overflow: hidden;
}
.modal-full .modal-body {
  padding: 3.75rem 1rem 3.75rem 3.75rem;
}
.modal-full .modal-body .modal-inner {
  padding-right: 2.125rem;
}

.modal-board-page {
  padding-top: 3.75rem !important;
}
.modal-board-page .modal-header {
  flex: none;
  padding-left: 3.75rem;
}
.modal-board-page .modal-header .btn-back {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.75rem;
  color: #000;
}
.modal-board-page .modal-header .btn-back .icn-modal-back {
  display: block;
  width: 2rem;
  height: 2rem;
  background: no-repeat center center/contain;
  background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='15.5' transform='rotate(180 16 16)' fill='white' stroke='%23CDCDCD'/%3E%3Cpath d='M21.332 16L10.6654 16M10.6654 16L14.6654 20M10.6654 16L14.6654 12' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-board-page .modal-body {
  padding-top: 2.5rem;
}
.modal-board-page .modal-footer {
  padding: 0 3.75rem 3.75rem 3.75rem;
}
.modal-board-page .modal-footer .pagination {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-board-page .modal-footer .pagination .btn-num,
.modal-board-page .modal-footer .pagination .btn-page {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
}
.modal-board-page .modal-footer .pagination .prev-single + .btn-num {
  margin-left: 1rem;
}
.modal-board-page .modal-footer .pagination .btn-num + .btn-num {
  margin-left: 0.125rem;
}
.modal-board-page .modal-footer .pagination .btn-num + .next-single {
  margin-left: 1rem;
}
.modal-board-page .modal-footer .pagination .btn-page {
  background: no-repeat center center;
}
.modal-board-page .modal-footer .pagination .btn-page.next-double {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 29L23 24L18 19M25 29L30 24L25 19' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-board-page .modal-footer .pagination .btn-page.next-single {
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 30L27 24L21 18' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-board-page .modal-footer .pagination .btn-page.prev-single {
  transform: scaleX(-1);
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21 30L27 24L21 18' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-board-page .modal-footer .pagination .btn-page.prev-double {
  transform: scaleX(-1);
  background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 29L23 24L18 19M25 29L30 24L25 19' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.modal-board-page .modal-footer .pagination .btn-page:disabled {
  opacity: 0.25;
}
.modal-board-page .modal-footer .pagination .btn-num {
  font-weight: 400;
  font-size: 1rem;
  color: #000;
}
.modal-board-page .modal-footer .pagination .btn-num[aria-current=page] {
  border-radius: 50%;
  background-color: #E83844;
  color: #fff;
}

.modal-book-page {
  background: none !important;
}
.modal-book-page .modal-header {
  height: 7.4375rem;
  padding: 1.875rem 3.75rem;
  background: url("../../img/main/img_book_header.png") no-repeat top right;
  color: #fff;
}
.modal-book-page .modal-header .modal-title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 120%;
}
.modal-book-page .modal-header .modal-explain {
  margin-top: 0.625rem;
  font-weight: 500;
  font-size: 1.125rem;
  line-height: 1.5rem;
}
.modal-book-page .modal-body {
  padding-top: 1.5rem;
  background-color: #fff;
}

.modal-event .only-pc {
  display: block !important;
}
.modal-event .only-mobile {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .modal-event .only-pc {
    display: none !important;
  }
  .modal-event .only-mobile {
    display: block !important;
  }
}
.modal-event .modal-content {
  background-color: transparent;
}
.modal-event .modal-content .event-bnr a {
  display: block;
}
.modal-event .modal-content .btn-close {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: 2.5rem;
  height: 2.5rem;
  background: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M34.1415 8.21483L8.21424 34.1421C7.90168 34.4546 7.47777 34.6302 7.03574 34.6302C6.59371 34.6302 6.16978 34.4546 5.85722 34.1421C5.54466 33.8295 5.36908 33.4056 5.36908 32.9636C5.36908 32.5216 5.54466 32.0976 5.85722 31.7851L31.7845 5.85781C32.097 5.54524 32.521 5.36967 32.963 5.36967C33.405 5.36967 33.8289 5.54524 34.1415 5.8578C34.2963 6.01257 34.419 6.19631 34.5028 6.39852C34.5865 6.60073 34.6297 6.81745 34.6297 7.03632C34.6297 7.25519 34.5865 7.47192 34.5028 7.67413C34.419 7.87634 34.2963 8.06006 34.1415 8.21483Z' fill='white'/%3E%3Cpath d='M31.7849 34.142L5.85762 8.21479C5.54506 7.90223 5.36946 7.47832 5.36946 7.03629C5.36946 6.59426 5.54506 6.17033 5.85762 5.85777C6.17018 5.54521 6.59409 5.36963 7.03611 5.36963C7.47814 5.36963 7.90208 5.54521 8.21464 5.85777L34.1419 31.785C34.4544 32.0976 34.63 32.5215 34.63 32.9635C34.63 33.4056 34.4545 33.8295 34.1419 34.142C33.9871 34.2968 33.8034 34.4196 33.6012 34.5033C33.399 34.5871 33.1822 34.6302 32.9634 34.6302C32.7445 34.6302 32.5278 34.5871 32.3256 34.5033C32.1234 34.4196 31.9396 34.2968 31.7849 34.142Z' fill='white'/%3E%3C/svg%3E%0A") no-repeat center center/contain;
}
.modal-event .modal-content .btn-today {
  position: absolute;
  right: 0;
  top: calc(100% + 12px);
  color: #fff;
  font-size: 13px;
  line-height: normal;
  font-weight: 500;
}
.modal-event .modal-content.modal-260708 .event-buttons {
  position: absolute;
  inset: auto 0 0 0;
  width: 100%;
  padding: 0 32px 40px 32px;
  height: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.modal-event .modal-content.modal-260708 .event-buttons a {
  display: flex;
  flex-direction: column;
  position: relative;
  justify-content: center;
  align-items: center;
  padding: 12px;
  gap: 8px;
  font-size: 14px;
  line-height: 18px;
  color: #fff;
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.modal-event .modal-content.modal-260708 .event-buttons a:hover {
  transform: translateY(-8px);
}
.modal-event .modal-content.modal-260708 .event-buttons a .icn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 64px;
  height: 64px;
  background-color: #fff;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .modal-full.fade {
    transition: opacity 0.15s linear;
  }
  .modal-full .modal-dialog {
    transform: none;
    padding: 0;
  }
  .modal-full .modal-content {
    width: 100%;
    height: 100%;
    max-width: 1160px;
    max-height: 100%;
    padding-top: 0;
    background-color: #fff;
    border-radius: 0;
    overflow: hidden;
  }
  .modal-full .modal-header {
    position: relative;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    min-height: 72px;
    padding: 20px;
  }
  .modal-full .modal-header .btn-close {
    position: absolute;
    width: 32px;
    height: 32px;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }
  .modal-full .modal-header .btn-close .icn-modal-close {
    background-image: url("data:image/svg+xml,%3Csvg width='32' height='32' viewBox='0 0 32 32' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22.6654 9.3335L9.33203 22.6668M9.33203 9.3335L22.6654 22.6668' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  }
  .modal-full .modal-body {
    padding: 1.5rem 0rem 1.25rem 1.25rem;
  }
  .modal-full .modal-body .modal-inner {
    padding-right: 1.25rem;
  }
  .modal-full .modal-footer {
    margin: 0;
    padding: 20px;
  }
  .modal-full .modal-footer .btn.module-a {
    width: 100%;
    height: 48px;
    border-radius: 48px;
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
  }
  .modal-full .modal-footer .btn.module-a.outlined-normal {
    border: 1px solid #CDCDCD;
    color: #000;
  }
  .modal-board-page {
    padding-top: 0 !important;
  }
  .modal-board-page .modal-header {
    flex: none;
  }
  .modal-board-page .modal-header .btn-back {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.75rem;
    color: #000;
  }
  .modal-book-page {
    background: none !important;
  }
  .modal-book-page .modal-header {
    height: 7.4375rem;
    padding: 20px;
    background: url("../../img/main/img_book_header.png");
    color: #fff;
  }
  .modal-book-page .modal-header .modal-title {
    width: 100%;
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 100%;
  }
  .modal-book-page .modal-header .btn-close .icn-modal-close {
    background-image: url("data:image/svg+xml,%3Csvg width='48' height='48' viewBox='0 0 48 48' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='24' cy='24' r='24' fill='black'/%3E%3Cpath d='M29 19L19 29M19 19L29 29' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  }
  .modal-book-page .modal-header .modal-explain {
    margin-top: 0.625rem;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  .modal-book-page .modal-body {
    padding-top: 1.5rem;
    background-color: #fff;
  }
  .modal-event .modal-content .event-bnr {
    width: 100%;
    max-width: 26.25rem;
  }
}
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.65);
}

/* -------------- Modal Event ---------------- */
/* Modal Event 260708 */
.modal-event .modal-content.modal-260708 .event-buttons {
  height: 76.5%;
  padding: 24px 12px 24px 12px;
  grid-template-columns: repeat(3, 1fr);
}
.modal-event .modal-content.modal-260708 .event-buttons a {
  font-size: 16px;
  line-height: 20px;
}
.modal-event .modal-content.modal-260708 .event-buttons a .icn {
  width: 90%;
  height: auto;
  aspect-ratio: 1/1;
}

/* Modal Event 260831 */
.modal-event .modal-content.modal-260831 .event-bnr {
  position: relative;
}
.modal-event .modal-content.modal-260831 .btn-close {
  bottom: calc(100% - 24px);
}
.modal-event .modal-content.modal-260831 .event-bnr .link-map {
  --dev-opacity: 0; 
  display: grid;
  position: absolute;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.8%;
  top: 36.4%;
  left: 4.5%;
  width: 90.6%;
  height: 57%;
  background-color: rgba(255, 0, 0, var(--dev-opacity));
}
.modal-event .modal-content.modal-260831 .event-bnr .link-map a {
  background-color: rgba(0, 0, 0, var(--dev-opacity));
}
@media screen and (max-width: 767px) {
  .modal-event .modal-content.modal-260831 .btn-close {
    bottom: calc(100% + 12px);
  }
  .modal-event .modal-content.modal-260831 .event-bnr .link-map {
    grid-template-columns: repeat(2, 1fr);
    gap: 4% 10%;
    top: 26%;
    left: 7.5%;
    width: 84.3%;
    height: 70%;
    justify-content: flex-end;
  }
  .modal-event .modal-content.modal-260831 .event-bnr .link-map a:nth-child(3) {
    grid-column: 2; 
  }
}