@charset "utf-8";

/* campland-N1 */
.campland-N1 {
    position: fixed;
    top: 0;
    z-index: 99;
    width: 100%;
    background: #fff;
    transition: background 0.3s
}

.campland-N1.top-menu-active {
    padding-top: 6.7rem
}

.campland-N1.header-top-active {
    background: transparent
}

.campland-N1 .header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 8rem
}

.campland-N1 .header-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #e5e5e5
}

.campland-N1 .user-menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 8rem;
    margin: 0 auto;
    width: 100%;
    max-width: 1440px
}

.campland-N1 .user-menu li {
    position: relative
}

.campland-N1 .user-menu li:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 0.1rem;
    height: 1.2rem;
    background: #e5e5e5
}

.campland-N1 .user-menu li a {
    padding: 2rem 1.2rem;
    font-weight: 400;
    text-align: center;
    white-space: nowrap
}

.campland-N1 .user-menu li:last-child a {
    padding: 2rem 0 2rem 1.2rem
}

.campland-N1 .header-left {
    display: flex;
    align-items: center;
    gap: 3rem
}

.campland-N1 .header-title {
    margin-bottom: 0
}

.campland-N1 .header-title a {
    height: 3.9rem
}

.campland-N1 .header-title img {
    height: 100%;
    object-fit: contain;
    vertical-align: top;
    transition: filter 0.1s
}

.campland-N1.header-top-active .header-title img {
    filter: brightness(0) invert(1)
}

.campland-N1 .header-gnblist {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

.campland-N1 .header-gnbitem {
    position: relative
}

.campland-N1 .header-gnblink {
    padding: 2.8rem 3rem;
    height: 100%;
    font-weight: 500;
    text-align: center;
    white-space: nowrap
}

.campland-N1 .header-gnblink span {
    position: relative;
    transition: color 0.3s
}

.campland-N1.header-top-active .header-gnblink span {
    color: #fff
}

.campland-N1 .header-gnblink span::after {
    content: "";
    transform: scaleX(0);
    width: 100%;
    height: 0.2rem;
    transition: 0.3s
}

.campland-N1 .header-sublist {
    position: absolute;
    top: 100%;
    overflow: hidden;
    min-height: 0;
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none
}

.campland-N1 .header-gnbitem:hover .header-sublist {
    overflow: hidden;
    min-height: auto;
    opacity: 1;
    pointer-events: auto
}

.campland-N1 .header-gnbitem:hover .header-gnblink span::after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 100%;
    transform: scaleX(1);
    background-color: #111111
}

.campland-N1 .header-subitem {
    overflow: hidden;
    width: 14rem;
    background: #fff
}

.campland-N1 .header-sublink {
    padding: 1rem 2rem;
    width: 100%;
    font-weight: 500;
    transition: color 0.2s, background 0.2s;
    will-change: color, background
}

.campland-N1 .header-sublink:hover {
    background: var(--primary);
    color: #fff
}

.campland-N1 .header-right {
    display: flex;
    align-items: center
}

.campland-N1 .header-right .header-gnb {
    margin-right: 1.8rem
}

.campland-N1 .header-utils>ul {
    display: flex;
    align-items: center
}

.campland-N1 .header-utils>ul>li {
    margin-left: 1.2rem
}

.campland-N1 .header-utils>ul>li>img {
    width: auto;
    height: 100%;
    object-fit: cover;
    vertical-align: top;
    transition: filter 0.3s
}

.campland-N1.header-top-active .header-utils img {
    filter: invert(1)
}

.campland-N1 .header-right button {
    max-width: 3.2rem;
    background: none;
    border: none
}

.campland-N1 .header-right button img {
    width: auto;
    max-height: 100%;
    object-fit: cover;
    vertical-align: top
}

.campland-N1 .header-utils .member a {
    display: block;
    width: 3.2rem;
    height: 3.2rem;
    font-size: 0
}

.campland-N1 .header-utils .member img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    vertical-align: top
}

.campland-N1 .header-utils .btn-allmenu {
    display: flex;
    flex-direction: column;
    gap: 0.6rem
}

.campland-N1 .header-utils .btn-allmenu:hover .ico-hamburger:nth-child(2) {
    width: 2.4rem
}

.campland-N1 .header-utils .btn-allmenu .ico-hamburger,
.campland-N1 .btn-momenu .ico-hamburger {
    width: 2.4rem;
    height: 0.2rem;
    background: #111;
    border-radius: 1rem;
    transition: width 0.3s, transform 0.3s, opacity 0.3s;
    will-change: width, transform, opacity
}

.campland-N1.header-top-active .header-container .ico-hamburger {
    background: #fff
}

.campland-N1 .header-utils .btn-allmenu .ico-hamburger:nth-child(even),
.campland-N1 .btn-momenu .ico-hamburger:nth-child(2) {
    width: 1.4rem
}

.campland-N1 .btn-momenu {
    display: none
}

.campland-N1 .btn-moclose {
    display: none
}

.campland-N1 .header-fullmenu {
    overflow: hidden;
    position: fixed;
    z-index: 99999;
    padding: 0 2.4rem;
    visibility: hidden;
    background: #000;
    transition: 0.3s;
    opacity: 0
}

.campland-N1 .header-fullmenu.fullmenu-right {
    top: 0;
    right: 0;
    width: 0;
    height: 100%
}

.campland-N1 .header-fullmenu.fullmenu-left {
    top: 0;
    left: 0;
    width: 0;
    height: 100%
}

.campland-N1 .header-fullmenu.fullmenu-top {
    width: 100%;
    height: 0;
    top: 0;
    left: 0
}

.campland-N1 .header-fullmenu.fullmenu-bottom {
    width: 100%;
    height: 0;
    bottom: 0;
    left: 0
}

.campland-N1 .header-fullmenu.fullmenu-active {
    visibility: visible;
    width: 100%;
    height: 100vh;
    opacity: 1
}

.campland-N1 .fullmenu-wrapper {
    position: relative;
    top: 50%;
    margin: 0 auto;
    transform: translateY(-50%);
    width: 100%;
    max-width: 128rem
}

.campland-N1 .fullmenu-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10rem
}

.campland-N1 .fullmenu-title {
    margin-bottom: 0
}

.campland-N1 .fullmenu-title a {
    height: 4.3rem
}

.campland-N1 .fullmenu-title img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.campland-N1 .fullmenu-member {
    display: flex;
    position: absolute;
    top: 0;
    right: 0
}

.campland-N1 .fullmenu-member li {
    position: relative
}

.campland-N1 .fullmenu-member li a {
    padding: 1.2rem;
    font-weight: 500;
    color: var(--white)
}

.campland-N1 .fullmenu-member li::marker {
    content: ""
}

.campland-N1 .fullmenu-member li+li::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.1rem;
    height: 1.4rem;
    background: rgba(255, 255, 255, 0.2)
}

.campland-N1 .fullmenu-gnblist {
    display: flex;
    justify-content: center
}

.campland-N1 .fullmenu-gnbitem {
    width: 20%
}

.campland-N1 .fullmenu-gnbitem+.fullmenu-gnbitem {
    margin-left: 4rem
}

.campland-N1 .fullmenu-gnblink {
    position: relative;
    padding-bottom: 4rem;
    width: 100%;
    font-weight: 500;
    color: var(--white);
    border-bottom: 1px solid rgba(255, 255, 255, 0.2)
}

.campland-N1 .fullmenu-gnblink::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 0.1rem;
    background: #ffffff;
    transition: 0.2s
}

.campland-N1 .fullmenu-gnblink.on::after {
    width: 18rem
}

.campland-N1 .fullmenu-sublist {
    padding-top: 4rem
}

.campland-N1 .fullmenu-subitem+.fullmenu-subitem {
    padding-top: 0.8rem
}

.campland-N1 .fullmenu-sublink {
    position: relative;
    padding-bottom: 5px;
    font-weight: 400;
    color: #a2a2a2;
    transition: 0.3s
}

