:root {
    --main-color: #2CB5A9;
    --yellow-color: #F4CE2E;  
    --bg-color: #F9F9F9;
    --black-color: #2A2A2A;
    --sub-txt-color-01: #555555;
    --sub-txt-color-02: #777777;
    --sub-txt-color-03: #999999;
    --border-color: #D9D9D9;
    --red-color: #EA4335;
}
* {
  box-sizing: border-box;
  /*
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  */
  -webkit-tap-highlight-color : transparent;
}
*::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
*::-webkit-scrollbar-thumb {
  height: 10%;
  background: var(--main-color);
  border-radius: 10px;
}
*::-webkit-scrollbar-track {
  background: rgba(33, 122, 244, .1);
}
html {
  scroll-behavior : smooth;
}
body {
  font-family: "Pretendard", "Open Sans";
  overflow: hidden;
  overflow-y: auto;
}

a, button {
    cursor: pointer !important;
}

/*popup*/
.popup {
    overflow: hidden;
    border-radius: 6px;
    box-shadow: 0 12px 12px rgba(0, 0, 0, 0.1);
}
.popup .popup-img {
    width: 100%;
    max-width: 600px;
    background-color:#fff
}
.popup .popup-img a {
    display: block;
}
.popup .popup-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    vertical-align: bottom;
}
.popup .popup-btn {
    width: 100%;
    height: 50px;
    background-color: var(--black-color);
    display: flex;
    align-items: center;
}
.popup .popup-btn > div {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.popup .popup-btn > div:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    color: #ccc;
    font-size: 14px;
    font-weight: 400;
}
.popup .popup-btn > div:first-child:hover {
    color: #999;
}
.popup .popup-btn .check_email_bx {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    color: #ccc;
    font-size: 14px;
    font-weight: 400;
}
.popup .popup-btn .check_email_bx:hover {
    color: #999;
}
.popup .popup-btn .check_email_bx input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    display: none;
}
.popup .popup-btn .check_email_bx label {
    cursor: pointer;
}

/*모달*/
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 102;
  display: none;
}
.modal .modal-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  box-shadow: 0 0 10px 5px rgba(0, 0, 0, 0.1);
  width: 100%;
  max-width: 500px;
}
.modal.terms .modal-box {
  max-width: 1270px;
}
.modal.culture .modal-box {
    max-width: 900px;
}
.modal.floating-01 .modal-box, .modal.floating-02 .modal-box {
  max-width: 500px;
}
.modal .modal-box .modal-tit-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  background-color: var(--main-color);
}
.modal .modal-box .modal-tit-box span {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
}
.modal .modal-box .modal-tit-box button {
  display: inline-block;
}
.modal .modal-box .modal-tit-box img {
  width: 24px;
  height: 24px;
}
.modal .modal-box .content {
  font-size: 14px;
  font-weight: 300;
  line-height: 1.5;
  height: auto;
  overflow-y: auto;
  padding: 24px;
}
.modal .modal-box .content.terms {
  min-height: 500px;
  max-height: 700px;
}

.modal .modal-box .modal-content {
    padding: 24px;
    display: flex;
    gap: 24px;
}
.modal .modal-box .modal-content .img-box {
    width: 100%;
    max-width: 300px;
    aspect-ratio: 1 / 1.41;
}
.modal .modal-box .modal-content .txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.modal .modal-box .modal-content .txt > .txt-tit {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.3;
    cursor: pointer;
}
.modal .modal-box .modal-content .txt .box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.modal .modal-box .modal-content .txt .box > div {
    display: flex;
    gap: 12px;
}
.modal .modal-box .modal-content .txt .box > div span:first-child {
    display: inline-block;
    color: var(--black-color);
    min-width: 80px;
    white-space: nowrap;
    line-height: 1.3;
}
.modal .modal-box .modal-content .txt .box > div span:nth-child(2) {
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}

/*공통*/
.mt-12 {
    margin-top: 12px;
}
.mt-24 {
    margin-top: 24px;
}
.wrap {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
.sm-wrap {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
.bg-wrap {
    width: 100%;
    background-color: var(--bg-color);
    padding: 130px 0;
}

.top-btn {
    width: 48px;
    height: 48px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.top-btn img {
    width: 20px;
    height: 20px;
}

/*header*/
.header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    transition: .1s ease-in-out;
    background-color: #fff;
}
.header-wrap.hover-on {
    height: 350px;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.header-wrap .tp {
  width: 100%;
  border-bottom: 1px solid var(--border-color);
}
.link {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 36px;
  padding: 12px 0;
}
.link .user-btn {
  display: flex;
  align-items: center;
}
.link .user-btn a {
  display: flex;
  align-items: center;
  font-size: 13px;
  font-weight: 400;
  color: var(--sub-txt-color-02);
}
.link .user-btn a span {
  display: inline-block;
  color: var(--main-color);
}
.link .user-btn a:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 12px;
  background-color: var(--border-color);
  margin: 0 16px;
}

.link .social-btn {
  display: flex;
  align-items: center;
  gap: 16px;
}
.link .social-btn a {
  display: inline-block;
}
.link .social-btn a img {
  width: 18px;
  opacity: .8;
}



.header-wrap .bt {
  width: 100%;
  border-bottom: 1px solid var(--border-color);
}
.header-wrap .bt .gnb-area {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.rt-area {
    display: flex;
    align-items: center;
    gap: 24px;
}
.rt-area .lang-btn {
    display: flex;
    align-items: center;
    gap: 16px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 4px;
    position: relative;
}
.rt-area .lang-btn .lang-list {
    position: absolute;
    top: 100%;
    display: none;
    margin-top: 8px;
}
.rt-area .lang-btn > img {
  width: 12px;
}
.rt-area .lang-btn .lang-sub {
    width: 100%;
}
.rt-area .lang-btn .lang-sub .box {
    display: flex;
    padding: 6px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 4px;
    border: 1px solid var(--border-color);
}
.rt-area .lang-btn .lang-sub .box > span {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: var(--sub-txt-color-01);
}
.rt-area .lang-btn .lang-sub .box:hover > span {
    color: var(--sub-txt-color-02);
}
.rt-area .lang-btn .lang-sub .box > img {
    width: 14px;
    transform: rotate(-90deg);
}
.rt-area .lang-btn > span {
    font-size: 14px;
    font-weight: 700;
    color: var(--black-color);
}

.ham {
    display: none;
}
#ham_btn {
    display: none;
}
#ham_btn + label {
  position: relative;
  display: block;
  width: 40px;
  height: 24px;
  cursor: pointer;
  z-index: 10;
}
#ham_btn + label > span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: var(--black-color);
  border-radius: 5px;
  transition: all 300ms;
}
#ham_btn:checked + label > span:nth-child(1) {
  top: 50%;
  transform: translate(0, -50%);
  transform: rotate(45deg);
}
#ham_btn + label > span:nth-child(2) {
  top: 50%;
  transform: translate(0, -50%);
}
#ham_btn:checked + label > span:nth-child(2) {
  opacity: 0;
}
#ham_btn + label > span:nth-child(3) {
  bottom: 0;
  background-color: var(--main-color) !important;
}
#ham_btn:checked + label > span:nth-child(3) {
  top: 50%;
  transform: translate(0, -50%);
  transform: rotate(-45deg);
}


.logo {
  display: block;
}
.logo img {
  width: 200px;
}


