/* ==========================================
   1. 웹폰트 등록 (@font-face)
   ========================================== */

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-100-Thin.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-100-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-200-ExtraLight.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-200-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-300-Light.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-300-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-400-Regular.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-400-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-500-Medium.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-500-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-600-SemiBold.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-600-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-700-Bold.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-700-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-800-ExtraBold.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-800-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Paperlogy';
    src: url('../assets/fonts/woff/Paperlogy-900-Black.woff2') format('woff2'),
    url('../assets/fonts/woff/Paperlogy-900-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* 카페24 당당해 */
@font-face {
    font-family: 'Cafe24Dangdanghae';
    src: url('../assets/fonts/woff/Cafe24Dangdanghae-v2.0.woff2') format('woff2'),
    url('../assets/fonts/woff/Cafe24Dangdanghae-v2.0.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* ==========================================
   PPAcma
   ========================================== */
@font-face {
    font-family: 'PPAcma';
    src: url('../assets/fonts/woff/PPAcma-Bold.woff2') format('woff2'),
    url('../assets/fonts/woff/PPAcma-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ==========================================
   2. 레이아웃 및 디스플레이 (Cafe24 당당해)
   ========================================== */
@media (min-width: 1500px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl {
        max-width: 1440px;
    }
}

.cdisplay-1 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-1 { font-size: 5rem; } }

.cdisplay-2 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-2 { font-size: 4.5rem; } }

.cdisplay-3 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-3 { font-size: 4rem; } }

.cdisplay-4 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-4 { font-size: 3.5rem; } }

.cdisplay-5 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-5 { font-size: 3rem; } }

.cdisplay-6 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .cdisplay-6 { font-size: 2.5rem; } }

/* ==========================================
   3. 디스플레이 (세방고딕 Bold)
   ========================================== */
.sdisplay-1 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 700; /* 명시적으로 Bold 두께 적용 */
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-1 { font-size: 5rem; } }

.sdisplay-2 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-2 { font-size: 4.5rem; } }

.sdisplay-3 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-3 { font-size: 4rem; } }

/* [오류 수정] 굵기 상실로 깨지던 부분 보완 */
.sdisplay-4 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 700; /* font-weight 추가 */
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-4 { font-size: 3.5rem; } }

.sdisplay-5 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-5 { font-size: 3rem; } }

/* [오류 수정] 태그 간섭으로 깨지던 부분 보완 */
.sdisplay-6 {
    font-family: 'Paperlogy', sans-serif;
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 700; /* font-weight 추가 */
    line-height: 1.2;
}
@media (min-width: 1200px) { .sdisplay-6 { font-size: 2.5rem; } }

/* ==========================================
   Display (PPAcma)
   ========================================== */
.pdisplay-1 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.625rem + 4.5vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-1 { font-size: 5rem; } }

.pdisplay-2 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.575rem + 3.9vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-2 { font-size: 4.5rem; } }

.pdisplay-3 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.525rem + 3.3vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-3 { font-size: 4rem; } }

.pdisplay-4 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.475rem + 2.7vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-4 { font-size: 3.5rem; } }

.pdisplay-5 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.425rem + 2.1vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-5 { font-size: 3rem; } }

.pdisplay-6 {
    font-family: 'PPAcma', sans-serif;
    font-size: calc(1.375rem + 1.5vw);
    font-weight: 700;
    line-height: 1.2;
}
@media (min-width: 1200px) { .pdisplay-6 { font-size: 2.5rem; } }

/* ==========================================
   4. 본문 크기 클래스 (sfs: 세방 / cfs: 카페24)
   ========================================== */
.sfs-1, .sfs-2, .sfs-3, .sfs-4, .sfs-5, .sfs-6 {
    font-family: 'Paperlogy', sans-serif;
    font-weight: 400; /* 일반 Regular 두께 고정 */
}
.sfs-1 { font-size: calc(1.325rem + 1.0vw) !important; }
.sfs-2 { font-size: calc(1.3rem + .6vw) !important; }
.sfs-3 { font-size: calc(1.25625rem + .075vw) !important; }
.sfs-4 { font-size: 1.125rem !important; }
.sfs-5 { font-size: 1rem !important; }
.sfs-6 { font-size: .875rem !important; }