.campland-N1 .fullmenu-sublink::before {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    width: 0;
    height: 1px;
    background-color: var(--white);
    transition: width 0.7s cubic-bezier(0.22, 0.61, 0.36, 1)
}

.campland-N1 .fullmenu-sublink:hover {
    color: var(--white)
}

.campland-N1 .fullmenu-sublink:hover::before {
    right: auto;
    left: 0;
    width: 100%
}

.campland-N1 .fullmenu-close {
    position: fixed;
    right: 8rem;
    top: 2.4rem;
    padding: 0.5rem;
    width: 4.2rem;
    height: 4.2rem;
    background: transparent;
    border: none
}

.campland-N1 .fullmenu-close img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width: 1120px) {
    .campland-N1 .header-title a {
        height: 2.4rem
    }

    .campland-N1 .header-gnblink {
        padding: 2.8rem 2.4rem
    }
}

@media (max-width: 992px) {
    .campland-N1 {
        padding-top: 0;
        padding-bottom: 0
    }

    /* jhlee COMPANY 메뉴를 기본적으로 펼쳐진 상태로 설정 */
    .header-gnbitem:first-child .header-sublist {
        display: block !important;
        padding-left: 20px !important; /* 들여쓰기 조정 */
        margin-left: 10px !important; /* 추가 여백 */
    }

    /* jhlee  활성화 상태 스타일 추가 */
    .header-gnbitem:first-child {
        position: relative;
    }

    .header-gnbitem:first-child .header-gnblink {
        font-weight: bold; /* 강조 효과 */
    }
    /* 서브메뉴 항목 각각을 좀 더 오른쪽으로 정렬 */
    .header-gnbitem:first-child .header-subitem {
    padding-left: 15px; /* 서브 아이템 들여쓰기 */
    }
    /* jhlee  하위 메뉴 활성화 */
    .header-gnbitem:first-child .header-sublist {
        opacity: 1;
        pointer-events: auto;
    }


    .campland-N1 .header-gnb {
        overflow: hidden;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9;
        padding: 0 1.6rem;
        width: 100%;
        height: 0;
        background: #fff;
        transition: height 0.3s, background 0.3s
    }

    .campland-N1.block-active .header-gnb {
        overflow-y: auto;
        height: calc(100vh - 6rem);
        padding-bottom: 19rem
    }

    .campland-N1.block-active.header-top-active {
        background: #111
    }

    .campland-N1.header-top-active .header-gnb {
        background: rgba(0, 0, 0, 0.8)
    }

    .campland-N1 .header-container {
        min-height: 6rem
    }

    .campland-N1 .header-top {
        z-index: 10;
        visibility: hidden;
        border: none;
        opacity: 0;
        transition: opacity 0.3s 0.1s, visibilty 0.3s 0.1s;
        will-change: opacity, visibility
    }

    .campland-N1.block-active .header-top {
        top: 100%;
        opacity: 1;
        visibility: visible
    }

    .campland-N1 .user-menu {
        justify-content: flex-start;
        padding: 0 2.2rem
    }

    .campland-N1 .user-menu li a,
    .campland-N1 .user-menu li:last-child a {
        padding: 2.4rem 1.2rem
    }

    .campland-N1 .user-menu li:first-child a {
        padding-left: 0
    }

    .campland-N1 .header-title a {
        width: 12rem;
        height: 2.4rem
    }

    .campland-N1 .header-center {
        position: absolute;
        top: 100%;
        left: 0;
        transform: none;
        width: 100%;
        height: 0
    }

    .campland-N1 .header-gnblist {
        display: block;
        visibility: hidden;
        transition: opacity 0.3s 0.1s;
        opacity: 0
    }

    .campland-N1 .header-gnblink {
        display: flex;
        align-items: flex-end;
        padding: 1.8rem 0;
        width: 100%;
        text-align: left;
        transition: border 0.3s;
        will-change: border;
        border-bottom: 1px solid #e5e5e5
    }

    .campland-N1.top-menu-active .header-gnbitem:first-child .header-gnblink {
        padding-top: 6.8rem
    }

    .campland-N1 .header-gnbitem:hover .header-gnblink span {
        border: none
    }

    .campland-N1 .header-gnbitem:hover .header-gnblink span::after {
        content: none
    }

    .campland-N1 .header-sublist {
        display: none;
        position: relative;
        padding: 1.8rem 0 2rem 0;
        opacity: 1
    }

    .campland-N1 .header-gnbitem.item-active .header-gnblink {
        border-bottom: 1px solid #111111
    }

    .campland-N1.header-top-active .header-gnbitem.item-active .header-gnblink {
        border-color: #fff
    }

    .campland-N1 .header-subitem {
        width: 100%;
        background-color: transparent
    }

    .campland-N1 .header-subitem+.header-subitem {
        padding-top: 0.8rem
    }

    .campland-N1 .header-sublink {
        padding: 0;
        color: var(--text-color3)
    }

    .campland-N1 .header-sublink:active {
        color: #111111
    }

    .campland-N1 .header-sublink:hover {
        background: #ffff;
        color: #111111
    }

    .campland-N1.header-top-active .header-sublink:hover {
        color: #fff;
        background: transparent
    }

    .campland-N1 .header-right button,
    .campland-N1 .header-utils .member a {
        width: 2.8rem;
        height: 2.8rem
    }

    .campland-N1 .header-utils .search {
        display: none
    }

    .campland-N1 .header-utils>ul>li {
        margin-left: 0.6rem
    }

    .campland-N1 .header-utils .allmenu {
        display: none
    }

    .campland-N1 .btn-momenu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.6rem;
        margin-left: 0.6rem
    }

    .campland-N1 .btn-momenu .ico-hamburger {
        width: 2rem
    }

    .campland-N1 .btn-momenu .ico-hamburger:nth-child(2) {
        width: 1.2rem
    }

    .campland-N1.block-active .header-center {
        pointer-events: auto
    }

    .campland-N1.block-active .header-title {
        display: flex;
        align-items: center;
        height: 6rem
    }

    .campland-N1.block-active .header-gnblist {
        visibility: visible;
        opacity: 1
    }

    .campland-N1 .header-gnbitem:has(.header-subitem) .header-gnblink::after {
        content: "";
        display: flex;
        width: 1.6rem;
        height: 1.6rem;
        background-image: url(../icons/ico_downarrow_black.svg);
        background-repeat: no-repeat;
        background-position: center right;
        background-size: cover;
        transition: transform 0.3s, filter 0.3s;
        will-change: transform
    }

    .campland-N1.header-top-active .header-gnbitem:has(.header-subitem) .header-gnblink::after {
        filter: invert(1)
    }

    .campland-N1.block-active .header-gnblink {
        align-items: center;
        justify-content: space-between
    }

    .campland-N1.block-active .header-gnbitem.item-active .header-gnblink::after {
        content: "";
        transform: rotate(180deg)
    }

    .campland-N1.block-active .header-member {
        display: flex
    }

    .campland-N1.block-active .btn-momenu .ico-hamburger:nth-child(1) {
        transform: translateY(0.8rem) rotate(45deg)
    }

    .campland-N1.block-active .btn-momenu .ico-hamburger:nth-child(3) {
        transform: translateY(-0.8rem) rotate(-45deg)
    }

    .campland-N1.block-active .btn-momenu .ico-hamburger:nth-child(2) {
        visibility: hidden;
        opacity: 0
    }

    .campland-N1 .header-fullmenu {
        display: none
    }
}
/* campland-N8 */
.campland-N8 {
    overflow: hidden;
    position: relative;
    background: url(../images/img_subvisual_1.png) no-repeat center/cover
}

.campland-N8 .contents-container {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48rem
}

.campland-N8 h2 {
    color: var(--white);
    font-weight: var(--fw-medium)
}

@media (max-width: 992px) {
    .campland-N8 .contents-container {
        height: 40rem
    }
}
/* campland-N13 */
.campland-N13 {
    overflow: hidden;
    position: relative;
    padding-top: 16rem;
    padding-bottom: 16rem
}

