@charset "utf-8";

/* studio-N1 */
.studio-N1 {
    right: 0;
    transform: translateY(2.8rem);
    margin: 0 auto;
    width: calc(100% - 8rem);
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-radius: 0.8rem;
    transition: background 0.3s, margin-top 0.3s;
    top: 0;
    left: 0;
    z-index: 999;
    position: fixed !important
}

.studio-N1:has(.container-full) {
    margin: 0 4rem
}

.studio-N1:has(.container-lg) {
    max-width: 144rem
}

.studio-N1:has(.container-md) {
    max-width: 128rem
}

.studio-N1:has(.container-sm) {
    max-width: 102.4rem
}

.studio-N1:has(.header-fullmenu.fullmenu-active) {
    transform: translateY(0);
    margin: 0;
    width: 100%;
    max-width: 100%;
    transition: none
}

.studio-N1:hover {
    background: var(--white)
}

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

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

.studio-N1 .container-full {
    padding: 0 8rem
}

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

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

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

.studio-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
}

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

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

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

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

.studio-N1 .header-title a {
    height: 5.2rem
}

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

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

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

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

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

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

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

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

.studio-N1 .header-gnbitem:hover .header-gnblink span::after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 100%;
    transform: scaleX(1);
    background: var(--text-color1)
}

.studio-N1 .header-subitem {
    overflow: hidden;
    background: var(--white)
}

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

.studio-N1 .header-sublink:hover {
    background: var(--text-color1);
    color: var(--white)
}

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

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

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

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

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

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

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

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

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

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

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

.studio-N1 .header-utils .btn-allmenu .ico-hamburger,
.studio-N1 .btn-momenu .ico-hamburger {
    width: 2.4rem;
    height: 0.2rem;
    background: var(--black);
    border-radius: 1rem;
    transition: width 0.3s, transform 0.3s, opacity 0.3s;
    will-change: width, transform, opacity
}

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

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

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

.studio-N1 .header-fullmenu {
    overflow: hidden;
    position: fixed;
    z-index: 99999;
    padding: 0 2.4rem;
    visibility: hidden;
    background: var(--black);
    transition: 0.3s;
    opacity: 0
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.studio-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)
}

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

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

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

.studio-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)
}

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

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

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

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

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

.studio-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)
}

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

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

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

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

@media (max-width: 1200px) {
    .studio-N1 .container-full {
        padding: 0 4rem
    }
}

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

    .studio-N1,
    .studio-N1:has(.container-full) {
        transform: none;
        margin: 0 auto;
        width: 100%;
        border-radius: 0
    }

    .studio-N1 .container-full {
        padding: 0 1.6rem
    }

    .studio-N1 .header-gnb {
        overflow: hidden;
        position: absolute;
        top: 100%;
        left: 0;
        z-index: 9;
        padding: 0 1.6rem;
        width: 100%;
        height: 0;
        transition: height 0.3s, background 0.3s;
        background: var(--white)
    }

    .studio-N1.block-active {
        background: var(--white)
    }

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

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

    .studio-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
    }

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

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

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

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

    .studio-N1 .header-title a {
        width: 13rem;
        height: 2.6rem
    }

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

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

    .studio-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
    }

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

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

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

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

    .studio-N1 .header-gnbitem.item-active .header-gnblink {
        border-bottom: 1px solid var(--text-color1)
    }

    .studio-N1 .header-subitem {
        width: 100%
    }

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

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

    .studio-N1 .header-sublink:active {
        color: var(--text-color1)
    }

    .studio-N1 .header-sublink:hover {
        background: var(--white);
        color: var(--text-color1)
    }

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

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

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

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

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

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

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

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

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

    .studio-N1 .header-gnbitem:has(.header-sublist) .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
    }

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

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

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

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

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

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

    .studio-N1 .header-fullmenu {
        display: none
    }
}
/* lawfirm-N11 */
body {
    position: relative
}

.lawfirm-N11 {
    position: fixed;
    right: 4rem;
    bottom: 4rem;
    z-index: 50
}

.lawfirm-N11 .quick-menu {
    width: 10rem;
    box-shadow: 0.6rem 0.6rem 2rem 0 rgba(var(--black-rgb), 0.1)
}

.lawfirm-N11 .menu-list a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 0.6rem;
    width: 100%;
    height: 10rem;
    background: var(--white)
}

.lawfirm-N11 .menu-list li i::before {
    font-size: 2.4rem;
    transition: color 0.3s
}

.lawfirm-N11 .menu-list li:hover i::before {
    color: var(--primary)
}

.lawfirm-N11 .ico-call {
    background: url(../icons/ico_call.svg) no-repeat center/contain
}

.lawfirm-N11 .ico-message {
    background: url(../icons/ico_message.svg) no-repeat center/contain
}

.lawfirm-N11 .ico-directions {
    background: url(../icons/ico_directions.svg) no-repeat center/contain
}

.lawfirm-N11 .menu-list li:hover a {
    color: var(--primary)
}

.lawfirm-N11 .top-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
    height: 4.6rem;
    background: var(--primary)
}

.lawfirm-N11 .top-btn .ico-up {
    width: 2.4rem;
    height: 2.4rem;
    background: url(../icons/ico_up.svg) no-repeat center/contain
}

.lawfirm-N11 .top-btn span {
    font-weight: var(--fw-medium)
}

@media (max-width: 992px) {
    .lawfirm-N11 {
        right: 0;
        bottom: 0;
        width: 100%
    }

    .lawfirm-N11 .quick-menu {
        width: 100%
    }

    .lawfirm-N11 .menu-list {
        display: flex
    }

    .lawfirm-N11 .menu-list li {
        flex: 1
    }

    .lawfirm-N11 .menu-list a {
        gap: 0.4rem;
        width: 100%;
        height: 8rem
    }

    .lawfirm-N11 .menu-list li i[class*="ico-"] {
        width: 3.2rem;
        height: 3.2rem;
        font-size: 2.4rem
    }

    .lawfirm-N11 .top-btn {
        display: none
    }

    .lawfirm-N11 .top-btn .ico-up {
        width: 1.6rem;
        height: 1.6rem
    }
}
/* contest-N4 */
body {
    position: relative
}

.contest-N4 {
    overflow: hidden;
    display: flex;
    justify-content: center;
    position: fixed;
    left: 0;
    bottom: 2rem;
    z-index: 99;
    pointer-events: none;
    width: 100%
}

.contest-N4 .contents-container {
    width: 100%
}

.contest-N4 .contents-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.6rem;
    margin: 0 auto;
    padding: 0 2rem;
    width: 100%;
    max-width: 56rem;
    min-height: 8rem;
    border: 1px solid var(--secondary);
    border-radius: 0.6rem;
    background: #fff;
    box-shadow: 0 0 1.6rem rgba(245, 245, 245, 0.025);
    pointer-events: auto
}