.cfs-1, .cfs-2, .cfs-3, .cfs-4, .cfs-5, .cfs-6 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    font-weight: 400;
}
.cfs-1 { font-size: calc(1.325rem + 1.0vw) !important; }
.cfs-2 { font-size: calc(1.3rem + .6vw) !important; }
.cfs-3 { font-size: calc(1.25625rem + .075vw) !important; }
.cfs-4 { font-size: 1.125rem !important; }
.cfs-5 { font-size: 1rem !important; }
.cfs-6 { font-size: .875rem !important; }

/* ==========================================
   본문 크기 클래스
   ========================================== */
.pfs-1,
.pfs-2,
.pfs-3,
.pfs-4,
.pfs-5,
.pfs-6 {
    font-family: 'PPAcma', sans-serif;
    font-weight: 700;
}

.pfs-1 { font-size: calc(1.325rem + 1.0vw) !important; }
.pfs-2 { font-size: calc(1.3rem + .6vw) !important; }
.pfs-3 { font-size: calc(1.25625rem + .075vw) !important; }
.pfs-4 { font-size: 1.125rem !important; }
.pfs-5 { font-size: 1rem !important; }
.pfs-6 { font-size: .875rem !important; }

/* ==========================================
   5. 제목용 클래스 (sh: 세방 / ch: 카페24)
   ========================================== */
.sh1, .sh2, .sh3, .sh4, .sh5, .sh6 {
    font-family: 'Paperlogy', sans-serif;
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1e2022;
}
.sh1 { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px) { .sh1 { font-size: 2.5rem; } }

.sh2 { font-size: calc(1.3rem + .6vw); }
@media (min-width: 1200px) { .sh2 { font-size: 1.75rem; } }

.sh3 { font-size: calc(1.25625rem + .075vw); }
@media (min-width: 1200px) { .sh3 { font-size: 1.3125rem; } }

.sh4 { font-size: 1.125rem; }
.sh5 { font-size: 1rem; }
.sh6 { font-size: .875rem; }


.ch1, .ch2, .ch3, .ch4, .ch5, .ch6 {
    font-family: 'Cafe24Dangdanghae', sans-serif;
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1e2022;
}
.ch1 { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px) { .ch1 { font-size: 2.5rem; } }

.ch2 { font-size: calc(1.3rem + .6vw); }
@media (min-width: 1200px) { .ch2 { font-size: 1.75rem; } }

.ch3 { font-size: calc(1.25625rem + .075vw); }
@media (min-width: 1200px) { .ch3 { font-size: 1.3125rem; } }

.ch4 { font-size: 1.125rem; }
.ch5 { font-size: 1rem; }
.ch6 { font-size: .875rem; }

/* ==========================================
   제목 클래스
   ========================================== */
.ph1,
.ph2,
.ph3,
.ph4,
.ph5,
.ph6 {
    font-family: 'PPAcma', sans-serif;
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 700;
    line-height: 1.2;
    color: #1e2022;
}

.ph1 { font-size: calc(1.375rem + 1.5vw); }
@media (min-width: 1200px) { .ph1 { font-size: 2.5rem; } }

.ph2 { font-size: calc(1.3rem + .6vw); }
@media (min-width: 1200px) { .ph2 { font-size: 1.75rem; } }

.ph3 { font-size: calc(1.25625rem + .075vw); }
@media (min-width: 1200px) { .ph3 { font-size: 1.3125rem; } }

.ph4 { font-size: 1.125rem; }

.ph5 { font-size: 1rem; }

.ph6 { font-size: .875rem; }

.bg-green {
    background-color: #b3cb3f!important;
}

.bg-green-light {
    background-color: #b3cb3f!important;
}

.bg-green .navbar-collapse {
    background-color: transparent;
}

.navbar-white:not(.navbar-untransitioned) .navbar-collapse.show {
    background-color: #b3cb3f!important;
}

.navbar-white:not(.navbar-scrolled) .navbar-collapse.show {
    background-color: #b3cb3f!important;
}

.navbar-white:not(.navbar-untransitioned) .navbar-collapse.show .hs-sub-menu:not(.animated) {
    background-color: transparent!important;
}