.gnb {
  display: flex;
  align-items: center;
  gap: 80px;
}
.gnb > li {
  position: relative;
}
.gnb > li::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: -1px;
  transform: translateX(-50%);
  width: 0;
  height: 3px;
  background-color: var(--main-color);
  transition: .2s ease-in-out;
}
.gnb > li:hover::after {
    width: 100%;
    transition: .2s ease-in-out;
}
.gnb > li > a {
  display: block;
  padding: 24px 0;
  color: var(--black-color);
}
.header-wrap.hover-on .gnb-sub {
    display: flex;
}
.gnb-sub {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: 24px;
    display: none;
}
.gnb-sub > li > a {
    font-size: 15px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    white-space: nowrap;
}
.header-wrap.hover-on .gnb-sub > li:hover > a {
    color: var(--main-color);
}

/*footer*/
footer {
    margin-top: 150px;
}
.footer-wrap {
    background-color: var(--black-color);
}

.footer-wrap .tp {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.fnb-area {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 80px 0 48px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

.fnb-box {
    display: flex;
    align-items: center;
    gap: 36px;
}

.fnb {
    display: flex;
    align-items: center;
}
.fnb > li > a {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
}
.fnb > li:not(:last-child) > a::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: rgba(255, 255, 255, 0.2);
    margin: 0 16px;
}

.fnb-box .family-link {
    width: 250px;
    height: 50px;
    padding: 0 16px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    cursor: pointer;
}
.fnb-box .family-link img {
    width: 8px;
}
.fnb-box .family-link .family-list {
    width: calc(100% + 2px);
    position: absolute;
    left: -1px;
    bottom: 100%;
    background-color: var(--black-color);
    border: 1px solid rgba(255, 255, 255, 0.2);
    display: none;
}
.fnb-box .family-link .family-list > li {
    padding: 12px 16px;
}
.fnb-box .family-link .family-list > li > a {
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}


.footer-wrap .bt {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 48px 0;
    display: flex;
    justify-content: space-between;
}
.footer-wrap .bt .info-area {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer-wrap .bt .info-area p {
    font-size: 13px;
    font-weight: 400;
    color: #fff;
}
.footer-wrap .bt .rt {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
}
.ft-social {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 24px;
}
.ft-social .social-btn {
    display: flex;
    align-items: center;
    gap: 16px;
}
.ft-social .social-btn a {
    display: inline-block;
}
.ft-social .social-btn a img {
    width: 18px;
    opacity: .8;
}
.ft-social .copy {
    font-size: 13px;
    font-weight: 400;
    color: #fff;
}


/*메인*/
.main-banner {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    margin-top: 135px;
}

.banner-slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.banner-slider .swiper-slide {
    width: 100%;
    height: 100%;
    position: relative;
}
.banner-slider .swiper-slide .img-box {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.banner-slider .swiper-slide .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.banner-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banner-slider .swiper-slide .img-box video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banner-slider .swiper-slide .txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 100px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    z-index: 2;
}
.banner-slider .swiper-slide .txt .txt-hidden {
  overflow: hidden;
}
.banner-slider .swiper-slide .txt .txt-hidden span {
    display: block;
    font-size: 38px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    word-break: keep-all;
}
.banner-slider .swiper-slide .txt .txt-hidden span {
  animation: txt-over 1.5s ease-in-out;
  animation-fill-mode: forwards;
}
.banner-slider .swiper-slide .txt > p {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
}
@keyframes txt-over {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}


.main-banner .content {
    position: absolute;
    bottom: 70px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 48px;
}


/*Scorll Down*/
.scroll-downs {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
}
.scroll-downs p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 300;
}
.mousey {
  width: 2px;
  padding: 2px 6px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: 10px;
  opacity: 0.75;
  box-sizing: content-box;
  margin: 0 auto 8px;
}
.scroller {
  width: 2px;
  height: 6px;
  border-radius: 25%;
  background-color: #fff;
  animation-name: scroll;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(.15,.41,.69,.94);
  animation-iteration-count: infinite;
}
@keyframes scroll {
  0% { opacity: 0; }
  10% { transform: translateY(0); opacity: 1; }
  100% { transform: translateY(10px); opacity: 0;}
}

.control {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0 100px;
}
.control .navigation {
  display: flex;
  align-items: center;
  gap: 12px;
}
.control .navigation > span {
  cursor: pointer;
}
.control .navigation > span img {
  width: 6px;
}
.control .navigation > button img {
  width: 13px;
}
.pager {
    min-width: 46px;
    display: inline-block;
    width: max-content;
    position: relative;
    top: unset;
    left: unset;
    bottom: unset;
    font-size: 14px;
    color: #fff;
}
.swiper-pagination-total {
  color: #ddd;
}
.swiper-progress-bar {
  position: relative;
  width: 100px;
  height: 3px;
  background: rgba(255, 255, 255, 0.3);
  overflow: hidden;
}

.swiper-progress-bar .slide_progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background: var(--main-color);
  transition: width linear;
}
.swiper-button-lock {
  display: block !important;
}



.main-culture {
    padding: 100px 0 130px;
}
.tit-box {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 36px;
}
.tit-box.center {
    justify-content: center;
}
.tit-box a {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--black-color);
    border-radius: 100%;
}
.tit-box a img {
    width: 16px;
    transition: .2s ease-in-out;
}
.tit-box a:hover img {
    transform: rotate(180deg);
    transition: .2s ease-in-out;
}
.main-tit {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.main-tit .lg-tit {
    font-size: 38px;
    font-weight: 400;
    color: var(--black-color);
    line-height: 1.3;
}
.main-tit .lg-tit {
    font-weight: 600;
}
.main-tit .lg-tit span {
    font-weight: 600;
    color: var(--main-color);
}
.main-tit .sm-tit {
    font-size: 16px;
    font-weight: 400;
    color: var(--black-color);
    line-height: 1.3;
    text-align: center;
}


.curture-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 16px;
}
.curture-grid.data {
      grid-template-columns: repeat(3, 1fr);  
}
.curture-grid .item {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
    position: relative;
}
.curture-grid .item.empty {
    grid-column: span 4;
    text-align: center;
    border-top: 1px solid var(--border-color);
    padding: 48px 0;
}
.curture-grid .item.empty::after {
    display: none;
}
.curture-grid .item::after {
    content: "";
    width: 0;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: var(--main-color);
    transition: .2s ease-in-out;
}
.curture-grid .item:hover::after {
    width: 100%;
    transition: .2s ease-in-out;
}

