:root {
    --main-color: #F54E26;
    --bg-color: #F9F9F9;
    --black-color: #3A3A3A;
    --sub-txt-color-01: #555555;
    --sub-txt-color-02: #777777;
    --sub-txt-color-03: #999999;
    --border-color: #D9D9D9;
}
* {
  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(--black-color);
  border-radius: 10px;
}
*::-webkit-scrollbar-track {
  background: rgba(33, 122, 244, .1);
}
html {
  scroll-behavior : smooth;
}
body {
  font-family: "Pretendard", "Open Sans";
  position: relative;
  overflow: hidden;
  overflow-y: auto;
}
/*seo*/
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}

/*공통*/
.wrap {
    width: 100%;
    max-width: 1520px;
    margin: 0 auto;
}
.view-warp {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.bg-wrap {
    padding: 120px 0;
    background-color: var(--bg-color);
}
.top-btn {
    width: 48px;
    height: 48px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    cursor: pointer;
    z-index: 98;
}
.top-btn img {
  width: 20px;
  height: 20px;
}

/*header*/
.all-gnb {
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100vh;
    background-color: var(--black-color);
    z-index: 5;
    display: none;
    overflow-y: auto;
    background-image: url('../images/common/all_gnb_bg.png');
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
}
.all-gnb .box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 60px;
    position: relative;
}
.all-gnb .box::after {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: -1;
}
.gnb-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    padding: 0 24px;
}
.gnb-grid .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 36px;
    padding: 24px 8px;
}
.gnb-grid .item:not(:last-child) {
    border-right: 1px solid var(--border-color);
}
.gnb-grid .item > a {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    text-align: center;
}
.gnb-grid .item > a:hover {
    color: #aaa;
}
.gnb-grid .item ul {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.gnb-grid .item ul li a {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
}
.gnb-grid .item ul li a:hover {
    color: #aaa;
}
.all-txt {
    padding: 0 24px;
    text-align: center;
    line-height: 1.5;
    font-size: 24px;
    font-weight: 500;
    color: #fff;
}

.lang-area {
    display: flex;
    align-items: center;
}
.lang-area a {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 900;
    color: #fff;
}
.header-wrap.hover-on .lang-area a {
    color: var(--sub-txt-color-03);
}
.header-wrap.on .lang-area a {
    color: var(--sub-txt-color-03);
}
.lang-area a.on {
    color: var(--main-color) !important;
}
.lang-area a:not(:last-child)::after {
    content: "";
    width: 1px;
    height: 12px;
    display: inline-block;
    background-color: #fff;
    margin: 0 12px;
}
.lang-area a:hover {
    color: var(--main-color) !important;
}
.header-wrap.hover-on .lang-area a:not(:last-child)::after {
    background-color: var(--border-color);
}
.header-wrap.on .lang-area a:not(:last-child)::after {
    background-color: var(--border-color);
}


#ham_btn {
    display: none;
}
#ham_btn + label {
  position: relative;
  display: block;
  width: 42px;
  height: 26px;
  cursor: pointer;
  z-index: 10;
}
#ham_btn + label > span {
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 5px;
  transition: all 300ms;
}
.header-wrap.on #ham_btn + label > span {
    background-color: var(--black-color);
}
.header-wrap.hover-on #ham_btn + label > span {
    background-color: var(--black-color);
}
#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);
}


.header-wrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    height: 80px;
    transition: .1s ease-in-out;
}
.header-wrap.on {
    background-color: #fff;
    box-shadow: 0 1px 1px 0 var(--border-color);
}
.header-wrap.hover-on {
    background-color: #fff;
    height: 260px;
}
.header-wrap .container {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    max-width: 1520px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}
.header-wrap.hover-on .container {
    border-bottom: 1px solid var(--border-color);
}
.header-wrap .logo {
    width: 60px;
    position: relative;
    z-index: 99;
}
.header-wrap .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.header-wrap.hover-on .gnb {
    gap: 80px;
    transition: .2s ease-in-out;
}
.header-wrap .fixed-area {
    height: 80px;
}
.gnb {
    display: flex;
    align-items: center;
    gap: 60px;
    transition: .2s ease-in-out;
}
.gnb > li {
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}
.gnb > li::after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 0;
    height: 2px;
    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: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
    transition: .2s ease-in-out;
}
.header-wrap.on .gnb > li > a {
    color: var(--black-color);
}
.header-wrap.hover-on .gnb > li > a {
    color: var(--black-color);
}
.gnb > li:hover > a {
    color: var(--sub-txt-color-02);
}
.header-wrap.on .gnb > li:hover > a {
    color: var(--sub-txt-color-02);
}

.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: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    white-space: nowrap;
}
.gnb-sub > li > a:hover {
    color: var(--main-color) !important;
}
.header-wrap.hover-on .gnb-sub > li:hover > a {
    color: var(--sub-txt-color-02);
}
.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-sub {
    width: 100%;
    position: absolute;
    top: 100%;
    display: none;
    margin-top: 8px;
}
.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: #fff;
}
.header-wrap.on .rt-area .lang-btn > span {
    color: var(--black-color);
}
.header-wrap.hover-on .rt-area .lang-btn > span {
    color: var(--black-color);
}
.rt-area .lang-btn > img {
    width: 14px;
}


/*footer*/
footer {
    margin-top: 120px;
}
.footer-wrap .hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding: 24px 0;
}
.footer-wrap .hd .f-logo {
    width: 60px;
}
.footer-wrap .hd .f-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.footer-wrap .hd .rt {
    display: flex;
    align-items: center;
    gap: 48px;
}
.fnb {
    display: flex;
    align-items: center;
    gap: 48px;
}
.fnb li a {
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
}
.fnb li a:hover {
    color: var(--sub-txt-color-02);
}