.navbar-white:not(.navbar-untransitioned) .navbar-collapse.show .hs-sub-menu:not(.animated) a {
    color: white;
}

.navbar-black:not(.navbar-untransitioned) .navbar-collapse.show {
    background-color: white!important;
}

.navbar-black:not(.navbar-untransitioned) .navbar-collapse.show .hs-sub-menu:not(.animated) {
    background-color: transparent!important;
}

.navbar-black:not(.navbar-untransitioned) .navbar-collapse.show .hs-sub-menu:not(.animated) a {
    color: white;
}

.navbar-black:not(.navbar-untransitioned) .navbar-collapse.show .hs-has-sub-menu a {
    color: #1e2022!important;
}

.navbar-white .dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
}

.navbar .dropdown-menu {
    border-top: .1875rem solid #005126;
}


.video-bg-content {
    filter: brightness(0.5) contrast(0.95) saturate(0.9) blur(2px);
}

.title-content {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0%, -50%);
    z-index: 2;
}

.title-breadcrumb-left {
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translate(-50%, -20%);
    z-index: 3;
    padding-left: 5rem;
    padding-right: 5rem;
}

.title-breadcrumb-left .breadcrumb-item {
    color: #1e2022;
}

.title-breadcrumb-left .breadcrumb-item+.breadcrumb-item::before {
    color: #1e2022;
    content: "|";
    padding-left: 1rem;
    padding-right: 1rem;
}

.title-breadcrumb-left .breadcrumb-item+.breadcrumb-item-white::before {
    color: #ffffff;
    content: "|";
    padding-left: 1rem;
    padding-right: 1rem;
}

.title-breadcrumb-left .breadcrumb-item a {
    color: #1e2022;
}

.title-breadcrumb-left .breadcrumb-item-white a {
    color: #ffffff;
}

.title-breadcrumb-left a.dropdown-item {
    color: #0b1328;
}

.title-breadcrumb-left .dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%231e2022' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
}

.title-breadcrumb-left .breadcrumb-item-white .dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
}

.title-breadcrumb-relative {

}

.title-breadcrumb-relative .breadcrumb-item {
    color: #1e2022;
}

.title-breadcrumb-relative .breadcrumb-item+.breadcrumb-item::before {
    color: #1e2022;
    content: "|";
    padding-left: 1rem;
    padding-right: 1rem;
}

.title-breadcrumb-relative .breadcrumb-item+.breadcrumb-item-white::before {
    color: #ffffff;
    content: "|";
    padding-left: 1rem;
    padding-right: 1rem;
}

.title-breadcrumb-relative .breadcrumb-item a {
    color: #1e2022;
}

.title-breadcrumb-relative .breadcrumb-item-white a {
    color: #ffffff;
}

.title-breadcrumb-relative a.dropdown-item {
    color: #0b1328;
}

.title-breadcrumb-relative .dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
}

.title-breadcrumb-relative .breadcrumb-item-white .dropdown-toggle::after {
    background-image: url("data:image/svg+xml,%3csvg width='24' height='24' viewBox='0 0 24 24' fill='%23ffffff' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.72,15.78a.75.75,0,0,1-.53.22h-.38a.77.77,0,0,1-.53-.22L6.15,10.64a.5.5,0,0,1,0-.71l.71-.71a.49.49,0,0,1,.7,0L12,13.67l4.44-4.45a.5.5,0,0,1,.71,0l.7.71a.5.5,0,0,1,0,.71Z'/%3e%3c/svg%3e");
}

.franchise-card-wrap {
    position: relative;
    padding-top: 73px; /* 헤더가 위에 걸치도록 여백 */
}

.franchise-card-wrap a:not(.btn) {
    color: #888888
}

.franchise-card-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background: #CFD2C1;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    padding: 22px 16px;
    border-radius: 16px;
    z-index: 2;
}

.franchise-card-header-normal {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background: #CFD2C1;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    padding: 22px 16px;
    border-radius: 16px;
    z-index: 2;
}

.franchise-card-header-static {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background: #B3CB3F;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
    padding: 22px 16px;
    border-radius: 999px;
    z-index: 2;
}

.franchise-card-wrap:hover .franchise-card-header {
    background: #b3cb3f;
}