.curture-grid .item .img-box {
    width: 100%;
    aspect-ratio: 1 / 1.41;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid #eee;
    margin-bottom: 16px;
}
.curture-grid.data .item .img-box {
    aspect-ratio: 4 / 3;
    border-radius: 0;
}
.curture-grid.data .item .img-box.book {
    aspect-ratio: 1 / 1.41;
}
.curture-grid .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
.curture-grid .item .category {
    font-size: 14px;
    font-weight: 500;
    color: var(--main-color);
    margin-bottom: 12px;
}
.curture-grid .item .tit {
    font-size: 18px;
    font-weight: 500;
    color: var(--black-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    margin-bottom: 24px;
}
.curture-grid .item .date {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}


.txt-board {
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
}
.txt-board.main {
    display: none;
}
.txt-board.main.on {
    display: block;
}
.txt-board li {
    position: relative;
}
.txt-board li.empty {
    padding: 48px 0;
    text-align: center;
}
.txt-board li:not(:last-child) {
    position: relative;
    border-bottom: 1px solid var(--black-color);
}
.txt-board li::after {
    content: "";
    width: 0;
    height: 1px;
    display: block;
    position: absolute;
    left: 0;
    bottom: -1px;
    background-color: var(--main-color);
    transition: .2s ease-in-out;
}
.txt-board li:hover::after {
    width: 100%;
    transition: .2s ease-in-out;
} 
.txt-board li a {
    display: flex;
    align-items: center;
    gap: 48px;
    padding: 24px;
}
.txt-board li a .hd {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
}
.txt-board li a .hd .num {
    font-size: 24px;
    font-weight: 600;
    color: var(--main-color);
}
.txt-board li a .hd .date {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.txt-board li a .board-tit {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 24px;
}
.txt-board li a .board-tit .cate {
    display: inline-block;
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    color: var(--main-color);
    min-width: 60px;
}
.txt-board li a .board-tit .tit {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.txt-board li a .board-tit img {
    width: 18px;
}
.txt-board li a > img {
    width: 24px;
    transition: .2s ease-in-out;
}
.txt-board li:hover a > img {
    transform: rotate(-45deg);
    transition: .2s ease-in-out;
}


.tab-menu {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}
.tab-menu.center {
    justify-content: center;
    margin-bottom: 60px;
}
.tab-menu.mb-0 {
    margin-bottom: 0;
}
.tab-menu.mt-60 {
    margin-top: 60px;
}
.tab-menu button, .tab-menu a {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
}
.tab-menu button:hover::before, .tab-menu a:hover::before {
    background-color: var(--main-color);
}
.tab-menu button::before, .tab-menu a::before {
    content: "";
    display: inline-block;
    background-color: var(--sub-txt-color-03);
    width: 5px;
    height: 5px;
    border-radius: 100%;
}
.tab-menu button.on, .tab-menu a.on {
    color: var(--black-color);
}
.tab-menu button.on::before, .tab-menu a.on::before {
    background-color: var(--main-color);
}


.main-sns {
    padding: 130px 0;
}

.sns-slider {
  width: 100%;
  padding-bottom: 12px;
  position: relative;
}
.sns-slider .box {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 24px;
}
.sns-slider .box .img-box {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid #eee;
}
.sns-slider .box .img-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: .2s ease-in-out;
}
.sns-slider .box:hover .img-box img {
    scale: 1.1;
    transition: .2s ease-in-out;
}
.sns-slider .box .txt {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.sns-slider .box .txt .cate {
    font-size: 14px;
    font-weight: 500;
    color: var(--main-color);
}
.sns-slider .box .txt .tit {
    font-size: 18px;
    font-weight: 500;
    color: var(--black-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    margin-bottom: 24px;
}

.sns-slider .swiper-scrollbar {
	height: 2px !important;
    background: var(--border-color);
    width: 100%;
    top: unset;
    left: unset;
    bottom: unset;
    right: unset;
}

.sns-slider .swiper-scrollbar-drag {
	height: 2px;
    background: var(--main-color);
}

.sns-empty {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 48px 0;
    text-align: center;
}


.link-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.link-area .item {
    display: block;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
}
.link-area .item .img-box {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.link-area .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .2s ease-in-out;
}
.link-area .item:hover .img-box img {
    scale: 1.1;
    transition: .2s ease-in-out;
}
.link-area .item .txt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background-color: rgba(0, 0, 0, 0.5);
    font-size: 20px;
    font-weight: 500;
    color: #fff;
}
.link-area .item .txt img {
    width: 24px;
    transition: .2s ease-in-out;
}
.link-area .item:hover .txt img {
    transform: rotate(180deg);
    transition: .2s ease-in-out;
}


/*pages*/
.page {
    width: 100%;
    padding-top: 210px;
}
.user-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.user-box .delete-expl {
    background-color: var(--bg-color);
    border-radius: 3px;
    padding: 16px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.user-box .hd {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-bottom: 24px;
}
.user-box .hd img {
    width: 200px;
}
.user-box .hd .txt {
    font-size: 20px;
    font-weight: 500;
    color: var(--black-color);
    text-align: center;
    line-height: 1.3;
    word-break: keep-all;
}
.input-box {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
}
.input-box .box {
    display: flex;
    align-items: center;
    gap: 6px;
}
.input-box .box button {
   width: 120px;
   min-width: 120px;
}
.input-box p {
    font-size: 13px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.input-box p::after {
    content: "*";
    font-size: 14px;
    font-weight: 700;
    color: var(--red-color);
    margin-left: 4px;
}
.input-box p.ns::after {
    display: none;
}
.input-box input[type="text"], .input-box input[type="password"], .input-box input[type="email"] {
    width: 100%;
    height: 50px;
    line-height: 50px;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 400;
    color: var(--black-color);
    border: 1px solid var(--border-color);
    border-radius: 3px;
}
.input-box input[type="text"]:focus, .input-box input[type="password"]:focus, .input-box input[type="email"]:focus {
    border: 1px solid var(--main-color);
}
.input-box input:read-only {
    background-color: #F5F5F5;
}

.find-link {
    text-align: right;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
    margin-bottom: 12px;
}



.sq-btn {
    width: 100%;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 400;
}
.sq-btn.sm-btn {
    max-width: 120px;
}
.mc-btn {
    background-color: var(--main-color);
    color: #fff;
}
.mc-btn:hover {
    opacity: .8;
}
.solid-btn {
    background-color: #fff;
    color: var(--black-color);
    border: 1px solid var(--border-color);
}
.solid-btn:hover {
    background-color: var(--bg-color);
}
.bc-btn {
    background-color: var(--black-color);
    color: #fff;
}
.bc-btn:hover {
    opacity: .8;
}
.register-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 24px 0 36px;
}
.register-btn span {
    display: inline-block;
    font-size: 14px;
    color: var(--sub-txt-color-02);
}
.register-btn a {
    display: inline-block;
    font-size: 14px;
    color: var(--main-color);
    text-decoration: underline;
}

.social-login {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 100%;
}
.social-login > span {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-size: 14px;
    font-weight: 500;
    color: var(--sub-txt-color-02);
    white-space: nowrap;
}
.social-login > span::before, .social-login > span::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: var(--border-color);
}
.social-login .social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}
.social-login .social-link a {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100%;
}
.social-login .social-link a img {
    height: 18px;
}
.social-login .social-link a.naver {
    background-color: #77D54F;
}
.social-login .social-link a.google {
    background-color: var(--red-color);
}

.user-btn-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.user-expl {
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-bottom: 12px;
    margin-top: 24px;
}
.user-expl span:first-child {
    display: inline-block;
    font-weight: 400;
    color: var(--black-color);
}
.user-expl span:nth-child(2) {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
    display: inline-block;
}
.user-expl span:nth-child(2)::before {
    content: "*";
    margin-right: 6px;
    color: var(--red-color);
}

.agree-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 6px;
}
.agree-box .agree-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.agree-box .agree-item label {
    font-size: 14px;
    color: var(--sub-txt-color-02);
    display: flex;
    align-items: center;
    cursor: pointer;
}
.agree-box .agree-item label input {
    margin: 0;
    width: 14px;
    height: 14px;
    margin-right: 6px;
}
.agree-box .agree-item label span {
    color: var(--red-color);
}
.agree-box .agree-item a {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    text-decoration: underline;
    cursor: pointer;
}

.user-tab-menu {
    border-bottom: 1px solid var(--border-color);
    display: flex;
    margin-top: 24px;
}
.user-tab-menu a {
    width: 100%;
    display: inline-block;
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    text-align: center;
    padding-bottom: 12px;
}
.user-tab-menu a.on {
    color: var(--black-color);
    border-bottom: 2px solid var(--black-color);
    padding-bottom: 10px;
}


.sub-menu {
    position: fixed;
    top: 111px;
    left: 0;
    z-index: 98;
    width: 100%;
    border-bottom: 1px solid var(--border-color);
    background-color: #fff;
    transition: .2s ease-in-out;
}
.sub-menu .box {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    height: 50px;
    display: flex;
    align-items: center;
}
.sub-menu .box > a {
    width: 50px;
    min-width: 50px;
    height: 100%;
    border-left: 1px solid var(--border-color);
    border-right: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
}
.sub-menu .box > a img {
    width: 20px;
}
.sub-menu .box > button {
    width: 200px;
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    border-right: 1px solid var(--border-color);
}
.sub-menu .box > button span {
    display: inline-block;
    color: var(--sub-txt-color-01);
}
.sub-menu .box > button > img {
    width: 8px;
    transition: .2s ease-in-out;
}
.sub-menu .box > button.active img {
    transition: .2s ease-in-out;
    transform: rotate(180deg);
}
.sub-menu .box > button ul {
    position: absolute;
    top: 100%;
    left: -1px;
    z-index: 2;
    border: 1px solid var(--border-color);
    width: calc(100% + 2px);
    background-color: #fff;
    display: none;
}
.sub-menu .box > button ul > li {
    width: 100%;
    text-align: left;
}
.sub-menu .box > button ul > li a {
    display: block;
    width: 100%;
    color: var(--sub-txt-color-01);
    padding: 12px 16px;
}
.sub-menu .box > button ul > li:hover a {
    color: var(--main-color);
}

.page-name {
    margin-top: 60px;
    width: 100%;
    font-size: 48px;
    font-weight: 500;
    color: var(--black-color);
    display: flex;
    align-items: flex-end;
    gap: 8px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--black-color);
    margin-bottom: 80px;
}
.page-name::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 100%;
    background-color: var(--main-color);
}