.contest-N4 .contents-inner h2 {
    flex: 1;
    font-weight: var(--fw-medium)
}

.contest-N4 .contents-inner .btnset {
    flex-shrink: 0
}

@media (max-width: 992px) {
    .contest-N4 .contents-inner {
        gap: 0.8rem;
        padding: 1.6rem 1.2rem;
        min-height: 0
    }
}
/* book-N3 */
@import url(https://fonts.cdnfonts.com/css/moderniz);

html {
    overflow-x: hidden
}

.book-N3 {
    position: relative;
    padding-top: 14rem;
    padding-bottom: 9rem;
    background: var(--bg-color)
}

.book-N3 .contents-container {
    height: 250vh
}

.book-N3 .contents-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%
}

.book-N3 .wrap {
    overflow: hidden;
    position: relative;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    mix-blend-mode: lighten;
    background: var(--bg-color)
}

.book-N3 .title-area {
    margin-bottom: 4rem;
    width: 100%;
    text-align: center;
    font-weight: var(--fw-medium)
}

.book-N3 .loop-area {
    overflow: hidden;
    width: 100vw
}

.book-N3 .loop-inner {
    display: flex;
    padding-left: 8rem
}

.book-N3 .text-wrap {
    display: flex
}

.book-N3 .text-wrap span {
    transform: translateY(0.1em);
    padding-right: 13rem;
    font-size: 30rem;
    line-height: 1;
    font-family: "MODERNIZ", sans-serif;
    font-weight: var(--fw-bold);
    white-space: nowrap
}

.book-N3 .bg {
    position: sticky;
    top: 0;
    width: 100vw;
    height: 100vh;
    margin-top: -100vh;
    background-image: url(https://images.pexels.com/photos/2172499/pexels-photo-2172499.jpeg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat
}

.book-N3 .bg-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 0 4rem;
    width: 100%;
    height: 100%;
    pointer-events: none
}

.book-N3 .bg-inner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(var(--black-rgb), 0.26)
}

.book-N3 .title-wrap {
    position: relative;
    text-align: center;
    pointer-events: auto
}

.book-N3 .title-wrap img {
    width: 11.6rem;
    object-fit: cover
}

.book-N3 .title-wrap strong {
    display: block;
    margin: 1.6rem 0 0.8rem;
    color: var(--white);
    font-weight: var(--fw-medium)
}

.book-N3 .title-wrap p {
    color: var(--white)
}

.book-N3 .title-wrap .btnset {
    margin-top: 4rem
}

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

    .book-N3 .contents-container {
        height: calc(100% + 6.4rem)
    }

    .book-N3 .wrap {
        position: absolute;
        top: 0;
        height: 100%
    }

    .book-N3 .title-area {
        margin-bottom: 0
    }

    .book-N3 .loop-area {
        margin-left: 1.6rem;
        width: calc(100% + 1.6rem)
    }

    .book-N3 .loop-inner {
        padding-left: 1.6rem
    }

    .book-N3 .text-wrap span {
        font-size: 15.4rem
    }

    .book-N3 .bg {
        position: static;
        margin: 0;
        width: calc(100% + 3.2rem);
        height: 100%
    }

    .book-N3 .bg-inner {
        opacity: 0;
        padding: 8rem 1.6rem 5.2rem
    }

    .book-N3 .title-wrap img {
        width: 8.3rem
    }

    .book-N3 .title-wrap strong {
        margin: 0.8rem 0 1.2rem
    }

    .book-N3 .title-wrap .btnset {
        margin-top: 2rem
    }
}
/* skin-N38 */
.skin-N38 {
    overflow: hidden;
    position: relative;
    padding-top: 16rem;
    padding-bottom: 16rem;
    background: #f6faff
}

.skin-N38 .contents-inner {
    width: 100%
}

.skin-N38 .title-area {
    margin-bottom: 4rem;
    text-align: center
}

.skin-N38 .inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8rem
}

.skin-N38 .thumb {
    height: 62.28rem
}

.skin-N38 .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.skin-N38 .form-group {
    height: 100%
}

.skin-N38 .form-group form>div+div {
    margin-top: 1.6rem
}

.skin-N38 .form-group .form-tit {
    display: flex;
    gap: 0.4rem;
    padding-bottom: 0.8rem
}

.skin-N38 .form-group .form-tit span {
    color: #6698dd
}

.skin-N38 .selectset .selectset-toggle {
    background: #fff
}

.skin-N38 .inputset.inputset-date input[type="date"] {
    position: relative;
    background-image: url(../icons/ico_date.svg)
}

.skin-N38 .form-group .contents-agree {
    display: flex;
    align-items: center;
    margin-top: 1.2rem
}

.skin-N38 .sample-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
}

.skin-N38 .sample-modal.block-active {
    opacity: 1;
    visibility: visible
}

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

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

.skin-N38 .info-title h3 {
    font-size: var(--fs-h4)
}

.skin-N38 .modal-close {
    cursor: pointer
}

.skin-N38 .info-area {
    overflow-y: auto
}

.skin-N38 .info-group+.info-group {
    margin-top: 2.4rem
}

.skin-N38 .info-group strong {
    display: block;
    padding-bottom: 1.2rem;
    font-size: var(--fs-h5)
}

.skin-N38 .info-desc {
    overflow-y: auto;
    padding: 1.6rem;
    max-height: 20.7rem;
    background: #f8f8fa;
    border-radius: 1.6rem
}

.skin-N38 .info-desc::-webkit-scrollbar {
    width: 6px
}

.skin-N38 .info-desc::-webkit-scrollbar-track {
    background-color: #ddd
}

.skin-N38 .info-desc::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 3px
}

.skin-N38 .info-desc p {
    font-size: var(--fs-p1)
}

.skin-N38 .info-desc p.fw-medium {
    font-weight: var(--fw-medium)
}

.skin-N38 .info-desc .mtb {
    margin: 2.4rem 0
}

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

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

.skin-N38 .info-list p {
    padding-left: 1.2rem
}

.skin-N38 .modal-confirm .modal-area {
    position: relative;
    padding: 3.2rem;
    max-width: 36rem;
    background: #111111;
    border-radius: 0.8rem
}

.skin-N38 .modal-confirm .modal-icon {
    position: absolute;
    top: 1.4rem;
    right: 1.6rem;
    width: 2.8rem;
    height: 2.8rem;
    border: 0;
    background: transparent
}

.skin-N38 .modal-confirm .modal-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.skin-N38 .modal-confirm .modal-figure {
    margin: 0 auto;
    width: 5.6rem;
    height: 5.6rem
}

