@charset "utf-8";
@import url('html5_reset.css');
@import url('layout.css');


/********** skip_nav **********/
.skip_nav { position: relative; z-index: 1000; display: block; overflow: hidden; height: 0; background:#000; text-align: center; }
.skip_nav:focus { overflow: auto; height: auto; padding: 5px 0; color:#fff; outline: none; border: 4px solid #005fcc; border-radius: 4px; text-decoration: none; }

/********** 숨김 **********/
.hide { overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; clip: rect(0 0 0 0); }

/********** overflow-hidden **********/
.overflow-hidden { overflow: hidden; }

:root {
	/********** font **********/
	--head-font: "Aggro";
	--body-font: "Pretendard";

	/********** color **********/
	--main1: #F673A1;
	--main2: #00B2ff;
	--main3: #EEF485;

	--sub1: #fc4586;
	--sub2: #0082ff;
	--sub4: #442410; 

	--light1: #f2f3f5;
	--light2: #ffe3ed;
	--light3: #cce6ff;
  --light4: #f9fbfd;

	--gray-33: #333333;
	--gray-44: #444444;
	--gray-55: #555555;
	--gray-66: #666666;
	--gray-75: #757575;
	--gray-99: #999999;
	--gray-dd: #dddddd;
	--gray-cc: #cccccc;
	--gray-b5: #b5b5b5;
	--gray-e5: #e5e5e5;
	--gray-e9: #e9e9e9;
	--gray-fa: #fafafa;
	--gray-fc: #fcfcfc;
  --gray-f467: #f4f6f7;
	--gray-f6: #f6f6f6;
	--gray-f5: #f5f5f5;
	--gray-f7: #f7f7f7;
	--gray-f9: #f9f9f9;
}

/* font family */
.fm-head { font-family: var(--head-font); }
.fm-body { font-family: var(--body-font); }

/* background color */
.bg-gray-33 { background-color: var(--gray-33); color: #fff; }
.bg-gray-44 { background-color: var(--gray-44); color: #fff; }
.bg-gray-55 { background-color: var(--gray-55); color: #fff; }
.bg-gray-66 { background-color: var(--gray-66); color: #fff; }
.bg-gray-99 { background-color: var(--gray-99); color: #fff; }
.bg-gray-dd { background-color: var(--gray-dd); color: #fff; }
.bg-gray-e5 { background-color: var(--gray-e5); color: #666; }
.bg-gray-e9 { background-color: var(--gray-e9); color: #666; }
.bg-gray-f5 { background-color: var(--gray-f5); color: #666; }
.bg-gray-f467 { background-color: var(--gray-f467); }
.bg-gray-f7 { background-color: var(--gray-f7); color: #666; }
.bg-gray-f9 { background-color: var(--gray-f9); color: #666; }
.bg-gray-fa { background-color: var(--gray-fa); color: #666; }
.bg-fff { background-color: #ffffff; }
.bg-main1 { background-color: var(--main1); color: #fff; }
.bg-main2 { background-color: var(--main2); color: #fff; }
.bg-main3 { background-color: var(--main3); color: #fff; }
.bg-sub1 { background-color: var(--sub1); color: #fff; }
.bg-sub2 { background-color: var(--sub2); color: #fff; }
.bg-sub3 { background-color: var(--sub3); color: #fff; }



/* font color */
.fc-gray-33 { color: var(--gray-33); }
.fc-gray-44 { color: var(--gray-44) !important; }
.fc-gray-55 { color: var(--gray-55) !important; }
.fc-gray-66 { color: var(--gray-66); }
.fc-gray-75 { color: var(--gray-75); }
.fc-gray-dd { color: var(--gray-dd); }
.fc-gray-cc { color: var(--gray-cc); }
.fc-gray-b5 { color: var(--gray-b5) !important; }
.fc-gray-e5 { color: var(--gray-e5); }
.fc-gray-e9 { color: var(--gray-e9); }
.fc-gray-f5 { color: var(--gray-f5); }
.fc-gray-f9 { color: var(--gray-f9); }
.fc-fff { color: #fff !important; }
.fc-main1 { color: var(--main1) !important; }
.fc-main2 { color: var(--main2) !important; }
.fc-main3 { color: var(--main3) !important; }
.fc-sub1 { color: var(--sub1) !important; }
.fc-sub2 { color: var(--sub2) !important; }
.fc-sub3 { color: var(--sub3) !important; }


/* border color */
.bd-gray-33 { border: 1px solid var(--gray-33); }
.bd-gray-44 { border: 1px solid var(--gray-44); }
.bd-gray-55 { border: 1px solid var(--gray-55); }
.bd-gray-66 { border: 1px solid var(--gray-66); }
.bd-gray-dd { border: 1px solid var(--gray-dd); }
.bd-gray-cc { border: 1px solid var(--gray-cc); }
.bd-gray-e5 { border: 1px solid var(--gray-e5); }
.bd-gray-e9 { border: 1px solid var(--gray-e9); }
.bd-gray-f5 { border: 1px solid var(--gray-f5); }
.bd-gray-f9 { border: 1px solid var(--gray-f9); }



.esn { font-size: 14px; color: var(--sub1); }


.mx-w-600 { width: 100%; max-width: 600px; margin-left: auto; margin-right: auto; }

.mx-h-300 { max-height: 300px; }
.mx-h-500 { max-height: 500px; }
.mx-h-600 { max-height: 600px; }
.mx-h-700 { max-height: 700px; }


/********** text-style **********/
/* header */
.h-tit-st1 { display: block; line-height: 1.4; font-family: var(--head-font); font-weight: 300; font-size: 4.8rem; color: var(--sub4); word-break: keep-all; word-wrap: break-word; }
.h-tit-st2 { display: block; line-height: 1.4; font-family: var(--head-font); font-weight: 300; font-size: 3.5rem; color: #000; word-break: keep-all; word-wrap: break-word; }
.h-tit-st3 { display: block; line-height: 1.4; font-family: var(--head-font); font-weight: 300; font-size: 2.6rem; color: #000; word-break: keep-all; word-wrap: break-word; }
.h-tit-st4 { display: block; line-height: 1.4; font-family: var(--head-font); font-weight: 300; font-size: 20px; color: #000; word-break: keep-all; word-wrap: break-word; }
.h-tit-st5 { display: block; line-height: 1.4; font-family: var(--head-font); font-weight: 300; color: #000; word-break: keep-all; word-wrap: break-word; }

.sm-txt-st1 { display: block; line-height: 1.4; font-weight: 400; font-size: 15px; color: var(--gray-75); word-break: keep-all; word-wrap: break-word; }


/* body */
.b-txt-st1 { display: block; line-height: 1.4; font-weight: 500; font-size: 20px; color: #333; word-break: keep-all; }
.b-txt-st2 { display: block; line-height: 1.4; font-weight: 500; font-size: 17px; color: #222; word-break: keep-all; }
.b-txt-st3 { display: block; line-height: 1.4; font-weight: 500; color: #222; word-break: keep-all; }


.b-tit-st1 { display: block; line-height: 1.4; font-weight: 600; font-size: 20px; color: #000; word-break: keep-all; word-wrap: break-word; }
.b-tit-st2 { display: block; line-height: 1.4; font-weight: 500; font-size: 19px; color: #000; word-break: keep-all; word-wrap: break-word; }


/* mark */
.m-tit-st1 { position: relative; display: block; line-height: 1.3; padding-left: 15px; font-weight: 500; }
.m-tit-st1::before { content:""; position: absolute; top: 3px; left: 0; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23ff0b7a' class='bi bi-chevron-right' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E") no-repeat center center / contain; }
.m-tit-st2 { position: relative; display: block; line-height: 1.5; padding-left: 25px; font-weight: 500; }
.m-tit-st2::before { content:""; position: absolute; top: 3px; left: 0; width: 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg width='23' height='23' viewBox='0 0 23 23' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11.5' cy='11.5' r='11.5' fill='%23FC4586'/%3E%3Cpath d='M10.04 14.691 7.268 9.705M10.337 14.723l6.205-5.208' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E%0A") no-repeat center center / contain; }
.m-tit-st3 { display: flex; gap: 10px; line-height: 1.3; font-weight: 700; font-size: 15px; color: var(--sub2); }
.m-tit-st3::before { content:""; display: block; width: 18px; height: 18px; background: url(../img/common/icn-qmark.png) no-repeat center center / contain; }


@media only screen and (max-width: 1200px) {
	.h-tit-st1 { font-size: 4.5rem; }
}
@media only screen and (max-width: 1023px) {
	.h-tit-st1 { font-size: 4.3rem; }
	.h-tit-st2 { font-size: 3rem; }
	.h-tit-st3 { font-size: 2.1rem; }
}
@media only screen and (max-width: 767px) {
	.h-tit-st1 { font-size: 3.8rem; }
}
@media only screen and (max-width: 510px) {
	.h-tit-st1 { font-size: 3.3rem; }
  .b-txt-st1 { font-size: 17px; }
}




@keyframes shakeLeft {
  0%, 100% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(-5px);
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes rotate {
  0%, 100% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(-10deg);
  }
}
@keyframes livelyWiggle {
  0%, 100% {
    transform: rotate(0deg) scale(1);
  }
  25% {
    transform: rotate(1.2deg) scale(1.01);
  }
  75% {
    transform: rotate(-1.2deg) scale(0.99);
  }
}
@keyframes sway {
  0%, 100% {
    transform: rotateZ(0deg);
  }
  50% {
    transform: rotateZ(1.5deg);
  }
}
@keyframes scrollX {
  from { background-position-x: 0; }
  to   { background-position-x: 100%; }
}

@keyframes scrollY {
  from { background-position-y: 0; }
  to   { background-position-y: 100%; }
}
@keyframes slideInFromLeft {
  0% {
    transform: translateX(-50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInFromRight {
  0% {
    transform: translateX(50px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideInFromTop {
  0% {
    transform: translateY(-50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideInFromBottom {
  0% {
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes slideInFromBottomRight {
  0% {
    transform: translate(50px, 50px);
    opacity: 0;
  }
  20% {
    transform: translate(0, 0);
    opacity: 1;
  }
  80% {
    transform: translate(0, 0);
    opacity: 1;
  }
  100% {
    transform: translate(50px, 50px);
    opacity: 0;
  }
}
@keyframes sparkle {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(.9);
    opacity: 1;
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
@keyframes rotateCube {
  0% {
    transform: rotateY(0deg);
  }
  100% {
    transform: rotateY(-30deg);
  }
}
@keyframes rotateSlightClockwise {
  0% {
    transform: rotateZ(0deg);
  }
  30% {
    transform: rotateZ(6deg);
  }
  60% {
    transform: rotateZ(6deg);
  }
  100% {
    transform: rotateZ(0deg);
  }
}



/*** more-btn ***/
.more-btn-st1 { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 44px; padding: 0 20px; color: #fff; background: var(--main1); border-radius: 50px; }
.more-btn-st1 span { font-family: var(--head-font); font-size: 15px;  }
.more-btn-st1 i { height: 14px; }
.more-btn-st1:hover i { animation: shakeLeft 1s ease-in-out infinite; }
.more-btn-st2 { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; font-size: 12px; color: #fff; background: var(--sub1); border-radius: 100%; }
.more-btn-st2-1 { background: var(--sub2); }
.more-btn-st2 i::before { font-weight: 900 !important; }

/*** swiper-control ***/
.swiper-control-st1 { display: flex; align-items: center; gap: 15px; }
.swiper-control-st1 [class^="swiper-button-"] { width: 34px; height: 34px; background-color: var(--sub3); background-repeat: no-repeat; background-position: center center; background-size: auto 12px; border-radius: 100%; }
.swiper-control-st1 .swiper-button-pause { background-image: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0V14M7 0V14' stroke='white' stroke-width='2'/%3E%3C/svg%3E"); }
.swiper-control-st1 .swiper-button-play { background-image: url("data:image/svg+xml,%3Csvg width='8' height='10' viewBox='0 0 8 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0.333374V9.66671L7.33333 5.00004L0 0.333374Z' fill='white'/%3E%3C/svg%3E"); }
.swiper-pagination-st1 { flex-shrink: 0; display: flex; align-items: center; gap: 8px; width: fit-content;font-weight: 500; font-size: 16px; color: #555; }
.swiper-pagination-st1 .swiper-pagination-current { font-weight: 600; color: var(--main1); }


.swiper-btn-st1 { display: flex; align-items: center; gap: 5px; }
.swiper-btn-st1 > div { position: relative; top: unset; right: unset; bottom: unset; left: unset; z-index: 1; width: 55px; height: 55px; margin: 0; background-color: #fff; background-repeat: no-repeat; background-size: auto 16px; background-position: center; border-radius: 100%; cursor: pointer; }
.swiper-btn-st1 > div::after { display: none; }
.swiper-btn-st1 .swiper-button-prev { background-image: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1L1.5 8.5L9 16' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
.swiper-btn-st1 .swiper-button-next { background-image: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 16L8.5 8.5L1 0.999999' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }

.swiper-btn-st2 { display: flex; gap: 10px; }
.swiper-btn-st2 > div { position: relative; top: unset; right: unset; bottom: unset; left: unset; z-index: 1; width: 38px; height: 38px; margin: 0; background-color: var(--light1); background-repeat: no-repeat; background-size: auto 10px; background-position: center; border-radius: 100%; cursor: pointer; }
.swiper-btn-st2 > div::after { display: none; }
.swiper-btn-st2 .swiper-button-prev { background-image: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 1L1.5 8.5L9 16' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
.swiper-btn-st2 .swiper-button-next { background-image: url("data:image/svg+xml,%3Csvg width='10' height='17' viewBox='0 0 10 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 16L8.5 8.5L1 0.999999' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
.swiper-btn-st2 .swiper-button-pause { background-image: url("data:image/svg+xml,%3Csvg width='8' height='14' viewBox='0 0 8 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 0V14M7 0V14' stroke='black' stroke-width='2'/%3E%3C/svg%3E"); }
.swiper-btn-st2 .swiper-button-play { background-image: url("data:image/svg+xml,%3Csvg width='8' height='10' viewBox='0 0 8 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0.333374V9.66671L7.33333 5.00004L0 0.333374Z' fill='black'/%3E%3C/svg%3E"); }



/********* cate *********/
.cate-st1 { display: inline-block; width: 60px; padding: 8px 0; font-weight: 800; font-size: 14px; border-radius: 30px; text-align: center; white-space: nowrap; }
.cate-st1.cate1 { color: var(--main1); background: var(--light2); }
.cate-st1.cate2 { color: var(--main2); background: var(--light3); }
@media only screen and (max-width: 390px) {
	.cate-st1 { width: 50px; padding: 6px 0; font-size: 13px; }
}





/********* state *********/
.state-st1 { flex-shrink: 0; display: block; width: 70px; height: 30px; line-height: 32px; font-family: var(--head-font); font-weight: 400; font-size: 14px; text-align: center; border-radius: 50px; }
.state-st1.state1 { color: var(--primary1); border: 1px solid var(--primary1); }
.state-st1.state2 { color: var(--gray-99); border: 1px solid var(--gray-99); }
.state-st1.state3 { color: #2E7D31; border: 1px solid #2E7D31; }
.state-st1.state4 { color: #888; background: var(--gray-e9); }





/* 에디터 텍스트 */
.editor-text { line-height: 1.4 !important; font-family: "Pretendard" !important; font-size: 16px !important; color: #111 !important; }
.editor-text img { max-width: 100% !important; height: auto !important; }
.editor-text .youtube-wrap { max-width: 1000px; margin: 0 auto; }
.editor-text .youtube-wrap .youtube { position: relative; width: 100%; height: 0; padding-bottom: 56%; }
.editor-text .youtube-wrap .youtube iframe { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; }







/********** tab **********/
.tab-btn.tab-st1 { position: relative; display: flex; flex-wrap: wrap; align-items: center; width: fit-content; background: var(--gray-f6); border-radius: 50px; }
.tab-btn.tab-st1 li { position: relative; z-index: 1; width: fit-content; }
.tab-btn.tab-st1 li a { display: inline-block; height: 40px; line-height: 40px; padding: 0 33px; font-weight: 700; color: #333; border-radius: 50px; white-space: nowrap; text-align: center; }
.tab-btn.tab-st1 li.on a { color: #fff; background: var(--main1); }

.tab-btn.tab-st2 { position: relative; display: flex; align-items: center; gap: 5px; padding-left: 30px; width: fit-content; background: var(--gray-f6); border-radius: 50px; }
.tab-btn.tab-st2 li { position: relative; z-index: 1; width: fit-content; }
.tab-btn.tab-st2 li a { display: inline-block; height: 40px; line-height: 40px; padding: 0 33px; background: var(--gray-dd); border-radius: 1rem 1rem 0 0; white-space: nowrap; text-align: center; }
.tab-btn.tab-st2 li.on a { background: #fff; }

.tab-conts .tab-cont { display: none; }
.tab-conts .tab-cont.on { display: block; }


.tab-swiper-wrap { position: relative; }
.tab-swiper-wrap .swiper-btn-st2 { display: none; }
.tab-swiper-wrap .swiper-btn-st2 > div { position: absolute; top: 0px; }
.tab-swiper-wrap .swiper-btn-st2 .swiper-button-prev { left: 0; }
.tab-swiper-wrap .swiper-btn-st2 .swiper-button-next { right: 0; }


@media only screen and (max-width: 1023px) {
  .tab-btn.tab-st1 { gap: 5px; background: none; }
  .tab-btn.tab-st1 li a { width: 100%; padding: 0 15px; background: var(--gray-f6); }
	.tab-swiper-wrap .tab-swiper { margin: 0 50px; }
	.tab-swiper-wrap .swiper-btn-st2 { display: block; }
	
}
@media only screen and (max-width: 767px) {

}
@media only screen and (max-width: 450px) {
  .tab-btn.tab-st2 li a { padding: 0 15px; }
}




.no-list { padding: 100px 0; text-align: center; }



/********** list **********/
.list-st1 > li { position: relative; line-height: 1.5; padding-left: 15px; font-size: 1.6rem; color: #555; }
.list-st1 > li::before { content:""; position: absolute; top: 10px; left: 3px; width: 3px; height: 3px; background: var(--gray-cc); border-radius: 100%; }
.list-st1 > li + li { margin-top: 4px; }

.list-st2 > li { position: relative; line-height: 1.3; padding-left: 12px; font-size: 15px; color: #555;; }
.list-st2 > li::before { content:""; position: absolute; top: 8px; left: 0; width: 5px; height: 1px; background: var(--gray-cc); }
.list-st2 > li + li { margin-top: 5px; }

.list-st3 > li { position: relative; line-height: 1.4; padding-left: 28px; counter-increment: number1; }
.list-st3 > li::before { content: counter(number1); display: inline-block; position: absolute; top: 2px; left: 0; width: 21px; height: 21px; line-height: 20px; font-size: 13px; color: #fff; text-align: center; background: var(--primary1); border-radius: 100%; }
.list-st3 > li + li { margin-top: 10px; }

.list-st4 > li { position: relative; line-height: 1.4; padding-left: 28px; counter-increment: number2; }
.list-st4 > li::before { content: counter(number2); display: inline-block; position: absolute; top: 2px; left: 0; width: 21px; height: 21px; line-height: 20px; font-size: 13px; color: var(--primary1); text-align: center; background: var(--light-sky); border: 1px solid var(--blue); }
.list-st4 > li + li { margin-top: 5px; }

.list-st3 > li > .list-st4 { padding: 5px 0; }


.img-list-st1 { display: flex; flex-wrap: wrap; row-gap: 30px; margin: 0 -10px; }
.img-list-st1 li { width: 33.3%; padding: 0 10px; }
.img-list-st1 li a { position: relative; display: block; }
.img-list-st1-1 li { width: 50%; }
.img-list-st1-2 li { width: 25%; }
.img-list-st1 li .lv { position: absolute; top: 10px; right: 10px; z-index: 1; width: 30px; height: 30px; line-height: 31px; font-family: var(--head-font); font-size: 15px; color: #fff; border-radius: 100%; text-align: center; }
.img-list-st1 li .lv-1 { background: var(--sub1); }
.img-list-st1 li .lv-2 { background: var(--sub2); }
.img-list-st1 li .lv-3 { background: var(--sub4); }

.img-list-st1 li .img-wrap { position: relative; width: 100%; height: 0; padding-bottom: 60%; background: var(--gray-f467); border-radius: 1rem; overflow: hidden; }
.img-list-st1 li .img-wrap img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.img-list-st1 li .txt-wrap {  }
.img-list-st1 li .txt-wrap p { text-align: center; }
@media only screen and (max-width: 767px) {
  .img-list-st1 { row-gap: 20px; }
  .img-list-st1 li { width: 100%; }
}



/********** box **********/
/* bd-box */
.bd-box-st1 { padding: 20px; border: 1px solid var(--gray-dd); border-radius: 1rem; overflow: hidden; }
.bd-box-st2 { border: 1px solid var(--gray-dd); border-radius: 1rem; overflow: hidden; }
.bd-box-st3 { padding: 20px; border-top: 2px solid var(--main1); }
.bd-box-st4 { padding: 20px; background: var(--gray-f467); border-top: 1px solid var(--gray-e5); }
.bd-box-st5 { padding: 20px; border-bottom: 1px solid var(--gray-e5); }


/* bg-box */
.bg-box-st1 { padding: 20px; background: #fff; border-radius: 1.5rem; }
.bg-box-st2 { padding: 20px; background: var(--gray-f467); }
.bg-box-st2-2 { padding: 20px; background: var(--gray-f467); border-bottom: 1px solid #000; }
.bg-box-st3 { padding: 20px; background: #fcf5d2; border-radius: 1.5rem; }
.bg-box-st4 { padding: 20px; background: var(--gray-f6); border-radius: 1.5rem; }
.bg-box-st5 { padding: 20px; background: #e9f8ff; border-radius: 50px; }

.box-st1 { padding: 20px; background: var(--gray-f467); border-top: 2px solid var(--sub1); }
@media only screen and (max-width: 1023px) {
	.bd-box-st1 { padding: 15px; }

	.bg-box-st1 { padding: 15px; }
}
@media only screen and (max-width: 1023px) {
	.bd-box-st3 { padding: 15px; }
}


/********** info list **********/
.info-st1 { display: flex; flex-wrap: wrap; gap: 10px 30px; }
.info-st1 li { display: flex; align-items: center; gap: 10px; }
.info-st1 li .cate-st1 { flex-shrink: 0; }
.info-st1 li em { line-height: 1.2; word-break: keep-all; word-wrap: break-word; }




/* input */
.inp-st1 { height: 40px; line-height: 40px; padding: 0 15px; color: #444; border: 1px solid var(--gray-dd); border-radius: 50px; background: #fff; white-space: nowrap; text-overflow: ellipsis; }
select.inp-st1 { min-width: fit-content; width: fit-content; padding: 0 40px 0 15px; background: #fff url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.5 7.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23666; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M.75.75l6,6L12.75.75'/%3E%3C/svg%3E") no-repeat right 15px center / auto 5px; appearance: none; }
textarea.inp-st1 { height: unset; padding: 15px; }
.inp-st2 { height: 40px; line-height: 40px; padding: 0 15px; border: 1px solid var(--gray-e5); }
select.inp-st2 { width: fit-content; padding: 0 40px 0 15px; background: #fff url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13.5 7.5'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23666; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M.75.75l6,6L12.75.75'/%3E%3C/svg%3E") no-repeat right 15px center / auto 5px; appearance: none; }
textarea.inp-st2 { height: unset; line-height: 1.4; padding: 15px; }
.inp-flex { display: flex; align-items: center; gap: 5px; }
.time-limit { position: absolute; top: 50%; right: 10px; transform: translateY(-50%); }
@media only screen and (max-width: 767px) {
	.inp-st1 { padding: 0 10px; }
	select.inp-st1 { padding: 0 30px 0 10px; background-position: right 10px center; }
  .inp-flex { flex-direction: column; }
  .inp-flex .inp-st1 { width: 100%; }
  .inp-flex.inp-flex-st1 { align-items: flex-start; }
  .inp-flex.inp-flex-st2 { flex-direction: row; }
  .inp-flex.inp-flex-st2 select.inp-st1 { width: unset; }
}

/********** checkbox & radio **********/
/* 리스트 */
.chk-list1 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; }
.chk-list2 { display: flex; align-items: center; gap: 8px 20px; }
.chk-list3 { display: flex; flex-wrap: wrap; }
.chk-list3 > li { flex: 1 0 auto; min-width: fit-content; width: 33.3%; padding: 2px; }
.chk-list4 {  }
.chk-list4 > li { flex-shrink: 0; }
@media only screen and (max-width: 560px) {
  .chk-list3 > li { width: calc(50% - 8px); }
}
@media only screen and (max-width: 400px) {
  .chk-list3 > li { width: 100%; }
}

/* checkbox */
.chk-st1 { position: relative; flex-shrink: 0; }
.chk-st1 input { appearance:none; position: absolute; top: -1px; left: 0; width: 25px; height: 25px; border: none; background: transparent; }
.chk-st1 label { position: relative; display: inline-block; line-height: 1.5; padding-left: 35px; font-size: 15px; cursor: pointer; }
.chk-st1 label::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; z-index: -1; width: 25px; height: 25px; border: 1px solid var(--gray-b5); background: #fff; }
.chk-st1 input:checked + label { color: #333; }
.chk-st1 input:checked + label::before { background: var(--gray-f467); }
.chk-st1 input:checked + label::after { content:""; position: absolute; top: 50%; left: 8px; transform: translateY(-50%); width: 10px; height: 10px; background: var(--sub1); }

.chk-st2 { position: relative; }
.chk-st2 label { display: block; width: 25px; height: 25px; background: #fff; overflow: hidden; cursor: pointer; }
.chk-st2 input { appearance: none; width: 100%; height: 100%; margin: 0; padding: 0; border: none; cursor: pointer; border: 1px solid var(--gray-b5); border-radius: 4px; }
.chk-st2 input:checked { background: var(--gray-f467); }
.chk-st2 input:checked::after { content:""; position: absolute; top: 50%; left: 8px; transform: translateY(-50%); width: 10px; height: 10px; background: var(--sub1); }


/* radio */
.rdo-st1 { position: relative; }
.rdo-st1 input { appearance: none; position: absolute; top: 1px; left: 0; width: 18px; height: 18px; margin: 0; border: none; background: transparent; }
.rdo-st1 label { position: relative; line-height: 1.4; padding-left: 25px; font-size: 15px; color: #555; cursor: pointer; }
.rdo-st1 label.hide { font-size: 0; }
.rdo-st1 label:before { content: ""; position: absolute; top: 1px; left: 0; width: 18px; height: 18px; background: #fff; border: 1px solid var(--gray-dd); border-radius: 100%; }
.rdo-st1 input:checked + label { font-weight: 600; }
.rdo-st1 input:checked + label:before { content: ""; position: absolute; top: 1px; left: 0; width: 18px; height: 18px; background: var(--primary1); border: 1px solid var(--primary1); }
.rdo-st1 input:checked + label:after { content: ""; position: absolute; top: 7px; left: 6px; width: 6px; height: 6px; background: #fff; border-radius: 100%; }

.rdo-st2 { position: relative; }
.rdo-st2 input { appearance:none; position: absolute; top: 3px; left: 0; width: 18px; height: 18px; border: none; background: transparent; }
.rdo-st2 label { position: relative; display: inline-block; line-height: 1.2; padding-left: 25px; font-size: 15px; color: #555; cursor: pointer; }
.rdo-st2 label::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; z-index: -1; width: 18px; height: 18px; border: 1px solid var(--gray-dd); border-radius: 4px; background: #fff; }
.rdo-st2 input:checked + label { font-weight: 600; color: #333; }
.rdo-st2 input:checked + label:before { border: 1px solid var(--primary1); background: var(--primary1) url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22.64 16.16'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %23fff; stroke-width: 1px; %7D %3C/style%3E%3C/defs%3E%3Cpolygon class='cls-1' points='0 7.91 1.77 6.14 8.25 12.62 20.87 0 22.64 1.77 8.25 16.16 0 7.91'/%3E%3C/svg%3E") no-repeat center center / 10px 7px; }

.rdo-st3 { position: relative; }
.rdo-st3 input { appearance:none; margin: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; background: transparent; }
.rdo-st3 label { display: block; padding: 10px; border: 1px solid var(--gray-e5); border-radius: 10px; text-align: center; cursor: pointer; }
.rdo-st3 input:checked + label { border: 2px solid var(--main1); }

/********** 폼 **********/
.form-wrap1 { margin-top: -2rem; }
.form-wrap1 .title { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 10px; padding: 20px 0; border-bottom: 2px solid #222; }
.form-wrap1 .title strong { font-size: 2.4rem; color: #222; }
.form-wrap1 .title .esn { font-size: 14px; color: #555; }
.form-wrap1 .title .esn b { color: var(--red1); }
.form-wrap1 .form-col { display: flex; align-items: center; }
.form-wrap1 .form-col .col-5 { width: 50%; }
.form-wrap1 .form-col .col-5:first-child { padding-right: 30px; }
.form-wrap1 .form-group { display: flex; padding: 2rem 0.6rem 0 0.6rem; }
.form-wrap1 .form-group .label { flex-shrink: 0; width: 10rem; padding-top: 1.2rem; font-weight: 600; }
.form-wrap1 .form-group .inp-box { position: relative; width: 100%; }
.form-wrap1 .form-group .inp-box .checklist-st1 { padding-top: 10px; }
.form-wrap1 .form-group .inp-box .inp-st1 { width: 100%; }
.form-wrap1 .form-group .inp-box .inp-st1.input1 { max-width: 200px; }
.form-wrap1 .form-group .inp-box .inp-st1.input2 { max-width: 300px; }
.form-wrap1 .form-group .inp-box .inp-st1.input3 { max-width: 100px; }
.form-wrap1 .form-group .inp-flex { display: flex; align-items: center; gap: 5px; }
.form-wrap1 .form-group .inp-flex-st1 .inp-flex { width: 100%; }
.form-wrap1 .form-group .inp-flex-st2 { gap: 10px; }
.form-wrap1 .form-group .inp-flex-st2 .btn-bace1 { margin-left: auto; }
.form-wrap1 .form-group .po-ab-btn { position: absolute; top: 5px; right: 5px; }


/******* 첨부파일 *******/
.file-list {  }
.file-list li { display: flex; align-items: center; gap: 10px; margin-top: 0.5rem; margin-bottom: 0.5rem; }
.file-list li span { color: #777; }
.file-list li .delete-btn { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; font-size: 10px; border: 1px solid var(--gray-e5); }
@media only screen and (max-width: 1260px) {
	.form-wrap1 .form-col-st1 { flex-direction: column; }
	.form-wrap1 .form-col-st1 .col-5 { width: 100%; }
	.form-wrap1 .form-col-st1 .col-5:first-child { padding: 2rem 0.6rem 0 0.6rem; }
}
@media only screen and (max-width: 1023px) {
	.form-wrap1 .form-col { flex-wrap: wrap; }
	.form-wrap1 .form-col .col-5 { width: 100%; }
	.form-wrap1 .form-col .col-5:first-child { padding-right: 0.6rem; }
	.form-wrap1 .form-group .inp-flex-st1 { flex-direction: column; }
	.form-wrap1 .form-group .inp-flex-st1 .btn-bace1 { width: 100%; }

}
@media only screen and (max-width: 767px) {
	.form-wrap1 .form-group { flex-direction: column; }
	.form-wrap1 .form-group .label { padding-bottom: 1.2rem; }

	.form-wrap1 .form-group .inp-flex-st2 { flex-direction: column; }
	.form-wrap1 .form-group .inp-flex-st2 .inp-st1.input1 { max-width: 100%; }
	.form-wrap1 .form-group .inp-flex-st2 .chk-list2 { width: 100%; }
	.form-wrap1 .form-group .inp-flex-st2 .btn-bace1 { width: 100%; }
}
@media only screen and (max-width: 390px) {
	.form-wrap1 .form-group .inp-flex-st3 { flex-direction: column; }
	.form-wrap1 .form-group .inp-flex-st3 .inp-st1.input1 { max-width: 100%; }
	.form-wrap1 .form-group .inp-flex-st3 .inp-st1.input3 { max-width: 100%; }
	.form-wrap1 .form-group .inp-flex-st3 .chk-list2 { width: 100%; }
	.form-wrap1 .form-group .inp-flex-st3 .btn-bace1 { width: 100%; }
}


.form-table { width: 100%; table-layout: fixed; border-top: 2px solid var(--main1); }
.form-table th { padding: 18px 18px; line-height: 1.3; font-weight: 600; font-size: 15px; background: var(--gray-f467); border-right: 1px solid var(--gray-e5); border-bottom: 1px solid var(--gray-e5); text-align: center; word-break: keep-all; vertical-align: middle; }
.form-table td { padding: 18px 18px; line-height: 1.3; font-size: 15px; border-bottom: 1px solid var(--gray-e5); border-right: 1px solid var(--gray-e5); text-align: left; }
.form-table td:last-child { border-right: none; }
.form-table td .flex-st1 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.form-table td .flex-st1 .btn-bace1 { flex-shrink: 0; }
.form-table td .flex-st2 { display: flex; align-items: center; gap: 5px; }
.form-table td .inp-sht1 { max-width: 80px; }
.form-table td .inp-sht2 { max-width: 250px; }
@media only screen and (max-width: 1023px) {
  .form-table td { padding: 10px; }
}
@media only screen and (max-width: 767px) {
  .form-table-wrap { overflow: scroll; }
  .form-table-wrap .form-table { min-width: 700px; }
  .form-table colgroup { display: none; }
  .form-table tr { display: flex; flex-wrap: wrap; width: 100%; }
  .form-table th { display: block; width: 120px; padding: 10px; text-align: left; }
  .form-table td { display: block; width: calc(100% - 120px); padding: 10px; border-right: none; }
  .form-table td.wh100p { width: 100%; }
  .form-table td .flex-st1 { flex-direction: column; align-items: baseline; }
  
}
@media only screen and (max-width: 560px) {
  .form-table td .inp-st2 { width: 100%; }
  .form-table td .inp-sht2 { max-width: unset; }
  .form-resp-table tr { flex-wrap: wrap; }
	.form-resp-table th { width: 100%; border-right: none; }
	.form-resp-table td { width: 100%; border-right: none !important }
}



/********** table **********/
.tableA { width: 100%; border-collapse: collapse; border: 1px solid #96a9c3; }
.tableA tr { border-bottom: 1px solid #96a9c3; }
.tableA th { padding: 12px 15px; line-height: 1.4; font-weight: 600; font-size: 16px; color: #444; background: #f6f9fd; border-right: 1px solid #96a9c3; text-align: center; }
.tableA td { padding: 12px 15px; line-height: 1.4; font-size: 16px; color: #555; text-align: center; word-break: keep-all; border-right: 1px solid #96a9c3; }
.tableA td:last-child { border-right: none; }
.tableA td.txt-lf { text-align: left; }

.tableB { width: 100%; border-top: 1px solid var(--gray-dd); border-collapse: collapse; }
.tableB tr { border-bottom: 1px solid var(--gray-dd); }
.tableB th { padding: 15px; font-weight: 500; color: #333; background: var(--gray-fc); word-break: keep-all; text-align: center; border-right: 1px solid var(--gray-dd); }
.tableB th:last-child { border-right: none; }
.tableB td { padding: 8px; color: #555; word-break: keep-all; text-align: center; border-right: 1px solid var(--gray-dd); }
.tableB td:last-child { border-right: none; }

.table-fixed-thead { border: none; border-collapse: separate; border-spacing: -1px; }
.table-fixed-thead thead {  }
.table-fixed-thead thead tr {  }
.table-fixed-thead thead tr th { position: sticky; top: 0; z-index: 1; border-top: 2px solid var(--gray-44); border-bottom: 1px solid var(--gray-e5); }
.table-fixed-thead tbody tr td { border-bottom: 1px solid var(--gray-e5); }

.tableA td.bd-diagonal { position: relative; background: linear-gradient(to top right, #fff calc(50% - 1px), var(--gray-e5) , #fff calc(50% + 1px) ) }

.table-valign-t td { vertical-align: top; }

.table-scroll-wrap.pc-scroll { position: relative; overflow-x: scroll; }
@media only screen and (max-width: 1023px) {
	.tableA th { padding: 10px; font-size: 14px; }
	.tableA td { padding: 10px; font-size: 14px; }
	.tableA tfoot td { padding: 10px; font-size: 14px; }
}
@media only screen and (max-width: 767px) {
	/* .tableA colgroup,
    .tableA thead th { display: none }
    .tableA tbody tr { position: relative; display: flex; flex-wrap: wrap; padding: 10px 10px 10px 50px; border-bottom: 1px solid var(--gray-e5) }
    .tableA tbody tr.no-list { justify-content: center; padding: 50px 0; }
    .tableA tbody tr td { position: relative; display: inline-block; padding: 0; color: #666; }
    .tableA tbody tr td[data-content="번호"] { position: absolute; left: 5px; top: 50%; transform: translateY(-50%); display: inline-block; width: 40px; text-align: center; }
    .tableA tbody tr td[data-content="문의제목"] { width: 100%; padding-bottom: 5px; }
    .tableA tbody tr td .tit { display: flex; width: 100% !important; padding: 0; text-align: left !important; border-top: none; }
    .tableA tbody tr td::after { content: ""; display: inline-block; width: 1px; height: 8px; margin: 0 10px; background: #bbb; vertical-align: middle; }
    .tableA tbody tr td[data-content="번호"]::after,
    .tableA tbody tr td[data-content="답변상태"]::after,
    .tableA tbody tr td[data-content="문의제목"]::after,
    .tableA tbody tr td:last-child:after { display: none; } */


	.table-responsive1 colgroup,
    .table-responsive1 thead { display: none; }
    .table-responsive1 tbody tr { position: relative; display: block; min-height: auto; padding: 10px 10px 10px 45px; text-align: left; }
    .table-responsive1 tbody tr td { padding: 0 10px 0 0; color: #555; }
    .table-responsive1 tbody tr td::before { content: attr(data-content); display: inline-block; width: auto; margin-right: 5px; margin-bottom: 5px; font-weight: 500; font-size: 1.5rem; color: #333; text-align: left; }
    .table-responsive1 tbody tr td[data-content="번호"] { position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 40px; margin: -1px 0 0 0; padding-right: 0; text-align: center; }
    .table-responsive1 tbody tr td[data-content="번호"]::before { display: none; }
    .table-responsive1 tbody tr td[data-content="문의제목"] { padding: 0; text-align: left; }


	.table-scroll-wrap { position: relative; overflow-x: scroll; }
	.table-scroll-event { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; background-color: rgba(255,255,255,0.8); }
	.table-scroll-event.hidden { display: none; }
	.table-scroll-event .inner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
	.table-scroll-event .inner::before { content:""; display: block; position: absolute; top: -25px; left: 50%; transform: translateX(-50%); width: 30px; height: 30px; background-repeat: no-repeat; background-size: contain; background-position: center; background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='icon' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 61 64.28'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: none; stroke: %23000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; %7D %3C/style%3E%3C/defs%3E%3Cg%3E%3Cpath class='cls-1' d='M26.24,52.94s-8.39-7.82-8.39-15.08v-8.7c0-2.32,1.88-4.2,4.2-4.2h0c2.32,0,4.2,1.88,4.2,4.2V6.25c0-2.45,2.11-4.42,4.61-4.18,2.18.21,3.79,2.17,3.79,4.36v12.24c0-2.45,2.11-4.42,4.61-4.18,2.18.21,3.79,2.17,3.79,4.36v3.74c0-2.32,1.88-4.2,4.2-4.2h0c2.32,0,4.2,1.88,4.2,4.2v3.12c0-2.59,2.35-4.64,5.04-4.11,1.99.39,3.35,2.26,3.35,4.3h0c0,5.83.45,10.07-.06,15.51-.12,1.25-.34,2.49-.67,3.7l-2.09,7.84h-30.76Z'/%3E%3Cline class='cls-1' x1='26.24' y1='29.16' x2='26.24' y2='35.78'/%3E%3Cline class='cls-1' x1='34.63' y1='18.67' x2='34.63' y2='29.16'/%3E%3Cline class='cls-1' x1='43.03' y1='20.59' x2='43.03' y2='29.16'/%3E%3Cline class='cls-1' x1='51.42' y1='25.71' x2='51.42' y2='29.16'/%3E%3Crect class='cls-1' x='26.24' y='52.94' width='30.76' height='10.34'/%3E%3C/g%3E%3Cline class='cls-1' x1='40.31' y1='7.05' x2='58.94' y2='7.05'/%3E%3Cpolyline class='cls-1' points='52.89 1 58.94 7.05 52.89 13.11'/%3E%3Cline class='cls-1' x1='19.63' y1='7.05' x2='1' y2='7.05'/%3E%3Cpolyline class='cls-1' points='7.05 1 1 7.05 7.05 13.11'/%3E%3C/svg%3E"); animation: leftRight 2.4s infinite linear; }
	@keyframes leftRight {
		0% { transform: translateX(0px); }
	 	50% { transform: translateX(-20px); }  
		100% { transform: translateX(0px); }
	}
	.table-scroll-event .inner::after { content:"좌우로 스크롤하세요"; display: block; margin-top: 15px; font-size: 14px; }
	.table-scroll-wrap table { width: 150%; }
}
@media only screen and (max-width: 450px) {
	.book-table-st1 colgroup,
	.book-table-st1 thead { display: none; }
	.book-table-st1 tbody tr { position: relative; display: flex; flex-wrap: wrap; min-height: auto; padding: 10px; text-align: left; }
    .book-table-st1 tbody tr td { width: 100%; border-right: none; }
}








/********** btn **********/
/* 버튼 정렬 */
.btn-lf { display: flex; justify-content: flex-start; gap: 5px; }
.btn-ce { display: flex; justify-content: center; gap: 5px; }
.btn-rg { display: flex; justify-content: flex-end; gap: 5px; }
.btn-spb { display: flex; justify-content: space-between; gap: 5px; }
@media only screen and (max-width: 560px) {
	.btn-ce { flex-wrap: wrap; }
	.btn-ce > a, .btn-ce > button { flex: 1; min-width: fit-content; }
}

.btn-bace1 { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 150px; height: 48px; line-height: 48px; padding: 0 20px; font-family: "Pretendard"; font-weight: 600; font-size: 1.6rem; text-align: center; border-radius: 50px; }
.btn-bace2 { display: block; min-width: 180px; height: 55px; line-height: 55px; padding: 0 35px; font-family: "Pretendard"; font-weight: 500; font-size: 19px; text-align: center; overflow: hidden; white-space: nowrap; text-align: center; border-radius: 50px; }
.btn-bace3 { display: block; min-width: fit-content; height: 40px; line-height: 40px; padding: 0 15px; font-family: "Pretendard"; font-weight: 500; font-size: 16px; text-align: center; overflow: hidden; white-space: nowrap; text-align: center; border-radius: 50px; }
.btn-bace4 { display: block; min-width: fit-content; width: fit-content; height: 40px; line-height: 40px; padding: 0 15px; font-family: "Pretendard"; font-weight: 500; font-size: 15px; text-align: center; overflow: hidden; white-space: nowrap; text-align: center; }
.btn-bace5 { display: block; min-width: fit-content; width: fit-content; height: 28px; line-height: 28px; padding: 0 15px; font-family: "Pretendard"; font-weight: 500; font-size: 14px; text-align: center; overflow: hidden; white-space: nowrap; text-align: center; }
@media only screen and (max-width: 560px) {
	.btn-bace1 { min-width: unset; padding: 0 15px; }
  .btn-bace2 { height: 45px; line-height: 45px; padding: 0 20px; font-size: 16px; }
}

.underline { text-decoration: underline; }



/********** 팝업 **********/
.popup-wrap { display: none; position: fixed; top: 0; left: 0; z-index: 50; width: 100%; height: 100%; background: rgba(0,0,0,0.5) }
.popup-wrap.active { display: block; }
.popup-wrap .popup-inner { position: absolute; top: 50%; left: 50%; padding: 0 20px; transform: translate(-50%, -50%); }
.popup-wrap .popup-box1 { position: relative; width: 700px; background: #fff; }
.popup-wrap .popup-box1 .popup-top { padding: 20px; }
.popup-wrap .popup-box1 .popup-cont { max-height: calc(100vh - 140px); padding: 30px; overflow-y: scroll; }
.popup-wrap .popup-box1 .popup-close-btn { position: absolute; top: 16px; right: 20px; z-index: 1; display: flex; align-items: center; justify-content: center; width: 35px; height: 35px; }
.popup-wrap .popup-box1 .popup-close-btn i::before { font-weight: 900 !important; }
.popup-wrap .popup-box1 .popup-close-btn i { font-size: 25px; color: #000; }

.popup-wrap .popup-box1.popup-box1-1 { width: 500px; }
.popup-wrap .popup-box1.popup-box1-1 .popup-cont { padding: 50px 30px; }

.popup-wrap .popup-box2 { position: relative; width: 950px; background: #fff; }
.popup-wrap .popup-box2 .popup-cont { max-height: calc(100vh - 140px); overflow-y: auto; }


.popup-list-st1 { display: none; position: fixed; top: 0; left: 0; z-index: 50; width: 100vw; height: 100vh; background: rgba(0,0,0,0.5); }
.popup-list-st1.active { display: block; }
.popup-list-st1 .popup-list-inner { display: flex; align-items: center; justify-content: center; max-width: 100vw; height: 100vh; padding: 2rem; }
.popup-list-st1 .popup-list-inner .popup-list-box { display: flex; flex-wrap: wrap; gap: 2rem; max-width: calc(100vw - 4rem); max-height: calc(100vh - 4rem); overflow-y: scroll; }
.popup-list-st1 .popup-list-inner .popup-list-box::-webkit-scrollbar { width: 0px; }
.popup-list-st1 .popup-list-inner .popup-list-box::-webkit-scrollbar-track { background-color: transparent; } 
.popup-list-st1 .popup-list-inner .popup-list-box::-webkit-scrollbar-thumb { background-color: transparent; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup { min-width: 300px; max-height: 100%; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner { height: 100%; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner .popup-box1 { height: 100%; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner .popup-box1 .img-wrap { max-height: calc(100% - 50px); }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner .popup-box1 .img-wrap img { max-height: 100%; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner .popup-box1 .btn-ce { background-color: #fff; }
.popup-list-st1 .popup-list-inner .popup-list-box .popup .popup-inner .popup-box1 .btn-ce button { white-space: nowrap; }


@media only screen and (max-width: 1023px) {
  .popup-wrap .popup-inner { width: 100%; }
  .popup-wrap .popup-box2 { width: 100%; }
}
@media only screen and (max-width: 767px) {
	.popup-wrap .popup-inner-st1 { padding: 0; }
	.popup-wrap .popup-box1 .popup-top { padding: 15px 15px 11px 15px; }
	.popup-wrap .popup-box1 .close { top: 10px; right: 10px; }
	.popup-wrap .popup-box1 .close i { font-size: 20px; }
	.popup-wrap .popup-box1 .popup-cont { padding: 20px; }
}
@media only screen and (max-width: 560px) {
  .popup-wrap .popup-inner { width: 100%; padding: 0 10px; }
  .popup-wrap .popup-box1 { width: 100%; }
  .popup-wrap .popup-box1.popup-box1-1 { width: 100%; }
}





/********** 이미지 **********/
.img-wrap { display: block; overflow: hidden; }
.img-wrap img { max-width: 100% !important; }

.no-img { position: relative; background: var(--gray-f6); }


.thumb-img-st1 { position: relative; width: 100%; height: 0; padding-bottom: 100%; overflow: hidden; }
.thumb-img-st1 img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.thumb-img-st2 { position: relative; width: 100%; height: 0; padding-bottom: 143%; overflow: hidden; }
.thumb-img-st2 img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

.video-wrap video { max-width: 100%; }
.video-wrap iframe { max-width: 100%; border: 0; }


/********** 텍스트 ...처리 **********/
.txt-over1 {display: -webkit-box; display: -ms-flexbox; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-box-orient: vertical; -webkit-line-clamp: 1;} /* 1줄 */
.txt-over2 {display: -webkit-box; display: -ms-flexbox; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-box-orient: vertical; -webkit-line-clamp: 2;} /* 2줄 */
.txt-over3 {display: -webkit-box; display: -ms-flexbox; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-box-orient: vertical; -webkit-line-clamp: 3;} /* 3줄 */

/********** 오버플로우 스크롤 **********/
.ovf-x-scroll { overflow-x: scroll; }
.ovf-x-hidden { overflow-x: hidden; }
.ovf-y-scroll { overflow-y: scroll; }
.ovf-y-hidden { overflow-y: hidden; }
.ovf-hidden { overflow: hidden; }
.ovf-y-scroll::-webkit-scrollbar { width: 5px; }
.ovf-y-scroll::-webkit-scrollbar-track { background-color: var(--gray-fa); } 
.ovf-y-scroll::-webkit-scrollbar-thumb { background-color: var(--sub1); }
.scroll-txt { display: flex; align-items: center; gap: 10px; }

/********** 텍스트 정렬 **********/
.txt-lf {text-align: left;}
.txt-ce {text-align: center;}
.txt-rg {text-align: right;}

/********** font-weight **********/
.fw-300 {font-weight: 300;}
.fw-400 {font-weight: 400;}
.fw-500 {font-weight: 500;}
.fw-600 {font-weight: 600;}
.fw-700 {font-weight: 700;}

/********** font-size **********/
.fz-18 { font-size: 18px; }
.fz-17 { font-size: 17px; }
.fz-16 { font-size: 16px; }
.fz-15 { font-size: 15px; }
.fz-14 { font-size: 14px; }
.fz-13 { font-size: 13px; }


/* 정렬 */
.va-t { vertical-align: top; }
.va-m { vertical-align: middle; }
.va-b { vertical-align: bottom; }

.p-relative { position: relative; }

/********** display **********/
.d-block { display: block; }
.d-flex {display: flex;}

/* 정렬 */
.flx-wrap { flex-wrap: wrap; }
.flx-ali-center { align-items: center; }
.flx-jty-center { justify-content: center; }
.flx-jty-end { justify-content: flex-end; }
.flx-jty-spb { justify-content: space-between; }
.flx-shk-0 { flex-shrink: 0; }

/* gap */
.gap5 { gap: 5px; }
.gap10 { gap: 10px; }
.gap15 { gap: 15px; }
.gap20 { gap: 20px; }
.gap25 { gap: 25px; }
.gap30 { gap: 30px; }

.bdrd0 { border-radius: 0 !important; }
.bdrd5 { border-radius: 5px !important; }


/********** width **********/
.wh100p {width: 100%;}
.wh90p {width: 90%;}
.wh80p {width: 80%;}
.wh70p {width: 70%;}
.wh60p {width: 60%;}
.wh50p {width: 50%;}
.wh40p {width: 40%;}
.wh30p {width: 30%;}
.wh20p {width: 20%;}
.wh5p {width: 5%;}

/********** margin **********/
.mg0 {margin:0;}
/*** margin_top ***/
.mt0 {margin-top:0;}
.mt3 {margin-top:3px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}
.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}
.mt55 {margin-top:55px;}
.mt60 {margin-top:60px;}
.mt65 {margin-top:65px;}
.mt70 {margin-top:70px;}
.mt75 {margin-top:75px;}
.mt80 {margin-top:80px;}
.mt85 {margin-top:85px;}
.mt90 {margin-top:90px;}
.mt95 {margin-top:95px;}
.mt100 {margin-top:100px;}
.mt160 {margin-top:160px;}
/*** margin_bottom ***/
.mb0 {margin-bottom:0;}
.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mb45 {margin-bottom:45px;}
.mb50 {margin-bottom:50px;}
.mb55 {margin-bottom:55px;}
.mb60 {margin-bottom:60px;}
.mb65 {margin-bottom:65px;}
.mb70 {margin-bottom:70px;}
.mb75 {margin-bottom:75px;}
.mb80 {margin-bottom:80px;}
.mb85 {margin-bottom:85px;}
.mb90 {margin-bottom:90px;}
.mb95 {margin-bottom:95px;}
.mb100 {margin-bottom:100px;}
/*** margin_left ***/
.ml0 {margin-left:0;}
.ml5 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml15 {margin-left:15px;}
.ml20 {margin-left:20px;}
.ml25 {margin-left:25px;}
.ml30 {margin-left:30px;}
.ml35 {margin-left:35px;}
.ml40 {margin-left:40px;}
.ml45 {margin-left:45px;}
.ml50 {margin-left:50px;}
.ml55 {margin-left:55px;}
.ml60 {margin-left:60px;}
.ml65 {margin-left:65px;}
.ml70 {margin-left:70px;}
.ml75 {margin-left:75px;}
.ml80 {margin-left:80px;}
.ml85 {margin-left:85px;}
.ml90 {margin-left:90px;}
.ml95 {margin-left:95px;}
.ml100 {margin-left:100px;}
/*** margin_right ***/
.mr0 {margin-right:0;}
.mr5 {margin-right:5px;}
.mr10 {margin-right:10px;}
.mr15 {margin-right:15px;}
.mr20 {margin-right:20px;}
.mr25 {margin-right:25px;}
.mr30 {margin-right:30px;}
.mr35 {margin-right:35px;}
.mr40 {margin-right:40px;}
.mr45 {margin-right:45px;}
.mr50 {margin-right:50px;}
.mr55 {margin-right:55px;}
.mr60 {margin-right:60px;}
.mr65 {margin-right:65px;}
.mr70 {margin-right:70px;}
.mr75 {margin-right:75px;}
.mr80 {margin-right:80px;}
.mr85 {margin-right:85px;}
.mr90 {margin-right:90px;}
.mr95 {margin-right:95px;}
.mr100 {margin-right:100px;}

@media only screen and (max-width: 560px) {
	.mt60 {margin-top: 30px;}
}

/******************** padding ********************/
.pd0 {padding:0;}
.pd5 {padding:5px;}
.pd10 {padding:10px;}
.pd15 {padding:15px;}
.pd20 {padding:20px;}
.pd25 {padding:25px;}
.pd30 {padding:30px;}
.pd35 {padding:35px;}
.pd40 {padding:40px;}
.pd45 {padding:45px;}
.pd50 {padding:50px;}
.pd55 {padding:55px;}
.pd60 {padding:60px;}
.pd65 {padding:65px;}
.pd70 {padding:70px;}
.pd75 {padding:75px;}
.pd80 {padding:80px;}
.pd85 {padding:85px;}
.pd90 {padding:90px;}
.pd95 {padding:95px;}
.pd100 {padding:100px;}
/*** padding_top ***/
.pt0 {padding-top:0;}
.pt5 {padding-top:5px;}
.pt10 {padding-top:10px;}
.pt15 {padding-top:15px;}
.pt20 {padding-top:20px;}
.pt25 {padding-top:25px;}
.pt30 {padding-top:30px;}
.pt35 {padding-top:35px;}
.pt40 {padding-top:40px;}
.pt45 {padding-top:45px;}
.pt50 {padding-top:50px;}
.pt55 {padding-top:55px;}
.pt60 {padding-top:60px;}
.pt65 {padding-top:65px;}
.pt70 {padding-top:70px;}
.pt75 {padding-top:75px;}
.pt80 {padding-top:80px;}
.pt85 {padding-top:85px;}
.pt90 {padding-top:90px;}
.pt95 {padding-top:95px;}
.pt100 {padding-top:100px;}
/*** padding_bottom ***/
.pb0 {padding-bottom:0;}
.pb5 {padding-bottom:5px;}
.pb10 {padding-bottom:10px;}
.pb15 {padding-bottom:15px;}
.pb20 {padding-bottom:20px;}
.pb25 {padding-bottom:25px;}
.pb30 {padding-bottom:30px;}
.pb35 {padding-bottom:35px;}
.pb40 {padding-bottom:40px;}
.pb45 {padding-bottom:45px;}
.pb50 {padding-bottom:50px;}
.pb55 {padding-bottom:55px;}
.pb60 {padding-bottom:60px;}
.pb65 {padding-bottom:65px;}
.pb70 {padding-bottom:70px;}
.pb75 {padding-bottom:75px;}
.pb80 {padding-bottom:80px;}
.pb85 {padding-bottom:85px;}
.pb90 {padding-bottom:90px;}
.pb95 {padding-bottom:95px;}
.pb100 {padding-bottom:100px;}
/*** padding_left ***/
.pl0 {padding-left:0;}
.pl5 {padding-left:5px;}
.pl10 {padding-left:10px;}
.pl15 {padding-left:15px;}
.pl17 {padding-left:17px;}
.pl20 {padding-left:20px;}
.pl25 {padding-left:25px;}
.pl30 {padding-left:30px;}
.pl35 {padding-left:35px;}
.pl40 {padding-left:40px;}
.pl45 {padding-left:45px;}
.pl50 {padding-left:50px;}
.pl55 {padding-left:55px;}
.pl60 {padding-left:60px;}
.pl65 {padding-left:65px;}
.pl70 {padding-left:70px;}
.pl75 {padding-left:75px;}
.pl80 {padding-left:80px;}
.pl85 {padding-left:85px;}
.pl90 {padding-left:90px;}
.pl95 {padding-left:95px;}
.pl100 {padding-left:100px;}
/*** padding_right ***/
.pr0 {padding-right:0;}
.pr5 {padding-right:5px;}
.pr10 {padding-right:10px;}
.pr15 {padding-right:15px;}
.pr17 {padding-right:17px;}
.pr20 {padding-right:20px;}
.pr25 {padding-right:25px;}
.pr30 {padding-right:30px;}
.pr35 {padding-right:35px;}
.pr40 {padding-right:40px;}
.pr45 {padding-right:45px;}
.pr50 {padding-right:50px;}
.pr55 {padding-right:55px;}
.pr60 {padding-right:60px;}
.pr65 {padding-right:65px;}
.pr70 {padding-right:70px;}
.pr75 {padding-right:75px;}
.pr80 {padding-right:80px;}
.pr85 {padding-right:85px;}
.pr90 {padding-right:90px;}
.pr95 {padding-right:95px;}

/********** pagination **********/
.pagination-wrap { display: flex; align-items: center; justify-content: center; }
.pagination-wrap a, 
.pagination-wrap strong { display: flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border-radius: 5px; background-color: #fff; text-decoration: none; font-family: "Pretendard"; font-size: 16px; color: #000; }
.pagination-wrap strong { background-color: #000; color: #fff; font-weight: 400; }
.pagination-wrap a.paging-btn { width: 40px; padding: 0; }

.pagination-wrap .paging-btn .hide { overflow: hidden; position: absolute; width: 1px; height: 1px; margin: -1px; clip: rect(0 0 0 0); }
.pagination-wrap .paging-btn::before { content: ""; display: block; width: 14px; height: 14px; background-repeat: no-repeat; background-position: center; background-size: contain; }

.pagination-wrap .paging-btn.first::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='11 17 6 12 11 7'/%3E%3Cpolyline points='18 17 13 12 18 7'/%3E%3C/svg%3E"); }
.pagination-wrap .paging-btn.prev { margin-right: 22px; }
.pagination-wrap .paging-btn.prev::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E"); }
.pagination-wrap .paging-btn.next { margin-left: 22px; }
.pagination-wrap .paging-btn.next::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E"); }
.pagination-wrap .paging-btn.last::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='13 17 18 12 13 7'/%3E%3Cpolyline points='6 17 11 12 6 7'/%3E%3C/svg%3E"); }

@media only screen and (max-width: 767px) {
    .pagination-wrap { gap: 0; }
    .pagination-wrap .paging-btn.prev { margin-right: 10px; }
    .pagination-wrap .paging-btn.next { margin-left: 10px; }
}