.campland-N13 .contents-inner {
    width: 100%
}

.campland-N13 .textset {
    margin-bottom: 2.8rem
}

.campland-N13 .textset .textset-tit {
    font-weight: var(--fw-bold)
}

.campland-N13 .textset .textset-tit+.textset-desc {
    margin-top: 1.4rem
}

.campland-N13 .textset .textset-desc {
    color: #777777
}

.campland-N13 .textset .textset-tit+.textset-desc span {
    display: inline-block;
    margin-left: 0.8rem
}

.campland-N13 .contents-body {
    padding: 4rem 0;
    border-top: 1px solid var(--primary);
    border-bottom: 1px solid var(--border-color)
}

.campland-N13 .contents-text {
    color: #505050
}

.campland-N13 .contents-link {
    margin-top: 2.8rem;
    text-align: center
}

.campland-N13 .btnset {
    font-weight: var(--fw-medium)
}

@media (max-width: 992px) {
    .campland-N13 {
        padding-top: 10rem;
        padding-bottom: 10rem
    }

    .campland-N13 .textset .textset-tit+.textset-desc {
        margin-top: 0.8rem
    }

    .campland-N13 .contents-body {
        padding: 2.8rem 0
    }
}
/* campland-N2 */
.campland-N2 {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    background: #252525
}

.campland-N2 .footer-top {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 2.4rem
}

.campland-N2 .footer-logo {
    margin-bottom: 0;
    text-align: center
}

.campland-N2 .footer-logo img {
    height: 3.2rem;
    object-fit: contain
}

.campland-N2 .footer-menulist {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--fs-p2)
}

.campland-N2 .footer-menulink {
    position: relative
}

.campland-N2 .footer-menulink a {
    padding: 0 1.2rem;
    font-size: var(--fs-p2);
    color: #fff
}

.campland-N2 .footer-menulink+.footer-menulink::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 1.4rem;
    background: rgba(255, 255, 255, 0.1)
}

.campland-N2 .footer-snslist {
    display: flex;
    align-items: center
}

.campland-N2 .footer-snsitem+.footer-snsitem {
    margin-left: 0.8rem
}

.campland-N2 .footer-snslink {
    padding: 0.6rem;
    width: 3.6rem;
    height: 3.6rem
}

.campland-N2 .footer-snslink img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.campland-N2 .footer-bottom {
    padding-top: 2.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1)
}

.campland-N2 .footer-txt {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--fs-p3)
}

.campland-N2 .footer-txt+.footer-txt {
    margin-top: 0.3rem
}

.campland-N2 .footer-txt p {
    margin-bottom: 0;
    color: var(--text-color3)
}

.campland-N2 .footer-txt p+p {
    margin-left: 0.8rem
}

.campland-N2 .footer-txt p span {
    color: var(--text-color3)
}

.campland-N2 .footer-txt p span+span {
    margin-left: 0.8rem
}

.campland-N2 .footer-modal {
    overflow-y: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    padding: 2.4rem;
    opacity: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    transition: opacity 0.3s, visibility 0.3s;
    will-change: opacity
}

.campland-N2 .footer-modal.block-active {
    opacity: 1;
    visibility: visible
}

.campland-N2 .modal-area {
    width: 100%;
    max-width: 92rem;
    background: #fff;
    border-radius: 0.6rem
}

.campland-N2 .info-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 2.4rem;
    border-bottom: 1px solid #e5e5e5
}

.campland-N2 .modal-close {
    cursor: pointer
}

.campland-N2 .info-area {
    overflow-y: auto
}

.campland-N2 .modal-email .info-area {
    max-height: 17rem
}

.campland-N2 .modal-privacy .info-area {
    max-height: 70.3rem
}

.campland-N2 .info-group+.info-group {
    margin-top: 2.4rem
}

.campland-N2 .info-group strong {
    display: block;
    padding-bottom: 1.2rem
}

.campland-N2 .info-desc {
    overflow-y: auto;
    padding: 1.6rem;
    max-height: 20.7rem;
    background: #f8f8fa;
    border-radius: 1.6rem;
    scrollbar-width: none
}

.campland-N2 .info-desc p.fw-medium {
    font-weight: var(--fw-medium)
}

.campland-N2 .info-desc .mtb {
    margin: 2.4rem 0
}

.campland-N2 .info-desc em {
    display: flex;
    align-items: center;
    position: relative;
    margin: 2.4rem 0 1rem;
    font-style: normal;
    font-weight: 600
}

.campland-N2 .info-list em::before {
    content: "";
    margin-right: 0.8rem;
    width: 0.4rem;
    height: 0.4rem;
    background: #000;
    border-radius: 50%
}

.campland-N2 .info-list p {
    padding-left: 1.2rem
}

@media (max-width: 992px) {
    .campland-N2 {
        padding-top: 4rem;
        padding-bottom: 4rem
    }

    .campland-N2 .footer-logo a {
        height: 2.6rem
    }

    .campland-N2 .footer-top {
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        margin-bottom: 0
    }

    .campland-N2 .footer-menulist {
        position: relative;
        left: 0;
        transform: translate(0);
        margin-top: 2.4rem
    }

    .campland-N2 .footer-menulink a {
        padding: 0 0.8rem
    }

    .campland-N2 .footer-menulink:first-child a {
        padding-left: 0
    }

    .campland-N2 .footer-snslist {
        justify-content: center;
        margin: 1.2rem 0 2.4rem 0
    }

    .campland-N2 .footer-bottom {
        text-align: center
    }

    .campland-N2 .footer-txt {
        flex-direction: column;
        align-items: flex-start
    }

    .campland-N2 .footer-txt p+p {
        margin-left: 0
    }

    .campland-N2 .footer-txt+.footer-txt {
        margin-top: 0.6rem
    }
}

@media (max-width: 576px) {
    .campland-N2 .footer-menulist {
        flex-wrap: wrap;
        justify-content: flex-start
    }

    .campland-N2 .footer-menulink:nth-last-child(1):nth-child(odd) {
        grid-column: span 2
    }

    .campland-N2 .footer-menulink+.footer-menulink:nth-child(odd)::after {
        content: none
    }
}
/* basic-N3 */
.basic-N3 {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 200;
    width: 100%;
    transition: 0.3s;
    background: var(--white)
}

.basic-N3.header-menuactive .header-gnblist {
    position: absolute;
    top: calc(100% + 12rem);
    left: 50%;
    transform: translateX(-50%)
}

.basic-N3.header-menuactive .header-utils .header-btn {
    display: none
}

.basic-N3.header-menuactive .header-utils .btn-close {
    display: block
}

.basic-N3 .header-container {
    display: flex;
    justify-content: space-between;
    min-height: 8rem
}

.basic-N3 .header-title a {
    height: 5.3rem
}

.basic-N3 .header-title img {
    height: 100%;
    object-fit: contain
}

.basic-N3 .header-left {
    display: flex;
    align-items: center;
    gap: 8.5rem
}

.basic-N3 .header-mobile-top {
    display: none
}

.basic-N3 .header-gnblist {
    display: flex;
    align-items: center
}

.basic-N3 .header-gnbitem {
    position: relative
}

.basic-N3 .header-gnbitem:hover .header-gnblink span::after,
.basic-N3 .header-gnbitem.item-active .header-gnblink span::after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 100%;
    background-color: var(--primary);
    transform: scaleX(1)
}

.basic-N3 .header-gnbitem:hover .header-sublist {
    min-height: auto;
    opacity: 1;
    overflow: hidden;
    pointer-events: auto
}

.basic-N3 .header-gnbitem+.header-gnbitem .header-gnblink {
    padding-left: 3rem
}

.basic-N3 .header-gnbitem:last-child .header-gnblink {
    padding-right: 0
}

.basic-N3 .header-gnblink {
    padding: 2.8rem 3rem 2.8rem 0;
    font-weight: 700;
    text-align: center;
    white-space: nowrap
}