.franchise-card-body {
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 16px;
    padding: 28px 28px 28px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    min-height: auto;
}

.franchise-card-body-about {
    background: #fff;
    border: 1px solid #e7e7e7;
    border-radius: 16px;
    padding: 28px 28px 28px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    min-height: auto;
}

.franchise-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.franchise-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 500;
    color: #888888;
    line-height: 1.5;
}

.franchise-list li:last-child {
    margin-bottom: 0;
}

.franchise-list-ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.franchise-list-ul li {
    position: relative;
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 500;
    color: #888888;
    line-height: 1.5;
}

.franchise-list-ul li:last-child {
    margin-bottom: 0;
}

.franchise-list-center {
    list-style: none;
    margin: 0;
    padding: 0;
}

.franchise-list-center li {
    position: relative;
    margin-bottom: 18px;
    font-size: 18px;
    font-weight: 500;
    color: #888888;
    line-height: 1.5;
}

.franchise-list-center li:last-child {
    margin-bottom: 0;
}

.franchise-card-wrap:hover .franchise-list li {
    color: #222;
}

.franchise-card-wrap:hover a:not(.btn) {
    color: #222;
}

.franchise-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    top: 1px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.franchise-list-center li::before {
    content: "✓";
    position: relative;
    margin-right: 20px;
    left: 0;
    top: 1px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}

.develop-card-wrap {
    position: relative;
}

.develop-card-body {
    background: #F9FAF0;
    border: 1px solid #E7E7E7;
    border-radius: 16px;
    padding: 28px 28px 28px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    min-height: auto;
}

.develop-card-body-flush {
    background: #F9FAF0;
    border: 1px solid #E7E7E7;
    border-radius: 16px;
    padding: 28px 28px 28px;
    box-shadow: none;
    min-height: auto;
}

.case-card-wrap {
    position: relative;
}

.case-card-body {
    background: #f9faf0;
    border: 1px solid #f9faf0;
    border-radius: 8px;
    padding: 5px 10px 5px 10px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    min-height: auto;
}

.case-card-body-flush {
    background: #f9faf0;
    border: 1px solid #f9faf0;
    border-radius: 8px;
    padding: 5px 10px 5px 10px;
    box-shadow: none;
    min-height: auto;
}

.text-truncate-4 {
    height: 5.6em; /* line-height * 줄 수 */
    line-height: 1.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4; /* 3줄까지만 표시 */
    -webkit-box-orient: vertical;
}

.text-truncate-5 {
    height: 7em; /* line-height * 줄 수 */
    line-height: 1.4em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 5; /* 3줄까지만 표시 */
    -webkit-box-orient: vertical;
}

.hero-img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

@media (min-width: 575.98px) {
    .hero-img-title-large {
        width: 100%;
    }

    .hero-img-title-small {
        height: 40rem;
        object-fit: cover;
    }
}

video {
    width: 100%;
    height: auto;
}

.text-green {
    color: #005126!important;
}

.text-light-green {
    color: #B3CB3F;
}

.text-semi-black {
    color: #555555;
}

.nav-segment .nav-link.active {
    color: #fff;
    background-color: #B3CB3F;
    box-shadow: 0 .1875rem .375rem 0 rgba(140,152,164,.25)
}

.card-step {
    position: relative;
    overflow: visible;
}

.card-step .normal,
.card-step .hover {
    transition: opacity 0.3s ease, transform 0.3s ease;
    transform-origin: center center;
}

.card-step .normal {
    opacity: 1;
    transform: scale(1);
}

.card-step .hover {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;

    opacity: 0;
    transform: translateY(-50%) scale(0.95);
    pointer-events: none;
}

.card-step:hover .normal {
    opacity: 0;
    transform: scale(0.97);
}

.card-step:hover .hover {
    opacity: 1;
    transform: translateY(-50%) scale(1);
    pointer-events: auto;
}

.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus {
    z-index:0;
}

a.link-green {
    text-decoration: none;
    color: #8c98a4;
}

a.link-green:hover {
    text-decoration: underline;
    color: #005126;
}

.bg-brown {
    --bs-bg-opacity: 1;
    background-color: #fbfaf0!important
}