.greetings-banner {
    margin-top: 100px;
    position: relative;
    width: 100%;
}
.greetings-banner .img-box {
    width: 100%;
    height: 100%;
    position: relative;
    border-radius: 0 48px 0 48px;
    overflow: hidden;
}
.greetings-banner .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
}
.greetings-banner .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.greetings-banner .txt {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    width: 100%;
    height: 100%;
    padding: 0 80px;
}
.greetings-banner .txt p:first-child {
    font-size: 38px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
}
.greetings-banner .txt p:nth-child(2) {
    font-weight: 300;
    color: #fff;
    line-height: 1.5;
    word-break: keep-all;
}
.greetings-banner .profile {
    position: absolute;
    left: 100px;
    bottom: 0;
    width: 250px;
}
.greetings-banner .profile img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.greetings-txt {
    margin-top: 48px;
    display: flex;
    flex-direction: column;
}
.greetings-txt p {
    font-weight: 400;
    color: var(--sub-txt-color-01);
    line-height: 1.5;
    word-break: keep-all;
}
.greetings-txt .who {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}
.greetings-txt .who p {
    font-weight: 400;
    color: var(--black-color);
}
.greetings-txt .who p b {
    font-size: 24px;
    font-weight: 600;
    margin-left: 8px;
}

.vision-area {
    display: flex;
    align-items: center;
    gap: 48px;
    margin-bottom: 130px;
}
.vision-area .img-box {
    position: relative;
    width: 50%;
    aspect-ratio: 4 / 3;
    border-radius: 0 48px 0 48px;
    overflow: hidden;
}
.vision-area .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.vision-area .img-box .bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.vision-area .img-box .vision-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    max-width: 300px;
}
.vision-area .txt-area {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.vision-area .txt-area > p {
    font-size: 48px;
    font-weight: 600;
    color: var(--black-color);
    letter-spacing: 20px;
}
.vision-area .txt-area .txt {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
    padding: 24px 0;
}
.vision-area .txt-area .txt p:first-child {
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
}
.vision-area .txt-area .txt p:last-child {
    font-weight: 400;
    color: var(--sub-txt-color-01);
    line-height: 1.5;
}


.mission-area {
    position: relative;
    margin-bottom: 130px;
}
.mission-area .bg {
    width: 100%;
    height: 850px;
    overflow: hidden;
}
.mission-area .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mission-area .bg::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.7);
}
.mission-area .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 100%;
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 48px;
}
.mission-area .content > p {
    font-size: 48px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 20px;
}
.mission-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}
.mission-grid .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 48px 36px;
}
.mission-grid .item:not(:last-child) {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
}
.mission-grid .item .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.mission-grid .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.mission-grid .item p {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 1.3;
}

.page-tit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 36px;
}
.page-tit p:first-child {
    font-size: 38px;
    font-weight: 700;
    color: var(--black-color);
    text-align: center;
}
.page-tit p:first-child .mc-txt {
    color: var(--main-color);
}
.page-tit p:first-child .yc-txt {
    color: var(--yellow-color);
}
.page-tit p:nth-child(2) {
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    text-align: center;
    line-height: 1.5;
    word-break: keep-all;
}


.goal-flex {
    display: flex;
    gap: 4px;
}
.goal-flex .item {
    height: 450px;
    flex: 1;
    transition: .2s ease-in-out;
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.goal-flex .item:hover {
    flex: 2;
    transition: .2s ease-in-out;
}
.goal-flex .item .img-box {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}
.goal-flex .item .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.goal-flex .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.goal-flex .item .txt {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 16px;
}
.goal-flex .item .txt p:first-child {
    font-size: 32px;
    font-weight: 600;
    color: #fff;
}
.goal-flex .item .txt p:nth-child(2) {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    opacity: 0;
    transition: .2s ease-in-out;
}
.goal-flex .item:hover .txt p:nth-child(2) {
    opacity: 1;
    transition: .5s ease-in-out;
}

.value-area {
    margin-top: 130px;
}
.value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}


.value-grid .item {
    background-color: var(--bg-color);
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 48px 24px;
}
.value-grid .item span {
    width: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.value-grid .item span img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.value-grid .item p {
    font-size: 18px;
    font-weight: 500;
    color: var(--black-color);
}
.value-grid .item > img {
   max-width: 250px; 
}

.circle-btn {
    width: 100%;
    max-width: 200px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    border: 1px solid var(--border-color);
    font-size: 14px;
    color: var(--sub-txt-color-03);
    letter-spacing: -1px;
}
.circle-btn.on {
    color: var(--main-color);
    border: 1px solid var(--main-color);
}
.circle-btn:hover {
    color: var(--black-color);
    border: 1px solid var(--main-color);
}

.year-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 80px;
}