.skin-N38 .modal-confirm .modal-figure img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.skin-N38 .modal-confirm .modal-body {
    font-size: var(--fs-p1);
    text-align: center;
    color: #fff
}

.skin-N38 .modal-confirm .modal-textarea {
    margin: 1.6rem 0
}

.skin-N38 .modal-confirm .modal-footer {
    text-align: center
}

.skin-N38 .modal-confirm .modal-footer .btnset {
    min-width: 9.4rem;
    height: 4rem;
    border-radius: 0.4rem
}

.skin-N38 .modal-confirm .modal-footer .btnset.btnset-line-light {
    border-color: #fff;
    color: #fff
}

.skin-N38 .modalset .modalset-close::before {
    color: #111
}

@media (min-width: 1921px) {
    .skin-N38 .thumb img {
        width: calc(100% - 22rem);
        max-width: 100%
    }

    .skin-N38 form {
        max-width: calc(100% - 22rem)
    }
}

@media (max-width: 992px) {
    .skin-N38 {
        padding-top: 8rem;
        padding-bottom: 8rem
    }

    .skin-N38 .title-area {
        margin-bottom: 2.4rem
    }

    .skin-N38 .inner {
        grid-template-columns: 1fr;
        gap: 4rem
    }

    .skin-N38 .thumb {
        height: 40rem
    }

    .skin-N38 .thumb img,
    .skin-N38 form {
        max-width: 100%
    }

    .skin-N38 .form-group form>div+div {
        margin-top: 1.2rem
    }

    .skin-N38 .form-group .contents-agree {
        margin-top: 1rem
    }

    .skin-N38 .modal-confirm .modal-figure {
        width: 4.8rem;
        height: 4.8rem
    }

    .skin-N38 .modal-confirm .modal-textarea {
        margin: 0.8rem 0
    }
}

@media (max-width: 576px) {
    .skin-N38 .thumb {
        height: 29rem
    }
}
/* office-N9 */
.office-N9 {
    overflow: hidden;
    position: relative;
    padding-top: 20rem;
    padding-bottom: 10rem
}

.office-N9 .contents-inner {
    width: 100%
}

.office-N9 .title-area {
    margin-bottom: 6rem;
    width: 100%
}

.office-N9 .title-area h2 {
    margin-bottom: 0.8rem
}

.office-N9 .info-area .wrap {
    display: flex;
    align-items: stretch;
    gap: 2rem
}

.office-N9 .info-area .wrap+.wrap {
    margin-top: 2rem
}

.office-N9 .col-left {
    flex: 1 1 80rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 4rem 4rem 3.2rem;
    min-height: 32rem;
    border-radius: 1.2rem;
    background: #6400FFFF
}

.office-N9 .col-left .text-wrap {
    display: flex;
    align-items: center;
    gap: 0.4rem
}

.office-N9 .col-left .text-wrap h3 {
    font-weight: bold;
    color: var(--white)
}

.office-N9 .col-left .text-wrap .price {
    display: flex;
    align-items: center;
    color: #ff0000
}

.office-N9 .col-left .text-wrap .price::before {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 1.6rem
}

.office-N9 .col-left .title p {
    margin-top: 0.8rem;
    color: var(--text-color4)
}

.office-N9 .desc .text-wrap {
    justify-content: flex-end;
    align-items: flex-end
}

.office-N9 .col-left .desc strong,
.office-N9 .col-left .desc span {
    color: var(--white)
}

.office-N9 .col-left .desc span {
    transform: translateY(-2rem)
}

.office-N9 .col-right {
    flex: 1 1 62rem;
    display: grid;
    grid-template-rows: repeat(2, 1fr);
    gap: 2rem
}

.office-N9 .link-item {
    display: flex;
    justify-content: space-between;
    padding: 4rem;
    border-radius: 1.2rem;
    border: 1px solid var(--border-color);
    transition: border-color .3s
}

.office-N9 .link-item:hover {
    border-color: var(--primary)
}

.office-N9 .link-item strong {
    font-weight: var(--fw-bold)
}

.office-N9 .link-item i {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 50%;
    border: 1px solid var(--black)
}

.office-N9 .item {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 4rem 4rem 3.2rem;
    min-height: 29.6rem;
    border-radius: 1.2rem;
    background: #f6f8fc
}

.office-N9 .item .title h3 {
    font-weight: var(--fw-bold)
}

.office-N9 .item .title p {
    margin-top: 0.4rem;
    color: var(--text-color3)
}

.office-N9 .item .desc strong {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.4rem
}

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

    .office-N9 .title-area {
        margin-bottom: 4rem
    }

    .office-N9 .title-area h2 {
        margin-bottom: 0.4rem
    }

    .office-N9 .info-area .wrap {
        flex-direction: column;
        gap: 1.6rem
    }

    .office-N9 .info-area .wrap+.wrap {
        margin-top: 1.6rem
    }

    .office-N9 [class*="col-"] {
        flex: none;
        width: 100%
    }

    .office-N9 .col-left {
        min-height: 26rem;
        padding: 2rem 2rem 1.6rem;
        border-radius: 1rem
    }

    .office-N9 .col-left .text-wrap {
        gap: 0.2rem
    }

    .office-N9 .col-left .title p {
        margin-top: 0.2rem
    }

    .office-N9 .col-left .desc span {
        transform: translateY(-1rem)
    }

    .office-N9 .col-right {
        display: block
    }

    .office-N9 .link-item {
        align-items: center;
        gap: 1rem;
        padding: 1.9rem 2rem;
        border-radius: 1rem
    }

    .office-N9 .link-item+.link-item {
        margin-top: 1.6rem
    }

    .office-N9 .link-item i {
        width: 3.6rem;
        height: 3.6rem;
        font-size: 1.2rem
    }

    .office-N9 .item {
        flex: none;
        padding: 1.6rem 2rem;
        width: 100%;
        min-height: 24rem
    }

    .office-N9 .item .title p {
        margin-top: 0.2rem
    }

    .office-N9 .item .desc strong {
        gap: 0.2rem
    }
}
/* sub_office-N10 */
.sub_office-N10 {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 16rem
}

.sub_office-N10 .contents-container.fullscreen {
    height: auto;
    align-items: flex-start
}

.sub_office-N10 .contents-inner {
    display: flex;
    gap: 8rem;
    position: relative;
    width: 100%
}

.sub_office-N10 .link-wrap {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    width: 0.5rem
}

.sub_office-N10 .line {
    position: relative;
    width: 0.1rem;
    height: 100%;
    background: #ddd
}

.sub_office-N10 .line .bar {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background: var(--primary)
}