.basic-N3 .header-gnblink span {
    position: relative
}

.basic-N3 .header-gnblink span::after {
    content: "";
    height: 0.2rem;
    width: 100%;
    transition: 0.3s;
    transform: scaleX(0)
}

.basic-N3 .header-sublist {
    min-height: 0;
    position: absolute;
    top: 100%;
    transition: opacity 0.3s;
    opacity: 0;
    overflow: hidden;
    pointer-events: none
}

.basic-N3 .header-subitem {
    width: 14rem;
    background: var(--white);
    overflow: hidden
}

.basic-N3 .header-sublink {
    width: 100%;
    padding: 1rem 2rem;
    transition: color 0.2s, background 0.2s;
    will-change: color, background
}

.basic-N3 .header-sublink:hover {
    background: #111111;
    color: var(--white)
}

.basic-N3 .header-right {
    display: flex;
    align-items: center
}

.basic-N3 .header-utils>ul {
    display: flex;
    align-items: center
}

.basic-N3 .header-utils>ul>li {
    position: relative;
    margin-left: 1.2rem
}

.basic-N3 .header-utils>ul>li>img {
    width: auto;
    height: 100%;
    object-fit: cover;
    vertical-align: top
}

.basic-N3 .header-right button {
    max-width: 3.2rem;
    background: none;
    border: none
}

.basic-N3 .header-right button img {
    width: auto;
    max-height: 100%;
    object-fit: cover;
    vertical-align: top
}

.basic-N3 .header-utils .member a,
.basic-N3 .header-utils .cart a {
    width: 3.2rem;
    height: 3.2rem;
    font-size: 0;
    display: block
}

.basic-N3 .header-utils .member img,
.basic-N3 .header-utils .cart img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    vertical-align: top
}

.basic-N3 .header-utils .cart .badge {
    right: -0.4rem;
    bottom: -0.4rem;
    text-align: center;
    color: var(--white)
}

.basic-N3 .header-utils .btn-allmenu {
    display: flex;
    flex-direction: column;
    gap: 0.6rem
}

.basic-N3 .header-utils .btn-allmenu:hover .ico-hamburger:nth-child(2) {
    width: 2.4rem
}

.basic-N3 .header-utils .btn-allmenu .ico-hamburger,
.basic-N3 .btn-momenu .ico-hamburger {
    width: 2.4rem;
    height: 0.2rem;
    background-color: #111;
    border-radius: 1rem;
    transition: width 0.3s, transform 0.3s, opacity 0.3s;
    will-change: width, transform, opacity
}

.basic-N3 .header-utils .btn-allmenu .ico-hamburger:nth-child(even),
.basic-N3 .btn-momenu .ico-hamburger:nth-child(2) {
    width: 1.4rem
}

.basic-N3 .btn-momenu {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 0.6rem;
    margin-left: 0.6rem
}

.basic-N3 .btn-momenu .ico-hamburger {
    width: 2rem
}

.basic-N3 .btn-momenu .ico-hamburger:nth-child(2) {
    width: 1.2rem
}

.basic-N3 .btn-moclose {
    display: none
}

.basic-N3 .header-fullmenu {
    position: fixed;
    z-index: 99999;
    padding: 0 2.4rem;
    background-color: #000;
    transition: 0.3s;
    opacity: 0;
    visibility: hidden;
    overflow: hidden
}

.basic-N3 .header-fullmenu.fullmenu-right {
    width: 0;
    height: 100%;
    top: 0;
    right: 0
}

.basic-N3 .header-fullmenu.fullmenu-left {
    width: 0;
    height: 100%;
    top: 0;
    left: 0
}

.basic-N3 .header-fullmenu.fullmenu-top {
    top: 0;
    left: 0;
    width: 100%;
    height: 0
}

.basic-N3 .header-fullmenu.fullmenu-bottom {
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0
}

.basic-N3 .header-fullmenu.fullmenu-active {
    width: 100%;
    height: 100vh;
    opacity: 1;
    visibility: visible
}

.basic-N3 .fullmenu-wrapper {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    max-width: 128rem;
    margin: 0 auto
}

.basic-N3 .fullmenu-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10rem
}

.basic-N3 .fullmenu-title {
    margin-bottom: 0
}

.basic-N3 .fullmenu-title a {
    width: 13.6rem;
    height: 4.3rem
}

.basic-N3 .fullmenu-title img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.basic-N3 .fullmenu-member {
    display: flex
}

.basic-N3 .fullmenu-member li {
    position: relative
}

.basic-N3 .fullmenu-member li a {
    padding: 1.2rem;
    color: var(--white)
}

.basic-N3 .fullmenu-member li+li::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.1rem;
    height: 1.4rem;
    background-color: rgba(var(--white-rgb), 0.2)
}

.basic-N3 .fullmenu-gnblist {
    display: flex;
    justify-content: center
}

.basic-N3 .fullmenu-gnbitem {
    width: 20%
}

.basic-N3 .fullmenu-gnbitem+.fullmenu-gnbitem {
    margin-left: 4rem
}

.basic-N3 .fullmenu-gnblink {
    position: relative;
    width: 100%;
    padding-bottom: 4rem;
    color: var(--white);
    border-bottom: 1px solid rgba(var(--white-rgb), 0.2)
}

.basic-N3 .fullmenu-gnblink::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    display: block;
    width: 0;
    height: 0.1rem;
    background-color: var(--white);
    transition: 0.2s
}

.basic-N3 .fullmenu-gnblink.on::after {
    width: 18rem
}

.basic-N3 .fullmenu-sublist {
    padding-top: 4rem
}

.basic-N3 .fullmenu-subitem+.fullmenu-subitem {
    padding-top: 0.8rem
}

.basic-N3 .fullmenu-sublink {
    position: relative;
    color: #a2a2a2
}

.basic-N3 .fullmenu-sublink::before {
    content: "";
    width: 0;
    height: 1px;
    background-color: var(--white);
    position: absolute;
    top: 100%;
    right: 0;
    transition: width 0.7s cubic-bezier(0.22, 0.61, 0.36, 1)
}

.basic-N3 .fullmenu-sublink:hover {
    color: var(--white)
}

.basic-N3 .fullmenu-sublink:hover::before {
    width: 100%;
    right: auto;
    left: 0
}

.basic-N3 .fullmenu-close {
    position: fixed;
    right: 8rem;
    top: 2.4rem;
    width: 3.2rem;
    height: 3.2rem;
    padding: 0.5rem;
    background-color: transparent;
    border: none
}