.footer-wrap .bt {
    padding: 24px 0;
    border-bottom: 1px solid var(--border-color);
}
.footer-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
}
.footer-grid .box {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.footer-grid .box:not(:last-child) {
    border-right: 1px solid var(--border-color);
}
.footer-grid .box > p {
    font-size: 18px;
    font-weight: 700;
    color: var(--black-color);
}
.footer-grid .box .list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.footer-grid .box .list .item {
    width: 100%;
    display: flex;
    gap: 12px;
}
.footer-grid .box .list .item span {
    display: flex;
    gap: 6px;
    word-break: keep-all;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
}
.footer-grid .box .list .item span:first-child {
    min-width: 100px;
}
.footer-grid .box .list .item span:nth-child(2) {
    color: var(--black-color);
    font-weight: 500;
}
.footer-grid .box .list .item span b {
    font-weight: 500;
    color: var(--black-color);
}
.footer-grid .box .list .item span a {
    display: flex;
    align-items: center;
    gap: 8px;
}
.footer-grid .box .list .item span a:hover {
    color: var(--sub-txt-color-01);
}
.footer-grid .box .list .item span img {
    width: 14px;
    height: 14px;
    transition: all .2s ease;
}
.footer-grid .box .list .item span a:hover img {
    transform: rotate(-45deg);
}
.footer-grid .box .list .item .bank {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.footer-grid .box .list .item .bank p {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
}
.footer-grid .box .list .item .bank b {
    font-weight: 500;
    color: var(--black-color);
}
.footer-wrap .copy {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    padding: 24px 0;
}
.footer-wrap .copy b {
    font-weight: 500;
    color: var(--black-color);
}


/*main*/
.banner-area {
    width: 100%;
    height: 100vh;
    position: relative;
}
.banner-area .banner-slider {
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.banner-area .banner-slider .swiper-slide {
    width: 100%;
    height: 100%;
}
.banner-area .banner-slider .swiper-slide .bg {
    width: 100%;
    height: 100%;
}
.banner-area .banner-slider .swiper-slide .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.banner-area .banner-content {
    width: 100%;
    max-width: 1520px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    line-height: 1.3;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}
.banner-area .banner-content .animation-txt {
    overflow: hidden;
}
.banner-area .banner-content .animation-txt span {
    display: block;
    text-align: center;
    font-size: 48px;
    font-weight: 700;
    color: #fff;
}
.banner-slider .swiper-slide-active .animation-txt span {
    animation : txt-over 1s linear;
}
.banner-area .banner-content .sm-txt {
    font-size: 18px;
    font-weight: 400;
    color: #fff;
    line-height: 1.3;
}
.banner-area .banner-content a {
    display: block;
    margin-top: 48px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: var(--main-color);
    border-radius: 100px;
    padding: 12px 24px;
}
.banner-area .banner-content a:hover {
    opacity: .8;
}
@keyframes txt-over {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
.pager {
    position: absolute;
    left: 50%;
    bottom: 90px;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: max-content;
    min-width: 40px;
    color: transparent;
    font-size: 0;
    text-align: right;
}
.swiper-pagination-current {
    color: #fff;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 15px;
}
.swiper-pagination-current::after {
    content: "";
    display: block;
    height: 1px;
    width: 20px;
    margin: 6px auto;
    background-color: #d1d1d1;
}
.swiper-pagination-total {
    color: #d1d1d1;
    font-size: 15px;
}
/*scroll down*/
.scroll-down {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 1;
}
.scroll-down .scroll-arrow {
  padding-top: 80px;
  position: relative;
}
.scroll-down .scroll-arrow span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: scroll_arorw 2s infinite;
  animation: scroll_arorw 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}
.scroll-down .scroll-arrow span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.scroll-down .scroll-arrow span:nth-of-type(2) {
  top: 12px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
.scroll-down .scroll-arrow span:nth-of-type(3) {
  top: 24px;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
@-webkit-keyframes scroll_arorw {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes scroll_arorw {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


.main-area {
    display: flex;
    flex-direction: column;
    gap: 120px;
    padding-top: 120px;
}
.main-area .box > p {
    font-size: 28px;
    font-weight: 600;
    color: var(--black-color);
    margin-bottom: 24px;
}
.main-area .box > p a {
    display: flex;
    align-items: center;
    gap: 12px;
}
.main-area .box > p a:hover {
    color: var(--sub-txt-color-02);
}
.main-area .box > p a img {
    width: 20px;
}
.main-area .box .box-item {
    margin-bottom: 80px;
}
.main-area .box .box-item.mb-0 {
    margin-bottom: 0;
}
.main-area .box .box-item > span {
    font-size: 24px;
    font-weight: 500;
    color: var(--sub-txt-color-01);
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}
.main-area .box .box-item > span::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 100%;
    background-color: var(--main-color);
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 60px 16px;
}
.product-grid .item {
    display: block;
    padding-bottom: 24px;
    position: relative;
    border-bottom: 1px solid var(--border-color);
}
.product-grid .item.empty {
    grid-column: 1 / -1;
    text-align: center;
}
.product-grid .item.empty::after {
    display: none;
}
.product-grid .item::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: var(--main-color);
    transition: all .2s ease-in-out;
}
.product-grid .item:hover::after {
    width: 100%;
}
.product-grid .item .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 24px;
    border-radius: 6px;
    overflow: hidden;
}
.product-grid .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .2s ease-in-out;
}
.product-grid .item:hover .img-box img {
    scale: 1.1;
}
.product-grid .item .txt {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.product-grid .item .txt .hd .cate {
    font-size: 14px;
    font-weight: 600;
    color: var(--main-color);
    margin-bottom: 8px;
}
.product-grid .item .txt .hd .tit {
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 47px;
}
.product-grid .item .txt .bt .price {
    font-size: 32px;
    font-weight: 600;
    color: var(--main-color);
    margin-bottom: 16px;
}
.product-grid .item .txt .bt .info {
    display: flex;
    align-items: center;
}
.product-grid .item .txt .bt .info span {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.product-grid .item .txt .bt .info span img {
    width: 16px;
    height: 16px;
    margin-right: 6px;
}
.product-grid .item .txt .bt .info span:first-child::after {
    content: "";
    display: inline-block;
    margin: 0 16px;
    width: 1px;
    height: 12px;
    background-color: var(--border-color);
}


.link-btn {
    margin-top: 48px;
    display: flex;
    justify-content: center;
    gap: 12px;
}
.link-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 36px;
    font-size: 16px;
    font-weight: 400;
    color: var(--black-color);
    border-radius: 100px;
    border: 1px solid var(--black-color);
}
.link-btn a:hover {
    background-color: var(--bg-color);
}

.insta-slider {
    width: 100%;
    position: relative;
}
.insta-slider .swiper-wrapper {
    padding-bottom: 48px;
}
.insta-slider .box {
    display: flex;
    flex-direction: column;
    gap: 24px;
    position: relative;
    padding-top: 24px;
    border-top: 1px solid var(--border-color);
}
.insta-slider .box::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 1px;
    background-color: var(--main-color);
    transition: all .2s ease-in-out;
}
.insta-slider .box:hover::after {
    width: 100%;
}
.insta-slider .box .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 6px;
    border: 1px solid #eee;
}
.insta-slider .box .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .2s ease-in-out;
}
.insta-slider .box:hover .img-box img {
    scale: 1.1;
    transition: .2s ease-in-out;
}
.insta-slider .box .hd {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.insta-slider .box .hd .info {
    display: flex;
    align-items: center;
}
.insta-slider .box .hd .info span {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.insta-slider .box .hd .info span:first-child {
    font-weight: 600;
    color: var(--main-color);
}
.insta-slider .box .hd .info span:first-child::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: var(--border-color);
    margin: 0 12px;
}
.insta-slider .box .hd .tit {
    font-size: 18px;
    font-weight: 600;
    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;
}

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

.main-support {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
}
.main-support .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.main-support .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.main-support .content {
    padding: 100px 150px;
    display: flex;
    gap: 48px;
    position: relative;
    z-index: 2;
}
.main-support .content .lt {
    width: 50%;
}
.main-support .content .lt p:first-child {
    font-size: 28px;
    font-weight: 600;
    color: #fff;
    display: flex;
    flex-direction: column;
}
.main-support .content .lt p:first-child::after {
    content: "";
    display: block;
    width: 150px;
    height: 1px;
    background-color: #fff;
    margin: 12px 0 24px;
}
.main-support .content .lt p:last-child {
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
}
.main-support .content .rt {
    width: 50%;
}
.main-form {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 48px;
}
.main-form .item {
    width: 100%;
}
.main-form .item.span-2 {
    grid-column: span 2;
}
.main-form .item > p {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}
.main-form.support .item > p {
    color: var(--black-color);
}
.main-form .item > p b {
    color: var(--main-color);
    margin-left: 4px;
}
.main-form .item input {
    width: 100%;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    padding-bottom: 12px;
    color: #fff;
}
.main-form.support .item input {
    border-bottom: 1px solid var(--black-color);
    color: var(--black-color);
}
.main-form .item textarea {
    padding: 16px 0;
    color: #fff;
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #fff;
    width: 100%;
    height: 100px;
}
.main-form.support .item textarea {
    color: var(--black-color);
    border-bottom: 1px solid var(--black-color);
}
.main-form .item.main-terms {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.main-form .item.main-terms .terms-chk > p {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 16px;
}
.main-form.support .item.main-terms .terms-chk > p {
    color: var(--black-color);
}
.main-form .item.main-terms .terms-chk > p b {
    color: var(--main-color);
    margin-left: 4px;
}
.main-form .item.main-terms .terms-chk .txt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.main-form .item.main-terms .terms-chk .txt label {
    cursor: pointer;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}
.main-form.support .item.main-terms .terms-chk .txt label {
    color: var(--black-color);
}
.main-form .item.main-terms .terms-chk .txt label input[type="checkbox"] {
    width: 16px;
    height: 16px;
    border-radius: 3px;
    background-color: transparent;
    margin: 0;
    margin-right: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 1px solid #fff;
    cursor: pointer;
    position: relative;
}
.main-form.support .item.main-terms .terms-chk .txt label input[type="checkbox"] {
    border: 1px solid var(--black-color);
}
.main-form .item.main-terms .terms-chk .txt label input[type="checkbox"]:checked {
    background: transparent;
}
.main-form .item.main-terms .terms-chk .txt label input[type="checkbox"]:checked::after {
    content: "✔";
    color: #fff;
    font-size: 18px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -55%);
}
.main-form.support .item.main-terms .terms-chk .txt label input[type="checkbox"]:checked::after {
    color: var(--black-color);
}
.main-form .item.main-terms .terms-chk .txt label span {
    color: var(--main-color);
}
.main-form .item.main-terms .terms-chk .txt {
    display: flex;
    align-items: center;
    gap: 16px;
}
.main-form .item.main-terms .terms-chk .txt a {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
    text-decoration: underline;
}
.main-form.support .item.main-terms .terms-chk .txt a {
    color: var(--black-color);
}
.main-form .item.main-terms button {
    border: 1px solid var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    padding: 16px 60px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: transparent;
}
.main-form.support .item.main-terms button {
    background-color: var(--black-color);
}
.main-form .item.main-terms button:hover {
    background-color: rgba(255, 255, 255, 0.2);
}
.main-form.support .item.main-terms button:hover {
    opacity: .8;
    background-color: var(--black-color);
}

/*pages*/
.about-intro {
    width: 100%;
    height: 100vh;
    position: relative;
}
.about-intro .bg {
    width: 100%;
    height: 100%;
}
.about-intro .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-intro .txt {
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 0 16px;
}
.about-intro .txt p:first-child {
    font-size: 24px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 8px;
}
.about-intro .txt p:last-child {
    font-size: 58px;
    font-weight: 400;
    color: #fff;
    line-height: 1.3;
    text-align: center;
}
.about-intro .txt p:last-child b {
    font-weight: 600;
}

.about-area {
    display: flex;
    flex-direction: column;
    gap: 120px;
}
.about-01 {
    display: flex;
    align-items: center;
    gap: 80px;
}
.about-01 .img-box {
    width: 50%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    overflow: hidden;
}
.about-01 .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-01 .txt {
    width: 50%;
}
.basic-tit .st-tit {
    font-size: 20px;
    font-weight: 600;
    color: var(--main-color);
    letter-spacing: 6px;
    margin-bottom: 16px;
}
.basic-tit .lg-tit {
    font-size: 58px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.2;
    word-break: keep-all;
}
.basic-tit .lg-tit.center {
    text-align: center;
}
.basic-tit .lg-tit b {
    font-weight: 700;
}
.basic-tit .sm-tit {
    font-size: 20px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    line-height: 1.5;
    word-break: keep-all;
    margin-top: 24px;
}
.basic-tit .sm-tit.center {
    text-align: center;
}


.sort-area {
    display: flex;
    flex-direction: column;
    gap: 100px;
}
.sort-area .item {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sort-area .item .tit {
    display: flex;
    gap: 36px;
}
.sort-area .item .tit span {
    display: inline-block;
    font-size: 28px;
    font-weight: 400;
    color: var(--black-color);
    line-height: 1.3;
}
.sort-area .item .tit-box {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sort-area .item .tit span:first-child {
    font-size: 58px;
    font-weight: 700;
    color: var(--main-color);
}
.sort-area .item .tit span b {
    font-weight: 600;
}
.sort-area .item .tit .sub-tit {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sort-area .item .tit .sub-tit span {
    display: inline-block;
    font-size: 28px;
    font-weight: 400;
    color: var(--black-color);
    line-height: 1.3;
}
.sort-area .item .tit .sub-tit p {
    font-size: 20px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.sort-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4px;
    border-radius: 0 100px 0 100px;
    overflow: hidden;
}
.sort-grid .img-box {
    width: 100%;
    aspect-ratio: 1 / 1;
}
.sort-grid .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.license-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 36px;
}
.license-grid .item {
    background-color: var(--bg-color);
    border-radius: 24px;
    padding: 36px 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.license-grid .item .icon {
    width: 80px;
    height: 80px;
    border-radius: 100%;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1);
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
.license-grid .item .icon img {
    width: 38px;
    height: 38px;
}
.license-grid .item .txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.license-grid .item .txt p:first-child {
    font-size: 20px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.3;
    text-align: center;
    word-break: keep-all;
}
.license-grid .item .txt p:last-child {
    font-size: 14px;
    font-weight: 600;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
    text-align: center;
}

.do-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
    margin-top: 36px;
}
.do-grid .item {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.do-grid .item.img {
    align-items: flex-end;
}
.do-grid .item p {
    font-size: 20px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    word-break: keep-all;
}
.do-grid .item img {
    width: 90%;
    height: 100%;
    object-fit: contain;
}
.road-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px;
    margin-top: 36px;
}
.road-grid .item .img-box {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin-bottom: 24px;
    border-radius: 24px;
    overflow: hidden;
}
.road-grid .item .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.road-grid .item .txt p:first-child {
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    margin-bottom: 16px;
}
.road-grid .item .txt p:nth-child(2) {
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
    word-break: keep-all;
}


.page-banner {
    width: 100%;
    height: 800px;
    position: relative;
}
.page-banner .bg {
    width: 100%;
    height: 100%;
    position: relative;
}
.page-banner .bg::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.3);
}
.page-banner .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page-banner .txt {
    width: 100%;
    max-width: 1520px;
    position: absolute;
    left: 50%;
    bottom: 100px;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.page-banner .txt p:first-child {
    font-size: 58px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
}
.page-banner .txt p:nth-child(2) {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
}
.page-banner .view-txt {
    width: 100%;
    max-width: 1520px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.page-banner .view-txt p:first-child {
    font-size: 58px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 24px;
}
.page-banner .view-txt p:nth-child(2) {
    font-size: 20px;
    font-weight: 400;
    color: #fff;
    line-height: 1.3;
    text-align: center;
}


.basic-area {
    padding-top: 100px;
}
.support-area {
    display: flex;
    justify-content: space-between;
    gap: 48px;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}
.support-area .support-info {
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.support-area .support-info .item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.support-area .support-info .item span:first-child {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
}
.support-area .support-info .item span:first-child img {
    width: 16px;
}
.support-area .support-info .item span:nth-child(2) {
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
}
.support-area .rt {
    width: 100%;
    max-width: 700px;
}
.support-area .rt .hd {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 48px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--black-color);
}
.support-area .rt .hd span:first-child {
    font-size: 20px;
    font-weight: 600;
    color: var(--black-color);
}
.support-area .rt .hd span:last-child {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
}
.support-area .rt .hd span:last-child b {
    color: var(--main-color);
}


.faq-area {
    display: flex;
    flex-direction: column;
    gap: 60px;
}
.faq-area .item > p {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
    font-size: 24px;
    font-weight: 500;
    color: var(--black-color);
}
.faq-area .item > p::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    background-color: var(--main-color);
    margin-right: 4px;
}
.faq-area .item > p b {
    font-weight: 600;
    color: var(--main-color);
}
.faq-list {
    border-top: 2px solid var(--black-color);
    border-bottom: 2px solid var(--black-color);
}
.faq-list > li {
    cursor: pointer;
    display: flex;
    flex-direction: column;
}
.faq-list > li.empty {
    align-items: center;
    padding: 48px 24px;
}
.faq-list > li:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
}
.faq-list > li .tit-box {
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.faq-list > li .tit-box .box {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
}
.faq-list > li .tit-box .que {
    white-space: nowrap;
    font-weight: 700;
    color: var(--main-color);
}
.faq-list > li .tit-box .tit {
    width: 100%;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.3;
}
.faq-list > li .faq-arrow {
    width: 20px;
    transition: .2s ease-in-out;
}
.faq-list > li .faq-arrow.active {
    transform: rotate(90deg);
    transition: .2s ease-in-out;
}
.faq-list > li .toggle-content {
    background-color: var(--bg-color);
    padding: 24px;
    line-height: 1.5;
    color: var(--sub-txt-color-02);
    display: none;
}


.category-box {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 60px;
}
.category-box a {
    width: 250px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border-color);
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
}
.category-box a.on {
    border: 1px solid var(--main-color);
    color: var(--main-color);
}
.category-box a:hover {
    border: 1px solid var(--main-color);
    color: var(--main-color);
}
.bus-area {
    display: flex;
    flex-direction: column;
    gap: 120px;
}
.bus-area .intro-content {
    display: flex;
    background-color: var(--bg-color);
    border-radius: 24px;
    overflow: hidden;
}
.bus-area .intro-content .img-box {
    width: 50%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.bus-area .intro-content .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bus-area .intro-content .txt {
    width: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px 60px;
    gap: 16px;
}
.bus-area .intro-content .txt p {
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
    word-break: keep-all;
}
.bus-area .intro-content .txt p:first-child {
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    margin-bottom: 16px;
}
.form-area .banner {
    width: 100%;
    height: 500px;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
}
.form-area .banner .bg {
    width: 100%;
    height: 100%;
}
.form-area .banner .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.form-area .banner .txt {
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 150px;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}
.form-area .banner .txt p:first-child {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    letter-spacing: 5px;
}
.form-area .banner .txt p:last-child {
    font-size: 24px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    line-height: 1.3;
}

.form-grid {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 800px;
    margin: -150px auto 0;
    padding: 48px;
    background-color: #fff;
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.form-grid .input-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.form-grid .input-box > p {
    font-size: 16px;
    font-weight: 500;
    color: var(--sub-txt-color-02);
}
.form-grid .input-box > p b {
    color: var(--main-color);
    margin-left: 4px;
}
.form-grid .input-box input {
    padding: 8px 0 16px;
    border: none;
    border-bottom: 1px solid var(--border-color);
    font-size: 16px;
    color: var(--black-color);
}
.form-grid .input-box textarea {
    padding: 24px;
    border: 1px solid var(--border-color);
    height: 200px;
    font-size: 16px;
}
.bus-terms {
    padding-top: 36px;
    border-top: 1px solid var(--border-color);
}
.bus-terms .content {
    width: 100%;
    height: 100px;
    border: 1px solid var(--border-color);
    padding: 24px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    overflow: hidden;
    overflow-y: auto;
    margin-bottom: 36px;
}
.bus-terms .terms-chk {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.bus-terms .terms-chk label {
    cursor: pointer;
    display: flex;
    align-items: center;
}
.bus-terms .terms-chk label input {
    width: 16px;
    height: 16px;
    margin: 0 6px 0 0;
}
.bus-terms .terms-chk label span {
    font-size: 16px;
    font-weight: 400;
    color: var(--black-color);
}
.bus-terms .terms-chk label span b {
    color: var(--main-color);
}
.bus-terms .terms-chk button {
    background-color: var(--black-color);
    width: 200px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 3px;
    font-size: 14px;
    font-weight: 400;
    color: #fff;
}
.bus-terms .terms-chk button:hover {
    opacity: .8;
}

/*Pagination*/
.pagination {
  position: relative;
  margin-top: 48px;
}
.pagination.mt-0 {
    margin-top: 0;
}
.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;
}

.call-box {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 100px;
}
.call-box .logo {
    width: 100px;
    display: flex;
    align-items: center;
}
.call-box .divider {
    content: "";
    display: inline-block;
    width: 1px;
    height: 60px;
    background-color: var(--border-color);
    margin: 0 48px;
}
.call-box .logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.call-box a {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.call-box a p:first-child {
    font-size: 16px;
    font-weight: 400;
    color: var(--main-color);
}
.call-box a p:last-child {
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
}

.page-tit {
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    border-bottom: 1px solid var(--black-color);
    padding-bottom: 16px;
    margin-bottom: 48px;
}

.view-area {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}
.product-lt {
    width: 750px;
}
.product-rt {
    flex: 1;
    position: sticky;
    top: 104px;
    left: 0;
    border: 1px solid var(--border-color);
    border-radius: 6px;
}
.sticky-hd {
    padding: 36px 24px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.sticky-hd .box {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 24px;
}
.sticky-hd .box:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.sticky-hd .category {
    border-radius: 3px;
    border: 1px solid var(--main-color);
    font-size: 12px;
    font-weight: 600;
    color: var(--main-color);
    padding: 4px 6px;
    width: max-content;
    margin-bottom: 16px;
}
.sticky-hd .tit {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.5;
    word-break: keep-all;
}
.sticky-hd .expl {
}
.review {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.review > span {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    min-width: 50px;
}
.review .review-dash {
    display: flex;
    align-items: center;
}
.review .review-dash .point {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    color: var(--main-color);
}
.review .review-dash .point img {
    width: 13px;
    height: 13px;
}
.review .review-dash .point::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: var(--border-color);
    margin: 0 12px;
}
.review .review-dash .cnt {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
}
.review .review-dash .cnt img {
    width: 13px;
    height: 13px;
}
.review .review-dash a {
    margin-left: 24px;
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.review .review-dash a img {
    width: 14px;
}
.sticky-hd .departure {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px;
}
.sticky-hd .departure > span {
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    min-width: 50px;
}
.sticky-hd .departure > span:nth-child(2) {
    font-weight: 400;
    color: var(--sub-txt-color-01);
}
.tag {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.tag span {
    display: inline-block;
    background-color: #FFF8F6;
    padding: 4px 6px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    border-radius: 3px;
}
.tag span b {
    color: var(--main-color);
}
.price-box > p {
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    margin-bottom: 8px;
}
.price-box .price {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 32px;
    font-weight: 600;
    color: var(--main-color);
}
.price-box .price span {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.sticky-hd .sticky-btn {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.sticky-hd .sticky-btn a {
    width: 100%;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    border-radius: 6px;
}
.sticky-hd .sticky-btn a:first-child {
    background-color: var(--black-color);
    color: #fff;
}
.sticky-hd .sticky-btn a:nth-child(2) {
    border: 1px solid var(--border-color);
    color: var(--black-color);
}
.sticky-hd .sticky-btn a:first-child:hover {
    opacity: .8;
}
.sticky-hd .sticky-btn a:nth-child(2):hover {
    background-color: var(--bg-color);
}
.product-code {
    padding: 12px;
    border-top: 1px solid var(--border-color);
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-03);
    text-align: center;
}
.product-slider {
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    position: relative;
    border-radius: 6px;
    margin-bottom: 36px;
}
.product-slider .swiper-slide {
    width: 100%;
    height: 100%;
}
.product-slider .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-slider .product-pager {
    width: 80px;
    height: 35px;
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: 14px;
    font-weight: 500;
    color: #fff !important;
    border-radius: 100px;
}
.product-slider .product-pager .swiper-pagination-current::after {
    display: none;
}
.product-slider .product-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.7);
    width: 36px;
    height: 36px;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-slider .product-nav:hover {
    background-color: rgba(0, 0, 0, 0.5);
}
.product-slider .product-nav img {
    width: 16px;
}
.product-slider .product-nav.product-prev {
    left: 16px;
}
.product-slider .product-nav.product-next {
    right: 16px;
}

.product-info {
    padding-top: 48px;
    border-top: 2px solid var(--black-color);
}
.product-info .tit {
    font-size: 24px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.3;
    word-break: keep-all;
    margin-bottom: 16px;  
}
.product-info .tag {
    margin-bottom: 24px;
}
.product-info .review {
    margin-bottom: 24px;
}
.product-info .expl {
    padding: 24px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    margin-top: 36px;
}
.product-info .expl-sub {
    padding: 24px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
    white-space: pre-line;
}

.view-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 60px;
    margin-top: 48px;
}
.view-grid .item {
    border-top: 1px solid var(--black-color);
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.view-grid .item .item-tit {
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--border-color);
    display: flex;
}
.view-grid .item .item-tit span {
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
}
.view-grid .item .item-tit span b {
    font-weight: 700;
    color: var(--main-color);
}
.view-grid .item .item-tit button {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    text-decoration: underline;
}
.view-grid .item .box .box-tit {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 16px;
}
.view-grid .item .box .box-tit > span:first-child {
    font-size: 16px;
    font-weight: 600;
    color: var(--black-color);
}
.view-grid .item .box .box-tit > span:nth-child(2) {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 13px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    position: relative;
}
.view-grid .item .box .box-tit span:nth-child(2) b {
    font-weight: 700;
    color: var(--main-color);
    margin-right: 4px;
}
.view-grid .item .box .box-tit span:nth-child(2) img {
    width: 16px;
    cursor: pointer;
    margin-right: 3px;
}

.booked-icon:hover + .booked-type {
    display: flex;
}
.booked-type {
    position: absolute;
    right: calc(100% + 16px);
    top: 50%;
    transform: translateY(-50%);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 400px;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1);
    display: none;
}
.booked-type::after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    right:-7px;
    width: 12px;
    height: 12px; 
    background-color: #fff;
    border-right:1px solid var(--border-color);
    border-bottom:1px solid var(--border-color);
    -moz-transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
}
.booked-type > p {
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
    padding-bottom: 12px;
    border-bottom: 1px solid var(--border-color);
}
.booked-type .booked-item {
    display: flex;
    align-items: flex-start;
    gap: 24px;
}
.booked-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 400;
    color: #fff;
    border-radius: 3px;
    padding: 4px 6px;
    min-width: 70px;
    text-align: center;
}
.booked-badge.green {
    background-color: #50BC4A;
}
.booked-badge.blue {
    background-color: #4AA7BC;
}
.booked-badge.gray {
    background-color: #D9D9D9;
    color: var(--sub-txt-color-03);
}
.booked-badge.red {
    background-color: #F38970;
}
.booked-type .booked-item span:nth-child(2) {
    font-size: 13px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}

.product-details {
    padding: 24px 16px;
    border: 1px solid var(--border-color);
}
.product-details .booked {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.product-details .tit {
    margin-bottom: 24px;
    padding-bottom: 16px;
    font-size: 16px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.5;
    border-bottom: 1px solid var(--border-color);
}
.product-details .info {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.product-details .info .info-item {
    display: flex;
    align-items: center;
}
.product-details .info .info-item span {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.product-details .info .info-item span b {
    color: var(--main-color);
    margin-left: 5px;
}
.product-details .info .info-item span:first-child {
    font-weight: 500;
    color: var(--black-color);
    min-width: 70px;
}
.product-details .info .info-item span:not(:first-child)::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 12px;
    background-color: var(--border-color);
    margin: 0 12px;
}
 .product-details .info .info-item span:last-child::after {
    display: none;
 }

.product-option > button {
    width: 100%;
    border: 1px solid var(--border-color);
    padding: 16px;
    font-size: 14px;
    font-weight: 400;
    color: var(--black-color);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.product-option > button:hover {
    background-color: var(--bg-color);
}
.option-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 102;
  display: none;
}
.option-modal .option-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: 400px;
  height: auto;
  max-height: calc(100vh - 96px);
  padding: 24px 16px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
}
.option-modal .option-box .option-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
}
.option-modal .option-box .option-hd span {
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
}
.option-modal .option-box .option-hd button img {
    width: 20px;
}
.option-modal .option-box .list {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow: hidden;
    overflow-y: auto;
}
.option-modal .option-box .list label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.option-modal .option-box .list label input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0;
    margin-top: 3px;
}
.option-modal .option-box .list label .txt p:first-child {
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.5;
}
.option-modal .option-box .list label .txt p:nth-child(2) {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
}

.product-personnel {
    padding: 24px 16px;
    border: 1px solid var(--border-color);
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.product-personnel .personnel-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 16px;
}
.product-personnel .personnel-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.product-personnel .personnel-item .txt .tit {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    position: relative;
}
.product-personnel .personnel-item .txt .tit b {
    font-weight: 500;
    color: var(--black-color);
}
.product-personnel .personnel-item .txt .tit img {
    width: 16px;
    cursor: pointer;
    margin-left: 4px;
    cursor: pointer;
}
.product-personnel .personnel-item .txt > p:nth-child(2) {
    font-size: 20px;
    font-weight: 600;
    color: var(--black-color);
}
.product-personnel .personnel-item .cnt-box {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-color);
    border-radius: 3px;
    overflow: hidden;
}
.product-personnel .personnel-item .cnt-box button {
    width: 36px;
    height: 36px;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.product-personnel .personnel-item .cnt-box button img {
    width: 18px;
}
.product-personnel .personnel-item .cnt-box input {
    width: 36px;
    height: 36px;
    text-align: center;
    border: none;
    border-right: 1px solid var(--border-color);
    border-left: 1px solid var(--border-color);
    color: var(--black-color);
}
.personnel-price {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}
.personnel-price .price {
    display: flex;
    align-items: center;
    font-size: 32px;
    font-weight: 600;
    color: var(--main-color);
}
.personnel-price .price b {
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    margin-right: 12px;
}
.personnel-price button {
    width: 100%;
    max-width: 200px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    border-radius: 6px;
    background-color: var(--black-color);
}
.personnel-price button:hover {
    opacity: .8;
}

.personnel-info:hover + .age-info {
    display: flex;
}
.age-info {
    position: absolute;
    left: calc(100% + 16px);
    top: 50%;
    transform: translateY(-50%);
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: max-content;
    background-color: #fff;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.1);
    display: none;
}
.age-info::after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 6px);
    left:-7px;
    width: 12px;
    height: 12px; 
    background-color: #fff;
    border-left:1px solid var(--border-color);
    border-top:1px solid var(--border-color);
    -moz-transform:rotate(-45deg);
    -webkit-transform:rotate(-45deg);
}
.age-info p:first-child {
    font-size: 12px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
}
.age-info p:nth-child(2) {
    font-size: 12px;
    font-weight: 500;
    color: var(--sub-txt-color-01);
}
.product-include {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.product-include .include-item {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
    display: flex;
    align-items: flex-start;
    gap: 36px;
}
.product-include .include-item:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
.product-include .include-item > span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 600;
    color: var(--black-color);
    min-width: 100px;
}
.product-include .include-item > span img {
    width: 18px;
}
.product-include .include-item .list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.product-include .include-item .list .list-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.product-include .include-item .list .list-item p:first-child {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
}
.product-include .include-item .list .list-item p:first-child::before {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: var(--black-color);
}
.product-include .include-item .list .list-item p:nth-child(2) {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
    padding-left: 10px;
}
.product-editor img {
    vertical-align: bottom;
}
.product-plan {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.product-plan .plan-item {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.product-plan .plan-item .plan-tit {
    display: flex;
    align-items: center;
    gap: 16px;
    border: 1px solid var(--border-color);
    border-radius: 100px;
    width: 100%;
    height: 50px;
}
.product-plan .plan-item .plan-tit span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background-color: var(--black-color);
    border-radius: 100%;
}
.product-plan .plan-item .plan-tit span:nth-child(2) {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.plan-item .list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    border-left: 1px dashed var(--border-color);
    padding-left: 24px;
    margin-left: 24px;
}
.plan-item .list .list-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    position: relative;
}
.plan-item .list .list-item::before {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    left: -34px;
    width: 20px;
    height: 20px;
    background-image: url('../images/icons/plan_circle.png');
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}
.plan-item .list .list-item .list-tit {
    font-size: 16px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.3;
}
.plan-item .list .list-item .list-content {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
}
.plan-item .list .list-item .img-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}
.plan-item .list .list-item .img-grid .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
}
.plan-item .list .list-item .img-grid .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-terms {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    word-break: keep-all;
}