.sub_office-N10 .line .bar::after {
    content: "";
    position: absolute;
    bottom: -0.2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--primary)
}

.sub_office-N10 .info-area {
    flex: 1 1 61rem
}

.sub_office-N10 .info-wrap {
    position: sticky;
    top: 8rem
}

.sub_office-N10 .info {
    position: absolute;
    top: 0;
    left: 0;
    padding-right: 0.1rem;
    width: 100%;
    min-height: 100%;
    background: var(--white);
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
    transition: clip-path 0.8s ease;
    pointer-events: none
}

.sub_office-N10 .info.active {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0% 100%);
    pointer-events: auto
}

.sub_office-N10 .desc {
    position: relative
}

.sub_office-N10 .desc h3 {
    margin-bottom: 0.4rem;
    color: var(--primary)
}

.sub_office-N10 .desc span {
    display: block;
    margin: 2rem 0 0.4rem;
    font-weight: var(--fw-bold)
}

.sub_office-N10 .desc p {
    color: var(--text-color3)
}

.sub_office-N10 .thumb {
    position: relative;
    margin-top: 3.6rem;
    aspect-ratio: 610 / 420;
    max-height: 42rem
}

.sub_office-N10 .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.sub_office-N10 .timeline-area {
    flex: 1 1 66.5rem;
    padding: 8rem 0 3.2rem
}

.sub_office-N10 .timeline-area .item+.item {
    margin-top: 10rem
}

.sub_office-N10 .timeline-area .item strong {
    font-weight: var(--fw-bold)
}

.sub_office-N10 .timeline-area .list {
    margin-top: 1rem
}

.sub_office-N10 .timeline-area .list li {
    display: flex;
    gap: 0.8rem;
    color: var(--text-color3)
}

.sub_office-N10 .timeline-area .list li+li {
    margin-top: 0.4rem
}

.sub_office-N10 .timeline-area .list li::before {
    content: "";
    flex-shrink: 0;
    transform: translateY(1.25rem);
    width: 0.6rem;
    height: 0.1rem;
    background: var(--text-color3)
}

.sub_office-N10 .timeline-area .info {
    display: none;
    padding: 0;
    min-height: auto
}

@media (max-width: 992px) {
    .sub_office-N10 {
        padding-top: 4rem;
        padding-bottom: 8rem
    }

    .sub_office-N10 .contents-inner {
        gap: 1.6rem
    }

    .sub_office-N10 .info-area {
        display: none
    }

    .sub_office-N10 .timeline-area {
        flex: 1;
        padding: 0
    }

    .sub_office-N10 .timeline-area .info {
        display: block
    }

    .sub_office-N10 .info {
        position: static;
        height: auto;
        clip-path: unset;
        pointer-events: auto
    }

    .sub_office-N10 .desc h3 {
        margin-bottom: 0.2rem
    }

    .sub_office-N10 .desc span {
        margin: 1.2rem 0 0.2rem
    }

    .sub_office-N10 .thumb {
        margin-top: 2.4rem;
        max-height: 100%;
        aspect-ratio: 307/240
    }

    .sub_office-N10 .timeline-area .item.info+.item {
        margin-top: 1.6rem
    }

    .sub_office-N10 .timeline-area .item+.item {
        margin-top: 4rem
    }

    .sub_office-N10 .timeline-area .item+.item.info {
        margin-top: 6rem
    }

    .sub_office-N10 .timeline-area .list {
        margin-top: 0.8rem
    }

    .sub_office-N10 .timeline-area .list li {
        gap: 0.6rem
    }

    .sub_office-N10 .timeline-area .list li+li {
        margin-top: 0.2rem
    }

    .sub_office-N10 .timeline-area .list li::before {
        transform: translateY(1.15rem);
        width: 0.4rem
    }
}
/* furniture-N23 */
.furniture-N23 {
    position: relative;
    padding-top: 14rem;
    padding-bottom: 14rem;
    overflow: hidden
}

.furniture-N23 .contents-inner {
    width: 100%
}

.furniture-N23 .title-area {
    margin-bottom: 6rem;
    text-align: center
}

.furniture-N23 .title-area h2 {
    color: var(--text-color3);
    font-weight: var(--fw-medium)
}

.furniture-N23 .title-area p {
    margin-top: 1.2rem
}

.furniture-N23 .detail-area {
    height: 46rem;
    display: flex;
    justify-content: center;
    gap: 2rem
}

.furniture-N23 .detail-item {
    flex: 1 0;
    display: flex;
    position: relative;
    border-radius: 0.8rem;
    transition: flex 0.3s, max-height 0.3s;
    will-change: flex, max-height;
    overflow: hidden
}

.furniture-N23 .detail-item::before {
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7), 30%, rgba(128, 128, 128, 0))
}

.furniture-N23 .detail-item.active {
    flex: 3.78
}

.furniture-N23 .detail-item img {
    width: 100%;
    object-fit: cover;
    object-position: center
}

.furniture-N23 .item-desc {
    padding: 2.4rem;
    position: absolute;
    left: 0;
    bottom: 0
}

.furniture-N23 .item-desc strong {
    font-weight: var(--fw-bold);
    display: block
}

.furniture-N23 .item-desc strong,
.furniture-N23 .item-desc p {
    height: 0;
    will-change: height, opacity;
    overflow: hidden;
    opacity: 0
}

.furniture-N23 .item-desc span,
.furniture-N23 .item-desc strong,
.furniture-N23 .item-desc p {
    color: #fff
}

.furniture-N23 .detail-item.active .item-desc strong {
    margin: 1.2rem 0 1rem
}

.furniture-N23 .detail-item.active .item-desc strong,
.furniture-N23 .detail-item.active .item-desc p {
    height: auto;
    transition: opacity 0.3s 0.2s;
    opacity: 1
}

@media (max-width: 992px) {
    .furniture-N23 {
        padding-top: 7rem;
        padding-bottom: 7rem
    }

    .furniture-N23 .contents-container {
        display: flex;
        flex-direction: column;
        align-items: center
    }

    .furniture-N23 .title-area {
        margin-bottom: 3rem
    }

    .furniture-N23 .title-area p {
        margin-top: .8rem
    }

    .furniture-N23 .detail-area {
        flex-direction: column;
        gap: 1.4rem;
        height: auto
    }

    .furniture-N23 .detail-item,
    .furniture-N23 .detail-item.active {
        max-width: 100%
    }

    .furniture-N23 .detail-item {
        height: 100vh;
        max-height: 20rem
    }

    .furniture-N23 .detail-item.active {
        max-height: 40rem
    }

    .furniture-N23 .item-desc {
        padding: 1.5rem
    }

    .furniture-N23 .item-desc span {
        font-weight: var(--fw-bold)
    }

    .furniture-N23 .detail-item.active span {
        display: none
    }

    .furniture-N23 .detail-item.active .item-desc strong {
        margin: 0 0 0.8rem
    }
}