.history-list {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 82px;
  position: relative;
  padding: 0 100px;
}
.history-list::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 12px;
  left: 339px;
  z-index: -1;
  background-image: url('../images/icons/history_line.png');
  background-size: 1px auto;
  background-repeat: repeat;
}
.history-list .item {
  display: flex;
  position: relative;
  gap: 100px;
}
.history-list .item .area {
  font-size: 38px;
  font-weight: 700;
  color: var(--main-color);
  position: relative;
  min-width: 130px;
}
.history-list .item .area span {
  display: inline-block;
  color: var(--main-color);
}
.history-list .item ul {
  width: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  padding: 2px 0 0 48px;
  gap: 24px;
}
.history-list .item ul::before {
  content: "";
  width: 20px;
  height: 20px;
  background-image: url('../images/icons/history_circle.png');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  position: absolute;
  top: 4px;
  left: 0;
}
.history-list .item li {
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
.history-list .item li:first-child {
  padding-top: 0;
}
.history-list .item li .date {
  font-family: 'Noto Sans KR';
  display: block;
  min-width: 100px;
  font-size: 16px;
  font-weight: 500;
  color: var(--sub-txt-color-03);
  line-height: 1.3;
}
.history-list .item li .content {
  display: block;
  font-size: 16px;
  font-weight: 400;
  color: var(--black-color);
  line-height: 1.3;
  word-break: keep-all;
}
.history-empty {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 48px 16px;
    color: var(--sub-txt-color-02);
    text-align: center;
    background-color: #fff;
}

.org-area .org-img {
    margin-bottom: 130px;
}

.org-area .org-table {
    display: flex;
    flex-direction: column;
}

.table-box {
    width: 100%;
    overflow: hidden;
    overflow-x: auto;
}
.mb-48 {
    margin-bottom: 48px;
}
.mt-80 {
    margin-top: 80px;
}
.table-box table {
    width: 100%;
    border-top: 2px solid var(--black-color) !important;
    border-bottom: 1px solid var(--border-color);
    border-collapse: collapse !important;
    table-layout: fixed;
}
.table-box table th, .table-box table tr, .table-box table td {
    text-align: center;
    border: 1px solid var(--border-color);
    padding: 12px 8px;
    font-size: 14px;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
    vertical-align: middle;
}
.table-box table th {
    background-color: #f8fcff;
    font-weight: 500;
    color: var(--black-color);
    white-space: nowrap;
}
.table-box table td.left {
    text-align: left;
    padding: 0 24px;
}
.table-box table td ul {
    padding: 24px 36px;
    list-style-type: disc;
}
.table-box table td ul li {
    text-align: left;
}
.table-box table td ul li::marker {
    color: var(--sub-txt-color-02) !important;
    font-size: 14px;
}
.table-box table td ul li:not(:last-child) {
    margin-bottom: 8px;
}
.table-box table td a {
    color: var(--main-color);
    text-decoration: underline;
}
.table-box .table-tit {
    font-size: 20px;
    color: var(--black-color);
    margin-bottom: 16px;
}


.sb-area {
    width: 100%;
    max-width: 630px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 48px;
    border-bottom: 1px solid var(--black-color);
}
.sb-area {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.download-box {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}
.pj-btn {
    width: 100%;
    max-width: 250px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border-radius: 3px;
    font-size: 14px;
    color: var(--black-color);
    border: 1px solid var(--border-color);
    cursor: pointer !important;
}
.pj-btn.sm-btn {
    max-width: 120px;
}
.pj-btn.lg-btn {
    max-width: 200px;
}
.pj-btn.full-btn {
    max-width: 100%;
}
.pj-btn.wc-btn {
    background-color: #fff;
}
.pj-btn.bc-btn {
    background-color: var(--black-color);
    color: #fff;
}
.pj-btn:hover {
    background-color: var(--bg-color);
}
.pj-btn.bc-btn:hover {
    background-color: var(--black-color);
    opacity: .8;
}
.pj-btn img {
    width: 16px;
}


.bi-area .color-system {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 630px;
    margin: 48px auto 0;
}
.bi-area .color-system .tit {
    font-size: 24px;
    font-weight: 600;
    color: var(--sub-txt-color-01);
    text-align: center;
}
.bi-area .color-system .box {
    display: flex;
}
.bi-area .color-system .box .item {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 100px;
    padding: 36px;
}
.bi-area .color-system .box .item:first-child {
    background-color: var(--main-color);
    border-radius: 0 0 0 48px;
}
.bi-area .color-system .box .item:last-child {
    background-color: var(--yellow-color);
    border-radius: 0 48px 0 0;
}
.bi-area .color-system .box .item > p {
    font-size: 20px;
    font-weight: 600;
    color: #fff;
}
.bi-area .color-system .box .item .code {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.bi-area .color-system .box .item .code p {
    color: #fff;
}

.root_daum_roughmap .wrap_controllers {
    display: none;
}
.root_daum_roughmap {
    width: 100% !important;
}
.root_daum_roughmap .wrap_map {
    height: 600px !important;
}

.map-info .item {
    display: flex;
    flex-direction: column;
    padding: 48px 0;
    border-bottom: 1px solid var(--black-color);
    gap: 24px;
}
.map-info .item:not(:last-child) {
    padding: 48px 0;
    border-bottom: 1px solid var(--black-color);
}
.map-info .item .tit {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.map-info .item .tit p:first-child {
    font-size: 24px;
    color: var(--black-color);
}
.map-info .item .tit p:nth-child(2) {
    font-size: 16px;
    color: var(--sub-txt-color-01);
}
.map-info .item .add {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.sl-item {
    display: flex;
    align-items: center;
    gap: 24px;
}
.sl-item .hd {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 200px;
}
.sl-item .hd span:first-child {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    border: 1px solid var(--border-color);
}
.sl-item .hd span:first-child img {
    width: 24px;
}
.sl-item .hd span:last-child {
    color: var(--black-color);
}
.sl-item ul {
    list-style-type: disc;
}
.sl-item ul li {
    color: var(--sub-txt-color-02);
    margin-bottom: 16px;
    line-height: 1.5;
}
.sl-item ul li:last-child {
    margin-bottom: 0;
}
.sl-item ul li::marker {
    color: var(--sub-txt-color-02) !important;
    font-size: 14px;
}

.forest-area {
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.forest-area .intro-area {
    display: flex;
    align-items: stretch;
    gap: 48px;
}
.forest-area .intro-area .img-box {
    width: 800px;
    position: relative;
}
.forest-area .intro-area .img-box.cover::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.2);
}
.forest-area .intro-area .img-box {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.forest-area .intro-area .txt {
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
    padding: 24px 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 24px;
}
.forest-area .intro-area .txt .hd-txt {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.forest-area .intro-area .txt .hd-txt p:first-child {
    color: var(--main-color);
}
.forest-area .intro-area .txt .hd-txt p:last-child {
    font-size: 38px;
    font-weight: 600;
    color: var(--black-color);
}
.forest-area .intro-area .txt .content {
    color: var(--sub-txt-color-02);
    line-height: 1.5;
}

.forest-slider {
    width: 100%;
}
.forest-slider .swiper-slide {
    position: relative;
}
.forest-slider .swiper-slide .img-box {
    width: 100%;
    aspect-ratio: 16 / 9;
    position: relative;
}
.forest-slider .swiper-slide .img-box.cover::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.forest-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}
.forest-slider .swiper-slide .txt {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 24px;
    padding: 48px;
}
.forest-slider .swiper-slide .txt p:first-child {
    font-size: 38px;
    font-weight: 600;
    color: #fff;
}
.forest-slider .swiper-slide .txt p:last-child {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
}

.expl-area {
    display: flex;
    gap: 48px;
}
.expl-area .lt {
    position: sticky;
    top: 150px;
    left: 0;
    width: 50%;
    min-height: 700px;
}
.expl-area .lt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.expl-area .rt {
    width: 50%;
}
.expl-area .rt .txt-area .hd {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.expl-area .rt .txt-area .hd p:first-child {
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
}
.expl-area .rt .txt-area .hd p:first-child b {
    font-weight: bold;
}
.expl-area .rt .txt-area .hd p:nth-child(2) {
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
}
.expl-area .rt .txt-area .hd p:nth-child(2) b {
    font-size: 17px;
    font-weight: 700;
    color: var(--sub-txt-color-01);
}
.expl-area .rt .txt-area .list {
    margin-top: 24px;
    padding: 24px 0;
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.expl-area .rt .txt-area .list .item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.expl-area .rt .txt-area .list .item p {
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.expl-area .rt .txt-area .list .item p.child {
    padding-left: 12px;
}
.expl-area .rt .txt-area .list .item p.point {
    margin-top: 8px;
    font-weight: 600;
    color: var(--black-color);
}
.expl-area .rt .txt-area .list .item p:first-child {
    font-size: 20px;
    font-weight: 500;
    color: var(--main-color);
    display: flex;
    align-items: center;
    gap: 12px;
}
.expl-area .rt .txt-area .list .item p:first-child::after {
    content: "";
    width: 30px;
    height: 1px;
    display: inline-block;
    background-color: var(--main-color);
}
.expl-area .rt .txt-area .list .item p.empty:first-child::after {
    display: none;
}
.expl-area .rt .txt-area .list .item p b {
    font-weight: 700;
    color: var(--sub-txt-color-01);
}
.service-list {
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
}
.service-list > li {
    cursor: pointer;
    display: flex;
    flex-direction: column;
}
.service-list > li.empty {
    align-items: center;
    padding: 48px 24px;
}
.service-list > li:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
}
.service-list > li .tit {
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.service-list > li .tit > span {
    width: 100%;
    color: var(--black-color);
    line-height: 1.3;
}
.service-list > li .service-arrow {
    width: 14px;
    transition: .2s ease-in-out;
}
.service-list > li .service-arrow.active {
    transform: rotate(-45deg);
    transition: .2s ease-in-out;
}
.service-list > li .toggle-content {
    background-color: var(--bg-color);
    padding: 24px;
    line-height: 1.5;
    font-size: 14px;
    color: var(--sub-txt-color-02);
    display: none;
}

.service-area {
    margin-top: 60px;
}
.service-area > p {
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
    margin-bottom: 16px;
}

.btn-wrap {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    gap: 16px;
}

.group-area {
    display: flex;
    flex-direction: column;
}
.group-area .hd {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 24px;
}
.group-area .hd .txt {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.group-area .hd .txt p:first-child {
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
}
.group-area .hd .txt p:nth-child(2) {
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.search {
    display: flex;
    align-items: center;
    gap: 6px;
}
.search input {
   width: 100%;
   max-width: 300px;
   height: 50px;
   line-height: 50px;
   padding: 0 16px;
   border-radius: 3px;
   border: 1px solid var(--border-color);
   font-size: 14px;
}
.search button {
    width: 50px;
    min-width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 3px;
    background-color: var(--main-color);
}
.search button img {
    width: 24px;
}
.search button:hover {
    opacity: .8;
}

/*Pagination*/
.pagination {
  position: relative;
  margin-top: 48px;
}
.pagination.board {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination.mt-60 {
  margin-top: 60px;
}
.pagination.mt-24 {
  margin-top: 24px;
}
.pagination.mt-12 {
  margin-top: 12px;
}
.pagination > a {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.pagination ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.pagination li {
  width: 28px;
  height: 28px;
}
.pagination li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 500;
  color: var(--sub-txt-color-02);
}
.pagination li a:not(.arrow):hover {
  color: var(--main-color);
  text-decoration: underline;
}
.pagination li.on {
  color: var(--main-color) !important;
  text-decoration: underline;
}
.pagination li.on a {
  color: var(--main-color) !important;
}
.pagination li a img {
  height: 10px;
  object-fit: cover;
}

.input-grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.input-grid .item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.input-grid .item.price {
    padding: 24px 0;
    border-top: 1px dashed var(--border-color);
    border-bottom: 1px dashed var(--border-color);
}
.input-grid .item > p {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
}
.input-grid .item > p::after {
    content: "*";
    color: var(--red-color);
    margin-left: 5px;
}
.input-grid .item > p.ns::after {
    display: none;
}
.input-grid .item .box {
    display: flex;
    align-items: center;
    gap: 16px;
}
.input-grid .item .box > div {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    position: relative;
}
.input-grid .item .box > div .price-tit {
    font-size: 24px;
    font-weight: 500;
    color: var(--main-color);
    display: block;
    margin-top: 8px;
}
.input-grid .item input[type="text"], .input-grid .item input[type="email"], .input-grid .item input[type="number"], .input-grid .item select {
    width: 100%;
    height: 50px;
    line-height: 50px;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    font-size: 14px;
    padding: 0 12px;
}
.mw-150 {
    max-width: 150px;
}
.input-grid .item textarea {
    padding: 12px;
    border-radius: 3px;
    border: 1px solid var(--border-color);
    width: 100%;
    height: 150px;
}
.input-grid .item input[type="text"]:read-only {
    background-color: var(--bg-color);
}
.input-grid .item input[type="text"].right {
    text-align: right;
}
.input-grid .expl {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.input-grid .expl p {
    font-size: 14px;
    color: var(--sub-txt-color-01);
    line-height: 1.3;
}
.input-grid .expl p span {
    color: var(--red-color);
}
.input-grid .expl p b {
    font-weight: 600;
    color: var(--main-color);
}
.form-tit {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--black-color);
    padding-bottom: 24px;
    margin-bottom: 24px;
}
.form-tit span:first-child {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
}
.form-tit span:first-child::before {
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: var(--main-color);
    display: inline-block;
    margin-right: 8px;
}
.form-tit span:nth-child(2) {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
}
.form-tit span:nth-child(2)::before {
    content: "*";
    color: var(--red-color);
    margin-right: 5px;
}

.culture-intro .tab-menu {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
}


.basic-expl {
    margin-top: 24px;
    padding: 24px 0;
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--black-color);
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.basic-expl .item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.basic-expl .item p {
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.basic-expl .item p.point {
    margin-top: 24px;
    font-weight: 600;
    color: var(--black-color);
}
.basic-expl .item p:first-child {
    font-size: 20px;
    font-weight: 500;
    color: var(--main-color);
    display: flex;
    align-items: center;
    gap: 12px;
}
.basic-expl .item p:first-child::after {
    content: "";
    width: 30px;
    height: 1px;
    display: inline-block;
    background-color: var(--main-color);
}

.culture .banner {
    position: relative;
    width: 100%;
    height: 300px;
    border-radius: 24px;
    overflow: hidden;
    margin-bottom: 60px;
}
.culture .banner .img-box {
    width: 100%;
    height: 100%;
}
.culture .banner .img-box::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}
.culture .banner .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.culture .banner .txt {
    font-size: 48px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.list-hd {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--black-color);
    margin-bottom: 48px;
}
.list-hd.none {
    border-bottom: none;
    margin-bottom: 0;
}
.list-hd.right {
    justify-content: flex-end;
    margin-bottom: 0;
    border-bottom: none;
}

.post-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
}

.post-grid .item {
    max-height: 500px;
    overflow: hidden;
    display: flex;
    gap: 24px;
}
.post-grid .item.empty {
    grid-column: span 4;
    text-align: center;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 48px 0;
    justify-content: center;
    color: var(--sub-txt-color-02);
}
.post-grid .item .thumb {
    width: 100%;
    max-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.post-slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 12px;
    border: 1px solid var(--border-color);
}
.post-slider .swiper-slide {
    width: 100%;
}
.post-slider .swiper-slide .img-box {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1.41;
}
.post-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.thumbnail-slider {
    width: 100%;
    max-width: 300px;
    overflow: hidden;
}
.thumbnail-slider .swiper-slide {
    width: 100%;
    cursor: pointer;
}
.thumbnail-slider .swiper-slide .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 3px;
    border: 1px solid var(--border-color);
}
.thumbnail-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.post-grid .item .txt {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.post-grid .item .txt > .txt-tit {
    display: block;
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.3;
    cursor: pointer;
}
.post-grid .item .txt .box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.post-grid .item .txt .box > div {
    display: flex;
    gap: 12px;
}
.post-grid .item .txt .box > div span:first-child {
    display: inline-block;
    font-size: 14px;
    color: var(--black-color);
    min-width: 80px;
    white-space: nowrap;
    line-height: 1.3;
}
.post-grid .item .txt .box > div span:nth-child(2) {
    font-size: 14px;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}

.year-area {
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 60px;
    position: relative;
}
.year-area .year-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background-color: #fff;
}
.year-area .year-btn img {
    width: 32px;
}
.year-area .year-btn.year-prev {
    left: 0;
}
.year-area .year-btn.year-next {
    right: 0;
}
.year-slider {
    overflow: hidden;
    padding: 0 60px;
}
.year-slider .swiper-slide button {
    font-size: 20px;
    font-weight: 500;
    color: var(--sub-txt-color-02);
    padding: 16px 0;
    border-bottom: 4px solid transparent;
}
.year-slider .swiper-slide button.on {
    border-bottom: 4px solid var(--main-color) !important;
    color: var(--main-color);
}
.year-slider .swiper-slide {
    text-align: center;
}

.etc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
}

.etc-grid .item {
    max-height: 500px;
    overflow: hidden;
    display: flex;
    gap: 24px;
}
.etc-grid .item.empty {
    grid-column: span 4;
    text-align: center;
    border-top: 1px solid var(--border-color);
    padding: 48px 0;
}

.etc-grid .item {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.etc-grid .item .month {
    font-size: 24px;
    font-weight: 600;
    color: var(--main-color);
}
.etc-grid .item .list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px;
    border-top: 1px solid var(--black-color);
    border-bottom: 1px solid var(--border-color);
}
.etc-grid .item .list a {
    display: flex;
    align-items: center;
    line-height: 1.3;
    color: var(--sub-txt-color-01);
    cursor: pointer;
}
.etc-grid .item .list a::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: var(--main-color);
    margin-right: 5px;
}
.etc-grid .item .list a.empty {
    color: var(--sub-txt-color-03);
    cursor: auto;
}
.etc-grid .item .list a.empty::before {
    display: none;
}
.culture-view {
    display: flex;
    flex-direction: column;
}
.culture-view .img-area {
    width: 100%;
    margin-bottom: 60px;
    position: relative;
}
.culture-view .img-area .img-box {
    width: 100%;
    max-width: 700px;
    overflow: hidden;
    position: relative;
    margin: 0 auto;
    border-radius: 24px;
}
.culture-view .img-area .img-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.culture-view .img-area .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);
}
.culture-view .img-area .tit {
    padding: 0 48px;
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 100%;
    max-width: 600px;
    text-align: center;
}

.culture-view .txt-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding-bottom: 60px;
    margin-bottom: 60px;
    border-bottom: 1px solid var(--border-color);
}
.culture-view .txt-area .tit {
    font-size: 38px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.2;
    text-align: center;
}
.culture-view .txt-area .content {
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    text-align: center;
    white-space: pre-line;
}

.culture-info {
    width: 100%;
    max-width: 700px;
    margin: 0 auto 60px;;
}
.other-area {
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}
.other-area a {
    padding: 24px 0;
    display: flex;
    gap: 48px;
}
.other-area a:first-child {
    border-bottom: 1px solid var(--border-color);
}
.other-area a .other-front {
    display: inline-block;
    color: var(--main-color);
}
.other-area a .other-tit {
    color: var(--black-color);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
}
.other-area a:hover .other-tit {
    color: var(--sub-txt-color-02);
}

.form-basic {
    width: 100%;
    max-width: 600px;
    height: 100%;
    margin: 0 auto;
}
.form-basic .form-txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.form-basic .form-txt p:first-child {
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
    text-align: center;
    line-height: 1.3;
    word-break: keep-all;
    margin-bottom: 24px;
}
.form-basic .form-txt p:nth-child(2) {
    color: var(--sub-txt-color-02);
    text-align: center;
    line-height: 1.3;
    margin-bottom: 36px;
}

.chk-box {
    display: flex;
    gap: 24px;
    margin-top: 12px;
}
.chk-box label {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
}
.chk-box label input {
    width: 16px;
    height: 16px;
    margin: 0 auto;
    cursor: pointer;
}
.input-grid .item .box > div .info {
    width: 100%;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.input-grid .item .box > div .info p {
    color: var(--black-color);
    line-height: 1.3;
}
.input-grid .item .box > div .info p span {
    color: var(--red-color);
}


.view-tit-box {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.view-tit-box .tit {
    font-size: 22px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.3;
}
.view-tit-box .info {
    display: flex;
    align-items: center;
}
.view-tit-box .info span {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: var(--sub-txt-color-02);
}
.view-tit-box .info span:first-child::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 14px;
    background-color: var(--border-color);
    margin: 0 12px;
}

.editor-area {
    padding: 48px 0;
    min-height: 250px;
    line-height: 1.3;
}
.photo-view {
    padding: 60px 0;
    display: flex;
    align-items: center;
}

.photo-slider-area {
    width: 50%;
    padding-right: 48px;
    border-right: 1px solid var(--border-color);
}

.photo-slider {
    width: 100%;
    overflow: hidden;
}
.photo-slider .swiper-slide {
    position: relative;
}
.photo-slider .swiper-slide .photo-download {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 6px;
    padding: 8px 12px;
    position: absolute;
    left: 24px;
    bottom: 24px;
    z-index: 2;
    cursor: pointer;
}
.photo-slider .swiper-slide .photo-download img {
    width: 16px;
}
.photo-slider .swiper-slide .img-box {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 4px;
    position: relative;
}
.photo-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.photo-thumb-slider {
    width: 100%;
    overflow: hidden;
}
.photo-thumb-slider .swiper-slide {
    cursor: pointer;
}
.photo-thumb-slider .swiper-slide .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
    cursor: pointer;
}
.photo-thumb-slider .swiper-slide .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.photo-thumb-slider .swiper-slide.swiper-slide-thumb-active .img-box::after {
    display: none;
}
.photo-thumb-slider .swiper-slide .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.photo-editor-area {
    padding-left: 48px;
    line-height: 1.3;
}
.file-box {
  padding: 24px 0;
  border-bottom: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.file-box a {
  display: flex;
  align-items: center;
  gap: 6px;
}
.file-box a img {
  height: 14px;
}
.file-box a span {
  display: inline-block;
  font-size: 14px;
  font-weight: 400;
  color: var(--sub-txt-color-01);
  text-decoration: underline;
}
.file-box a:hover span {
    color: var(--sub-txt-color-03);
}
.file-box a:hover span {
  text-decoration: underline;
}
.file-box a.empty {
  font-weight: 500;
}

.space-banner {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 24px;
    overflow: hidden;
}
.space-banner .img-box {
    width: 100%;
    height: 100%;
    position: relative;
}
.space-banner .img-box::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}
.space-banner .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.space-banner .tit {
    font-size: 48px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.space-banner .list {
    position: absolute;
    bottom: 48px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    padding: 0 48px;
    white-space: nowrap;
    overflow: hidden;
    overflow-x: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    -ms-overflow-style: none;
}
.space-banner .list::-webkit-scrollbar{
    display:none;
}
.space-banner .list li a {
    width: 160px;
    height: 160px;
    border-radius: 100%;
    overflow: hidden;
    display: inline-block;
    position: relative;
}
.space-banner .list li a.on {
    border: 3px solid var(--main-color);
}
.space-banner .list li a .space-thumb {
    width: 100%;
    height: 100%;
    position: relative;
}
.space-banner .list li a .space-thumb::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.space-banner .list li a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.space-banner .list li a span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    word-break: keep-all;
    width: 100%;
    padding: 0 8px;
}

.sr-area {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 60px;
}
.sr-area .txt-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 60px 0;
    border-bottom: 1px solid var(--border-color);
}
.sr-area .txt-box p:first-child {
    font-size: 38px;
    font-weight: 600;
    color: var(--black-color);
    text-align: center;
}
.sr-area .txt-box p:nth-child(2) {
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    text-align: center;
    word-break: keep-all;
    white-space: pre-line;
}

.img-expl-area {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.img-expl-area .item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.img-expl-area .item .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
}
.img-expl-area .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.img-expl-area .item .txt {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: var(--black-color);
    line-height: 1.3;
}
.img-expl-area .item .txt::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: var(--main-color);
}
.img-expl-area .item .txt::after {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: var(--main-color);
}

/*fullcalendar*/
.full-calendar {
    width: 100%;
}
.fc-scrollgrid-sync-inner {
    padding: 8px !important;
}
.fc .fc-daygrid-day-number {
    color: var(--sub-txt-color-02) !important;
}
.fc-h-event {
    border: none !important;
    background-color: transparent !important;
    cursor: pointer;
}
.fc-h-event .fc-event-title-container {
    background-color: var(--main-color) !important;
    padding: 6px !important;
    border: none !important;
}
.fc .fc-toolbar.fc-header-toolbar {
    margin-bottom: 16px !important;
}
.fc .fc-toolbar-title {
    font-size: 24px !important;
    font-weight: 600;
    color: var(--black-color);
}
.fc .fc-button-group > .fc-button:focus {
    box-shadow: none !important;
}
.fc .fc-button .fc-icon {
    font-size: 14px !important;
}
.fc-day-sat a.fc-daygrid-day-number {
  color: #6793e4 !important;
}

/* 일요일 날짜 색 */
.fc-day-sun a.fc-daygrid-day-number {
  color: var(--red-color) !important;
}
.fc .fc-daygrid-day.fc-day-today {
    background-color: var(--bg-color) !important;
}
.fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    font-weight: 600;
    color: var(--black-color) !important;
}
a.fc-daygrid-day-number {
  pointer-events: none !important;  /* 클릭 차단 */
  color: red !important; /* 원래 스타일 유지 */
  cursor: normal !important;      /* 마우스 포인터 기본 모양 */
  text-decoration: none !important; /* 밑줄 제거 */
}

.film-area {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.film-area .banner {
    width: 100%;
    height: 300px;
    overflow: hidden;
    position: relative;
    border-radius: 0 48px 0 48px;
}
.film-area .banner .img-box {
    width: 100%;
    height: 100%;
    position: relative;
}
.film-area .banner .img-box::after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
}
.film-area .banner .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.film-area .banner .txt {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 24px 48px;
    text-align: center;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
}
.film-step {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    padding: 24px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}
.film-step .item:not(:last-child) {
    border-right: 1px solid var(--border-color);
}
.film-step .item {
    padding-right: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.film-step .item .txt {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.film-step .item .txt p:first-child {
    font-size: 14px;
    font-weight: 400;
    color: var(--main-color);
}
.film-step .item .txt p:nth-child(2) {
    font-size: 20px;
    font-weight: 500;
    color: var(--black-color);
}
.film-step .item .icon-box {
   display: flex;
   justify-content: flex-end; 
}
.film-step .item .icon-box img {
    width: 36px;
}

.film-info {
    display: flex;
    gap: 80px;
}
.film-info .film-expl {
    width: 50%;
    color: var(--black-color);
    line-height: 1.5;
    word-break: keep-all;
}
.film-info .info-list {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.film-info .info-list .item {
    display: flex;
    align-items: center;
    gap: 48px;
    border-bottom: 1px solid var(--border-color);
    padding: 24px;
}
.film-info .info-list .item:first-child {
    padding: 0 24px 24px;
}
.film-info .info-list .item span:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 150px;
    color: var(--sub-txt-color-02);
}
.film-info .info-list .item span:first-child img {
    width: 18px;
}
.film-info .info-list .item span:nth-child(2) {
    color: var(--black-color);
}

.donation-step {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}
.donation-step .item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    position: relative;
}
.donation-step .item:not(:last-child)::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50px;
    right: 0;
    transform: translateY(-50%);
    z-index: -1px;
    width: 50%;
    height: 1px;
    border-top: 1px dashed var(--border-color);
}
.donation-step .item:not(:first-child)::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50px;
    left: 0;
    transform: translateY(-50%);
    z-index: -1px;
    width: 50%;
    height: 1px;
    border-top: 1px dashed var(--border-color);
}
.donation-step .item .circle {
    width: 100px;
    height: 100px;
    border-radius: 100%;
    border: 1px solid var(--border-color);
    font-size: 14px;
    color: var(--sub-txt-color-03);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    background-color: #fff;
}
.donation-step .item.on .circle {
    border: none;
    background-color: var(--main-color);
    color: #fff;
}
.donation-step .item .txt {
    color: var(--sub-txt-color-03);
}
.donation-step .item.on .txt {
    color: var(--black-color);
}
.donation-step .item.one::after {
    border-top: 1px dashed var(--main-color);
}
.donation-step .item.two::before {
    border-top: 1px dashed var(--main-color);
}
.donation-step .item.carry::after {
    border-top: 1px dashed var(--main-color);
}
.donation-step .item.three::before {
    border-top: 1px dashed var(--main-color);
}
.donation-step .item.four::before {
    border-top: 1px dashed var(--main-color);
}