.review-title {
    padding-bottom: 5px;
    border-bottom: 1px solid #1e2022;
}

.btn-ghost-secondary {
    color: #1e2022;
    border-color: #e7f7f7;
}

.btn-green {
    --bs-btn-color: #fff;
    --bs-btn-bg: #005126;
    --bs-btn-border-color: #005126;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #048942;
    --bs-btn-hover-border-color: #048942;
    --bs-btn-focus-shadow-rgb: 85,145,255;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #048942;
    --bs-btn-active-border-color: #048942;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #005126;
    --bs-btn-disabled-border-color: #005126
}

.btn-light-green {
    --bs-btn-border-color: #CFD2C1;
}

.btn-light-green:hover {
    --bs-btn-color: #fff;
    --bs-btn-bg: #b3cb3f;
    --bs-btn-border-color: #b3cb3f;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #b3cb3f;
    --bs-btn-hover-border-color: #b3cb3f;
    --bs-btn-focus-shadow-rgb: 85,145,255;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b3cb3f;
    --bs-btn-active-border-color: #b3cb3f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #b3cb3f;
    --bs-btn-disabled-border-color: #b3cb3f;
}

.btn-static-green {
    --bs-btn-color: #fff;
    --bs-btn-bg: #b3cb3f;
    --bs-btn-border-color: #b3cb3f;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #b3cb3f;
    --bs-btn-hover-border-color: #b3cb3f;
    --bs-btn-focus-shadow-rgb: 85,145,255;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #b3cb3f;
    --bs-btn-active-border-color: #b3cb3f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #b3cb3f;
    --bs-btn-disabled-border-color: #b3cb3f;
}

.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid {
    z-index:0;
}

.tom-select-custom .ts-wrapper.form-select .ts-control,.tom-select-custom .ts-wrapper.multi .ts-control.has-items.hs-select-single-multiple {
    padding: .3125rem 1rem .3125rem 1rem!important;
}

.tom-select-custom .ts-wrapper.form-select.single .ts-control,.tom-select-custom .ts-control.has-items.hs-select-single-multiple {
    padding: .625rem 1rem!important;
}

.tom-select-custom .ts-wrapper.form-select.multi .ts-control,.tom-select-custom .ts-control.has-items.hs-select-single-multiple {
    padding: .3125rem 1rem .2125rem 1rem!important;
}

.tom-select-custom .ts-wrapper.multi .ts-control>.ts-custom-placeholder {
    background-color: transparent
}

.ts-wrapper.is-valid.single,
.was-validated .valid.single,
.was-validated :valid + .ts-wrapper.single {
    background-image: none!important;
}

.ts-wrapper.is-invalid.single,
.was-validated .invalid.single,
.was-validated :invalid + .ts-wrapper.single {
    background-image: none!important;
}

.ts-wrapper.is-valid,
.was-validated .valid,
.was-validated :valid + .ts-wrapper {
    border-color: #00c9a7!important;
}

.navbar-brand-logo {
    max-width: 9.5rem;
}

header:not(.bg-green):not(.theme-dark) .ns-logo-image-dark {
    display: none;
}

header:not(.bg-green):not(.theme-dark) .ns-logo-image-light {
    display: block;
}

header.theme-dark:not(.bg-green) .ns-logo-image-dark {
    display: block;
}

header.theme-dark:not(.bg-green) .ns-logo-image-light {
    display: none;
}

header.bg-green .ns-logo-image-dark {
    display: block;
}

header.bg-green .ns-logo-image-light {
    display: none;
}

dt {
    font-weight: 500;
}

.navbar-light .navbar-nav .nav-link {
    color: #1e2022
}

@media (min-width: 768px) {
    .w-md-45 {
        width: 45% !important;
    }
}

.card-hover-up:hover {
    transform: translateY(-4px);
}

.navbar-expand-lg.navbar-center .navbar-nav {
    -ms-flex-pack: center;
    justify-content: center;
}

body {
    overflow-x:hidden;
}

.dropdown-toggle-noarrow::after {
    display: inline-block;
    width: 0;
    height: 0;
    background-image: none;
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 1rem 1rem;
    margin-left: auto;
    padding-left: 0;
    content: ""
}