.review-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.review-list li {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 24px;
}
.review-list li.empty {
    font-size: 16px;
    text-align: center;
}
.review-list li .review-info {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}
.review-list li .review-info span {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    display: flex;
    align-items: center;
}
.review-list li .review-info span img {
    width: 16px;
    margin-right: 6px;
}
.review-list li .review-info span:not(:last-child)::after {
    content: "·";
    display: inline-block;
    margin: 0 12px;
    color: var(--sub-txt-color-02);
}
.review-list li .review-info .point {
    color: var(--main-color);
}
.review-list li .review-info .name img {
    width: 20px;
}
.review-list li .review-tit {
    display: flex;
    gap: 24px;
}
.review-list li .review-tit span {
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.3;
}
.review-list li .review-tit span:first-child {
    font-weight: 500;
    color: var(--black-color);
}
.review-list li .review-content {
    padding: 16px 0;
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    line-height: 1.5;
}
.review-list li .review-img {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
}
.review-list li .review-img .img-box {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 3px;
    overflow: hidden;
}
.review-list li .review-img .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  z-index: 102;
  display: none;
}
.review-modal .review-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: 600px;
  height: auto;
  max-height: calc(100vh - 96px);
  padding: 24px 16px;
  border-radius: 24px;
  display: flex;
  flex-direction: column;
}
.review-modal .review-box .review-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--border-color);
}
.review-modal .review-box .review-hd span {
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
}
.review-modal .review-box .review-hd button img {
    width: 20px;
}
.review-modal .review-box .list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    overflow: hidden;
    overflow-y: auto;
}
.review-modal .review-box .list .input-box > p {
    font-size: 14px;
    font-weight: 400;
    color: var(--black-color);
    margin-bottom: 12px;
}
.review-modal .review-box .list .input-box > p b {
    color: var(--main-color);
    margin-left: 4px;
}
.review-modal .review-box .list .input-box input[type="text"] {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 16px;
    color: var(--black-color);
}
.review-modal .review-box .list .input-box .radio-box {
    display: flex;
    align-items: center;
    gap: 16px;
}
.review-modal .review-box .list .input-box .radio-box label {
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: var(--main-color);
    cursor: pointer;
}
.review-modal .review-box .list .input-box input[type="radio"] {
    margin: 0 5px 0 0;
    width: 16px;
    height: 16px;
    cursor: pointer;
}
.review-modal .review-box .list .input-box textarea {
    width: 100%;
    height: 80px;
    padding-bottom: 16px;
    border: none;
    border-bottom: 1px solid var(--border-color);
}
.review-modal .review-box .list .input-box .file-box {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.review-modal .review-box .list button {
    width: 100%;
    max-width: 150px;
    height: 40px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    border-radius: 6px;
    background-color: var(--black-color);
    margin: 0 auto;
}
.review-modal .review-box .list button:hover {
    opacity: .8;
}
.file-upload {
  display: flex;
  align-items: center;
  gap: 6px;
}

.file-upload input[type="text"] {
  flex: 1;
  padding: 0 16px;
  border: 1px solid var(--border-color) !important;
  padding: 0 16px !important;
  height: 40px;
  border-radius: 3px;
}

.file-upload .file-btn {
    width: 100%;
    max-width: 80px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    background-color: var(--black-color);
    font-size: 14px;
    color: #fff;
    cursor: pointer;
    border-radius: 3px;
    user-select: none;
    transition: all .2s ease-in-out;
}

.file-upload .file-btn:hover {
    opacity: .8;
}

.order-area {
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    padding-top: 48px;
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.order-area .order-tit {
    padding: 16px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 2px solid var(--black-color);
    border-bottom: 1px solid var(--border-color);
    display: flex;
}
.order-area .order-tit span b {
    font-weight: 700;
    color: var(--main-color);
}
.order-area .hd {
    padding: 24px;
    border: 1px solid var(--border-color);
}
.order-area .hd .badge {
    display: inline-block;
    border-radius: 3px;
    border: 1px solid var(--main-color);
    font-size: 12px;
    font-weight: 600;
    color: var(--main-color);
    padding: 4px 6px;
    width: max-content;
    margin-bottom: 12px;
}
.order-area .hd .tit {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 600;
    color: var(--black-color);
    line-height: 1.5;
    word-break: keep-all;
    margin-bottom: 24px;
}
.order-area .hd .expl {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
}
.order-area .box {
    border: 1px solid var(--border-color);
}
.order-area .box .box-tit {
    background-color: var(--black-color);
    padding: 16px 24px;
    font-size: 18px;
    font-weight: 600;
    color: #fff;
}
.order-content {
    padding: 24px;
}
.order-content .plan-date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.order-content .plan-date img {
    width: 16px;
}
.order-content .stay-option {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.order-content .stay-option span {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.input-order {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 24px;
}
.input-order .item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.input-order .item.col-span-2 {
    grid-column: 1 / -1;
}
.input-order .item > span {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    min-width: 90px;
}
.input-order .item > span b {
    color: var(--main-color);
}
.input-order .item input, .input-order .item select {
    width: 100%;
    height: 45px;
    padding: 0 16px;
    border: 1px solid var(--border-color);
}
.input-order .item textarea {
    width: 100%;
    height: 150px;
    padding: 16px;
    border: 1px solid var(--border-color);
}
.order-content .traveler-expl {
    padding: 16px;
    background-color: var(--bg-color);
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    margin-bottom: 36px;
}
.traveler-grid {
    display: grid;
    grid-template-columns: repeat(1fr, 1);
    gap: 24px;
}
.traveler-grid .traveler-item:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 24px;
}
.traveler-grid .traveler-item .tit {
    width: max-content;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    position: relative;
    margin-bottom: 16px;
}
.traveler-grid .traveler-item .tit b {
    font-weight: 500;
    color: var(--black-color);
}
.traveler-grid .traveler-item .tit img {
    width: 16px;
    cursor: pointer;
    margin-left: 4px;
    cursor: pointer;
}
.order-price {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.order-price .item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.order-price .item span {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}
.order-price .item span b {
    font-weight: 500;
    color: var(--black-color);
}
.order-price .item span:last-child {
    font-weight: 500;
    color: var(--black-color);
}
.order-price .item:last-child {
    padding-top: 16px;
    border-top: 1px dashed var(--border-color);
}
.order-price .item:last-child span:last-child {
    font-size: 20px;
    font-weight: 600;
    color: var(--main-color);
}
.order-content .pay-type {
    display: flex;
    align-items: center;
    gap: 48px;
}
.order-content .pay-type label {
    cursor: pointer;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    color: var(--black-color);
}
.order-content .pay-type input[type="radio"] {
    width: 16px;
    height: 16px;
    margin: 0 5px 0 0;
    cursor: pointer;
}

.order-terms {
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.order-terms .terms-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.order-terms .terms-item:first-child {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
.order-terms .terms-item label {
    display: flex;
    align-items: center;
    cursor: pointer;
}
.order-terms .terms-item label input[type="checkbox"] {
    margin: 0 5px 0 0;
}
.order-terms .terms-item label span {
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
}
.order-terms .terms-item label span b {
    color: var(--main-color);
}
.order-terms .terms-item .terms-content {
    padding: 16px;
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    line-height: 1.5;
    width: 100%;
    height: 100px;
    overflow: hidden;
    overflow-y: auto;
    border: 1px solid var(--border-color);
}
.btn-wrap {
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.btn-wrap button:first-child, .btn-wrap a:first-child  {
    width: 100%;
    max-width: 200px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    border-radius: 6px;
    background-color: var(--black-color);
}
.btn-wrap button:nth-child(2), .btn-wrap a:nth-child(2)  {
    width: 100%;
    max-width: 200px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 500;
    color: var(--black-color);
    border-radius: 6px;
    background-color: #fff;
    border: 1px solid var(--border-color);
}
.btn-wrap button:hover, .btn-wrap a:hover {
    opacity: .8;
}
.btn-wrap button:nth-child(2):hover, .btn-wrap a:nth-child(2):hover {
    background-color: var(--bg-color);
}
.order-area .result-box {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 100px;
}
.order-area .result-box img {
    width: 48px;
    margin: 24px auto;
}
.order-area .result-box .txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 48px;
}
.order-area .result-box .txt p:first-child {
    font-size: 28px;
    font-weight: 600;
    color: var(--black-color);
}
.order-area .result-box .txt p:last-child {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
}

.terms-area .terms-txt {
    white-space: pre-line;
    padding-bottom: 48px;
    margin-bottom: 48px;
    border-bottom: 1px solid var(--border-color);
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    line-height: 1.5;
}


.flatpickr-calendar.inline {
    width: 100% !important;
    padding: 16px !important;
}
.flatpickr-weekdays .flatpickr-weekdaycontainer {
    width: 50% !important;
}
.flatpickr-days {
    width: 100% !important;
    gap: 24px;
}
.dayContainer {
    width: 50% !important;
    max-width: 50% !important;
    display: grid !important;
    grid-template-columns: repeat(7, 1fr);
}
.flatpickr-day {
    width: 100%;
    max-width: 100%;
    height: auto !important;
    min-height: 50px !important;
    line-height: normal !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    border-radius: 5px !important;
    position: relative;
}
.flatpickr-day .confirm-dot {
    position: absolute;
    top: 2px;
    right: 2px;
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: var(--main-color);
}
.flatpickr-day.today {
    border-color: transparent !important;
    background-color: var(--black-color) !important;
    color: #fff !important;
}
.flatpickr-day.today:hover, .flatpickr-day.today:focus {
    background-color: var(--main-color) !important;
}
.flatpickr-months {
    padding-bottom: 24px !important;
}
.flatpickr-rContainer {
    width: 100% !important;
}
.flatpickr-day.selected {
    background: var(--main-color) !important;
    border-color: transparent !important;
}
.dayContainer + .dayContainer {
    box-shadow: none;
    -webkit-box-shadow: none;
}
.flatpickr-weekdays {
    gap: 24px;
}
.flatpickr-current-month {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
}
.flatpickr-current-month .cur-year {
    pointer-events: none;
}

/* 연도 증감 버튼 숨김 */
.flatpickr-current-month .arrowUp,
.flatpickr-current-month .arrowDown {
    display: none !important;
}

/* 숫자 input 화살표 제거 (브라우저 기본) */
.flatpickr-current-month .cur-year::-webkit-outer-spin-button,
.flatpickr-current-month .cur-year::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.flatpickr-current-month .cur-year {
    -moz-appearance: textfield;
}
.flatpickr-current-month .numInputWrapper {
    width: 60px;
    font-weight: 600;
    font-family: 'Pretendard' !important;
}
.flatpickr-current-month .numInputWrapper:hover {
    background-color: #fff;
}
.flatpickr-current-month span.cur-month {
    margin-left: 0;
    display: flex;
    align-items: center;
}
.flatpickr-current-month span.cur-month:hover {
    background-color: #fff;
}
.day-price {
    font-size: 12px;
    font-weight: 400;
    color: var(--main-color);
}
.flatpickr-day.selected .day-price {
    color: #fff !important;
}

.terms-page .terms-area {
    font-size: 14px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
    line-height: 1.5;
}
#popup-wrap {
    width: 100%;
    max-width: 960px;
    position: absolute;
    top: 100px;
    left: 24px;
    z-index: 50;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
}
.popup-layer {
    width: calc(50% - 12px);
    background-color: #fff;
    padding: 16px 8px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.4);
}
.popup-layer .hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
    font-size: 16px;
    font-weight: 500;
    color: var(--sub-txt-color-01);
    cursor: pointer;
}
.popup-layer .img-box {
    width: 100%;
    margin-bottom: 8px;
}
.popup-layer .img-box img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.popup-layer .bt label {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    font-size: 12px;
    font-weight: 400;
    color: var(--sub-txt-color-02);
    cursor: pointer;
}
.popup-layer .bt label input[type="checkbox"] {
    width: 12px;
    height: 12px;
    margin: 0;
    cursor: pointer;
}
.popup-txt {
    word-break: break-all;
    font-size: 16px;
    font-weight: 400;
    color: var(--sub-txt-color-01);
}