.asia-area {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
}
.asia-slider {
    width: 100%;
    overflow: hidden;
}
.asia-slider .swiper-slide {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.asia-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

.asia-area .txt {
    position: absolute;
    top: 0;
    right: 0;
    width: 50%;
    height: 100%;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.5);
    /*
    background: linear-gradient(90deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
    */
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 48px;
    padding: 0 48px;
}
.asia-area .txt p:first-child {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
}
.asia-area .txt p:nth-child(2) {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
    word-break: keep-all;
}

.asia-area .asia-pager {
    position: absolute;
    left: 48px;
    bottom: 48px;
    z-index: 2;
    font-size: 48px;
    font-weight: 600;
    color: #fff;
}
.asia-area .asia-pager .swiper-pagination-current {
    color: #fff;
}



.auth-num {
    position: relative;
}
.auth-num.flex-col {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.auth-num input {
    padding: 0 60px 0 16px !important;
}
.auth-num .auth-timer {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(calc(-50% - 12px));
    z-index: 2;
    font-size: 14px;
    color: var(--sub-txt-color-03);
    text-align: right;
}
.auth-num .auth-timer.form-t {
    transform: translateY(-50%);
    right: 140px;
}
.auth-num .auth-txt {
    font-size: 14px;
    color: var(--sub-txt-color-03);
    margin-top: 6px;
    display: inline-block;
}
.auth-num .auth-txt.mt-0 {
    margin-top: 0;
}
.culture-pay-list {
    margin-bottom: 60px;
}
.culture-pay-list:last-child {
    margin-bottom: 0;
}

.swiper-container {
    width: 100%;
    height: 100%;
}
.youtube-bg {
    width: 100%;
    height: 100%;
}
.youtube-bg iframe {
    width: 100%;
    height: 100%;
    pointer-events: none;
}