.basic-N3 .fullmenu-close img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width: 992px) {
    .basic-N3 {
        padding-top: 0;
        padding-bottom: 0
    }

    .basic-N3.block-active .header-gnb {
        top: 6rem;
        height: calc(100vh - 6rem);
        padding-bottom: 19rem;
        overflow-y: auto
    }

    .basic-N3.block-active .header-gnblist {
        opacity: 1;
        visibility: visible
    }

    .basic-N3 .header-gnbitem:has(.header-subitem) .header-gnblink::after {
        content: "";
        display: flex;
        width: 1.6rem;
        height: 1.6rem;
        background-image: url(../icons/ico_downarrow_black.svg);
        background-repeat: no-repeat;
        background-position: center right;
        background-size: cover;
        transition: transform 0.3s;
        will-change: transform
    }

    .basic-N3.block-active .header-gnblink {
        align-items: center;
        justify-content: space-between
    }

    .basic-N3.block-active .header-gnbitem.item-active .header-gnblink::after {
        content: "";
        transform: rotate(180deg)
    }

    .basic-N3.block-active .btn-momenu .ico-hamburger:nth-child(1) {
        transform: translateY(0.8rem) rotate(45deg)
    }

    .basic-N3.block-active .btn-momenu .ico-hamburger:nth-child(3) {
        transform: translateY(-0.8rem) rotate(-45deg)
    }

    .basic-N3.block-active .btn-momenu .ico-hamburger:nth-child(2) {
        opacity: 0;
        visibility: hidden
    }

    .basic-N3 .header-fullmenu {
        display: none
    }

    .basic-N3 .header-container {
        align-items: center;
        min-height: 6rem;
        padding: 0 1.6rem
    }

    .basic-N3 .header-left {
        gap: 0
    }

    .basic-N3 .header-title a {
        width: 12rem;
        height: 2.6rem
    }

    .basic-N3 .header-gnb {
        width: 100%;
        height: 0;
        position: fixed;
        top: 100%;
        left: 0;
        background-color: var(--white);
        overflow: hidden;
        transition: height 0.3s;
        z-index: 999
    }

    .basic-N3 .header-gnblist {
        flex-direction: column;
        align-items: flex-start;
        width: 100%
    }

    .basic-N3 .header-gnbitem {
        width: 100%
    }

    .basic-N3 .header-gnbitem:hover,
    .basic-N3 .header-gnbitem.item-active {
        background-color: #f7f7fb
    }

    .basic-N3 .header-gnbitem:hover .header-gnblink span::after,
    .basic-N3 .header-gnbitem.item-active .header-gnblink span::after {
        content: none
    }

    .basic-N3 .header-gnblink {
        display: flex;
        width: 100%;
        padding: 1.4rem 2rem;
        font-weight: 500;
        text-align: left
    }

    .basic-N3 .header-sublist {
        display: none;
        position: relative;
        opacity: 1;
        padding: 1.8rem 2rem 2rem 2rem;
        background-color: var(--white)
    }

    .basic-N3 .header-subitem {
        width: 100%
    }

    .basic-N3 .header-subitem+.header-subitem {
        padding-top: 0.8rem
    }

    .basic-N3 .header-sublink {
        padding: 0;
        color: var(--text-color3)
    }

    .basic-N3 .header-sublink:active {
        color: #111111
    }

    .basic-N3 .header-sublink:hover {
        background: var(--white);
        color: #111111
    }

    .basic-N3 .header-btn {
        width: 2.8rem;
        height: 2.8rem
    }

    .basic-N3 .header-utils .btn-allmenu,
    .basic-N3 .header-utils .btn-user {
        display: none
    }

    .basic-N3 .btn-momenu {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 0.6rem;
        margin-left: 0.6rem
    }
}
/* basic-N39 */
.basic-N39 {
    position: relative;
    overflow: hidden
}

.basic-N39 .contents-container {
    height: 70rem
}

.basic-N39 .contents-inner {
    width: 100%;
    height: 100%
}

.basic-N39 .contents-swiper {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 2rem
}

.basic-N39 .swiper-wrapper {
    width: 100%;
    height: 100%
}

.basic-N39 .swiper-slide {
    position: relative
}