@media (max-width: 576px) {
    .furniture-N23 .detail-item {
        max-height: 10rem
    }

    .furniture-N23 .detail-item.active {
        max-height: 20rem
    }
}
/* skin-N29 */
.skin-N29 {
    overflow: hidden;
    position: relative;
    padding-top: 8rem;
    padding-bottom: 8rem;
    background: #f6faff
}

.skin-N29 .contents-inner {
    position: relative;
    width: 100%
}

.skin-N29 .title-area {
    margin-bottom: 4rem;
    text-align: center
}

.skin-N29 .slide-area {
    width: calc(100% + 64rem)
}

.skin-N29 .swiper-slide {
    max-width: 92rem;
    height: 32.5rem;
    background: #fff
}

.skin-N29 .swiper-slide a {
    display: flex;
    justify-content: center;
    padding: 3.2rem;
    width: 100%;
    height: 100%
}

.skin-N29 .cardset.cardset-hor .cardset-figure {
    overflow: hidden;
    width: 42.8rem;
    height: 100%
}

.skin-N29 .cardset.cardset-hor .cardset-body {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 46rem;
    padding: 0 3.2rem
}

.skin-N29 .cardset .cardset-tit {
    overflow: hidden;
    display: block;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-weight: var(--fw-medium)
}

.skin-N29 .cardset .cardset-desc {
    margin-bottom: 0;
    -webkit-line-clamp: 6;
    color: #505050
}

.skin-N29 .user-box {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-top: 2.4rem
}

.skin-N29 .user-box .thumb {
    overflow: hidden;
    width: 4rem;
    height: 4rem;
    border-radius: 50%
}

.skin-N29 .user-box img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.skin-N29 .user-box .desc {
    display: flex;
    flex-direction: column
}

.skin-N29 .user-box .desc em {
    font-weight: var(--fw-bold);
    font-style: normal;
    color: #191919
}

.skin-N29 .pagination {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    margin-top: 2.4rem;
    width: 100%
}

.skin-N29 .paging {
    position: relative;
    width: 100%;
    height: 0.6rem;
    background: #e5e5e5;
    border-radius: 1rem
}

.skin-N29 .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #6698dd;
    border-radius: 1rem
}

.skin-N29 .pagination .wrap {
    display: flex;
    align-items: center;
    gap: 0.8rem
}

.skin-N29 .pagination [class*="btn"] {
    width: 4rem;
    height: 4rem
}

.skin-N29 .pagination .btn-next {
    transform: rotate(180deg)
}

.skin-N29 .pagination [class*="btn"] svg {
    width: 100%;
    height: 100%
}

.skin-N29 .pagination [class*="btn"] g>g,
.skin-N29 .pagination [class*="btn"] path {
    transition: fill 0.3s, stroke 0.3s
}

.skin-N29 .pagination [class*="btn"]:hover g {
    fill: #6698dd;
    stroke: #6698dd
}

.skin-N29 .pagination [class*="btn"]:hover path {
    stroke: #fff
}

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

    .skin-N29 .title-area {
        margin-bottom: 2.4rem
    }

    .skin-N29 .slide-area {
        width: 100%
    }

    .skin-N29 .swiper-slide {
        max-width: 34rem;
        height: 50rem
    }

    .skin-N29 .swiper-slide a {
        padding: 2.8rem
    }

    .skin-N29 .cardset.cardset-hor {
        display: flex;
        flex-direction: column;
        width: 100%
    }

    .skin-N29 .cardset.cardset-hor .cardset-figure {
        flex-shrink: 0;
        width: 100%;
        height: 21.2rem
    }

    .skin-N29 .cardset.cardset-hor .cardset-body {
        flex: 1;
        padding: 0;
        margin-top: 2.8rem;
        height: 100%
    }

    .skin-N29 .cardset .cardset-desc {
        margin-top: 0.8rem;
        -webkit-line-clamp: 5
    }

    .skin-N29 .user-box {
        margin-top: 2rem
    }

    .skin-N29 .user-box .thumb {
        width: 3.5rem;
        height: 3.5rem
    }

    .skin-N29 .pagination {
        margin-top: 2rem
    }

    .skin-N29 .paging {
        height: 0.4rem
    }

    .skin-N29 .pagination .wrap {
        gap: 0.6rem
    }

    .skin-N29 .pagination [class*="btn"] {
        width: 3.2rem;
        height: 3.2rem
    }
}
/* hooms-N34 */
.hooms-N34 {
    overflow: hidden;
    position: relative;
    padding-top: 10rem;
    padding-bottom: 20rem
}

.hooms-N34 .contents-inner {
    width: 100%
}

.hooms-N34 .title-area {
    text-align: center
}

.hooms-N34 .slide-area {
    margin-top: 4.2rem;
    width: 100vw
}

.hooms-N34 .swiper {
    width: 100%
}

.hooms-N34 .swiper-slide {
    max-width: 73rem;
    height: 47rem
}

.hooms-N34 .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%
}

.hooms-N34 .swiper-slide a img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hooms-N34 .control {
    display: flex;
    align-items: center;
    gap: 4rem;
    margin-top: 6rem
}

.hooms-N34 .swiper-pagination {
    position: static;
    width: 100%;
    background-color: #e9e9e9;
    border-radius: 1rem
}

.hooms-N34 .swiper-pagination-progressbar-fill {
    background-color: #111;
    border-radius: 1rem
}

.hooms-N34 .btn-wrap {
    display: flex;
    align-items: center;
    gap: 0.8rem
}

.hooms-N34 .btn-wrap [class*="btn-"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.8rem;
    height: 2.8rem;
    background: transparent
}

.hooms-N34 .btn-wrap [class*="btn-"] img {
    width: 100%;
    height: 100%
}

@media (max-width: 1200px) {
    .hooms-N34 .slide-area {
        width: calc(100% + 4rem)
    }
}

@media (max-width: 992px) {
    .hooms-N34 {
        padding-top: 6rem;
        padding-bottom: 12rem
    }

    .hooms-N34 .slide-area {
        margin-top: 2.5rem;
        width: calc(100% + 1.6rem)
    }

    .hooms-N34 .swiper-slide {
        max-width: 31.2rem;
        height: 35rem
    }

    .hooms-N34 .control {
        gap: 2rem;
        margin-top: 2.4rem
    }

    .hooms-N34 .btn-wrap {
        gap: 0.6rem
    }

    .hooms-N34 .btn-wrap [class*="btn-"] {
        width: 2rem;
        height: 2rem
    }
}
/* furniture-N49 */
.furniture-N49 {
    position: relative;
    overflow: hidden;
    padding-top: 18rem;
    padding-bottom: 18rem;
    background: url(../images/crop_mb4njil6.png) no-repeat center / cover !important
}