.basic-N39 .contents-backimg {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.basic-N39 .contents-slide-group {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    width: 100%;
    padding: 0 8rem
}

.basic-N39 .textset {
    padding: 0;
    margin-bottom: 6rem
}

.basic-N39 .textset .textset-tit {
    color: var(--white)
}

.basic-N39 .textset .textset-desc {
    color: var(--text-color4)
}

.basic-N39 .btnset {
    min-width: 18rem
}

.basic-N39 .contents-control {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    position: absolute;
    left: 50%;
    bottom: 4rem;
    transform: translateX(-50%);
    z-index: 100
}

.basic-N39 .swiper-button-prev,
.basic-N39 .swiper-button-next {
    position: static;
    width: 2rem;
    height: 2rem;
    margin-top: 0;
    opacity: 0.5;
    transition: 0.3s
}

.basic-N39 .swiper-button-prev:hover,
.basic-N39 .swiper-button-next:hover {
    opacity: 1
}

.basic-N39 .swiper-pagination {
    display: flex;
    align-items: center;
    position: static;
    gap: 0.4rem;
    font-weight: 500;
    color: var(--text-color4)
}

.basic-N39 .swiper-pagination-current {
    font-weight: 500;
    color: var(--white)
}

.basic-N39 .swiper-button-play,
.basic-N39 .swiper-button-pause {
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    opacity: 0.5;
    transition: 0.3s;
    cursor: pointer
}

.basic-N39 .swiper-button-play:hover,
.basic-N39 .swiper-button-pause:hover {
    opacity: 1
}

.basic-N39 .swiper-button-play {
    display: none
}

@media (max-width: 992px) {
    .basic-N39 .contents-container {
        height: 60rem
    }

    .basic-N39 .contents-swiper {
        width: 100%;
        margin-left: 0
    }

    .basic-N39 .contents-slide-group {
        left: 2.4rem;
        width: calc(100% - 4.8rem);
        padding: 0
    }

    .basic-N39 .textset {
        margin-bottom: 4rem
    }

    .basic-N39 .textset .textset-tit+.textset-desc {
        margin-top: 2rem
    }

    .basic-N39 .contents-control {
        bottom: 2rem
    }

    .basic-N39 .btnset {
        min-width: 16rem
    }
}

@media (max-width: 576px) {
    .basic-N39 .textset .textset-desc br {
        display: none
    }
}
/* basic-N39 [gum6x8bR6G] */
.basic-N39[id='gum6x8bR6G'] .swiper-button-prev:after,
.basic-N39[id='gum6x8bR6G'] .swiper-button-next:after {
    content: none
}

.basic-N39[id='gum6x8bR6G'] .swiper-button-prev::before,
.basic-N39[id='gum6x8bR6G'] .swiper-button-next::before {
    font-size: 1.6rem;
    transition: 0.3s;
    color: var(--white)
}

.basic-N39[id='gum6x8bR6G'] .swiper-button-play::before,
.basic-N39[id='gum6x8bR6G'] .swiper-button-pause::before {
    font-size: 2rem;
    color: var(--white);
    opacity: 1
}
/* basic-N39 [DQM7R3Yu58] */
.basic-N39[id='DQM7R3Yu58'] .swiper-button-prev:after,
.basic-N39[id='DQM7R3Yu58'] .swiper-button-next:after {
    content: "";
    width: 2rem;
    height: 2rem;
    background-image: url(../icons/ico_btnset_arrow_white_sm.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    opacity: 0.5
}
/* basic-N40 */
.basic-N40 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N40 .contents-inner {
    width: 100%;
    min-height: 100.8rem;
    position: relative
}

.basic-N40 .cardset {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% / 2 - 8rem)
}

.basic-N40 .cardset+.cardset {
    top: auto;
    left: auto;
    right: 0;
    bottom: 0
}

.basic-N40 .cardset .cardset-figure {
    height: 64rem;
    border-radius: 2rem;
    overflow: hidden
}

.basic-N40 .cardset .cardset-figure+.cardset-body,
.basic-N40 .cardset .cardset-body+.cardset-figure {
    margin-top: 3rem
}

.basic-N40 .cardset .cardset-body {
    padding: 0
}

.basic-N40 .cardset .cardset-tit+.cardset-desc {
    margin-top: 2rem
}

.basic-N40 .cardset .cardset-desc {
    color: var(--text-color3)
}

@media (max-width: 992px) {
    .basic-N40 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N40 .contents-container {
        min-height: auto
    }

    .basic-N40 .cardset {
        position: relative;
        width: 100%
    }

    .basic-N40 .cardset+.cardset {
        display: flex;
        flex-direction: column-reverse;
        margin-top: 4rem
    }

    .basic-N40 .cardset+.cardset .cardset-body {
        margin-top: 3rem
    }

    .basic-N40 .cardset+.cardset .cardset-figure {
        margin-top: 0
    }

    .basic-N40 .cardset .cardset-figure {
        height: 37.4rem
    }
}

@media (max-width: 375px) {
    .basic-N40 .cardset .cardset-desc br {
        display: none
    }
}
/* basic-N41 */
.basic-N41 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N41 .contents-container {
    position: relative
}

.basic-N41 .imageset {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 60rem;
    overflow: hidden
}

.basic-N41 .textset {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-bottom: 0;
    width: calc(100% - 16rem);
    text-align: center
}

.basic-N41 .textset .textset-tit {
    color: var(--white);
    word-break: keep-all
}

.basic-N41 .textset .textset-desc {
    margin-top: 2.9rem;
    color: rgba(var(--white-rgb), 0.7);
    word-break: keep-all
}

@media (max-width: 1200px) {
    .basic-N41 .textset {
        width: calc(100% - 8rem)
    }
}

@media (max-width: 992px) {
    .basic-N41 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N41 .textset {
        width: calc(100% - 1.6rem - 1.6rem)
    }
}

@media (max-width: 576px) {

    .basic-N41 .textset .textset-tit br,
    .basic-N41 .textset .textset-desc br {
        display: none
    }
}
/* basic-N42 */
.basic-N42 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N42 .contents-inner {
    position: relative
}

.basic-N42 .textset {
    margin-bottom: 4rem;
    text-align: center
}

.basic-N42 .textset .textset-desc {
    margin-top: 0.8rem;
    color: var(--text-color3)
}

.basic-N42 .swiper-wrapper {
    margin-bottom: 4rem
}

.basic-N42 .swiper-slide {
    width: calc(100% / 4 - 3rem);
    margin-right: 4rem
}

.basic-N42 .swiper-button-prev,
.basic-N42 .swiper-button-next {
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    background-color: var(--white);
    border: 1px solid var(--line-color3)
}

.basic-N42 .swiper-button-prev {
    left: auto;
    right: calc(100% + 4rem)
}

.basic-N42 .swiper-button-next {
    left: calc(100% + 4rem);
    right: auto
}

.basic-N42 .swiper-pagination {
    width: 100%;
    top: auto;
    bottom: 0;
    background-color: #e9e9e9;
    border-radius: 1rem;
    overflow: hidden
}

.basic-N42 .swiper-pagination-progressbar-fill {
    background-color: var(--line-color3);
    border-radius: 1rem
}

.basic-N42 .cardset {
    display: inline-block;
    width: 100%
}

.basic-N42 .cardset .cardset-figure {
    height: 30rem;
    border-radius: 2rem;
    overflow: hidden
}

.basic-N42 .cardset .cardset-body {
    padding-top: 1.6rem;
    padding-bottom: 0
}

.basic-N42 .cardset .cardset-name {
    display: block;
    margin-bottom: 0.4rem;
    color: var(--text-color3)
}

.basic-N42 .cardset .cardset-tit+.cardset-desc {
    margin-top: 0.8rem
}

@media (max-width: 992px) {
    .basic-N42 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N42 .swiper-slide {
        margin-right: 2rem
    }

    .basic-N42 .swiper-slide,
    .basic-N42 .cardset {
        width: 100%
    }

    .basic-N42 .swiper-button-prev,
    .basic-N42 .swiper-button-next {
        display: none
    }

    .basic-N42 .cardset .cardset-figure+.cardset-body {
        margin-top: 0;
        padding-top: 3rem
    }
}
/* basic-N42 [rXM6x8brH3] */
.basic-N42[id='rXM6x8brH3'] .swiper-button-prev::after,
.basic-N42[id='rXM6x8brH3'] .swiper-button-next::after {
    content: none
}

.basic-N42[id='rXM6x8brH3'] .swiper-button-prev::before,
.basic-N42[id='rXM6x8brH3'] .swiper-button-next::before {
    font-size: 1.6rem;
    color: var(--black)
}
/* basic-N42 [frm7R3YUFH] */
.basic-N42[id='frm7R3YUFH'] .swiper-button-prev::after,
.basic-N42[id='frm7R3YUFH'] .swiper-button-next::after {
    content: "";
    display: inline-block;
    width: 2.4rem;
    height: 2.4rem;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url(../icons/ico_btnset_arrow_right_black.svg)
}
/* basic-N43 */
.basic-N43 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N43 .contents-inner {
    display: flex;
    gap: 2rem
}

.basic-N43 .cardset {
    position: relative;
    width: 50%;
    border-radius: 2rem;
    overflow: hidden
}

.basic-N43 .cardset .cardset-tit+.cardset-desc {
    margin-top: 2rem;
    word-break: keep-all
}

.basic-N43 .cardset .cardset-figure {
    height: 34rem
}

.basic-N43 .cardset .cardset-figure+.cardset-body {
    margin-top: 0
}

.basic-N43 .cardset .cardset-body {
    position: absolute;
    top: 50%;
    bottom: auto;
    left: 50%;
    width: 100%;
    transform: translate(-50%, -50%);
    padding: 3.2rem;
    text-align: center;
    background-color: transparent
}

.basic-N43 .cardset .cardset-tit {
    color: var(--white)
}

.basic-N43 .cardset .cardset-desc {
    color: var(--border-color)
}

@media (max-width: 1200px) {
    .basic-N43 .cardset {
        width: 50%;
        margin-left: 0
    }

    .basic-N43 .cardset+.cardset {
        margin-right: 0
    }
}

@media (max-width: 992px) {
    .basic-N43 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N43 .contents-inner {
        flex-direction: column
    }

    .basic-N43 .cardset {
        width: 100%
    }

    .basic-N43 .cardset+.cardset {
        margin-top: 0
    }

    .basic-N43 .cardset .cardset-body {
        padding: 2rem
    }
}

@media (max-width: 576px) {
    .basic-N43 .cardset .cardset-desc br {
        display: none
    }
}
/* basic-N44 */
.basic-N44 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N44 .textset {
    margin-bottom: 4rem
}

.basic-N44 .textset .textset-tit {
    text-align: center
}

.basic-N44 .cardset {
    position: relative
}

.basic-N44 .cardset .cardset-desc {
    word-break: keep-all;
    -webkit-line-clamp: 5;
    color: var(--border-color)
}

.basic-N44 .cardset .cardset-figure {
    height: 50rem
}

.basic-N44 .cardset .cardset-figure+.cardset-body {
    margin-top: 0
}

.basic-N44 .cardset .cardset-body {
    position: absolute;
    bottom: 0;
    z-index: 1;
    width: 100%;
    padding: 3.2rem;
    background-color: transparent
}

.basic-N44 .cardset .cardset-tit {
    color: var(--white)
}

@media (max-width: 992px) {
    .basic-N44 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N44 .cardset .cardset-body {
        padding: 3.2rem
    }
}

@media (max-width: 375px) {
    .basic-N44 .cardset .cardset-desc br {
        display: none
    }
}
/* butti-N25 */
.butti-N25 {
    overflow: hidden;
    position: relative;
    padding-top: 16rem;
    padding-bottom: 16rem
}

.butti-N25 .contents-inner {
    width: 100%
}

.butti-N25 .title-area {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 2rem
}

.btnset-icon .title-area span {
    font-weight: var(--fw-bold)
}

.butti-N25 .inputset {
    flex-basis: 40rem;
    display: flex;
    align-items: center;
    position: relative
}

.butti-N25 .inputset.inputset-line .inputset-input {
    border-bottom-color: var(--border-color)
}

.butti-N25 .title-area .inputset-input {
    padding-right: 3rem
}

.butti-N25 .title-area .btnset-icon {
    position: absolute;
    right: 0;
    background: none;
    min-width: 2.4rem;
    padding: 0
}

.butti-N25 .btnset.btnset-icon.ico-left::before {
    color: #111
}

.butti-N25 .butti-N25 .tableset {
    text-align: center
}

.butti-N25 .tableset .tableset-table>colgroup>.width-120 {
    width: 120px
}

.butti-N25 .tableset .tableset-table>thead.thead-light>*>* {
    background: var(--white)
}

.butti-N25 .tableset .tableset-table>thead.thead-border-top>*>* {
    border-top: 1px solid #111;
    border-bottom: 0;
    text-align: center
}

.butti-N25 .tableset .tableset-table> :not(caption):not(colgroup)>*>* {
    text-align: center
}

.butti-N25 .tableset .tableset-table>tbody>*>td.text-left {
    text-align: left
}

.butti-N25 .tableset tbody {
    border-top: 1px solid var(--border-color)
}

.butti-N25 .tableset tbody tr:hover {
    background-color: #fafafa
}

.butti-N25 .tableset tbody td.date {
    color: #bbbbbb
}

.butti-N25 .pagiset {
    margin-top: 8rem
}

.butti-N25 .pagiset .pagiset-ctrl .pagiset-first::after,
.butti-N25 .pagiset .pagiset-ctrl .pagiset-prev::after,
.butti-N25 .pagiset .pagiset-ctrl .pagiset-next::after,
.butti-N25 .pagiset .pagiset-ctrl .pagiset-last::after {
    font-size: var(--fs-p1)
}

.butti-N25 .pagiset .pagiset-link.active-fill {
    background: var(--black)
}

@media (max-width: 992px) {
    .butti-N25 {
        padding-top: 10rem;
        padding-bottom: 10rem
    }

    .butti-N25 .title-area {
        flex-direction: column-reverse;
        align-items: flex-start;
        justify-content: center;
        gap: 2rem;
        margin-bottom: 2rem
    }

    .butti-N25 .inputset {
        flex: none;
        width: 100%
    }

    .butti-N25 .textset {
        margin-bottom: 2rem
    }

    .butti-N25 .tableset-table {
        min-width: auto
    }

    .butti-N25 .tableset-table .tableset-tit a {
        width: 100%;
        text-overflow: ellipsis;
        white-space: nowrap;
        overflow: hidden
    }

    .butti-N25 .tableset.tableset-fract .tableset-table {
        display: block
    }

    .butti-N25 .tableset.tableset-fract thead {
        display: none
    }

    .butti-N25 .tableset.tableset-fract tbody {
        display: block;
        border-top: 1px solid #111
    }

    .butti-N25 .tableset.tableset-fract tbody tr {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        padding: 1.6rem 0.8rem;
        gap: 0;
        border-bottom: 1px solid var(--border-color)
    }

    .butti-N25 .tableset.tableset-fract tbody tr td {
        padding: 0;
        border: 0
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-mobile {
        display: none
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-tit {
        width: 100%;
        max-width: 100%;
        max-height: 2.4rem
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order01 {
        order: 1
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order02 {
        order: 2
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order03 {
        order: 3
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order04 {
        order: 4
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order05 {
        order: 5
    }

    .butti-N25 .tableset.tableset-fract .tableset-table td.tableset-order06 {
        order: 6
    }

    .butti-N25 .pagiset {
        margin-top: 4rem
    }

    .butti-N25 .pagiset.pagiset-line .pagiset-ctrl .pagiset-link::after {
        font-size: 1.2rem
    }
}
/* campland-N14 */
.campland-N14 {
    overflow: hidden;
    position: relative;
    padding-top: 16rem;
    padding-bottom: 16rem
}

.campland-N14 .contents-inner {
    width: 100%
}

.campland-N14 .textset {
    margin-bottom: 2.8rem
}

.campland-N14 .textset .textset-tit {
    font-weight: var(--fw-bold)
}

.campland-N14 .accordset {
    border-top-color: var(--primary)
}

.campland-N14 .accordset .accordset-q {
    margin-right: 1.6rem;
    color: #111;
    font-size: 1.8rem;
    line-height: inherit
}

.campland-N14 .accordset .accordset-button {
    font-weight: var(--fw-regular)
}

.campland-N14 .accordset .accordset-header::after {
    width: 2.4rem;
    height: 2.4rem;
    font-size: var(--fs-p2)
}

.campland-N14 .accordset.accent-header .accordset-item.active .accordset-button {
    background: inherit;
    color: inherit;
    font-weight: var(--fw-bold)
}

.campland-N14 .accordset.accent-header .accordset-item.active .accordset-header::after {
    color: inherit
}

.campland-N14 .accordset-a {
    margin-right: 1.6rem;
    font-size: 2rem;
    line-height: normal;
    color: var(--primary);
    font-weight: var(--fw-bold)
}

.campland-N14 .accordset .accordset-content {
    background: #fff9f6;
    padding-right: 6rem
}

@media (max-width: 992px) {
    .campland-N14 {
        padding-top: 10rem;
        padding-bottom: 10rem
    }

    .campland-N14 .textset {
        margin-bottom: 2rem
    }
}
/* basic-N4 */
.basic-N4 {
    position: relative;
    background: #111;
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
    overflow: hidden
}

.basic-N4 .footer-top {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 1.6rem
}

.basic-N4 .footer-logo {
    text-align: center;
    margin-bottom: 0
}

.basic-N4 .footer-logo img {
    object-fit: contain
}

.basic-N4 .footer-menulist {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: var(--fs-p2)
}

.basic-N4 .footer-menulink a {
    padding-right: 1.2rem;
    color: var(--white)
}

.basic-N4 .footer-menulink+.footer-menulink a {
    padding-left: 1.2rem
}

.basic-N4 .footer-menulink {
    position: relative
}

.basic-N4 .footer-menulink+.footer-menulink::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 1.4rem;
    background: rgba(var(--white-rgb), 0.1)
}

.basic-N4 .footer-snslist {
    display: flex;
    align-items: center
}

.basic-N4 .footer-snsitem+.footer-snsitem {
    margin-left: 0.8rem
}

.basic-N4 .footer-snslink {
    width: 3.6rem;
    height: 3.6rem;
    padding: 0.6rem
}

.basic-N4 .footer-snslink img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    vertical-align: top
}

.basic-N4 .footer-bottom {
    padding-top: 2.4rem;
    border-top: 1px solid rgba(255, 255, 255, 0.1)
}

.basic-N4 .footer-txt {
    display: flex;
    justify-content: center
}

.basic-N4 .footer-txt+.footer-txt {
    margin-top: 0.3rem
}

.basic-N4 .footer-txt p,
.basic-N4 .footer-txt span {
    margin-bottom: 0;
    color: var(--text-color3)
}

.basic-N4 .footer-txt p+p {
    margin-left: 0.8rem
}

.basic-N4 .footer-txt p span+span {
    margin-left: 0.8rem
}

.basic-N4 .info-area {
    overflow-y: auto
}

.basic-N4 .info-group+.info-group {
    margin-top: 2.4rem
}

.basic-N4 .info-group strong {
    padding-bottom: 1.2rem;
    display: block
}

.basic-N4 .info-desc {
    max-height: 20.7rem;
    padding: 1.6rem;
    background: #f8f8fa;
    border-radius: 1.6rem;
    overflow-y: auto;
    scrollbar-width: none
}

.basic-N4 .info-desc p.fw-medium {
    font-weight: var(--fw-medium)
}

.basic-N4 .info-desc .mtb {
    margin: 2.4rem 0
}

.basic-N4 .info-desc em {
    font-style: normal;
    font-weight: 600;
    margin: 2.4rem 0 1rem;
    position: relative;
    display: flex;
    align-items: center
}

.basic-N4 .info-list em::before {
    content: "";
    width: 0.4rem;
    height: 0.4rem;
    background: var(--black);
    border-radius: 50%;
    margin-right: 0.8rem
}

.basic-N4 .info-list p {
    padding-left: 1.2rem
}

@media (max-width: 992px) {
    .basic-N4 {
        padding-top: 4rem;
        padding-bottom: 4rem
    }

    .basic-N4 .footer-top {
        margin-bottom: 0;
        flex-direction: column;
        align-items: flex-start
    }

    .basic-N4 .footer-logo a {
        height: 2.6rem
    }

    .basic-N4 .footer-menulist {
        justify-content: flex-start;
        position: relative;
        left: 0;
        transform: translate(0);
        margin-top: 1.3rem
    }

    .basic-N4 .footer-menulink a {
        padding-right: 0.8rem
    }

    .basic-N4 .footer-menulink+.footer-menulink a {
        padding-left: 0.8rem
    }

    .basic-N4 .footer-snslist {
        margin: 2.4rem 0 1.6rem 0;
        justify-content: center
    }

    .basic-N4 .footer-bottom {
        text-align: left
    }

    .basic-N4 .footer-txt {
        flex-direction: column
    }

    .basic-N4 .footer-txt p+p {
        margin-left: 0
    }

    .basic-N4 .footer-txt+.footer-txt {
        margin-top: 0.6rem
    }
}

@media (max-width: 375px) {
    .basic-N4 .footer-menulist {
        justify-content: flex-start;
        overflow-x: auto
    }

    .basic-N4 .footer-menulink {
        flex-shrink: 0
    }
}
/* basic-N4 [ddm6x8bRqj] */
.basic-N4[id='ddm6x8bRqj'] .footer-logo img {
    height: 3.3rem
}
/* basic-N4 [IRM7R3YUNQ] */
.basic-N4[id='IRM7R3YUNQ'] .footer-logo img {
    height: 5.3rem
}
/* basic-N17 */
.basic-N17 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden;
    background: url(../images/infro01.png) no-repeat center / cover;
    background-attachment: fixed
}

.basic-N17 .textset {
    display: flex;
    margin-bottom: 10rem
}

.basic-N17 .textset .textset-tit {
    width: 40%;
    margin-right: 10rem
}

.basic-N17 .textset .textset-body {
    width: 50%
}

.basic-N17 .textset .textset-desc {
    margin-top: 0;
    color: var(--text-color3)
}

.basic-N17 .textset .textset-desc+.textset-desc {
    margin-top: 2rem
}

.basic-N17 .imageset {
    border-radius: 2rem;
    overflow: hidden
}

.basic-N17 .block_overlay {
    position: absolute;
    content: '';
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.8;
    background: var(--white)
}

@media (max-width: 992px) {
    .basic-N17 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N17 .textset {
        flex-direction: column;
        margin-bottom: 8rem
    }

    .basic-N17 .textset .textset-tit {
        width: 100%;
        margin-right: 0
    }

    .basic-N17 .textset .textset-body {
        width: 100%;
        margin-top: 4rem
    }
}
/* butti-N13 */
.butti-N13 {
    overflow: hidden;
    position: relative;
    padding-top: 8rem;
    padding-bottom: 16rem
}

.butti-N13 .contents-inner {
    width: 100%
}

.butti-N13 .imageset {
    height: 50rem
}

.butti-N13 .textset {
    margin-top: 8rem
}

.butti-N13 .textset-tit+.textset-desc {
    margin-top: 4.2rem
}

.butti-N13 .textset-desc {
    color: #777777;
    font-weight: var(--fw-regular)
}

.butti-N13 .textset-desc+.textset-desc {
    margin-top: 2.5rem
}

@media (max-width: 992px) {
    .butti-N13 {
        padding-top: 5rem;
        padding-bottom: 10rem
    }

    .butti-N13 .imageset {
        height: 30rem
    }

    .butti-N13 .textset {
        margin-top: 4rem
    }

    .butti-N13 .textset-tit+.textset-desc {
        margin-top: 2rem
    }

    .butti-N13 .textset-desc+.textset-desc {
        margin-top: 2rem
    }
}
/* properties-N6 */
.properties-N6 {
    overflow: hidden;
    position: relative;
    padding-top: 10rem;
    padding-bottom: 10rem;
    background: var(--bg-color)
}

.properties-N6 .contents-inner {
    width: 100%
}

.properties-N6 .title-area {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    margin-bottom: 6rem;
    text-align: center
}

.properties-N6 .ico-dot {
    width: 1.6rem;
    height: 1.6rem;
    background: url(../icons/ico_diamond.svg) no-repeat center/contain
}

.properties-N6 .list-area {
    display: flex;
    justify-content: center;
    gap: 10rem 4rem;
    flex-wrap: wrap
}

.properties-N6 .item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    width: 100%;
    max-width: 40rem
}

.properties-N6 .container-full .item {
    max-width: 50rem
}

.properties-N6 .thumb {
    width: 10rem;
    height: 10rem
}

.properties-N6 .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.properties-N6 .desc {
    text-align: center
}

.properties-N6 .desc strong {
    color: var(--primary)
}

.properties-N6 .desc p {
    margin-top: 1rem;
    color: #767676
}

@media (max-width: 992px) {
    .properties-N6 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .properties-N6 .title-area {
        flex-direction: column;
        gap: 0.6rem;
        margin-bottom: 3rem
    }

    .properties-N6 .ico-dot {
        width: 1.2rem;
        height: 1.2rem
    }

    .properties-N6 .list-area {
        gap: 6rem
    }

    .properties-N6 .item {
        max-width: 30rem
    }

    .properties-N6 .thumb {
        width: 8rem;
        height: 8rem
    }
}
/* basic-N14 */
.basic-N14 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    background: #F5F9EDFF;
    overflow: hidden
}

.basic-N14 .textset {
    margin-bottom: 5rem;
    text-align: center
}

.basic-N14 .textset .textset-tit+.textset-desc {
    margin-top: 2rem
}

.basic-N14 .textset .textset-desc {
    color: var(--text-color3)
}

.basic-N14 .cardset {
    padding: 5rem 6rem
}

.basic-N14 .cardset .cardset-body {
    padding: 0
}

.basic-N14 .cardset .cardset-figure {
    width: 8rem;
    height: 8rem;
    margin: 0 auto;
    border-radius: 1rem;
    overflow: hidden
}

.basic-N14 .cardset .cardset-figure+.cardset-body {
    margin-top: 2.4rem;
    text-align: center
}

.basic-N14 .cardset .cardset-tit+.cardset-desc {
    margin-top: 1.5rem
}

.basic-N14 .cardset .cardset-desc {
    display: block;
    color: var(--text-color3);
    margin-top: 1.5rem;
    letter-spacing: -0.1rem
}

@media (max-width: 992px) {
    .basic-N14 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N14 .textset {
        margin-bottom: 8rem
    }

    .basic-N14 .cardset {
        width: 100%;
        padding: 0
    }

    .basic-N14 .cardset+.cardset {
        margin-top: 4rem
    }
}
/* basic-N53 */
.basic-N53 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    overflow: hidden
}

.basic-N53 .accordset {
    border-top-color: var(--line-color1)
}

.basic-N53 .accordset .accordset-a {
    color: var(--text-color1)
}

.basic-N53 .accordset .accordset-content {
    padding: 2rem 2rem 2rem 2.4rem;
    background-color: #fafafa;
    color: var(--text-color3)
}

.basic-N53 .pagiset {
    margin-top: 6rem
}

.basic-N53 .pagiset .pagiset-link {
    border-radius: 0.6rem
}

@media (max-width: 992px) {
    .basic-N53 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .basic-N53 .pagiset .pagiset-link {
        width: 3.2rem;
        height: 3.2rem
    }
}
/* campland-N7 */
.campland-N7 {
    overflow: hidden;
    position: relative;
    padding-top: 8rem
}

.campland-N7 .contents-container {
    display: flex;
    justify-content: center
}

.campland-N7 .map-area {
    width: 100vw;
    height: 58.4rem
}

.campland-N7 .map-area iframe {
    width: 100vw;
    height: 100%
}

@media (max-width: 992px) {
    .campland-N7 {
        padding-top: 3rem
    }

    .campland-N7 .map-area {
        width: calc(100% + 3.2rem);
        height: 20rem
    }
}
/* 팝업 배경 */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    justify-content: center;
    align-items: center;
  }
  
  /* 팝업 콘텐츠 */
  .popup-content {
    position: relative;
    background: white;
    padding: 20px;
    border-radius: 8px;
    max-width: 90%;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  /* 닫기 버튼 */
  .close-btn {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    cursor: pointer;
    color: black;
  }
  
  /* 제목 스타일 */
  .popup-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
  }
  
  /* 이미지 크기 조절 */
  .popup-content img {
    max-width: 80vw;
    max-height: 70vh;
    object-fit: contain;
  }