.furniture-N49 .contents-inner {
    width: 100%
}

.furniture-N49 .title-area {
    margin-bottom: 6rem;
    text-align: center
}

.furniture-N49 .title-area [class*="h"] {
    color: #fff
}

.furniture-N49 .title-area p {
    margin-top: 1.2rem
}

.furniture-N49 .social-area {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 6rem 0;
    max-width: 81.8rem;
    background: #fff;
    border-radius: 0.8rem
}

.furniture-N49 .social-item {
    padding: 0 8rem;
    position: relative
}

.furniture-N49 .social-item:not(:last-child)::after {
    content: "";
    width: 0.1rem;
    height: 100%;
    background: var(--border-color);
    position: absolute;
    top: 0;
    right: 0
}

.furniture-N49 .social-item a {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem
}

.furniture-N49 .social-item .thumb {
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.furniture-N49 .social-item .thumb img {
    width: 100%;
    height: 100%
}

.furniture-N49 .social-item .desc {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.8rem
}

.furniture-N49 .social-item em {
    font-style: normal;
    font-weight: var(--fw-bold)
}

.furniture-N49 .social-item span {
    color: #767676
}

.furniture-N49 .block_overlay {
    position: absolute;
    content: '';
    z-index: 0;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.5;
    background: var(--black)
}

@media (max-width: 992px) {
    .furniture-N49 {
        padding-top: 8rem;
        padding-bottom: 8rem;
        background: url(../images/crop_mb4nlhpz.png) no-repeat center / cover !important
    }

    .furniture-N49 .title-area {
        margin-bottom: 3rem
    }

    .furniture-N49 .title-area p {
        margin-top: .8rem
    }

    .furniture-N49 .social-area {
        max-width: 65.2rem;
        padding: 4rem 0
    }

    .furniture-N49 .social-item {
        padding: 0 6rem
    }

    .furniture-N49 .social-item .thumb {
        width: 6rem;
        height: 6rem
    }
}

@media (max-width: 768px) {
    .furniture-N49 .social-area {
        max-width: 30rem;
        flex-direction: column;
        padding: 0 4rem
    }

    .furniture-N49 .social-item {
        width: 100%;
        padding: 4rem 0
    }

    .furniture-N49 .social-item:not(:last-child)::after {
        width: 100%;
        height: 0.1rem;
        top: auto;
        bottom: 0
    }

    .furniture-N49 .social-item .thumb {
        width: 4.4rem;
        height: 4.4rem
    }
}
/* book-N9 */
.book-N9 {
    overflow: hidden;
    position: relative;
    padding-top: 12rem;
    padding-bottom: 12rem;
    background: var(--bg-color)
}

.book-N9 .contents-inner {
    width: 100%
}

.book-N9 .title-area {
    margin-bottom: 6rem;
    text-align: center
}

.book-N9 .accordset.accent-header .accordset-item.active .accordset-button {
    background: #fff7f0
}

.book-N9 .accordset .accordset-q {
    color: var(--primary)
}

.book-N9 .accordset .accordset-q,
.book-N9 .accordset .accordset-a {
    line-height: inherit
}

.book-N9 .accordset-header p {
    display: flex;
    align-items: center;
    align-self: stretch
}

.book-N9 .accordset .accordset-body,
.book-N9 .accordset.accordset-plus .accordset-item.active .accordset-body {
    background: #f8f8fa
}

.book-N9 .accordset .accordset-content {
    padding: 2.4rem
}

@media (max-width: 992px) {
    .book-N9 {
        padding-top: 8rem;
        padding-bottom: 8rem
    }

    .book-N9 .title-area {
        margin-bottom: 1.8rem
    }

    .book-N9 .accordset .accordset-content {
        padding: 1.6rem
    }
}
/* loan-N7 */
.loan-N7 {
    overflow: hidden;
    position: relative;
    padding-top: 16rem;
    padding-bottom: 16rem
}

.loan-N7 .contents-inner {
    width: 100%
}

.loan-N7 .title-area {
    margin-bottom: 8rem;
    width: 100%;
    text-align: center
}

.loan-N7 .group-col {
    display: flex;
    align-items: center;
    gap: 4rem
}

.loan-N7 .col-left {
    display: flex;
    align-items: center;
    flex: 1 1 50.6rem
}

.loan-N7 .process-area {
    overflow-y: auto;
    padding-right: 2rem;
    max-height: 56.2rem
}

.loan-N7 .process-area::-webkit-scrollbar {
    width: 0.4rem
}

.loan-N7 .process-area::-webkit-scrollbar-button {
    display: none
}

.loan-N7 .process-area::-webkit-scrollbar-thumb {
    background-color: #767676;
    border-radius: 10rem
}

.loan-N7 .process-area::-webkit-scrollbar-track {
    background-color: #e9e9e9;
    border-radius: 1rem
}

.loan-N7 .item:not(:last-child) {
    padding-bottom: 2.4rem;
    border-bottom: 1px solid var(--border-color)
}

.loan-N7 .item+.item {
    margin-top: 2.4rem
}

.loan-N7 .item span {
    color: var(--primary);
    font-weight: var(--fw-bold)
}

.loan-N7 .item strong {
    display: block;
    margin: 0.6rem 0 1.8rem;
    font-weight: var(--fw-bold)
}

.loan-N7 .item p {
    color: var(--text-color3)
}

.loan-N7 .col-right {
    flex: 1 1 85.6rem;
    align-self: stretch;
    padding: 4rem;
    background: #EEF5FF;
    border-radius: 1.6rem
}

.loan-N7 .col-right h2 {
    text-align: center;
    margin-bottom: 3.2rem
}

.loan-N7 .form-group form {
    width: 100%;
    height: 100%
}

.loan-N7 .form-box+.form-box {
    margin-top: 2.4rem
}

.loan-N7 .form-group .inputset,
.loan-N7 .form-group .selectset {
    display: flex;
    align-items: center;
    gap: 0.8rem
}

.loan-N7 .form-group .form-tit {
    flex: 1 0 8.2rem;
    margin: 0;
    max-width: 8.2rem;
    text-wrap: nowrap;
    font-weight: var(--fw-medium)
}

.loan-N7 .form-group .form-tit span {
    color: #c90000
}

.loan-N7 .form-group .radio-wrap {
    display: flex;
    align-items: center;
    gap: 0.8rem
}

.loan-N7 .radioset.radioset-thumb .radioset-label {
    font-weight: var(--fw-medium)
}

.loan-N7 .selectset .selectset-arrow {
    position: absolute;
    right: 0
}

.loan-N7 .selectset .selectset-arrow::after {
    right: 2.6rem
}

.loan-N7 .form-group .contents-agree {
    display: flex;
    margin: 0;
    padding-left: 9rem
}

.loan-N7 .form-group .contents-agree .wrap {
    display: flex;
    align-items: center
}

.loan-N7 .checkset .checkset-label::before {
    width: 2.4rem;
    height: 2.4rem
}

.loan-N7 .checkset .checkset-label::after {
    font-size: 2.4rem
}

.loan-N7 .form-btn {
    margin: 4rem auto 0;
    text-align: center
}

.loan-N7 .form-btn .btnset.btnset-round {
    font-weight: var(--fw-medium)
}

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

.loan-N7 .info-title h3 {
    font-size: var(--fs-h4)
}

.loan-N7 .modal-close {
    cursor: pointer
}

.loan-N7 .info-area {
    overflow-y: auto
}

.loan-N7 .info-group+.info-group {
    margin-top: 2.4rem
}

.loan-N7 .info-group strong {
    display: block;
    padding-bottom: 1.2rem;
    font-size: var(--fs-h5)
}

.loan-N7 .info-desc {
    overflow-y: auto;
    padding: 1.6rem;
    max-height: 20.7rem;
    background: #f8f8fa;
    border-radius: 1.6rem
}

.loan-N7 .info-desc::-webkit-scrollbar {
    width: 6px
}

.loan-N7 .info-desc::-webkit-scrollbar-track {
    background-color: #ddd
}

.loan-N7 .info-desc::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 3px
}

.loan-N7 .info-desc p {
    font-size: var(--fs-p1)
}

.loan-N7 .info-desc p.fw-medium {
    font-weight: var(--fw-medium)
}

.loan-N7 .info-desc .mtb {
    margin: 2.4rem 0
}

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

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

.loan-N7 .info-list p {
    padding-left: 1.2rem
}

.loan-N7 .modal-confirm .modal-area {
    position: relative;
    padding: 3.2rem;
    max-width: 36rem;
    background: var(--text-color1);
    border-radius: 0.8rem
}

.loan-N7 .modal-confirm .modal-icon {
    position: absolute;
    top: 1.4rem;
    right: 1.6rem;
    width: 2.8rem;
    height: 2.8rem;
    border: 0;
    background: transparent
}

.loan-N7 .modal-confirm .modal-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.loan-N7 .modal-confirm .modal-figure {
    margin: 0 auto;
    width: 5.6rem;
    height: 5.6rem
}

.loan-N7 .modal-confirm .modal-figure img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

.loan-N7 .modal-confirm .modal-body {
    font-size: var(--fs-p1);
    text-align: center;
    color: var(--white)
}

.loan-N7 .modal-confirm .modal-textarea {
    margin: 1.6rem 0
}

.loan-N7 .modal-confirm .modal-footer {
    text-align: center
}

.loan-N7 .modal-confirm .modal-footer .btnset {
    min-width: 9.4rem;
    height: 4rem;
    border-radius: 0.4rem
}

.loan-N7 .modal-confirm .modal-footer .btnset.btnset-line-light {
    border-color: var(--white);
    color: var(--white)
}

.loan-N7 .modalset .modalset-close::before {
    color: var(--text-color1)
}

@media (max-width: 992px) {
    .loan-N7 {
        padding-top: 8rem;
        padding-bottom: 8rem
    }

    .loan-N7 .title-area {
        margin-bottom: 4rem
    }

    .loan-N7 .group-col {
        flex-direction: column;
        gap: 1.6rem
    }

    .loan-N7 [class*="col-"] {
        flex: none;
        width: 100%
    }

    .loan-N7 .process-area {
        padding-right: 0.4rem;
        width: 100%;
        max-height: 53rem
    }

    .loan-N7 .item:not(:last-child) {
        padding-bottom: 2rem
    }

    .loan-N7 .item+.item {
        margin-top: 2rem
    }

    .loan-N7 .item strong {
        margin: 0.4rem 0 1.4rem
    }

    .loan-N7 .col-right {
        padding: 2rem 2.6rem;
        min-height: 24.2rem
    }

    .loan-N7 .col-right h2 {
        margin-bottom: 2.4rem
    }

    .loan-N7 .form-box+.form-box {
        margin-top: 1.6rem
    }

    .loan-N7 .form-group .inputset,
    .loan-N7 .form-group .selectset {
        gap: 0.6rem
    }

    .loan-N7 .selectset .selectset-arrow::after {
        right: 1.6rem;
        font-size: 1.6rem
    }

    .loan-N7 .form-group .form-tit {
        max-width: 7.2rem
    }

    .loan-N7 .form-group .radio-wrap {
        gap: 0.6rem
    }

    .loan-N7 .form-group .contents-agree {
        padding-left: 0
    }

    .loan-N7 .checkset .checkset-label::before {
        width: 1.8rem;
        height: 1.8rem
    }

    .loan-N7 .checkset .checkset-label::after {
        font-size: 1.8rem
    }

    .loan-N7 .checkset .checkset-label {
        padding-left: 2.6rem
    }

    .loan-N7 .form-btn {
        margin-top: 2.6rem;
        max-width: 14.1rem
    }

    .loan-N7 .modal-confirm .modal-figure {
        width: 4.8rem;
        height: 4.8rem
    }

    .loan-N7 .modal-confirm .modal-textarea {
        margin: 0.8rem 0
    }
}

@media (max-width: 576px) {
    .loan-N7 .title-area h2 br {
        display: none
    }

    .loan-N7 .list-area {
        grid-template-columns: 1fr
    }
}
/* hospital2-N5 */
.hospital2-N5 {
    overflow: hidden;
    position: relative
}

.hospital2-N5 .contents-container {
    height: 70rem
}

.hospital2-N5 .slide-area {
    width: 100%;
    height: 100%
}

.hospital2-N5 .swiper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%
}

.hospital2-N5 .title-area {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 10rem;
    max-width: 95.3rem;
    word-break: keep-all;
    text-wrap: pretty
}

.hospital2-N5 .swiper-slide {
    display: flex;
    align-items: center;
    padding: 0 8rem
}

.hospital2-N5 .thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.hospital2-N5 .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hospital2-N5 .desc {
    position: relative;
    margin: 0 auto;
    width: 100%;
    word-break: keep-all;
    text-wrap: pretty
}

.hospital2-N5 .container-lg .desc {
    max-width: 144rem
}

.hospital2-N5 .container-md .desc {
    max-width: 128rem
}

.hospital2-N5 .container-sm .desc {
    max-width: 108rem
}

.hospital2-N5 .desc strong {
    margin-top: 2.5rem;
    color: #fff
}

.hospital2-N5 .desc p {
    color: rgba(255, 255, 255, 0.8)
}

.hospital2-N5 .swiper-control {
    display: flex;
    align-items: center;
    gap: 2rem;
    position: absolute;
    z-index: 1;
    transform: translateY(18rem);
    width: calc(100% - 16rem)
}

.hospital2-N5 .container-lg .swiper-control {
    max-width: 144rem
}

.hospital2-N5 .container-md .swiper-control {
    max-width: 128rem
}

.hospital2-N5 .container-sm .swiper-control {
    max-width: 108rem
}

.hospital2-N5 .swiper-control .paging {
    display: flex;
    align-items: center;
    gap: 1.2rem;
    height: 2rem
}

.hospital2-N5 .swiper-control .paging span {
    color: #fff
}

.hospital2-N5 .swiper-control .curr {
    font-weight: var(--fw-bold)
}

.hospital2-N5 .swiper-control [class*="btn-"] {
    width: 3rem;
    height: 3rem;
    background: none
}

.hospital2-N5 .swiper-control [class*="btn-"] svg {
    width: 100%;
    height: 100%
}

.hospital2-N5 .swiper-control [class*="btn-"] g {
    transition: 0.3s
}

.hospital2-N5 .swiper-control .btn-next {
    transform: rotate(180deg)
}

.hospital2-N5 .swiper-control [class*="btn-"]:hover g {
    background: rgba(255, 255, 255, 0.2)
}

.hospital2-N5 .swiper-control .paging button {
    display: none;
    align-items: center;
    background: none;
    width: 2rem;
    height: 2rem;
    color: var(--white)
}

.hospital2-N5 .swiper-control .paging button img {
    width: 100%;
    height: 100%
}

.hospital2-N5 .swiper-control .paging button.active {
    display: flex
}

@media (max-width: 1200px) {
    .hospital2-N5 .swiper-slide {
        padding: 0 4rem
    }

    .hospital2-N5 .swiper-control {
        left: 4rem
    }
}

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

    .hospital2-N5 .swiper-slide {
        align-items: flex-start;
        padding: 0 1.6rem
    }

    .hospital2-N5 .swiper-slide .desc {
        padding-top: 8rem
    }

    .hospital2-N5 .swiper-slide .desc strong {
        margin-top: 2rem
    }

    .hospital2-N5 .swiper-control {
        transform: none;
        bottom: 2.4rem;
        left: 0;
        width: 100%;
        justify-content: center
    }
}
/* sub_about-N3 */
.sub_about-N3 {
    overflow: hidden;
    position: relative;
    padding-top: 4.4rem;
    padding-bottom: 4rem;
    background: var(--black)
}

.sub_about-N3 .footer-container {
    display: flex;
    justify-content: space-between
}

.sub_about-N3 .footer-left {
    display: flex
}

.sub_about-N3 .footer-content {
    width: 100%;
    margin-left: 8rem
}

.sub_about-N3 .footer-logo {
    margin-bottom: 0;
    flex-shrink: 0
}

.sub_about-N3 .footer-logo img {
    height: 2.6rem;
    object-fit: contain
}

.sub_about-N3 .footer-menulist {
    display: flex;
    align-items: center;
    flex-wrap: wrap
}

.sub_about-N3 .footer-menulink a {
    padding-right: 1.2rem;
    color: var(--white);
    font-size: var(--fs-p2)
}

.sub_about-N3 .footer-menulink+.footer-menulink a {
    padding-left: 1.2rem
}

.sub_about-N3 .footer-menulink {
    position: relative
}

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

.sub_about-N3 .footer-txtgroup {
    margin-top: 1.2rem
}

.sub_about-N3 .footer-sns {
    display: flex;
    align-items: center
}

.sub_about-N3 .footer-snslist {
    display: flex;
    align-items: center
}

.sub_about-N3 .footer-snsitem+.footer-snsitem {
    margin-left: 0.8rem
}

.sub_about-N3 .footer-snslink {
    width: 3.6rem;
    height: 3.6rem;
    padding: 0.6rem
}

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

.sub_about-N3 .footer-bottom {
    margin-top: 1.2rem
}

.sub_about-N3 .footer-txt {
    display: flex
}

.sub_about-N3 address+.footer-txt {
    margin-top: 0.8rem
}

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

.sub_about-N3 .footer-txt p+p {
    margin-left: 0.8rem
}

.sub_about-N3 .footer-txt p span+span {
    margin-left: 0.8rem
}

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

.sub_about-N3 .footer-modal.block-active {
    opacity: 1;
    visibility: visible
}

.sub_about-N3 .modal-area {
    width: 100%;
    max-width: 92rem;
    background-color: var(--white);
    border-radius: 0.6rem
}

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

.sub_about-N3 .info-title h3 {
    font-size: var(--fs-h4)
}

.sub_about-N3 .modal-close {
    cursor: pointer
}

.sub_about-N3 .info-area {
    overflow-y: auto
}

.sub_about-N3 .modal-email .info-area {
    max-height: 17rem
}

.sub_about-N3 .modal-privacy .info-area {
    max-height: 70.3rem
}

.sub_about-N3 .info-group {
    padding: 2.4rem
}

.sub_about-N3 .info-group+.info-group {
    margin-top: 2.4rem
}

.sub_about-N3 .info-group strong {
    padding-bottom: 1.2rem;
    display: block;
    font-size: var(--fs-h5)
}

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

.sub_about-N3 .info-desc p {
    font-size: var(--fs-p1)
}

.sub_about-N3 .info-desc p.fw-medium {
    font-weight: var(--fw-medium)
}

.sub_about-N3 .info-desc .mtb {
    margin: 2.4rem 0
}

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

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

.sub_about-N3 .info-list p {
    padding-left: 1.2rem
}

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

    .sub_about-N3 .footer-container {
        flex-direction: column
    }

    .sub_about-N3 .footer-left {
        flex-direction: column
    }

    .sub_about-N3 .footer-content {
        flex-direction: column;
        margin: 2.4rem 0 1.2rem
    }

    .sub_about-N3 .footer-txt {
        flex-direction: column
    }

    .sub_about-N3 address+.footer-txt {
        margin-top: 0.8rem
    }

    .sub_about-N3 address+.footer-txt p {
        color: var(--white)
    }

    .sub_about-N3 .footer-txt p+p {
        margin-left: 0
    }

    .sub_about-N3 .info-group {
        padding: 0.8rem
    }
}