@charset "utf-8";
@import "../css/board/board-layout.css";
@import "../css/board/board.css";
@import "../css/board/datepicker.css";
/*-------------------------------------------------
Author : insu
Create date : 2025-08-04
Version : v1.0
-------------------------------------------------*/
/* Reset and Base Styles */
/* @font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/NotoSansKR-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400
  src: url('../fonts/NotoSansKR-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/NotoSansKR-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/NotoSansKR-Bold.ttf') format('truetype');
} */


/*skip*/
/*#skip_nav {}*/
#skip_nav a {
    position: absolute;
    left: -3000px;
    z-index: 100;
}

#skip_nav a:hover,
#skip_nav a:focus {
    background: var(--krds-color-light-gray-0);
    color: var(--krds-light-color-text-static);
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    height: 3rem;
    line-height: 30px
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Pretendard GOV', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    font-size: var(--krds-pc-font-size-body-medium);
    line-height: 1.5;
    color: var(--krds-light-color-text-static);
    background-color: transparent;
    word-break: keep-all;
    word-spacing: -0.2rem;
}

/* 폰트 스타일 */
.largetext {
    font-size: var(--krds-pc-font-size-body-large);
}

.fontsize-small {
    font-size: var(--krds-pc-font-size-body-small);
}

.fontsize-normal {
    font-size: var(--krds-pc-font-size-body-medium);
}

.fontsize-normal .font-bold {
    font-weight: 600;
}

.primary {
    color: var(--krds-light-color-text-primary);
}

.primary-60 {
    color: var(--krds-color-light-primary-60);
}

.fcOrange {
    color: var(--krds-light-color-text-primary);
}

.fcGreen {
    color: var(--krds-color-light-success-50);
}

.fcblue {
    color: #004E97;
}

.logo img {
    height: 3.3rem;
}

.nav-menu {
    display: flex;
    gap: 4.8rem;
}

.fw-normal {
    font-weight: 500;
}

.fw-bold {
    font-weight: 700;
}


/* Breadcrumb */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2rem;
    font-size: 1.4rem;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 0.2rem;
    color: var(--krds-light-color-text-subtle);
    text-decoration: none;
}

.breadcrumb-item:hover:not(.current) {
    color: var(--krds-light-color-text-disabled);
}

.breadcrumb-item.current {
    color: var(--krds-light-color-text-basic);
    font-weight: 500;
}

.breadcrumb-item .fa-home:before {
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
    background: url(../img/icons/home.svg) no-repeat center;
    background-size: contain;
    content: "";
}

.breadcrumb-separator {
    width: 0.8rem;
    height: 1rem;
    background: url(../img/icons/arrow-right.svg) no-repeat center;
    background-size: 12px;
    filter: invert(28%) sepia(8%) saturate(656%) hue-rotate(172deg) brightness(92%) contrast(85%);
}

/* Content Layout */
.content-layout {
    display: flex;
    /* grid-template-columns: 280px 1fr; */
    gap: 4rem;
    margin-top: 4rem;
    justify-content: space-between;
}

/* Sidebar */
.sidebar {
    background: var(--krds-light-color-surface-white);
    border: 1px solid var(--krds-color-light-gray-20);
    border-radius: 12px;
    width: 28rem;
    flex-shrink: 0;
    height: 100%;
    padding-bottom: 10px;
}

.sidebar-header {
    background: var(--krds-light-color-element-primary) url(../img/logo/ccrs_symbol_white_alpha10.svg) no-repeat 140px 20px;
    background-size: 120px;
    color: var(--krds-light-color-text-basic-inverse);
    padding: 4rem 2rem;
    border-radius: 12px;
    text-align: center;
    width: calc(100% + 2px);
    transform: translate(-1px, -1px);
}

.sidebar-header h2 {
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.3;
}

.sidebar-nav {
    padding: 0 2rem;
    overflow: hidden;
}

.nav-section {
    border-bottom: 1px solid var(--krds-color-light-gray-10);
}

.nav-section:last-child {
    border-bottom: none;
}

.nav-section-title {
    width: 100%;
    background: none;
    border: none;
    padding: 1.6rem 0;
    text-align: left;
    font-size: 1.7rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: all 0.3s ease;
}

.nav-section.active .nav-section-title {
    color: var(--krds-light-color-text-primary);
    padding: 1.6rem 0;
}

.nav-section.active .nav-subsection {
    display: block;
    height: auto;
    transition: all 0.3s ease;
    padding-bottom: 1.6px;
    transform: translateY(-6px);
    padding-bottom: 6px;
}

.nav-arrow {
    transition: transform 0.3s ease;
}

.nav-section-title .nav-arrow {
    background: url(../img/icons/lnb-arrow-down.svg) center no-repeat;
    width: 2rem;
    height: 2rem;
}

.nav-section.active .nav-arrow {
    transform: rotate(360deg);
    background: url(../img/icons/lnb-arrow-top-on.svg) center no-repeat;
}

.nav-subsection {
    display: none;
    list-style: none;
    padding: 0;
    background: var(--krds-light-color-surface-white);
    height: 0;
    overflow: hidden;
    transition: all 0.3s ease;
}

.nav-subitem {
    display: block;
    padding: 0.6rem 0 0.6rem 0.7rem;
    color: var(--krds-light-color-text-basic);
    text-decoration: none;
    font-size: 1.5rem;
    position: relative;
}

.nav-subitem::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.3rem;
    height: 0.3rem;
    background: var(--krds-light-color-text-subtle);
    border-radius: 50%;
}

.nav-subitem:hover,
.nav-subitem.active {
    color: var(--krds-light-color-text-primary);
    font-weight: 700;
}

.nav-subitem.active::before {
    background: var(--krds-light-color-text-primary);
}

/*사이드메뉴 따라오게 만들기*/
body:has(.is-hide) aside {
    position: sticky;
    top: 2vh;
    transition: all 0.6s ease;
}

body aside {
    position: sticky;
    top: calc(2vh + 160px);
    transition: all 0.6s ease;
}

/* 사이드바 높이가 뷰포트보다 클 때만 스크롤 적용 */
@media (max-height: 900px) {
    body aside .sidebar-nav {
        max-height: calc(100vh - 360px);
        /* 헤더(160px) + sticky top(2vh) + 여백(~200px) */
        overflow-y: auto;
    }
}

@media (max-height: 700px) {
    body aside .sidebar-nav {
        max-height: calc(100vh - 320px);
        overflow-y: auto;
    }
}

/* Content Area */
.content-area {
    background: var(--krds-light-color-surface-white);
    width: 100%;
}

.content-area>div {
    margin-bottom: 2.4rem;
}

/* Page Header */
.page-header {
    margin-bottom: 2.4rem;
}

.title-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.6rem;
}

.page-header h1 {
    font-size: 3.6rem;
    font-weight: 700;
    color: var(--krds-light-color-text-static);
    margin-bottom: 0;
}

.page-description {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 2rem;
    margin-bottom: 0;
    background: linear-gradient(93deg, var(--krds-color-light-gray-10) 0%, #FFEBD0 100%);
    padding: 36px;
    border-radius: var(--krds-radius-xlarge2);
}

.page-description.bgBlue {
    background: #E8EFF5;
    background-size: cover;
    padding: 2rem 3.6rem;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.page-description.bgBlue p {
    display: block;
    font-size: 2rem;
    width: 100%;
    text-align: center;
    color: var(--krds-color-light-gray-80);
    font-weight: 700;
}

.page-description.bgYellow {
    background: url(../images/img/bgyellow_content_top.png) center no-repeat;
    background-size: cover;
    padding: 2.8rem 3rem;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
}

.page-description.bgYellow p {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    width: 100%;
    text-align: center;
    color: var(--krds-color-light-gray-70);
}

.page-description.bgBlue:has(.krds-btn) p {
    margin-bottom: 0;
}

.page-description.bgBlue p .fBlue {
    color: var(--krds-color-light-information-60);
}

.page-description img {
    width: 140px;
    margin: auto 0;
}

.page-description .info-icon {
    flex: none;
}

.page-description .btn-red {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--krds-light-color-status-danger);
    border-color: var(--krds-light-color-status-danger);
    border-radius: 24px;
    box-shadow: 5px 5px 15px 0px #0000002E;
    padding: 0 16px;
    color: var(--krds-color-light-gray-0);
    border-color: transparent;
}

.page-description .btn-blue {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--krds-color-light-secondary-50);
    border-color: var(--krds-light-color-button-secondary-fill);
    border-radius: 24px;
    box-shadow: 5px 5px 15px 0px #0000002E;
    padding: 0 16px;
    color: var(--krds-color-light-gray-0);
    font-weight: 700;
    border-color: transparent;
}

/* .page-description .btn-red:hover {
    background: var(--krds-color-light-point-70);
    border-color: var(--krds-light-color-border-point);
    color: var(--krds-color-light-gray-0);
} */
.page-description .icon_youtube {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    background: url(../img/icons/ico_youtube_red.svg) no-repeat center;
    background-size: contain;
}

.page-description .btn-red .icon_youtube {
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    background: url(../img/icons/ico_youtube_white.svg) no-repeat center;
    background-size: contain;
}

.page-description strong {
    font-weight: 700;
}

.page-description .g-desc-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 0 0;
    gap: 8px;
}

.page-description .g-desc-body p {
    font-size: var(--krds-pc-font-size-body-medium);
}

.page-actions {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0;
}

.view-count {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    font-size: 1.3rem;
    border: 1px solid var(--krds-light-color-border-gray-light);
    padding: 0.6rem 1.2rem;
    border-radius: var(--krds-radius-max);
    color: var(--krds-light-color-text-basic)
}

.view-count .fa-eye:before {
    width: 2rem;
    height: 2rem;
    display: inline-block;
    background: url(../img/icons/visibility.svg) no-repeat center;
    background-size: contain;
    content: "";
}

.action-btn {
    background: var(--krds-light-color-surface-gray-subtler);
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 4px;
    transition: background-color 0.3s ease;
    width: 4rem;
    height: 4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--krds-radius-max);
}

.action-btn.active,
.action-btn:hover {
    background-color: var(--krds-light-color-button-primary-fill);
}

.action-btn .fa-question-circle:before {
    width: 2rem;
    height: 2rem;
    display: inline-block;
    background: url(../img/icons/popover_help.svg) no-repeat center;
    background-size: contain;
    content: "";
}

.action-btn .fa-print:before {
    width: 2rem;
    height: 2rem;
    display: inline-block;
    background: url(../img/icons/print.svg) no-repeat center;
    background-size: contain;
    content: "";
}

.action-btn.active .fa-print:before,
.action-btn:hover .fa-print:before {
    background: url(../img/icons/print.svg) no-repeat center;
    background-size: contain;
    content: "";
}

.action-btn .fa-share-alt:before {
    width: 2rem;
    height: 2rem;
    display: inline-block;
    background: url(../img/icons/share.svg) no-repeat -1px center;
    background-size: contain;
    content: "";
}

.action-btn:hover .fa-share-alt:before {
    background: url(../img/icons/share.svg) no-repeat -1px center;
    background-size: contain;
    content: "";
}

.action-btn.active .fa-share-alt:before {
    background: url(../img/icons/share_on.svg) no-repeat -1px center;
    background-size: contain;
    content: "";
}

/* Tab Navigation */
.tab-navigation {
    display: flex;
    margin-bottom: 3rem;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.tab-item {
    flex: 1;
    padding: 1.6rem 2rem;
    background: var(--krds-light-color-surface-white);
    border: 1px solid var(--krds-light-color-border-gray);
    border-right: none;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
    transition: all 0.3s ease;
}

.tab-item:last-child {
    border-right: 1px solid #d0d0d0;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
}

.tab-item:first-child {
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
}

.tab-item.active {
    background: var(--krds-light-color-button-secondary-fill);
    color: var(--krds-light-color-text-bolder-inverse);
    border-color: var(--krds-light-color-button-secondary-fill);
}

.tab-item:hover:not(.active) {
    background: #f8f9fa;
}

.btn-area {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2.4rem;
    gap: 0.8rem;
}

.btn-area .left-box {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.8rem;
}

.btn-area .right-box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.8rem;
}

/* stepcard Sections */
.card-step-section {
    position: relative;
    height: 55.5rem;
}

.card-step {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 60%;
    height: 55.5rem;
    background: #FEF8D7;
    padding: 4rem;
    border-radius: 24px;
    z-index: 3;
    filter: grayscale(1);
}

.card-step .btn-area {
    justify-content: space-between;
    margin-top: 0;
}

.card-step.first-step .btn-area {
    justify-content: flex-end;
}

.card-step .cash-icon {
    position: absolute;
    top: 40px;
    right: 40px;
    background: url(../images/ic/icon_cashbag.png) no-repeat center;
    width: 8rem;
    height: 7.2rem;
    background-size: 80px 72px;
}

.card-step .house-icon {
    position: absolute;
    top: 40px;
    right: 40px;
    background: url(../images/ic/icon_house.png) no-repeat center;
    width: 8.5rem;
    height: 6.9rem;
    background-size: 85px 69px;
}

.card-step .card-info-icon {
    position: absolute;
    top: 40px;
    right: 40px;
    background: url(../images/ic/icon_house.png) no-repeat center;
    width: 8.5rem;
    height: 6.9rem;
    background-size: 85px 69px;
}

.card-step.second-step {
    background: #E9E9FF;
    left: 20%;
    z-index: 3;
}

.card-step.third-step {
    background: #EBFFDB;
    left: 40%;
    z-index: 1;
}

.card-step.active {
    filter: none;
    z-index: 10;
    transition: top 0.3s cubic-bezier(.4, 2, .6, 1), z-index 0s;
}

.card-step .form-grid,
.card-step .btn-area {
    display: none;
}

.card-step.active .form-grid {
    display: flex;
    gap: 0.6rem;
    min-height: 31.4rem;
    justify-content: flex-start;
    flex-direction: column;
}

.card-step.active .btn-area {
    display: flex;
}

.card-step .card-step-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 2.1rem;
    width: 100%;
}

.card-step .card-step-header .step-label {
    font-size: 1.5rem;
    color: var(--krds-color-light-gray-60);
}

.card-step .card-step-header .title {
    font-size: 3.2rem;
    color: var(--krds-color-light-gray-95);
    font-weight: 700;
}

.card-step .form-grid .form-group {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.card-step .form-grid .form-group .form-tit {
    width: auto;
}

.card-step .form-grid .form-group .input-wrapper .form-input {
    text-align: right;
    padding-right: 4rem;
}

.card-step .form-grid .form-group .input-wrapper .form-input.word1 {
    text-align: right;
    padding-right: 3rem;
}

.card-step .form-grid .form-group .input-wrapper,
.card-step .form-grid .form-group .form-select {
    width: 22rem;
}

.card-step .form-grid .form-group label.form-label {
    width: auto;
}


.cont-noti {
    width: 100%;
    border: 1px solid #F5D6D9;
    padding: 1.2rem 1.6rem;
    border-radius: 12px;
    background: #FBEFF0;
    text-align: center;
    color: var(--krds-color-light-gray-95)
}

/* Content Sections */
.content-sections {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Product Overview */
.product-overview {
    background: #f9f2e8;
    padding: 4rem;
    border-radius: 24px;
}

.overview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
}

.overview-item {
    text-align: center;
}

.overview-icon {
    width: 5.6rem;
    height: 5.6rem;
    margin: 0 auto 1.6rem;
    color: #333;
}

.overview-item h3 {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1.6rem;
    color: #222;
}

.overview-item ul {
    list-style: none;
    text-align: left;
}

.overview-item li {
    padding: 0.4rem 0;
    font-size: 1.5rem;
    color: #333;
    position: relative;
    padding-left: 1.2rem;
}

.overview-item li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.3rem;
    height: 0.3rem;
    background: var(--krds-color-light-gray-60);
    border-radius: 50%;
}

.overview-item p {
    font-size: 1.5rem;
    color: #333;
}

/* Timeline */
.timeline-section {
    background: var(--krds-light-color-surface-white);
    border: 1px solid #e1e1e1;
    border-radius: 24px;
    padding: 4rem;
}

.timeline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 2rem 0;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 0.2rem;
    background: #C4C9D4;
    border-style: dashed;
    border-width: 0 0 2px 0;
    border-color: #C4C9D4;
    z-index: 1;
}

.timeline-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    position: relative;
    z-index: 2;
}

.timeline-marker {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.timeline-marker.inactive {
    background: #D8D6D4;
}

.timeline-marker.active {
    background: var(--krds-color-light-gray-50);
}

.timeline-marker::after {
    content: '✓';
    color: var(--krds-color-light-gray-0);
    font-size: 1.4rem;
    font-weight: bold;
}

.timeline-marker.inactive::after {
    color: #A8A3A3;
}

.timeline-label {
    font-size: 1.4rem;
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
}

.timeline-item:has(.timeline-marker.active) .timeline-label {
    font-weight: 700;
    color: #222;
}

.timeline-item:has(.timeline-marker.inactive) .timeline-label {
    color: #888;
}

/* Info Sections */
.info-section {
    margin-bottom: 40px;
}

.info-section h2 {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 20px;
    color: #222;
}

.info-list {
    list-style: none;
}

.info-list li {
    padding: 0.8rem 0;
    font-size: 1.5rem;
    line-height: 1.6;
    position: relative;
    padding-left: 16px;
}

.info-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 14px;
    width: 0.3rem;
    height: 0.3rem;
    background: var(--krds-color-light-gray-60);
    border-radius: 50%;
}

.info-note {
    background: var(--krds-color-light-gray-5);
    border: 1px solid #e3f2fd;
    border-radius: 8px;
    padding: 1.6rem;
    margin-top: 1.6rem;
    display: flex;
    align-items: flex-start;
    gap: 1.2rem;
    font-size: 1.5rem;
    color: var(--krds-color-light-information-50);
}

/* Application Section */
.application-section h2 {
    font-size: 2.8rem;
    font-weight: 700;
    margin-bottom: 30px;
    color: #222;
}

.application-methods {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.method-card {
    background: #f6f3f0;
    padding: 3.2rem 2.4rem;
    border-radius: 24px;
    text-align: center;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.method-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    position: relative;
    z-index: 50;
}

.method-icon {
    width: 5.6rem;
    height: 5.6rem;
    margin: 0 auto 1.6rem;
    color: #333;
}

.method-card h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1.2rem;
    color: #222;
}

.method-card p {
    font-size: 1.5rem;
    color: var(--krds-color-light-gray-60);
}

.method-phone {
    font-size: 2rem !important;
    font-weight: 700 !important;
    color: var(--krds-color-light-gray-60) !important;
}

/* Form Section */
.form-section {
    background: #F4F5F6;
    border-radius: 8px;
    margin-bottom: 2.4rem;
    padding: 2.4rem;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(1, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 2.4rem;
}

.form-group label {
    display: block;
    font-size: 1.7rem;
    font-weight: 700;
}

.input-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.6rem;
}

.input-wrapper {
    position: relative;
}

.number-input {
    width: 100%;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 4px;
    padding: 0.8rem 1.2rem;
    text-align: right;
    font-size: 1.4rem;
}

.input-label {
    font-size: 1.4rem;
    color: #6b7280;
    margin-top: 4px;
}

.form-select {
    width: 100%;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 4px;
    padding: 0.8rem 1.2rem;
    font-size: 1.4rem;
    background: var(--krds-color-light-gray-0);
}

/* 카드 컴포넌트 */
.card {
    background-color: var(--krds-color-light-gray-0);
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.card-header {
    padding: 1.5rem;
}

.card-content {
    padding: 1.5rem;
}

/* 폼 스타일 */
.form-group {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.form-label {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1f2937;
    display: block;
}

.form-group label.form-label-small {
    font-size: 1.4rem;
    font-weight: 500;
    color: #1f2937;
    display: block;
    margin-bottom: 0.5rem;
}

.form-hint {
    font-size: 0.875rem;
    color: #6b7280;
    display: block;
}

.form-input {
    width: 100%;
    height: 4.8rem;
    padding-left: 1rem;
    padding-right: 3rem;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 0.375rem;
    outline: none;
}

.form-input:focus {
    box-shadow: 0 0 0 2px var(--krds-light-color-element-gray);
    border-color: var(--krds-light-color-element-gray);
}

.form-select {
    width: 100%;
    height: 4.8rem;
    padding-left: 1rem;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 0.375rem;
    outline: none;
    background-color: var(--krds-color-light-gray-0);
}

.form-select:focus {
    box-shadow: 0 0 0 2px var(--krds-light-color-element-gray);
    border-color: var(--krds-light-color-element-gray);
}

.input-wrapper {
    position: relative;
}

.input-suffix {
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7280;
    pointer-events: none;
}

/* 라디오 그룹 */
.radio-group {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.radio-option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 0.375rem;
    padding: 0.75rem 1rem;
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

.radio-option:hover {
    background-color: #f9fafb;
}

.radio-option:has(input:checked) {
    background-color: var(--krds-light-color-surface-gray-subtler);
    border-color: var(--krds-light-color-element-gray);
}

.radio-option:has(input:checked) .radio-label {
    color: var(--krds-light-color-text-disabled);
}

.radio-option input[type="radio"] {
    width: 1rem;
    height: 1rem;
    color: var(--krds-light-color-element-gray);
    border-color: var(--krds-light-color-border-gray);
}

.radio-option input[type="radio"]:focus {
    box-shadow: 0 0 0 2px var(--krds-light-color-element-gray);
}

.radio-label {
    color: #374151;
    user-select: none;
}

.radio-label {
    color: #374151;
    user-select: none;
}

/* 버튼 스타일 */
.btn {
    display: inline-flex;
    height: 4.8rem;
    align-items: center;
    justify-content: center;
    padding: 8px 20px;
    border-radius: 8px;
    font-size: 1.9rem;
    font-weight: 500;
    transition: background-color 0.15s ease-in-out;
    outline: none;
}

.btn.btn-primary {
    font-size: 1.9rem;
    font-weight: 400;
}

.info-item .btn.btn-primary,
.result-card .btn.btn-primary {
    font-size: 1.4rem;
}

.info-item .info-text-content {
    padding-right: 40px;
    border-right: 1px solid var(--krds-light-color-border-gray-light);
    margin-right: 24px;
    min-width: 180px;
    max-width: 180px;
    width: 180px;
}

.btn:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 0 0 4px rgba(0, 0, 0, 0.1);
}

.btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-primary {
    background-color: var(--krds-light-color-button-primary-fill);
    color: var(--krds-light-color-text-bolder-inverse);
}

.btn-primary:hover {
    background-color: var(--krds-light-color-button-primary-hover);
    color: var(--krds-color-light-gray-0);
}

.btn-primary:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--krds-light-color-button-primary-hover);
}

.btn-outline {
    border: 1px solid var(--krds-light-color-border-gray);
    background-color: var(--krds-color-light-gray-0);
    color: var(--krds-light-color-text-basic);
}

.btn-outline:hover {
    background-color: #f9fafb;
}

.btn-outline:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 0 0 4px #6b7280;
}

.btn-ghost {
    display: block;
    color: #374151;
    text-align: left;
}

.btn-ghost:hover {
    background-color: #f3f4f6;
}

.btn-ghost:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 0 0 4px #6b7280;
}

.btn-comparison {
    background-color: var(--krds-light-color-surface-gray-subtler);
    color: var(--krds-light-color-text-disabled);
    border: 1px solid var(--krds-light-color-border-gray);
}

.btn-comparison:hover {
    background-color: var(--krds-light-color-surface-gray-subtler);
}

.btn-comparison:focus {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.1), 0 0 0 4px var(--krds-light-color-element-gray);
}

.btn-outline.large {
    border-color: #374151;
    padding: 8px 20px;
    border-radius: 6px;
    background-color: transparent;
}

.btn-outline.large:hover {
    background-color: var(--krds-color-light-gray-0);
}

/* 프로그램 카드 */
.program-card {
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 0.5rem;
    padding: 1.5rem;
    transition: box-shadow 0.15s ease-in-out;
}

.program-card:hover {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.program-icon {
    width: 2rem;
    height: 2rem;
    color: #4b5563;
}

/* 툴팁 */
.tooltip-trigger {
    position: relative;
    cursor: help;
    display: inline-block;
}

.tooltip-trigger i.fas.fa-question-circle {
    transform: scale(0.8);
    margin-top: -5px;
}

.tooltip-trigger:hover .tooltip {
    display: block;
}

.tooltip {
    display: none;
    position: absolute;
    transform: translate(-50%, -100%);
    z-index: 50;
    background-color: var(--krds-color-light-gray-95);
    color: var(--krds-color-light-gray-0);
    font-size: 1.4rem;
    padding: 5px 8px;
    border-radius: 0.375rem;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    max-width: 980rem;
    min-width: 300px;
}

.tooltip-content {
    position: relative;
}

.tooltip .tbl.white th,
.tooltip .tbl.white td {
    background-color: transparent !important;
    color: var(--krds-color-light-gray-0) !important;
    font-size: 1.4rem !important;
    padding: 2px 4px;
}

.tooltip h6 {
    font-size: 1.8rem;
}

.tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 4px solid transparent;
    border-top-color: var(--krds-color-light-gray-95);
}

@media (max-width: 767px) {

    /* .tooltip-trigger i.fas.fa-question-circle {
        display: none;
    } */
    .tooltip-trigger:hover .tooltip,
    .tooltip-trigger:focus .tooltip,
    .tooltip-trigger:focus-within .tooltip {
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 90%;
        display: block;
        max-width: 100%;
        max-height: 90vh;
        overflow: auto;
        padding: 2rem;
    }

    .tooltip-trigger .tooltip .tbl {
        min-width: 0;
    }

}

/* 배지 */
.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.125rem 0.625rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
}

.badge-secondary {
    background-color: #f3f4f6;
    color: #1f2937;
}

/* 반응형 조정 */
@media (max-width: 767px) {

    .form-input,
    .form-select {
        height: 2.5rem;
    }

    .card-content {
        padding: 1.2rem;
    }

    .radio-group {
        flex-direction: column;
    }

    .radio-option {
        justify-content: flex-start;
    }
}

/* 애니메이션 */
.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 기본패턴_준비중 */
@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.element {
    width: 100px;
    height: 100px;
    display: block;
    margin: 0 auto;
    animation: rotate 3s linear infinite;
}

/* 로딩 상태 */
.loading {
    opacity: 0.5;
    pointer-events: none;
}

/* 프로그램 상세 정보 */
.program-details {
    margin-top: 1rem;
    padding: 1rem;
    background-color: #f9fafb;
    border-radius: 0.375rem;
}

.feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

@media (min-width: 768px) {
    .feature-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

.feature-item {
    text-align: center;
}

.feature-label {
    font-size: 0.875rem;
    color: #4b5563;
    margin-bottom: 0.25rem;
}

.feature-value {
    font-size: 1.125rem;
    font-weight: 700;
}

/* 비교함 */
.comparison-container {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: var(--krds-color-light-gray-0);
    border-top: 1px solid var(--krds-light-color-border-gray);
    box-shadow: 0 -4px 6px -1px rgb(0 0 0 / 0.1), 0 -2px 4px -2px rgb(0 0 0 / 0.1);
    padding: 1rem;
    z-index: 40;
    transform: translateY(100%);
    transition: transform 0.3s ease-in-out;
}

.comparison-container.show {
    transform: translateY(0);
}

/* 폼 검증 오류 */
.form-error {
    border-color: var(--krds-light-color-status-danger);
}

.form-error:focus {
    box-shadow: 0 0 0 2px var(--krds-light-color-status-danger);
    border-color: var(--krds-light-color-status-danger);
}

.error-message {
    font-size: 0.875rem;
    color: var(--krds-light-color-text-danger);
    margin-top: 0.25rem;
}

/* 성공 메시지 */
.success-message {
    font-size: 0.875rem;
    color: var(--krds-light-color-text-success);
    margin-top: 0.25rem;
}

/* 프로그레스 바 */
.progress-bar {
    width: 100%;
    background-color: #e5e7eb;
    border-radius: 9999px;
    height: 0.5rem;
}

.progress-fill {
    height: 0.5rem;
    background-color: var(--krds-light-color-element-gray);
    border-radius: 9999px;
    transition: all 0.3s ease-in-out;
}


/* Compare Section */
.compare-section {
    background: var(--krds-light-color-surface-secondary);
    color: var(--krds-color-light-gray-0);
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 24px;
}

.compare-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.compare-info {
    display: flex;
    align-items: center;
    gap: 16px;
}

.selected-label {
    font-size: 1.4rem;
}

.product-name {
    font-size: 1.4rem;
}

.compare-btn {
    background: var(--krds-light-color-button-primary-fill);
    color: var(--krds-color-light-gray-0);
    border: none;
    padding: 0.8rem 2.4rem;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s;
}

.compare-btn:hover {
    background: var(--krds-light-color-button-gray-hover);
}

/* Results Grid */
.results-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-bottom: 2.4rem;
}

.result-card {
    background: var(--krds-color-light-gray-0);
    border-radius: 8px;
}

.action-section {
    text-align: center;
}

.action-label {
    font-size: 1.4rem;
    color: #6b7280;
    margin-bottom: 0.8rem;
}

.action-button {
    width: 100%;
    background: var(--krds-light-color-button-primary-fill);
    color: var(--krds-color-light-gray-0);
    border: none;
    padding: 0.8rem 1.6rem;
    border-radius: 4px;
    font-weight: 500;
    cursor: pointer;
}

.result-card h3 {
    font-weight: bold;
    margin-bottom: 1.6rem;
}

.result-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.6rem;
}

.result-icon {
    width: 3.2rem;
    height: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.result-info {
    flex: 1;
}

.result-title {
    font-weight: 500;
    font-size: 1.4rem;
}

.result-details {
    font-size: 1.4rem;
    color: #6b7280;
    margin-top: 2px;
}

.highlight {
    font-weight: bold;
}

.result-actions {
    display: flex;
    gap: 4px;
}

.result-button-wrap {
    display: flex;
    gap: 8px;
}

.btn-secondary {
    font-size: 1.4rem;
    background: #f3f4f6;
    border: none;
    padding: 0.4rem 0.8rem;
    border-radius: 4px;
    cursor: pointer;
}

.btn-primary {
    background: var(--krds-light-color-button-primary-fill);
    color: var(--krds-light-color-text-bolder-inverse);
    border: none;
    cursor: pointer;
    font-size: 1.4rem;
}

.more-info-btn {
    font-size: 1.4rem;
    color: var(--krds-light-color-text-secondary);
    background: none;
    border: none;
    cursor: pointer;
    margin-top: 1.6rem;
}

.w-full {
    width: 100%;
}

.w-full img {
    width: 100%;
}

/* Feedback Section */
.feedback-section {
    margin-top: 6rem;
}

.feedback-card {
    background: var(--krds-light-color-surface-white);
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: 24px;
    padding: 4rem;
}

.feedback-card.noboder {
    border: none;
    padding: 0;
}

.feedback-card h3 {
    font-size: 1.9rem;
    font-weight: 700;
    margin-bottom: 2.4rem;
    color: #222;
}

.rating-options {
    display: flex;
    gap: 24px;
    margin-bottom: 2.4rem;
    flex-wrap: wrap;
    justify-content: space-between;
}

label:has(>input[type=radio]:focus),
label:has(>input[type=checkbox]:focus) {
    box-shadow: var(--krds-box-shadow-outline-inset);
    outline-offset: 0.4rem;
}

.feedback-card.noboder .rating-options {
    margin-bottom: 0;
}

.feedback-card.noboder h5 {
    flex: 1;
    width: auto;
    font-size: 1.7rem;
    color: var(--krds-color-light-gray-95);
    font-weight: 400;
}

.rating-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 1.6rem;
}

.radio-custom {
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--krds-color-light-gray-20);
    border-radius: 50%;
    position: relative;
    transition: all 0.3s ease;
}

.rating-option input[type="radio"]:checked+.radio-custom {
    border-color: var(--krds-color-light-primary-50);
    background: var(--krds-color-light-primary-50);
}

.rating-option input[type="radio"]:checked+.radio-custom::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0.8rem;
    height: 0.8rem;
    background: var(--krds-color-light-gray-0);
    border-radius: 50%;
}

.feedback-input {
    display: flex;
    gap: 16px;
    align-items: flex-end;
}

.feedback-input textarea {
    flex: 1;
    padding: 1.2rem;
    border: 1px solid #ddd;
    border-radius: 8px;
    resize: vertical;
    font-family: inherit;
    font-size: 1.6rem;
}

.submit-btn {
    background: var(--krds-color-light-primary-50);
    color: var(--krds-color-light-gray-0);
    border: none;
    padding: 1.2rem 2.4rem;
    border-radius: 8px;
    font-size: 1.6rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    white-space: nowrap;
}

.submit-btn:hover {
    background: var(--krds-color-light-primary-60);
}

/* Institution Links */
/* .institution-links {
    background: var(--krds-color-light-gray-0);
    border-top: 1px solid #e1e5e9;
    padding: 0;
}

.institution-carousel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.institution-item {
    flex: 1;
    text-align: center;
}

.institution-item img {
    max-width: 100%;
    height: auto;
    opacity: 0.7;
    transition: opacity 0.3s ease;
}

.institution-item:hover img {
    opacity: 1;
} */

/* Modal */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.modal-content {
    background-color: var(--krds-color-light-gray-0);
    margin: 5vh auto;
    border-radius: 8px;
    width: 90%;
    max-width: 1000px;
    max-height: 90vh;
}

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4rem 4rem 2rem;
}

.modal-header h2 {
    font-size: 2rem;
    font-weight: bold;
}

.modal-body {
    padding: 0 4rem;
    max-height: calc(90vh - 185px);
    overflow: auto;
}

.modal-conts .conts-area .conts-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.9rem;
}

.modal-conts .conts-area .conts-header h3 {
    font-size: inherit;
}

.modal-conts .conts-area .border-box {
    border: 1px solid #B1B8BE;
    padding: 2rem;
    font-size: 1.9rem;
}

.modal-conts .conts-area .note {
    font-size: 1.7rem;
}

.modal-conts .g-wrap .g-conts-area .con-tit.bullet {
    font-size: 2rem;
}

.compare-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.compare-card {
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    padding: 1.6rem;
}

.card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.6rem;
}

.card-icon {
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
}

.card-icon.orange {
    background: #fed7aa;
    color: var(--krds-color-light-gray-60);
}

.card-icon.blue {
    background: #dbeafe;
    color: #2563eb;
}

.card-icon.green {
    background: #d1fae5;
    color: #16a34a;
}

.card-info {
    flex: 1;
}

.card-info h3 {
    font-weight: bold;
    font-size: 1.4rem;
}

.card-subtitle {
    font-size: 1.4rem;
    color: #6b7280;
}

.remove-btn {
    background: none;
    border: none;
    color: #9ca3af;
    cursor: pointer;
    font-size: 1.6rem;
}

.card-details {
    margin-bottom: 1.6rem;
}

.detail-row {
    display: flex;
    justify-content: space-between;
    padding: 1.2rem 0;
    font-size: 1.4rem;
}

.card-action-btn {
    width: 100%;
    background: var(--krds-color-light-gray-60);
    color: var(--krds-color-light-gray-0);
    border: none;
    padding: 0.8rem;
    border-radius: 4px;
    font-size: 1.4rem;
    cursor: pointer;
}

.modal-footer {
    padding: 2.4rem 4rem;
    display: flex;
    justify-content: center;
    gap: 1.6rem;
}

.btn-cancel {
    padding: 0.8rem 2.4rem;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    background: var(--krds-color-light-gray-0);
    color: #374151;
    cursor: pointer;
}

.transition-all {
    transition: all 0.3s ease-in-out;
}

.rotate-90 {
    transform: rotate(90deg);
}

.rotate-270 {
    transform: rotate(270deg) scaleY(-1);
}

.font-pretendard-gov-bold {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: bold;
}

.font-pretendard-gov-regular {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: normal;
}

/* 아코디언 슬라이드 효과 */
.accordion-content {
    display: none;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
    padding: 2rem;
}

.accordion-content.open {
    display: block;
    max-height: 100rem;
    padding: 2rem;
}

/* 백그라운드 블러 효과 */
.backdrop-blur {
    backdrop-filter: blur(25px);
    -webkit-backdrop-filter: blur(25px);
}

/* 반투명 배경 */
.bg-navy-transparent {
    background-color: rgba(1, 32, 99, 0.88);
}

/* 하단 바 때문에 콘텐츠에 여백 추가 */
.content-with-bottom-bar {
    padding-bottom: 12.8rem;
    /* 32 * 4 */
}

@media (min-width: 640px) {
    .content-with-bottom-bar {
        padding-bottom: 16rem;
        /* 40 * 4 */
    }
}

/* Responsive Design */
@media (max-width: 1279px) {
    .content-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sidebar {
        order: -1;
    }

    .overview-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .application-methods {
        grid-template-columns: 1fr;
    }

    .quick-menu {
        display: none;
    }
}

@media (max-width: 767px) {

    .nav-menu {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .nav-item {
        font-size: 1.6rem;
    }

    .page-header h1 {
        font-size: 2.8rem;
    }

    .page-description {
        font-size: 1.8rem;
    }

    .tab-navigation {
        flex-direction: column;
    }

    .timeline {
        flex-direction: column;
        gap: 20px;
    }

    .timeline::before {
        display: none;
    }

    .rating-options {
        flex-direction: column;
        gap: 16px;
    }

    .feedback-input {
        flex-direction: column;
        align-items: stretch;
    }

    .institution-carousel {
        /* flex-wrap: wrap; */
        /* gap: 20px; */
    }

    .util-bar .container {
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1.6rem;
    }

    .overview-grid {
        padding: 2rem;
    }

    .method-card {
        padding: 2.4rem 1.6rem;
    }

    .feedback-card {
        padding: 2.4rem;
    }
}

/* 메인 */
/* Hero Section */
.hero-section {
    position: relative;
    min-height: 100vh;
    background-color: var(--krds-color-light-gray-100);
    overflow: hidden;
}

.hero-background {
    position: absolute;
    inset: 0;
    background-image: url('https://images.unsplash.com/photo-1560472354-b33ff0c44a43?w=1920&h=1080&fit=crop');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
}

.hero-content {
    position: relative;
    padding: 12rem 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 3rem;
    align-items: center;
    min-height: calc(100vh - 220px);
    margin: 0 auto;
    width: 80vw;
}

.hero-left {
    color: var(--krds-color-light-gray-0);
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.hero-badge {
    display: inline-block;
    background-color: var(--krds-color-light-gray-60);
    color: var(--krds-color-light-gray-0);
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    width: fit-content;
}

.hero-title {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.1;
}

.quick-actions {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 0.75rem;
    padding: 1.5rem;
    display: flex;
    width: 100%;
    ;
    flex-direction: column;
    gap: 1rem;
}

.quick-title {
    font-size: 1.25rem;
    font-weight: 700;
}

.quick-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    font-size: 2rem;
    color: var(--krds-color-light-gray-0);
}

.hero-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
}

.hero-card {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 0.75rem;
    padding: 1.5rem;
    text-align: left;
    color: var(--krds-color-light-gray-0);
    width: 300px;
    height: 120px;
    max-width: calc(50vw - 20px);
}

.hero-card.orange {
    background-color: var(--krds-color-light-gray-60);
}

.hero-card h3 {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
}

.card-icon {
    width: 2rem;
    height: 2rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    margin: 0 auto;
}

.card-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 1.2rem;
}

.nav-dots {
    position: absolute;
    bottom: 2rem;
    left: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.5);
}

.dot.active {
    background-color: var(--krds-color-light-gray-60);
}

.quick-menu {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.quick-menu-content {
    background: var(--krds-color-light-gray-0);
    border-radius: 1.5rem 0 0 1.5rem;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    padding: 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.quick-item {
    text-align: center;
}

.quick-item span {
    margin-top: 8px;
    font-weight: 700;
    line-height: 1.3;
}

.quick-item .quick-showbox {
    display: none;
    position: absolute;
    top: 0;
    right: 100px;
    padding: 2.4rem;
    gap: 1.2rem;
    flex-direction: column;
    width: 28rem;
    background-color: var(--krds-color-light-gray-0);
    border-radius: 24px;
    z-index: 99;
    box-shadow: 0px 0px 2px 0px #00000014;
    box-shadow: 0px 8px 16px 0px #0000001F;
}

.quick-item .quick-showbox span {
    margin-top: 0;
}

@media (max-width: 1279px) {
    .quick-item .quick-showbox {
        top: 8px;
        right: 83px;
    }
}

.quick-item .quick-showbox .showbox-item {
    position: relative;
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: var(--krds-color-light-secondary-5);
    padding: 1.5rem 2rem;
    border-radius: 8px;
}

.quick-item .quick-showbox .showbox-item.showbox-arrow {
    padding-right: 4rem;
    position: relative;
}

.quick-item .quick-showbox .showbox-item.showbox-arrow::after {
    content: '';
    position: absolute;
    height: 2rem;
    width: 2rem;
    top: 2rem;
    right: 20px;
    background: url(../images/ic/quickmenu/arrow-right.svg) no-repeat;
}

.quick-item .quick-showbox .showbox-item p.link-title {
    font-weight: 700;
    font-size: 1.7rem;
    color: var(--krds-color-light-gray-95);
    text-align: left;
    line-height: 28px;
}

.quick-item .quick-showbox .showbox-item p.link-title span {
    display: block;
    font-size: 2.1rem;
}

.quick-item .quick-showbox .showbox-item p.link-title .board-ph {
    display: block;
    font-size: 1.3rem;
    color: var(--krds-color-light-gray-95);
}

.quick-item.book.on span {
    color: var(--krds-color-light-primary-50);
}

.quick-item.book .quick-toggle {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.1rem 1.6rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 1.2rem;
    text-align: center;
    color: #333;
    min-width: 8rem;
}

.quick-item.book .quick-toggle::before {
    content: '';
    display: block;
    background: url(../images/ic/quickmenu/icon_book.png) center no-repeat;
    width: 20px;
    height: 23px;
    flex-shrink: 0;
}

.quick-item.book.on .quick-toggle::before {
    content: '';
    display: block;
    background: url(../images/ic/quickmenu/icon_book_on.png) center no-repeat;
    width: 20px;
    height: 23px;
    flex-shrink: 0;
}

.quick-item.book.on .quick-showbox {
    display: flex;
}

.quick-icon {
    width: 2rem;
    height: 2rem;
    background-color: #f5f5f5;
    border-radius: 50%;
    margin: 0 auto 0.5rem;
}

.quick-text {
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.2;
}

.notification-badge {
    position: absolute;
    bottom: -1rem;
    right: 1rem;
}

.badge-circle {
    width: 3rem;
    height: 3rem;
    background: var(--krds-color-light-gray-0);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.badge-circle span {
    background-color: var(--krds-color-light-gray-60);
    color: var(--krds-color-light-gray-0);
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Features Section */
.features-section {
    padding: 5rem 0;
    background-color: #f9fafb;
}

.section-header {
    text-align: left;
    margin-bottom: 4rem;
}

.section-header h2 {
    font-size: 5rem;
    font-weight: 700;
}

.section-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 1rem;
}

.features-grid {
    display: flex;
    gap: 10px;
}

.feature-card {
    position: relative;
    background-color: #f5f5f5;
    border-radius: 1.5rem;
    padding: 2rem;
    padding-bottom: 30px;
    text-align: center;
    width: 10%;
    transition: all 0.3s ease-in-out;
    writing-mode: vertical-rl;
    white-space: nowrap;
}

.feature-card.orange-card {
    background-color: var(--krds-color-light-gray-50);
    color: var(--krds-color-light-gray-0);
    position: relative;
    overflow: hidden;
    min-width: calc(60% - 40px);
    writing-mode: initial;
    white-space: initial;
    text-align: left;
    padding: 40px;
}

.feature-content {
    margin-bottom: 2rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.feature-card.orange-card .feature-content {
    display: block;
}

.feature-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 1rem;
}

.feature-card.orange-card .feature-title {
    font-size: 3rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: var(--krds-color-light-gray-0);
}

.feature-subtitle {
    font-size: 1.25rem;
    margin-bottom: 2rem;
}

.feature-icon {
    position: absolute;
    bottom: 10px;
    right: 0;
    left: 0;
    width: 2.3rem;
    height: 2.1rem;
    background: url(../images/ic/ic-plus.svg) no-repeat center;
    border-radius: 0.5rem;
    margin: 0 auto;
}

.feature-card.orange-card .feature-icon {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 72.9rem;
    height: 66rem;
    background: url(../images/bg/bg_main_selected.png) no-repeat right bottom;
    background-size: 50%;
    border-radius: 0.5rem;
    margin: 0 auto;
}

.feature-footer {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-size: 1.4rem;
    color: var(--krds-color-light-gray-60);
}

.feature-list {
    display: none
}

.feature-card.orange-card .feature-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.feature-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    font-size: 1.4rem;
}

.feature-bullet {
    width: 1.9rem;
    height: 1.6rem;
    background: url(../images/ic/bullet.svg) no-repeat center;
    border-radius: 0.25rem;
    margin-left: 1rem;
}

/* Debt Guide Section */
.debt-guide-section {
    padding: 5rem 0;
    background-color: var(--krds-color-light-gray-0);
}

.debt-guide-grid {
    display: grid;
    gap: 2rem;
}

.guide-card {
    background: var(--krds-color-light-gray-0);
    border-radius: 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

.guide-image {
    height: 30rem;
    overflow: hidden;
}

.guide-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guide-content {
    padding: 2rem;
    background-color: #f9fafb;
}

.guide-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #111;
    margin-bottom: 1rem;
}

.guide-description {
    font-size: 1.125rem;
    color: var(--krds-color-light-gray-60);
    margin-bottom: 1.5rem;
}

.guide-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.btn-primary {
    background-color: var(--krds-light-color-button-primary-fill);
    color: var(--krds-light-color-text-bolder-inverse);
    padding: 0 1.6rem;
    border-radius: 0.5rem;
    border: none;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    gap: 8px;
    height: 46px;
}

.btn-primary:hover {
    background-color: var(--krds-light-color-button-primary-fill-hover);
}

.btn-secondary {
    background: transparent;
    color: #374151;
    padding: 0.75rem 1.5rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.btn-secondary:hover {
    background-color: #f9fafb;
}

.btn-line {
    background: var(--krds-color-light-primary-5);
    color: var(--krds-light-color-text-primary);
    padding: 0.75rem 1.5rem;
    border: 1px solid var(--krds-color-light-primary-40);
    border-radius: 0.5rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: var(--krds-pc-font-size-body-small);
}

.btn-line:hover {
    background-color: var(--krds-color-light-primary-30);
}

/* News Section */
.news-section {
    padding: 5rem 0;
    background-color: #f9fafb;
}

.news-grid {
    display: grid;
    gap: 3rem;
}

.news-tabs {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid #e5e7eb;
}

.tab-button {
    background: none;
    border: none;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--krds-color-light-gray-40);
    padding-bottom: 1rem;
    cursor: pointer;
    position: relative;
}

.tab-button.active {
    color: var(--krds-light-color-text-basic);
}

.tab-button.active::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 0.2rem;
    background-color: #111;
}

.news-list {
    background: var(--krds-color-light-gray-0);
    border-radius: 1.5rem;
    padding: 1.5rem;
    display: none;
    flex-direction: column;
    gap: 1rem;
}

.news-list.active {
    display: flex;
}

.news-item {
    padding: 1rem 0;
    border-bottom: 1px solid #e5e7eb;
}

.news-item:first-child {
    padding: 0 0 1rem 0;
}

.news-item:last-child {
    border-bottom: none;
    padding: 1rem 0 0 0;
}

.news-item h3 {
    font-size: 1.8rem;
    font-weight: 500;
    color: #111;
}

.news-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2rem;
}

.news-header h3 {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111;
}

.more-btn {
    background: none;
    border: none;
    color: var(--krds-color-light-gray-60);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.more-btn:hover {
    color: #111;
}

.arrow-icon {
    width: 1rem;
    height: 1rem;
}

.chart-container {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Footer Styles */
.contact-info {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.certification-marks {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.certification-marks img {
    height: 2rem;
}

.cert-placeholder {
    height: 2.5rem;
    width: 4rem;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.75rem;
}

.footer-bottom {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #374151;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.agency-btn {
    border: 1px solid rgba(255, 255, 255, 0.5);
    background: transparent;
    color: var(--krds-color-light-gray-0);
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.agency-btn:hover {
    background: rgba(255, 255, 255, 0.1);
}

.agency-btn svg {
    width: 1rem;
    height: 1rem;
}

.top-btn {
    width: 3rem;
    height: 3rem;
    background: rgba(0, 0, 0, 0.4);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.top-btn:hover {
    background: rgba(0, 0, 0, 0.6);
}

.top-btn svg {
    width: 1.5rem;
    height: 1.5rem;
    color: var(--krds-color-light-gray-0);
}

/* Responsive Design */
@media (min-width: 768px) {
    .press-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .guide-buttons {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .news-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero-cards {
        grid-template-columns: repeat(2, 1fr);
    }

    .quick-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 1024px) {
    .nav-links {
        display: flex;
    }

    .mobile-menu-btn {
        display: none;
    }

    .hero-title {
        font-size: 4.5rem;
    }

    .features-grid {
        grid-template-columns: repeat(5, 1fr);
    }

    .debt-guide-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .values-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .partner-logos {
        gap: 4rem;
    }

    .values-header {
        flex-direction: row;
    }

    .section-title {
        font-size: 3rem;
    }
}

@media (max-width: 767px) {

    .hero-title {
        font-size: 2.5rem;
    }

    .section-title {
        font-size: 2rem;
    }

    .quick-menu {
        display: none;
    }

    .nav-dots {
        display: none;
    }

    .partner-logos {
        flex-wrap: wrap;
        gap: 1rem;
    }

    .partner-content {
        flex-direction: column;
        gap: 1rem;
    }

    .values-header {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }
}

/* Quick Menu */
.quickmenu-container {
    position: fixed;
    right: 0;
    top: 50%;
    width: 8.2rem;
    transform: translateY(-50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.quick-menu {
    position: static;
    width: 8.2rem;
    transform: none;
    background: var(--krds-color-light-gray-0);
    border-radius: 24px 0 0 24px;
    box-shadow: 0 0 24px rgba(0, 0, 0, 0.1);
    padding: 2rem 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.quick-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.1rem 1.6rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 1.2rem;
    text-align: center;
    color: #333;
    min-width: 8rem;
}

.quick-item:not(.book):hover {
    background: #f5f5f5;
}

.quick-item .quick-toggle:hover {
    background: #f5f5f5;
}

.quick-item svg {
    margin-bottom: 0.8rem;
}

.quick-notification {
    position: fixed;
    top: calc(50% + 22rem);
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    background: var(--krds-color-light-gray-0);
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    margin: 1.6rem auto 0;
    transition: transform 0.3s ease;
}

.quick-notification:hover {
    transform: scale(1.05);
}

.quick-chat {
    /* position: fixed;
    top: calc(60% + 175px);
    right: 10px;
    z-index: 100; */
    display: flex;
    gap: 2px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    text-align: center;
    background: radial-gradient(59.17% 59.17% at 50% 50%, #ED5401 0%, var(--krds-color-light-primary-50) 100%);
    border-radius: 50%;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    color: var(--krds-color-light-gray-0);
    font-size: 1.3rem;
    transition: transform 0.3s ease;
}

.quick-chat:hover {
    transform: scale(1.05);
    color: var(--krds-color-light-gray-0);
}


.quick-mobile-btn {
    display: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    background: radial-gradient(59.17% 59.17% at 50% 50%, #ED5401 0%, var(--krds-color-light-primary-50) 100%);
    color: var(--krds-color-light-gray-0);
    border: none;
    cursor: pointer;
    font-size: 1.3rem;
    z-index: 1000;

    i {
        font-size: 1.8rem;
    }
}

/* Quick Menu */

.phone-number {
    color: var(--krds-color-light-primary-40);
}

/* Responsive Design */
@media (max-width: 1279px) {
    .quickmenu-container {
        top: auto;
        right: 0;
        bottom: 80px;
        transform: none;
        gap: 8px;
    }

    .content-layout {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .sidebar {
        order: -1;
    }

    .overview-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .application-methods {
        grid-template-columns: 1fr;
    }

    .quick-menu {
        display: none;
        width: auto;
        margin-bottom: 3px;
        padding: 1rem 0;
        /* transform: translateY(20px);
        visibility: hidden;
        opacity: 0; */
        max-height: 80vh;
        overflow-y: auto;
        transition: transform 0.3s ease, visibility 0.3s ease, opacity 0.3s ease;
        z-index: 1001;
    }

    @supports (-webkit-touch-callout: none) {
        .quick-menu {
            overflow-y: visible;
        }
    }

    .quick-menu.active {
        display: block;
        /* transform: translateY(0);
        visibility: visible;
        opacity: 1; */
    }

    .quick-item {
        padding: 0.8rem;
    }

    .quick-mobile-btn {
        display: flex;
    }
}

@media (max-width: 767px) {
    .nav-menu {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px;
    }

    .nav-item {
        font-size: 1.6rem;
    }

    .page-header h1 {
        font-size: 2.6rem;
    }

    .page-description {
        font-size: 1.8rem;
    }

    .tab-navigation {
        flex-direction: column;
    }

    .timeline {
        flex-direction: column;
        gap: 20px;
    }

    .timeline::before {
        display: none;
    }

    .rating-options {
        flex-direction: column;
        gap: 16px;
    }

    .feedback-input {
        flex-direction: column;
        align-items: stretch;
    }

    .institution-carousel {
        /* flex-wrap: wrap; */
        /* gap: 20px; */
    }

    .util-bar .container {
        flex-direction: column;
        gap: 10px;
    }
}

@media (max-width: 480px) {
    .container {
        padding: 0 1.6rem;
    }

    .overview-grid {
        padding: 2rem;
    }

    .method-card {
        padding: 2.4rem 1.6rem;
    }

    .feedback-card {
        padding: 2.4rem;
    }
}


.g-wrap .g-grid-wrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--krds-gap-5);
}


.g-wrap .g-grid-wrap.unit2,
.g-wrap .g-grid-wrap.unit3 {
    gap: var(--krds-gap-5);
    margin-bottom: var(--krds-gap-10);
}

.g-wrap .g-grid-wrap.unit2>.g-colorbox {
    width: 100%;
}

.g-wrap .g-grid-wrap.unit4 {
    grid-template-columns: repeat(2, 1fr);
}

.g-wrap .g-grid-wrap.sp-lg {
    row-gap: var(--krds-gap-9);
}

.g-wrap .g-grid-wrap.gap-small {
    gap: 8px;
}

@media (max-width: 767px) {
    .g-wrap .g-grid-wrap {
        grid-template-columns: auto;
    }

    .g-wrap .g-grid-wrap.unit2,
    .g-wrap .g-grid-wrap.unit3 {
        grid-template-columns: repeat(1, 1fr);
    }

    .g-wrap .g-grid-wrap.unit2>.g-colorbox br {
        display: none;
    }

    .g-wrap .g-grid-wrap.unit2>.g-colorbox.text-right {
        text-align: left;
    }

    .abslogocenter {
        display: none;
    }
}

.g-wrap .g-btn-area.evenly {
    justify-content: space-evenly;
}

.g-wrap .g-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 60px;
}

@media (max-width: 1279px) {
    .g-wrap .g-flex {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }

    .g-wrap .g-flex:nth-child(even) {
        flex-direction: column-reverse;
    }
}

.flextop .g-flex {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 60px;
}

.flextop .g-flex .section-title {
    font-size: 3.2rem;
}

.flextop .g-flex .itext {
    font-size: 1.9rem;
    font-weight: 700;
    margin-top: 2rem;
}

b .icon-ph,
strong .icon-ph {
    background: url(/type/www/img/icons/bold_telephone.svg) center no-repeat;

}

.icon-ph {
    background: url(/type/www/img/icons/normal_telephone.svg) center no-repeat;
    display: inline-block;
    vertical-align: middle;
    width: 1.6rem;
    height: 1.6rem;
    margin: 0 1px;
}

.flextop .g-flex .krds-info-list {
    margin-top: 2rem;
}

.flextop .g-flex .krds-info-list>li {
    font-size: 1.7rem;
}

.g-wrap .g-flex .g-img {
    width: 100%;
}

.g-wrap .g-flex .g-wrap {
    width: 100%;
}

/* bbs_write */
.boardHead {
    padding: 0 0.5rem 1rem;
}

.bbs_write {
    border-top: 2px solid var(--krds-color-light-gray-90);
}

.bbs_write tr {
    border-bottom: 1px solid #dde2e8;
}

.bbs_write th {
    text-align: left;
    background: var(--krds-color-light-secondary-5);
    padding-left: 1.5rem;
    font-size: 1.7rem;
    font-weight: 700;
    color: var(--krds-color-light-gray-95)
}

.bbs_write th .ico {
    display: inline-block;
    width: 0.7rem;
    height: 0.6rem;
    background: url(../images/common/Ellipse.png) no-repeat 0 0;
    margin-right: 0.5rem;
}

.bbs_write th label {
    transform: translateX(12px);
}

.bbs_write th .ico+label {
    transform: translateX(0);
}

.bbs_write.sub4 th {
    padding: 10px 0 10px 15px;
}

.bbs_write.sub4 td {
    padding: 0.8rem 0 0.8rem 1.5rem;
}

.ico {
    display: inline-block;
    min-width: 0.7rem;
    min-height: 0.6rem;
    max-width: 1.6rem;
    max-height: 1.6rem;
    background: url(../images/common/Ellipse.png) no-repeat 0 0;
    margin-right: 0.5rem;
}

.bbs_write td {
    padding: 0.5rem 1rem;
}

.bbs_write td>div {
    min-height: 3.1rem;
    line-height: 3.1rem;
}

.bbs_write .t_box {
    padding: 0;
    height: 2.9rem;
    line-height: 2.9rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    border: 1px solid #cbcbcb;
}

.bbs_write .t_box2 {
    padding: 0;
    height: 2.2rem;
    line-height: 2.9rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    border: 1px solid #cbcbcb;
}

.bbs_write.sub4 table tbody td {
    font-size: 1.2rem;
}

span.sub4InputLabel {
    display: inline-block;
    width: 150px;
}

/* 게시글 이동 박스 */
.com-post-move-box {
    border-top: 1px solid var(--krds-color-light-gray-20);
    border-bottom: 1px solid var(--krds-color-light-gray-20);
}

.com-post-move-box>div {
    display: flex;
    align-items: center;
    padding: 1.2rem 0;
}

.com-post-move-box>div:not(:last-of-type) {
    border-bottom: 1px solid var(--krds-color-light-gray-20);
}

.com-post-move-box dt {
    flex-shrink: 0;
    font-size: 1.6rem;
    display: flex;
    align-items: center;
    gap: 20px;
    font-weight: 600;
    padding: 0 3rem;
}

.com-post-move-box dt img {
    width: 1rem;
}

.com-post-move-box dd {
    padding-right: 3rem;
}

.com-post-move-box dd a {
    font-size: 1.6rem;
}

.com-post-move-box dd a:where(:hover, :focus) {
    text-decoration: underline;
    text-underline-position: under;
}

.com-post-move-box .prev-box dt img {
    transform: rotate(180deg);
}

/* 비교하기 하단 고정 바 */
.compare-fixed-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #012063E0;
    backdrop-filter: blur(8px);
    z-index: 50;
}

.compare-container {
    max-width: 134rem;
    margin: 0 auto;
    padding: 1rem;
}

@media (min-width: 640px) {
    .compare-container {
        padding: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .compare-container {
        padding: 2rem;
    }
}

.compare-flex-items {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6rem 0 1rem;
    gap: 2rem;
}

/* 왼쪽 제목 섹션 (데스크톱만 표시) */
.desktop-title-section {
    display: block;
    margin-right: 5rem;
}

.desktop-title-h2 {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: 700;
    color: var(--krds-color-light-gray-0);
    font-size: 1.5rem;
    line-height: 1.5;
}

@media (min-width: 640px) {
    .desktop-title-h2 {
        font-size: 3.2rem;
    }
}

.desktop-title-p {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: 400;
    color: var(--krds-color-light-gray-0);
    font-size: 1.7rem;
    line-height: 1.5;
}

/* 중앙 상품 영역 */
.compare-products-container {
    flex: 1;
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    width: 100%;
}


/* 모바일 제목 섹션 */
.mobile-title-section {
    display: none;
}

@media (max-width: 639px) {
    .mobile-title-section {
        display: none;
        flex-direction: column;
        justify-content: center;
        min-width: fit-content;
    }
}

.mobile-title-h2 {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: 700;
    color: var(--krds-color-light-gray-0);
    font-size: 1.25rem;
    line-height: 1.5;
}

.mobile-title-p {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: 400;
    color: var(--krds-color-light-gray-0);
    font-size: 0.875rem;
    line-height: 1.5;
}

.products-flex-container {
    display: flex;
    gap: 1rem;
    align-items: center;
    width: 100%;
}

/* 상품 카드 */
.product-card {
    background-color: var(--krds-color-light-gray-0);
    border-radius: 0.75rem;
    padding: 2.5rem 2rem;
    width: 100%;
    max-width: 280px;
    height: 70px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    position: relative;
    transition: all 0.3s ease;
}

.product-card:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.product-icon-wrapper {
    width: 4rem;
    height: 4rem;
    flex-shrink: 0;
}

.product-icon-placeholder {
    width: 100%;
    height: 100%;
    background-color: #e5e7eb;
    border-radius: 0.25rem;
    border: 1px solid #d1d5db;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-icon-placeholder span {
    font-size: 0.75rem;
    color: #4b5563;
}

.product-title {
    font-family: 'Pretendard-GOV', sans-serif;
    font-weight: 700;
    color: black;
    font-size: 1.9rem;
    line-height: 1.2;
    flex: 1;
}

.remove-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 1rem;
    height: 1rem;
    background-color: #e5e7eb;
    border-radius: 0.25rem;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

@media (min-width: 640px) {
    .remove-btn {
        width: 1.25rem;
        height: 1.25rem;
    }
}

.remove-btn span {
    font-size: 0.75rem;
    color: #4b5563;
}

/* 추가 슬롯 카드 */
.add-slot-card {
    background-color: rgba(255, 255, 255, 0.05);
    border-radius: 0.75rem;
    width: 100%;
    max-width: 28rem;
    height: 7rem;
    border: 2px dashed rgba(255, 255, 255, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-slot-icon {
    width: 2rem;
    height: 2rem;
    background-color: transparent;
    border-radius: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.add-slot-icon span {
    color: var(--krds-color-light-gray-0);
    font-size: 2rem;
}

/* 오른쪽 버튼 섹션 */
.compare-buttons-container {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 2.5rem;
}

.compare-buttons-container .close-btn {
    position: absolute;
    bottom: 10rem;
    right: 0;
}

.open-compare-modal {
    background-color: var(--krds-color-light-primary-50);
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    min-width: 8rem;
    border: none;
    cursor: pointer;
    height: 7rem;
    font-size: 1.9rem;
    min-width: 17rem;
}


.open-compare-modal span {
    font-family: 'Pretendard-GOV', sans-serif;
    font-weight: 700;
    color: var(--krds-color-light-gray-0);
    font-size: 1.9rem;
    line-height: 1.5;
}

.close-btn {
    width: 1.5rem;
    height: 1.5rem;
    background-color: transparent;
    border-radius: 0.25rem;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 4rem;
}


.close-btn span {
    color: var(--krds-color-light-gray-0);
    font-size: 4rem;
}

.result-icon-wrapper {
    position: relative;
    flex-shrink: 0;
    width: 3.5rem;
    height: 3.5rem;
}

.result-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.result-main-title {
    color: var(--krds-color-light-gray-95);
    font-size: 2.4rem;
    line-height: 1.5;
    font-weight: 700;
}

.result-main-title strong {
    font-size: 4rem;
}

.result-other {
    color: var(--krds-color-light-gray-95);
    font-size: 1.7rem;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 1.6rem;
}

.result-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-left: auto;
    margin-top: 1rem;
    width: 100%;
}

table.comparison-table {
    width: auto;
    border-collapse: collapse;
    border-top: 1px solid var(--krds-color-light-gray-100);
}

table.comparison-table col:first-child {
    width: 15% !important;
}

table.comparison-table th,
table.comparison-table td {
    border-bottom: 1px solid #E1E1E1;
    border-right: 1px solid #E1E1E1;
    padding: 2.2rem;
    text-align: left;
    font-size: 1.7rem;
    text-align: center;
    min-width: 120px;
}

table.comparison-table th {
    font-weight: 600;
    background-color: #eee;
    width: 20rem;
    text-align: center;
    min-width: 75px;
}

table.comparison-table th:first-child,
table.comparison-table td:first-child {
    border-left: none;
}

@media (max-width: 767px) {
    table.comparison-table {
        width: auto;
    }
}


.comparison-table .product-box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.comparison-table .product-header img {
    width: 4rem;
    height: 4rem;
}

.comparison-table .product-header .product-name {
    font-weight: 700;
    font-size: 1.9rem;
    margin-bottom: 0.5rem;
}

/* 구분선 */
.separator {
    margin: 0 10px 10px;
    display: none;
}

.separator-line {
    height: 1px;
    background-color: black;
    opacity: 0.1;
}

/* 지원내용 */
.accordion-content {
    display: none;
    /* 초기 상태는 숨김 */
}

.support-content {
    margin: 0 1rem;
}

@media (min-width: 640px) {
    .support-content {
        margin: 0 1.5rem;
    }
}

@media (min-width: 1024px) {
    .support-content {
        margin: 0 2rem;
    }
}

.support-content-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.support-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.75rem;
}

.list-marker {
    background-color: var(--krds-color-light-gray-70);
    border-radius: 3px;
    width: 0.25rem;
    height: 0.25rem;
    margin-top: 0;
    flex-shrink: 0;
}

.support-text {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: 400;
    color: var(--krds-color-light-gray-95);
    font-size: 1.4rem;
    line-height: 1.5;
}

@media (min-width: 640px) {
    .support-text {
        font-size: 1.8rem;
    }
}

/* 토글 버튼 */
.toggle-container {
    display: flex;
    justify-content: center;
    padding: 1rem 0;
}

@media (min-width: 640px) {
    .toggle-container {
        padding: 1.5rem 0;
    }
}

.toggle-button {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease;
    background-color: transparent;
    border: none;
    border-radius: 0.375rem;
}

.toggle-button:hover {
    background-color: #f9fafb;
}

.toggle-text {
    font-family: 'Pretendard-GOV', sans-serif;
    font-weight: 700;
    color: var(--krds-color-light-gray-95);
    font-size: 1.4rem;
    line-height: 1.5;
}

@media (min-width: 640px) {
    .toggle-text {
        font-size: 1.5rem;
    }
}

.arrow-icon {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    transform: rotate(90deg);
}

.arrow-icon span {
    font-size: 0.75rem;
    color: #4b5563;
}

/* 토글된 상태 */
.toggle-container.active .accordion-content {
    display: block;
}

.toggle-container.active .arrow-icon {
    transform: rotate(270deg);
}

/*탭버튼 그룹*/
.tab li {
    flex: 1;
}

.tab .tablist li:last-child {
    margin-right: 0;
}

/*채무조정 키워드 섹션*/
.keywords-cont-wrap {
    display: flex;
    align-items: center;
    align-self: stretch;
    margin-bottom: 0;
}

.keywords-cont-wrap.row .keywords-cont-box {
    flex-direction: row;
    gap: var(--krds-gap-7);
}

.keywords-cont-wrap.row .keywords-text-wrap {
    text-align: left;
}

.keywords-cont-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--krds-gap-4);
    flex: 1 0 0;
}

.keywords-img {
    width: 7.2rem;
    height: 7.2rem;
    /* aspect-ratio: 1/1; */
    flex-shrink: 0;
    border-radius: var(--krds-radius-xlarge3);
    background-color: var(--krds-light-color-surface-gray-subtler);
    display: flex;
    justify-content: center;
    align-items: center;
}

.keywords-text-wrap {
    text-align: center;
    font-size: var(--krds-pc-font-size-body-medium);
}

/*채무조정 단계 스테퍼*/
.guideline-cont-wrap {
    display: flex;
    padding: 2.8rem 0;
    justify-content: space-between;
    align-items: flex-end;
    align-self: stretch;
    border-radius: var(--krds-radius-xlarge3);
    border: 1px solid var(--krds-light-color-border-gray-light);
    margin-bottom: 0;
}

.guideline-cont-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--krds-gap-4);
    flex: 1 0 0;
}

.guideline-text-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 52px;
    align-self: stretch;
    text-align: center;
    font-size: var(--krds-pc-font-size-body-medium);
}

.guideline-stepper {
    display: flex;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    min-height: 3rem;
}

.guideline-cont-box.before.start .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-start.svg) no-repeat center;

}

.guideline-cont-box.before.middle .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-middle.svg) no-repeat center;

}

.guideline-cont-box.before.end .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-end.svg) no-repeat center;

}

.guideline-cont-box.ongoing.start .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-start.svg) no-repeat center;

}

.guideline-cont-box.ongoing.middle .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-middle.svg) no-repeat center;

}

.guideline-cont-box.ongoing.end .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-end.svg) no-repeat center;

}

.guideline-cont-box.ongoing.righthalf .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-righthalf.svg) no-repeat center;

}

.guideline-cont-box.ongoing.lefthalf .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-lefthalf.svg) no-repeat center;

}

.guideline-cont-box.ongoing.middleex .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-middleex.svg) no-repeat center;

}

.guideline-cont-box.ongoing.righthalfex .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-righthalfex.svg) no-repeat center;

}

.guideline-cont-box.ongoing.lefthalfex .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-lefthalfex.svg) no-repeat center;

}

.guideline-cont-box.ongoing.righthalfcolor .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-righthalfcolor.svg) no-repeat center;

}

.guideline-cont-box.ongoing.lefthalfcolor .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-lefthalfcolor.svg) no-repeat center;

}

/*스테퍼 이미지 추가*/
.guideline-cont-box.before.startend .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-startend.svg) no-repeat center;

}

.guideline-cont-box.before.endend .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-endend.svg) no-repeat center;

}

.guideline-cont-box.before.righthalfend .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-righthalfend.svg) no-repeat center;

}

.guideline-cont-box.before.lefthalfend .guideline-stepper {
    background: url(../img/contents/debt/Status-before-Step-lefthalfend.svg) no-repeat center;

}

.guideline-cont-box.ongoing.startend .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-startend.svg) no-repeat center;

}

.guideline-cont-box.ongoing.endend .guideline-stepper {
    background: url(../img/contents/debt/Status-ongoing-Step-endend.svg) no-repeat center;

}

.guideline-cont-box.ongoing p {
    font-weight: bold;
}

/*고객의 소리 결과*/

.voc-result-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    align-self: stretch;
    gap: 20px;
    margin-bottom: 20px;
    background: linear-gradient(93deg, var(--krds-color-light-gray-10) 0%, #FFEBD0 100%);
    padding: 4.8rem 36px;
    border-radius: var(--krds-radius-xlarge2);
}

.voc-result-cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-align: center;
}

.voc-result-cont strong {
    font-size: 2.4rem;
}

.voc-result-cont button {
    margin-top: 2.6rem;
}

/*아코디언 내부 박스 스타일*/
.point-color {
    color: var(--krds-light-color-text-point);
}

.g-info-box.full .g-desc-box.row .conts-desc {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
}

.g-info-box.full .g-desc-box.row.center {
    align-items: center;
}

.accordion-body .conts-desc .line {
    height: 1px;
    background: #ccc;
    width: 100%;
}

.g-info-box.full {
    margin: 12px 0;
    flex: 1 0 0;
}

.g-info-box.row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.g-info-box.row.start {
    align-items: flex-start;
}

.g-tit.flex {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
}

.g-tit span.tag.orange {
    line-height: 2.4rem;
    height: 2.4rem;
    background-color: var(--krds-color-light-gray-50);
    color: var(--krds-color-light-gray-0);
    font-size: 1.5rem;
    border-radius: 20px;
    padding: 0 8px;
    font-size: 1.5rem;
    white-space: nowrap;
    font-weight: 400;
    box-sizing: border-box;
}

.g-tit.center {
    text-align: center;
}

.g-tit.gray {
    color: var(--krds-light-color-text-disabled);
}

.g-tit.blue {
    color: #2B69C6;
}

.g-tit.large {
    font-size: 3.2rem !important;
}

.g-info-box .g-desc-box .g-tit.info,
.noti.g-tit.info,
.noti.g-tit.exclamation {
    margin-left: 3rem;
}

.exclamation {
    margin-top: 1.6rem;
    padding-left: 3rem;
}

.g-info-box .g-desc-box .g-tit.info::before,
.noti.g-tit.info::before,
.info::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: -30px;
    width: 24px;
    height: 24px;
    background: url(../img/icons/annotation-info.svg) no-repeat center;
}

.noti.g-tit.exclamation::before,
.exclamation::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 2.6rem;
    height: 2.6rem;
    background: url(../img/icons/exclamation.svg) no-repeat center;
}

.g-wrap .g-desc-box {
    height: 100%;
    justify-content: space-between;
}

.g-wrap .g-desc-box>p {
    font-size: 1.9rem;
}

.g-wrap .g-desc-box>.orange-info {
    font-size: 1.7rem;
}

.g-wrap .g-info-box.full .g-desc-box.fcg0 {
    align-items: center;
}

.g-wrap.row {
    display: flex;
    flex-direction: row;
    gap: 8px;
}

.g-wrap .g-info-box.point {
    background-color: var(--krds-light-color-surface-point-subtler);
    border: 1px solid var(--krds-light-color-border-point-light);
    flex: 1 0 0;
    margin-top: 2rem;
}

.g-wrap .g-info-box.point .g-tit {
    color: var(--krds-light-color-text-point);
}

.g-wrap .g-info-box.point .g-tit .colorbasic {
    color: var(--krds-light-color-text-basic);
}

.g-wrap .g-info-box .g-desc-box .g-tit {
    font-size: var(--krds-pc-font-size-heading-small);
}

.g-wrap .g-info-box .g-desc-box .g-tit.info {
    font-size: 2rem;
}

.g-wrap .g-info-box .g-desc-box .g-tit.big {
    font-size: var(--krds-pc-font-size-heading-large);
}

.g-wrap .g-info-box .g-desc-box .g-tit.big .color-blue {
    color: #096AB3;
}

.g-wrap .g-info-box .g-desc-box .flex.center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.g-wrap .g-info-box .g-desc-box .small {
    font-size: 1.3rem;
}

.g-wrap .g-info-box.point .krds-info-list>li {
    letter-spacing: -0.05em;
}

.g-wrap .g-info-box.gray {
    background-color: var(--krds-light-color-surface-gray-subtler);
    border: none;
}

.g-wrap .g-info-box.purple {
    background-color: #F3F2FF;
    padding: var(--krds-pc-padding-card-medium);
    border-radius: var(--krds-radius-xlarge3);
}

.g-wrap .g-info-box.purple .g-desc-box .cont-wrap {
    max-width: calc(100% - 80px);
    height: 100%;
    width: 100%;
}

.g-grid-wrap.unitrow {
    display: flex;
}

.g-grid-wrap.unit2 .g-info-box,
.g-grid-wrap.unit4 .g-info-box {
    padding: 2.4rem 3.2rem 3.2rem;
    margin: 0;
}

.g-grid-wrap.unit3 .g-info-box {
    padding: 3.2rem;
}

.g-info-box.full .g-desc-box.row {
    flex-direction: row;
    align-items: flex-end;
}

@media (max-width: 1279px) {
    .g-info-box.full .g-desc-box.row {
        flex-direction: column;
        align-items: flex-start;
    }
}

.g-info-box.full .g-desc-box,
.g-grid-wrap.unit2 .g-info-box.sm .g-desc-box,
.g-grid-wrap.unit4 .g-info-box.sm .g-desc-box {
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
}

.g-info-box.full .g-desc-box .g-tit,
.g-grid-wrap.unit2 .g-info-box.sm .g-desc-box .g-tit,
.g-grid-wrap.unit3 .g-info-box.sm .g-desc-box .g-tit,
.g-grid-wrap.unit4 .g-info-box.sm .g-desc-box .g-tit {
    font-weight: bold;
    margin-bottom: 0.8rem;
}

.g-grid-wrap.unit2 .g-info-box.sm .g-desc-box .conts-desc,
.g-grid-wrap.unit3 .g-info-box.sm .g-desc-box .conts-desc,
.g-grid-wrap.unit4 .g-info-box.sm .g-desc-box .conts-desc {
    min-height: 130px;
    font-size: var(--krds-pc-font-size-body-medium);
    margin-top: 0.8rem;
    height: 100%;
    width: 100%;
}

.g-grid-wrap.unit2 .g-info-box.sm .g-desc-box .g-img,
.g-grid-wrap.unit3 .g-info-box.sm .g-desc-box .g-img,
.g-grid-wrap.unit4 .g-info-box.sm .g-desc-box .g-img {
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

.g-grid-wrap.unit2 .g-info-box.sm .g-desc-box .g-img img,
.g-grid-wrap.unit3 .g-info-box.sm .g-desc-box .g-img img,
.g-grid-wrap.unit4 .g-info-box.sm .g-desc-box .g-img img {
    height: 6rem;
    width: auto;
}

.g-grid-wrap .g-info-box.sm .g-desc-box .g-img.between {
    justify-content: space-between !important;
    align-items: flex-end !important;
}

.g-grid-wrap.contect {
    position: relative;
    display: flex !important;
    gap: var(--krds-gap-4) !important;
    margin-top: 4rem;
}

.g-grid-wrap.contect .item-share.active {
    top: 135px;
    right: 0;
}

.g-grid-wrap.contect .g-info-box {
    width: 100%;
    justify-self: stretch;
    display: flex;
    flex-direction: row;
    border-radius: var(--krds-radius-xlarge2);
}

.g-grid-wrap.contect .g-info-box .g-desc-box {
    width: 100%;
    gap: 8px !important;
}

.g-grid-wrap.contect .g-info-box .g-img {
    max-height: 7rem;
    margin: auto 0;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .conts-desc.largetext.primary {
    color: var(--krds-color-light-primary-60);
    font-size: var(--krds-pc-font-size-heading-medium);
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 0;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .conts-desc.largetext.primary .board-ph {
    display: block;
    color: var(--krds-color-light-gray-95);
    font-size: 1.9rem;
    font-weight: 500;
    line-height: 150%;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .conts-desc {
    display: flex;
    align-items: center;
    height: auto;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .conts-desc img {
    width: 1.4rem;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .g-text-wrap {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 6px;
}

.g-grid-wrap.contect .g-info-box .g-desc-box .g-text-wrap .g-subtit {
    color: var(--krds-light-color-text-basic);
    font-size: var(--krds-pc-font-size-label-xsmall);
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 2px;
}

.g-grid-wrap.contect .g-info-box.lightblue {
    background-color: #DEF9EF;
}

.g-grid-wrap.contect .g-info-box.lightpurple {
    background-color: #EDF4FF;
}

.krds-info-list .g-tit {
    color: var(--krds-light-color-text-basic);
    font-size: var(--krds-pc-font-size-heading-small);
    font-weight: 700;
    line-height: 150%;
}

.krds-info-list .gray {
    color: var(--krds-light-color-text-disabled) !important;
}

.krds-info-list li .krds-table-wrap {
    margin-top: 0;
    margin-bottom: 0.8rem;
}

.g-info-box.sm.full {
    margin-top: 1.6rem;
}

.g-info-box.sm.full .g-desc-box {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.g-info-box.sm.full .g-desc-box .conts-desc {
    width: 100%;
}

.g-desc-box .inner-box-white {
    padding: var(--krds-pc-padding-card-medium);
    background-color: var(--krds-light-color-surface-white);
    border-radius: var(--krds-radius-xlarge2);
    width: 100%;
}

.krds-info-list>li {
    font-size: 1.9rem;
}


.krds-info-list>li>ul>li {
    font-size: 1.7rem;
    line-height: 1.2;
}

table .krds-info-list>li {
    font-size: 1.7rem;
}

.krds-info-list.decimal {
    gap: 2px;
    text-align: left;
}

.krds-info-list.decimal ul {
    width: 100%;
}

.krds-info-list.decimal p {
    font-size: 1.9rem;
}

.krds-info-list>li>.krds-info-list {
    margin-top: 0;
}

.krds-info-list.decimal li .krds-info-list {
    margin-top: 0;
}

.krds-info-list.dash .before-none::before,
.krds-info-list.dash li.before-none,
.krds-info-list.decimal .before-none::before,
.krds-info-list.decimal li.before-none {
    content: '';
    background-color: transparent;
    padding-left: 0;
}

.krds-info-list .before-none.indent125 {
    display: flex;
}

.krds-info-list .before-none.indent125::before {
    display: none;
}

.krds-info-list .before-none.indent125 {
    display: flex;
}

.krds-info-list .before-none.indent125 strong {
    width: 125px;
    flex: none;
}

.g-conts-area.flex {
    display: flex;
    flex-direction: column;
    gap: var(--krds-gap-4);
}

.g-conts-area .bullet,
.krds-info-list.decimal .bullet {
    font-size: var(--krds-pc-font-size-heading-medium);
    color: var(--krds-light-color-text-secondary);
    padding-left: 12px;
    position: relative;
}

.g-conts-area .bullet::before,
.krds-info-list.decimal .bullet::before {
    content: '';
    width: 0.4rem;
    height: 2.4rem;
    background: url(../img/icons/bullet.svg) no-repeat center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.krds-info-list+.krds-table-wrap {
    margin-top: 2rem;
}

.g-wrap .g-conts-area .conts-desc {
    margin-bottom: var(--krds-gap-4);
    font-size: var(--krds-pc-font-size-body-large);
}

.g-wrap .g-conts-area .desc-conts p {
    margin-bottom: 0.5rem;
}

.g-wrap .g-conts-area .desc-conts p strong {
    margin-left: 1.2rem;
}

.g-wrap .g-conts-area .desc-conts p .big {
    font-size: 3.2rem;
}

.choose-list {
    overflow: hidden;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.choose-list li {
    background-color: var(--krds-color-light-gray-0);
    padding: 0.7rem 1.2rem;
    font-weight: 400;
    font-size: 1.7rem;
    line-height: 26px;
    color: var(--krds-color-light-gray-95);
    border-radius: 1000px;
}

.choose-list li.on {
    background-color: #58616A;
    color: var(--krds-color-light-gray-0);
}

.noti {
    margin-top: var(--krds-gap-4);
    /* display: flex; */
    align-items: flex-start;
    gap: var(--krds-gap-2);
    width: 100%;
    font-size: var(--krds-pc-font-size-body-medium);
}

.noti .svg-icon {
    width: 1.8rem;
    height: 1.8rem;
    flex-shrink: 0;
}

.noti .primary {
    color: var(--krds-light-color-text-primary);
}

.conts-desc.row,
.accordion-body .conts-desc.row {
    display: flex;
    flex-direction: row;
    gap: var(--krds-gap-8);
}

.conts-desc.row.orange-box {
    padding: 2rem 3.2rem;
    align-items: center;
    gap: 2rem;
    background-color: var(--krds-color-light-primary-10);
    border-radius: 24px;
    margin-top: 16px;
}

.accordion-body .conts-desc.row .accordion-cont-img {
    flex: none;
    padding: 2rem;
    height: fit-content;
    border-radius: var(--krds-radius-xlarge3);
}

.conts-desc-list {
    border-top: 1px solid #1B2025;
}

.conts-desc-list.noboder {
    border-top: none;
    margin-top: 2rem;
}

.conts-desc-list .conts-desc.row {
    padding: 4rem 0;
    border-bottom: 1px solid var(--krds-color-light-gray-20);
    justify-content: flex-start;
}

.conts-desc-list.noboder .conts-desc.row {
    padding: 1.6rem 0;
    border-bottom: none;
    justify-content: flex-start;
}

.conts-desc-list .conts-desc.row .desc-cont-img {
    flex: none;
    width: 10rem;
    padding: 2rem;
    height: fit-content;
    border-radius: var(--krds-radius-xlarge3);
}

.conts-desc .desc-tit {
    margin-bottom: 8px;
    color: var(--krds-color-light-gray-95);
    font-size: 1.9rem;
    font-weight: 700;
}


/*미션과 비전 핵심가치 컨텐츠 영역*/
.mission-box {
    display: flex;
    padding: 5.6rem 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex: 1 0 0;
    border-radius: var(--krds-radius-xlarge3);
}

.mission-box strong {
    font-size: var(--krds-pc-font-size-body-large);
}

.mission-box p {
    text-align: center;
}

/*박스 컬러 배경*/
.yellow-box {
    background-color: #FFF6DE !important;
}

.blue-box {
    background-color: #EDF4FF !important;
}

.green-box {
    background-color: #EEF9E8 !important;
}

.skyblue-box {
    background-color: #DEF9FE !important;
}

.red-box {
    background-color: #FFEEE9 !important;
}

.gray-box {
    background-color: #F4F5F6 !important;
}

.purple-box {
    background-color: #F3F2FF !important;
}

.white-box {
    background-color: white !important;
}

.round-box {
    border: 1px solid var(--krds-color-light-gray-20);
    padding: 3.2rem;
    border-radius: 2.4rem;
}

.roundcheck.green .krds-info-list.decimal>li::before {
    background: url(../../img/icons/check_circle_bullet_green.png) no-repeat center;
}

.agree-text {
    margin-bottom: 2rem;
}

/*행동강령 및 윤리헌장 스타일*/
.charter-wrap {
    padding: 3.2rem;
    background-color: var(--krds-color-light-primary-20);
    border-radius: var(--krds-radius-xlarge2);
}

.charter-box {
    position: relative;
    padding: 10rem 7rem;
    background-color: var(--krds-color-light-gray-0);
    border-radius: var(--krds-radius-xlarge2);
    display: flex;
    gap: 40px;
    flex-direction: column;
    align-items: center;
}

.charter-title {
    display: flex;
    align-items: center;
    gap: var(--krds-gap-4);
}

@media (max-width: 1279px) {
    .charter-wrap {
        padding: 10px;
    }

    .charter-box {
        padding: 80px 60px;
    }

    .charter-box svg {
        display: none;
    }

    .charter-title {
        flex-direction: column;
    }
}

.charter-title img {
    height: 4.2rem;
}

.charter-title .sec-tit {
    font-size: var(--krds-pc-font-size-heading-xlarge);
}

.charter-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--krds-gap-6);
    align-self: stretch;
}

.charter-text.center {
    align-items: center;
}

.charter-text.center .g-tit {
    text-align: center;
}

.charter-text.row {
    flex-direction: row;
    gap: var(--krds-gap-4);
}

.charter-svg {
    position: absolute;
    width: calc(100% - 5rem);
    display: inline-flex;
    justify-content: space-between;
}

.charter-svg.top {
    top: 25px;
}

.charter-svg.top::before {
    content: '';
    background: url(../img/common/top_left.svg) no-repeat;
    display: block;
    width: 12.7rem;
    height: 12.7rem;
}

.charter-svg.top::after {
    content: '';
    background: url(../img/common/top_right.svg) no-repeat;
    display: block;
    width: 12.7rem;
    height: 12.7rem;
}

.charter-svg.bottom {
    bottom: 25px;
}

.charter-svg.bottom::before {
    content: '';
    background: url(../img/common/bottom_left.svg) no-repeat;
    display: block;
    width: 12.7rem;
    height: 12.7rem;
}

.charter-svg.bottom::after {
    content: '';
    background: url(../img/common/bottom_right.svg) no-repeat;
    display: block;
    width: 12.7rem;
    height: 12.7rem;
}

.charter-svg.top::before,
.charter-svg.top::after,
.charter-svg.bottom::before,
.charter-svg.bottom::after {
    background-size: 100%;
}

/*윤리강령 아코디언 추가 스타일*/
.board-list .g-tit {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 2.4rem;
}

/*신복위 상징 스타일*/
.g-wrap .g-info-box.logo-img-box {
    display: flex;
    padding: 3rem 0;
    justify-content: center;
    align-items: center;
    align-self: stretch;
}

.logo-img-box .logo-info {
    display: flex;
    padding: 0 4rem;
    flex-direction: column;
    justify-content: center;
    gap: 16px;
    flex: 1 0 0;
    margin-top: -1.4rem;
}

@media (max-width: 767px) {
    .g-wrap .g-info-box.logo-img-box {
        flex-direction: column;
        gap: 4.2rem;
    }
    .g-wrap .g-info-box.logo-img-box svg {
        display: none;
    }
    .logo-img-box .logo-info {
        margin-top: -1.2rem;
    }
}

/* 연도 탭 섹션 */
.year-tab-wrap {
    display: flex;
    align-items: flex-start;
    width: 100%;
}

.year-tab {
    position: relative;
    cursor: pointer;
}

.year-tab:nth-child(1) {
    width: 32.6rem;
}

.year-tab:nth-child(2) {
    width: 32.7rem;
}

.year-tab:nth-child(3) {
    width: 32.7rem;
}

.year-cont {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    justify-content: center;
    padding: 0 0 1.6rem 0;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

.year-text {
    font-size: var(--krds-pc-font-size-heading-large);
    color: var(--krds-light-color-text-disabled);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 1px;
}

.year-tab.active .year-text {
    color: var(--krds-light-color-text-basic);
}

.year-border {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--krds-light-color-border-gray-light);
}

.year-tab.active .year-border {
    height: 0.2rem;
    background-color: var(--krds-light-color-border-gray-dark);
}

/*연혁 페이지 스타일*/
/* 타임라인 컨테이너 - Flexbox 기반 */
.timeline-content-flex {
    display: flex;
    flex-direction: column;
    gap: 60px;
    width: 100%;
    max-width: 120rem;
    margin: 0 auto;
}

/* 타임라인 연도 섹션 - Grid 레이아웃 */
.timeline-year-section {
    display: grid;
    grid-template-columns: 360px 1fr;
    gap: 40px;
    align-items: start;
    padding: 4rem 0;
    position: relative;
}


/* 이미지 영역 */
.timeline-image-area {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.timeline-image-card {
    width: 100%;
    height: 23rem;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
}

.timeline-image-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 콘텐츠 영역 */
.timeline-content-area {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding-left: 2rem;
}

.timeline-content-area::before {
    content: '';
    position: absolute;
    top: 27px;
    left: 32px;
    width: 1px;
    height: 200%;
    background-color: var(--krds-color-light-primary-30);
}

.timeline-year-section:last-child .timeline-content-area::before {
    height: 100%;
}

/* 연도 헤더 - Flexbox 기반 */
.timeline-year-header-flex {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 2rem;
}

.timeline-year-flex {
    font-size: 4.4rem;
    color: var(--krds-light-color-text-disabled);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 1px;
}

.timeline-year-icon-flex {
    width: 2.4rem;
    height: 2.4rem;
    flex-shrink: 0;
    background: url(../images/ic/sub/ic_history_year.svg) no-repeat;
}

.timeline-year-icon-flex img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 이벤트 리스트 - Flexbox 기반 */
.timeline-events-flex {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-left: 2.4rem;
}

.timeline-event-item-flex {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: 20px;
    align-items: start;
    padding: 1.2rem 0;
    border-left: 2px solid transparent;
    padding-left: 1.6rem;
    transition: all 0.2s ease;
}

/* .timeline-event-item-flex:hover {
    border-left-color: var(--krds-light-color-border-gray);
    background-color: rgba(var(--krds-light-color-bg-alternative-rgb), 0.3);
    margin-left: -16px;
    padding-left: 30px;
} */

.timeline-date-flex {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--krds-light-color-text-bolder);
    line-height: 1.4;
}

.timeline-event-content-flex {
    font-size: 1.6rem;
    color: var(--krds-light-color-text-basic);
    line-height: 1.5;
    transform: translateY(-3px);
}

.timeline-event-multi-flex {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* 준비중 콘텐츠 - Flexbox 기반 */
.timeline-placeholder-flex {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px;
    text-align: center;
    color: var(--krds-light-color-text-disabled);
    gap: 16px;
}

.timeline-event-content-flex span {
    position: relative;
    display: block;
    font-size: 1.4rem;
    opacity: 0.8;
    padding-left: 1.8rem;
    line-height: 1.3;
    margin-top: 0.5rem;
}

.timeline-event-content-flex span::before {
    content: '';
    position: absolute;
    top: 11px;
    left: 2px;
    width: 0.6rem;
    height: 0.1rem;
    background: rgba(0, 0, 0, 0.8);
}

.timeline-placeholder-flex .icon {
    width: 8rem;
    height: 8rem;
    opacity: 0.5;
}

.timeline-placeholder-flex .title {
    font-size: 2.4rem;
    font-weight: 600;
    margin-bottom: 8px;
}

.timeline-placeholder-flex .desc {
    font-size: 1.6rem;
    opacity: 0.8;
}

/* 반응형 디자인 */
@media (max-width: 1279px) {
    .timeline-content-flex {
        max-width: 100%;
        padding: 0 2rem;
    }

    .timeline-year-section {
        grid-template-columns: 30rem 1fr;
        gap: 30px;
    }

    .timeline-year-flex {
        font-size: 3.6rem;
    }
}

@media (max-width: 767px) {
    .timeline-year-section {
        grid-template-columns: 1fr;
        gap: 24px;
        text-align: center;
    }

    .timeline-content-area {
        padding-left: 0;
    }

    .timeline-year-header-flex {
        justify-content: center;
        margin-bottom: 2.4rem;
    }

    .timeline-year-flex {
        font-size: 3.2rem;
    }

    .timeline-event-item-flex {
        grid-template-columns: 70px 1fr;
        gap: 16px;
    }

    .timeline-image-card {
        height: 20rem;
    }
}

@media (max-width: 480px) {
    .timeline-content-flex {
        gap: 40px;
        padding: 0 1.6rem;
    }

    .timeline-year-section {
        padding: 2.4rem 0;
        gap: 20px;
    }

    .timeline-year-flex {
        font-size: 2.8rem;
    }

    .timeline-event-item-flex {
        grid-template-columns: 60px 1fr;
        gap: 12px;
        padding: 0.8rem 0;
    }

    .timeline-date-flex {
        font-size: 1.4rem;
    }

    .timeline-event-content-flex {
        font-size: 1.4rem;
    }

    .timeline-image-card {
        height: 18rem;
    }
}

/*위원장 인사말 스타일*/
.chairman-box {
    display: flex;
    gap: 4.8rem;
}

@media (max-width: 1279px) {
    .chairman-box {
        flex-direction: column;
        gap: 20px;
    }
}

.chairman-box h4 {
    font-size: 3.6rem;
    line-height: 1.3;
    font-weight: bold;
}

.chairman-box h4 .primary {
    font-size: 3.6rem;
    line-height: 1.3;
}

.chairman-box .g-img {
    border-radius: var(--krds-radius-xlarge2);
    width: fit-content;
    height: fit-content;
    overflow: hidden;
    flex-shrink: 0;
}

.chairman-signiture {
    margin-top: 2rem;
    width: 100%;
    justify-content: flex-end;
    align-items: center;
}

/*고객의소리 상담안내 스타일*/
.g-tit-img {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.page-description.margin-none {
    margin-bottom: 0;
}

.g-wrap .g-info-box .g-desc-box .g-tit.call-time {
    font-size: var(--krds-pc-font-size-heading-medium);
}

.krds-btn.full {
    width: 100%;
}

.small-text {
    color: var(--krds-light-color-text-subtle);
    font-size: var(--krds-pc-font-size-body-small);
}

.conts-desc.qr-box {
    display: inline-flex;
    padding: 1.3rem 1.5rem 1.3rem 2rem;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border: 1px solid var(--krds-light-color-border-gray);
    border-radius: var(--krds-radius-xlarge2);
}

.content-sections.g-wrap.call-wrap {
    gap: var(--krds-gap-4);
}

.sec-tit.call-tit {
    margin-top: var(--krds-pc-gap-layout-title-body-large);
}

/* 나에게 맞는 채무 조정 찾기 신규 디자인 스타일 */
.figma-step-container {
    max-width: 100%;
    position: relative;
}

/* 단계 탭 영역 */
.figma-step-tabs {
    display: flex;
    gap: 2px;
    height: 4rem;
    width: 100%;
    margin-bottom: 0;
}

.figma-step-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4rem;
    border-radius: 1.2rem 1.2rem 0 0;
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 100%;
}

.figma-step-tab.active {
    background-color: #f2e9ff;
    color: var(--krds-color-light-gray-95);
}

.figma-step-tab:not(.active) {
    background-color: var(--krds-color-light-gray-10);
    color: #6d7882;
}

/* 컨텐츠 영역 */
.figma-step-content {
    background-color: #f2e9ff;
    height: 60rem;
    border-radius: 0 0 2.4rem 2.4rem;
    padding: 3.2rem 2rem 2.4rem;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* 스텝 내용 */
.figma-step-item {
    display: none;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 2rem;
    padding-bottom: 4rem;
    height: 100%;
}

/* 첫 번째 단계만 기본 표시 */
.figma-step-item.active {
    display: flex;
    justify-content: center;
}

/* 스텝 그룹 (아이콘 + 내용) */
.figma-step-group {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    justify-content: center;
}

/* 아이콘 영역 - flexbox 기준 */
.figma-step-icon {
    flex-shrink: 0;
    width: 4.8rem;
    height: 4.8rem;
    margin-top: 4px;
}

.figma-step-icon img {
    width: 100%;
    height: 100%;
}

/* 스텝 컨텐츠 - flexbox 기준 */
.figma-step-inner {
    flex: 1;
    max-width: 44.8rem;
}

.figma-step-header {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 1.6rem;
    width: 100%;
}

/* 2단계 전용 헤더 폭 제한 제거 - 피그마 기준으로 통일 */

.figma-step-title {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.5;
    color: var(--krds-color-light-gray-95);
    width: 100%;
}

.figma-step-subtitle {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--krds-color-light-gray-95);
    width: 100%;
}

/* 입력 박스 - flexbox 기준 */
.figma-input-box {
    background-color: var(--krds-color-light-gray-0);
    border-radius: 6px;
    height: 4.8rem;
    width: 100%;
    /* max-width: 448px; */
    box-sizing: border-box;
    padding: 0 1.6rem;
    display: flex;
    align-items: center;
    position: relative;
}

.figma-input-label {
    position: relative;
    font-size: 1.7rem;
    color: var(--krds-color-light-gray-95);
    white-space: nowrap;
    margin-right: 0.8rem;
}

.figma-input-value-container {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 4px;
}

.figma-input-field {
    background: transparent;
    border: none;
    outline: none;
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: bold;
    font-size: 1.9rem;
    color: var(--krds-color-light-gray-95);
    text-align: right;
    margin-left: auto;
    margin-right: 4px;
    width: 100%;
    min-width: 60px;
}

.figma-input-field::placeholder {
    color: #8a949e;
    font-weight: normal;
}

.figma-input-value {
    font-family: 'Pretendard GOV', sans-serif;
    font-weight: bold;
    font-size: 1.9rem;
    color: var(--krds-color-light-gray-95);
}

.figma-input-unit {
    font-family: 'Pretendard GOV', sans-serif;
    font-size: 1.7rem;
    color: #8a949e;
}

/* 선택 칩 영역 - flexbox 기준 */
.figma-chips-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    width: calc(100% + 60px);
    /* max-width: 525px; */
    margin-left: -60px;
    align-items: center;
    justify-content: flex-start;
}

.figma-chip {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 4.8rem;
    width: calc(50% - 4px);
    border-radius: 6px;
    padding: 0 12px;
    font-family: 'Pretendard GOV', sans-serif;
    font-size: 1.7rem;
    line-height: 1.5;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
}

.figma-chip.radio-option:has(input:checked) {
    background-color: #344d82;
    color: var(--krds-color-light-gray-0);
}

.figma-chip.radio-option:not(.active) {
    background-color: var(--krds-color-light-gray-0);
    color: var(--krds-color-light-gray-95);
    border: 1px solid var(--krds-color-light-gray-10);
}

/* 버튼 영역 */
.figma-buttons {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.figma-btn {
    height: 4.8rem;
    width: 25.2rem;
    border-radius: 6px;
    font-size: 1.7rem;
    line-height: 1.5;
    cursor: pointer;
    border: none;
    transition: all 0.3s ease;
}

.figma-btn.secondary {
    background-color: transparent;
    color: var(--krds-color-light-gray-95);
    border: 1px solid #6d7882;
}

.figma-btn.primary {
    background-color: var(--krds-color-light-primary-50);
    color: var(--krds-color-light-gray-0);
}

/* 반응형 */
@media (max-width: 1279px) {
    .figma-step-container {
        max-width: 100%;
    }

    .figma-step-item[data-step="1"],
    .figma-step-item[data-step="2"] {
        gap: 36px;
    }

    .figma-step-inner {
        max-width: 100%;
    }

    .figma-input-box {
        max-width: 40rem;
    }

    .figma-chips-container {
        max-width: 40rem;
        margin: 0;
    }

    .figma-chip {
        width: calc(50% - 4px);
    }
}


/* 탭별 배경색 설정 */
.figma-step-container[data-current-step="1"] .figma-step-content,
.figma-step-container[data-current-step="1"] .figma-step-tab.active {
    background: #F2E9FF;
}

.figma-step-container[data-current-step="2"] .figma-step-content,
.figma-step-container[data-current-step="2"] .figma-step-tab.active {
    background: #E6F3F5;
}

.figma-step-container[data-current-step="3"] .figma-step-content,
.figma-step-container[data-current-step="3"] .figma-step-tab.active {
    background: #EBFBD9;
}

.figma-step-container[data-current-step="4"] .figma-step-content,
.figma-step-container[data-current-step="4"] .figma-step-tab.active {
    background: #E8F5FF;
}

.figma-step-container[data-current-step="5"] .figma-step-content,
.figma-step-container[data-current-step="5"] .figma-step-tab.active {
    background: #FFEDFE;
}

/* 기본 스타일 유지 */
.figma-step-content {
    transition: background-color 0.3s ease;
    position: relative;
}

.figma-step-tab {
    transition: all 0.3s ease;
}


/* 버튼 영역이 그라디언트 위에 위치하도록 */
.figma-buttons {
    position: relative;
    z-index: 5;
    /* 그라디언트보다 위에 */
}

/* input-box와 버튼을 함께 배치하기 위한 컨테이너 */
.figma-input-wrapper {
    display: flex;
    gap: 8px;
    align-items: center;
    width: calc(100% + 6rem);
    /* max-width: 525px; */
    margin-left: -6rem;
}

/* figma-input-box가 wrapper 안에 있을 때 */
.figma-input-wrapper .figma-input-box {
    flex: 1;
    /* 남은 공간을 모두 차지 */
}

@media (max-width: 1279px) {
    .figma-input-wrapper {
        width: 100%;
        margin-left: 0;
    }

    .figma-step-content {
        height: auto;
    }
}

@media (max-width: 767px) {
    .figma-step-tabs {
        flex-direction: row;
        gap: 0;
        padding: 0;
        height: auto;
        overflow-x: auto;
    }

    .figma-step-tabs::-webkit-scrollbar {
        display: none;
    }

    .figma-step-tab {
        width: auto;
        padding: 1.2rem 1.6rem;
        font-size: 1.4rem;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .figma-step-item[data-step="1"],
    .figma-step-item[data-step="2"] {
        flex-direction: column;
        align-items: center;
    }

    .figma-step-icon {
        margin-top: 0;
        width: 4.8rem;
        height: 4.8rem;
    }

    .figma-step-inner {
        width: 100%;
        max-width: 100%;
    }

    .figma-step-header {
        text-align: center;
        margin-bottom: 1.6rem;
    }

    .figma-step-title {
        font-size: 1.8rem;
        line-height: 24px;
    }

    .figma-input-box,
    .figma-chips-container {
        max-width: 100%;
        width: 100%;
    }

    .figma-input-box {
        width: calc(100% - 5.8rem);
    }

    .figma-input-box .figma-input-field {
        width: auto;
    }

    .figma-input-wrapper .figma-chip-button {
        width: 5rem;
    }

    .figma-chip {
        width: 100%;
        margin-bottom: 8px;
    }

    .figma-buttons {
        flex-direction: column;
        gap: 12px;
    }

    .figma-btn {
        width: 100%;
    }

    .figma-step-group {
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
}

/* Figma에서 가져온 버튼 스타일 */
.figma-chip-button {
    background-color: var(--krds-color-light-gray-0);
    box-sizing: border-box;
    display: flex;
    gap: 4px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 0 1.2rem;
    height: 4.8rem;
    border-radius: 6px;
    border: 1px solid var(--krds-color-light-gray-10);
    font-family: 'Pretendard GOV', sans-serif;
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--krds-color-light-gray-95);
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    /* 크기 고정 */
}

.figma-chip-button:hover {
    background-color: #f8f9fa;
    border-color: #d1d3d8;
}

.figma-chip-button:active,
.figma-chip-button.selected {
    background-color: #344d82;
    color: var(--krds-color-light-gray-0);
}

/*채무조정찾기 추가 스타일*/
.info-list .g-info-box {
    display: flex;
    padding: 2.4rem;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 12px;
    flex: 1 0 0;
    border-radius: var(--krds-radius-xlarge2);
}

.info-list .g-info-box p {
    font-size: var(--krds-pc-font-size-body-medium);
}

/*채무조정 실효 추가 스타일*/
.g-info-box.pink-gradient-box {
    padding: 5.6rem;
    background: linear-gradient(179deg, #FFF3FB -3%, #FECCED 100%);
}

.white-box {
    padding: 1.8rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    border-radius: 24px;
    flex: 1 0 0;
}

.flex-start .white-box {
    justify-content: flex-start;
}

.white-box .g-tit.center {
    text-align: center;
    font-size: 1.7rem;
    margin-bottom: 0;
}

.g-info-box.pink-gradient-box .g-tit h2 {
    font-weight: bold;
    margin-bottom: 4rem;
}

.conts-desc .accordion-text {
    margin-bottom: 1.6rem;
}

.g-info-box.center {
    align-items: center;
}

.callcenter-margin {
    margin-right: 4rem;
    margin-bottom: -4rem;
}

/*신용도우미 추가 스타일*/
.g-info-box.helpguide {
    padding: 4rem;
}

.g-info-box .cont-wrap .conts-desc .g-tit.helpguide {
    font-size: 2.4rem;
}

.g-img.row {
    display: flex;
    flex-direction: row;
}

.g-img.row.between {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}

@media (max-width: 767px) {
    .g-img.row.between {
        flex-direction: column;
        gap: 12px;

        .donut-graph {
            margin-top: 36px;
        }
    }
}

.g-img.blue.round {
    background: #F6FAFF;
    border-radius: 2.4rem;
}

.g-img.fit img {
    object-fit: none;
    padding: 2.4rem 0;
}

.qr-flexbox {
    display: flex;
    gap: 8px;
    width: 50%;
}

.qr-flexbox .white-box {
    padding: 1.2rem 1.2rem 1.6rem 1.2rem;
}

.g-desc-box.gap-40 {
    gap: 40px !important;
}

.level-list {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.level-list-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start;
    padding-bottom: 3.2rem;
    border-bottom: 1px dashed var(--krds-light-color-border-gray-light);
}

.level-list-item:last-of-type {
    border-bottom: none;
}

.level-list-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.level-list-text {
    padding-left: 5.2rem;
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: flex-start;
}

.btn.level-youtube {
    display: flex;
    padding: 0 1.6rem;
    justify-self: center;
    align-items: center;
    gap: 4px;
    border: 1px solid var(--krds-light-color-button-tertiary-border);
    font-size: var(--krds-pc-font-size-body-medium);
}

.helperapp-box {
    display: flex;
    padding: 4rem 0;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    align-self: stretch;
    border-radius: 24px;
}

.helperapp-title {
    font-size: var(--krds-pc-font-size-heading-large);
}

.helperapp-box.greengradient {
    background: linear-gradient(180deg, #F0FEFC 0%, #CFF8F0 100%);
}

.helperapp-box.bluegradient {
    background: linear-gradient(180deg, #EFF7FF 0%, #CBE2FF 100%);
}

.helperapp-box p {
    text-align: center;
}

.level-list-gray-box {
    padding: 0.8rem 1.6rem;
    border-radius: 6px;
    background-color: var(--krds-light-color-surface-gray-subtler);
}

@media print {

    /* 기본 설정 */
    * {
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    @page {
        size: A4;
        margin: 1cm;
    }

    table {
        width: 100% !important;
        max-width: 100% !important;
    }

    .noprint {
        display: none;
    }

    html {
        width: 210mm;
        min-width: 1340px;
        height: 297mm;
        margin: 0;
        padding: 0;
        font-size: 1rem;
        line-height: 1.4;
        color: var(--krds-color-light-gray-100);
        background: var(--krds-color-light-gray-0);
    }

    body {
        width: 210mm;
        min-width: 1340px;
        height: 297mm;
        margin: 0;
        padding: 0;
        font-size: 1.7rem;
        line-height: 1.4;
        color: var(--krds-color-light-gray-100);
        background: var(--krds-color-light-gray-0);
    }

    /* 반응형 무시 */
    .container,
    .wrapper,
    main {
        width: 100% !important;
        max-width: none !important;
        min-width: 1340px !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    /* 테이블 고정 */
    table {
        table-layout: fixed !important;
        width: 100% !important;
        border-collapse: collapse;
        page-break-inside: auto;
    }

    thead {
        display: table-header-group;
    }

    tr {
        page-break-inside: avoid;
        page-break-after: auto;
    }

    th,
    td {
        padding: 8px !important;
        border: 1px solid var(--krds-color-light-gray-100) !important;
        word-wrap: break-word;
        word-break: break-all;
        vertical-align: top !important;
    }

    /* 불필요한 요소 숨기기 */
    .no-print,
    nav,
    header,
    footer,
    .sidebar,
    .btn {
        display: none !important;
    }
}


.money-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.money-area .money-box {
    width: calc(100%/4 - 8px);
    height: 8rem;
    border-radius: 10px;
    background-color: #F4F5F6;
    text-align: center;
    padding: 1.6rem;
}

.underline {
    text-decoration: underline;
    color: #004E97;
}

.underline:hover .underline:focus {
    text-decoration: underline;
    color: #004E97;
}

/* 특수말줄임 추가 (관리자페이지는 적용하면 안됨) */
.krds-structured-list.type-full.gallery .gallery-item .card-body .gall-text .gall-txt {
    /* 텍스트 줄 수 제한 및 말줄임표 표시를 위한 필수 설정 */
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    line-height: 1.5;
    max-height: calc(1.5 * 5em);
}

.g-wrap .accordion-body .g-attach-file-wrap {
    padding: var(--krds-padding-4) 0;
    background-color: transparent;
    border: none;
}

/* 노데이터 */
.board-nodata {
    display: block;
    background: url(../img/contents/png/icon_nodata.png) top 20px center no-repeat;
    background-size: 100px;
    padding-top: 140px;
    width: 100%;
}

.board-nodata .ptxt {
    font-size: 3.6rem;
    color: var(--krds-color-light-gray-95);
}

.board-nodata .ptxt {
    margin-top: 0;
    font-size: 3.6rem;
    color: var(--krds-color-light-gray-95);
    text-align: center;
}

/* 화살표 레이어 */
.item-share {
    display: none;
    position: absolute;
    width: 40rem;
    padding: 2rem;
    background-color: var(--krds-color-light-gray-0);
    border-radius: 0.8rem;
    border: 1px solid var(--krds-color-light-gray-20);
    box-shadow: 0 0.4rem 1.2rem 0 rgba(0, 0, 0, 0.12);
    transition: 0.4s ease-in-out;
}

.item-share::before,
.item-share::after {
    position: absolute;
    top: -0.2rem;
    left: calc(100% - 2rem);
    width: 1.5rem;
    height: 1.5rem;
    background-color: var(--krds-color-light-gray-0);
    border: 1px solid var(--krds-color-light-gray-20);
    transform: rotate(45deg) translateX(-50%);
    content: "";
    z-index: 1;
}

.item-share::after {
    top: 0;
    width: 3rem;
    border: none;
    transform: translateX(-50%);
    z-index: 2;
}

.item-share .section-subtit {
    display: block;
    margin-bottom: 2.8rem;
    line-height: 1;
    font-size: 1.7rem;
}

.item-share .btn-close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    width: 2rem;
    height: 2rem;
    background-image: url(../images/common/icon/ico_close_20.svg);
}

.item-share.active {
    display: block;
    top: 0;
    z-index: 100;
}

.appdown+.item-share.active {
    height: auto !important;
    width: 25rem;
}

.utility-right .appdown+.item-share.active {
    top: 4rem;
    right: 0;
}

.card-actions .appdown+.item-share.active {
    top: 40rem;
    right: 17rem;
}

.g-grid-wrap.contect .appdown+.item-share.active {
    top: 10rem;
    right: 22rem;
}

.page-actions .item-share.active {
    top: 6rem;
    right: 0;
}

.appdown+.item-share.active .g-qr-box {
    display: flex;
    justify-content: space-between;
}

.appdown+.item-share.active .g-qr-box .qr-box {
    display: flex;
    justify-content: flex-start;
    gap: 2px;
    flex-direction: column;
}

.appdown+.item-share.active .g-qr-box .qr-box img {
    width: 72px;
    height: 72px;
}

.sns-type {
    display: flex;
    flex-flow: row wrap;
    gap: 1.6rem 1.2rem;
    margin-bottom: 1.6rem;
    text-align: center;
    font-size: 1.3rem;
}

.sns-type a {
    display: block;
    width: calc(25% - 0.9rem);
    text-align: center;
    line-height: 1;
}

.sns-type a .icon {
    display: block;
    width: 3.4rem;
    height: 3.4rem;
    margin: 0 auto 0.8rem;
}

.url-copy {
    display: flex;
    flex-flow: row wrap;
    border: 1px solid #2D2D2D;
    border-radius: 0.8rem;
    overflow: hidden;
}

.url-copy .url-box {
    display: inline-block;
    width: calc(100% - 7.2rem);
}

.url-copy input[type="url"] {
    width: 100%;
    height: 100%;
    padding: 0 1.6rem;
    border-color: transparent;
    border-radius: 0;
    font-size: 1.4rem;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.url-copy .btn-url {
    width: 7.2rem;
    padding: 0.8rem 0;
    background-color: #2D2D2D;
    border-radius: 0;
    color: var(--krds-color-light-gray-0);
    font-size: 1.3rem;
    font-weight: 400;
}

.url-copy .btn-url:focus {
    text-decoration: underline;
}

.flexbox.gap48 {
    display: flex;
    gap: 4.8rem;
}

.fillter-chip {
    text-align: center;
    height: 4.8rem;
    line-height: 46px;
    border: 1px solid #B1B8BE;
    border-radius: 8px;
    color: var(--krds-color-light-gray-95);
    font-size: 1.9rem;
    background-color: var(--krds-color-light-gray-0);
    padding: 0 16px;
}

input[type=radio]:checked+label.fillter-chip {
    text-align: center;
    height: 4.8rem;
    line-height: 46px;
    border: 1px solid var(--krds-color-light-gray-50);
    border-radius: 8px;
    color: var(--krds-color-light-gray-60);
    font-size: 1.9rem;
    background-color: #FFF9F2;
}

/* * 표시- 블럭 */
.stacato {
    padding-left: 10px;
    position: relative;
    display: block;
}

.stacato::before {
    content: '*';
    position: absolute;
    left: 0;
}

/* 한줄처리 */
.txt_1line {
    display: -webkit-inline-box;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    word-break: break-all;
}

/* 두줄처리 */
.txt_2line {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

/* 3줄처리 */
.txt_3line {
    display: -webkit-box;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.ic-new {
    display: inline-block;
    background: url(../img/icons/ico_new.svg) no-repeat center;
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.txt_1line:has(.ic-new) {
    padding-right: 20px;
    position: relative;
}

.txt_1line .ic-new {
    position: absolute;
    right: 0;
    top: 4px;
}

.gallery-item:has(.ic-new) .card-top::after {
    content: 'NEW';
    background-color: var(--krds-color-light-gray-50);
    position: absolute;
    top: 13px;
    right: 12px;
    padding: 2px 10px;
    line-height: 20px;
    text-align: center;
    color: var(--krds-color-light-gray-0);
    font-size: 1.3rem;
    min-width: 46px;
    border-radius: 1000px;
    font-weight: 700;
}

.gallery-item:has(.ic-new) .ic-new {
    display: none;
}

.beauty-tit {
    display: flex;
    justify-content: center;
    margin: 60px 0 50px;
}

.beauty-tit p {
    text-align: center;
    display: inline;
    background: linear-gradient(transparent 65%, #FFE0A3 0);
}

.shadow-tit {
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    cursor: pointer;
}

.shadow-tit.yellow {
    color: #D96D00;
}

.shadow-tit.red {
    color: #C2421F;
}

.shadow-tit.blue {
    color: #2B69C6;
}

.shadow-tit.green {
    color: #1178A1;
}

/*.shadow-tit::after {
    content: '';
    display: block;
    height: 12px;
    width: auto;
    margin-top: -12px;

}

.shadow-tit.yellow::after {
    background: #FFE398;

}

.shadow-tit.red::after {
    background: #FFD5C9;

}

.shadow-tit.blue::after {
    background: #C8DDFF;

}

.shadow-tit.green::after {
    background: #A3E8F5;

}*/

/* boxi콘텐츠 - Flexbox 기반 */
.boxi-content-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 980px;
    margin: 0 auto;
}

.boxi-content-flex>.g-img {
    width: 100%;
}

.g-grid-wrap.contect {
    margin-top: 80px;
}

@media (max-width: 1279px) {
    .g-grid-wrap.contect {
        margin-top: 30px;
    }
}

.g-img {
    position: relative;
    display: inline-block;
    overflow: hidden;
}

.g-img.mAuto {
    display: block;
    margin: 10px auto;
    text-align: center;
}

.g-img img {
    z-index: 1;
}

.g-img.bgact::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background: rgba(255, 165, 0, 0.4);
    /* 주황빛 반투명 원 */
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    pointer-events: none;
    z-index: 2;
}

.g-img.bgact.yellow::after {
    background: rgba(237, 120, 1, 0.4);
    /* 노란빛 반투명 원 */
}

.g-img.bgact.red::after {
    background: rgba(249, 92, 45, 0.4);
    /* 붉은빛 반투명 원 */
}

.g-img.bgact.blue::after {
    background: rgba(56, 113, 202, 0.4);
    /* 푸른빛 반투명 원 */
}

.g-img.bgact.skyblue::after {
    background: rgba(22, 147, 170, 0.4);
    /* 하늘빛 반투명 원 */
}

.g-img.bgact:hover::after,
.g-img.bgact:focus::after {
    animation: ripple-circle 0.8s ease-out;
    width: 100%;
    height: 100%;
    transform: translate(-50%, -50%) scale(4);
    opacity: 1;
}

@keyframes ripple-circle {
    0% {
        width: 0;
        height: 0;
        transform: translate(-50%, -50%) scale(0);
        opacity: 0.2;
    }

    80% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 0.8;
    }

    100% {
        width: 100%;
        height: 100%;
        transform: translate(-50%, -50%) scale(4);
        opacity: 1;
    }
}

.g-img.bgact.spark:hover::after,
.g-img.bgact.spark:focus::after {
    animation: ripple-circlezero 0.8s ease-out;
    width: 0;
    height: 0;
    transform: translate(-50%, -50%) scale(4);
    opacity: 0;
}

@keyframes ripple-circlezero {
    0% {
        width: 0;
        height: 0;
        transform: translate(-50%, -50%) scale(0);
        opacity: 0.2;
    }

    80% {
        transform: translate(-50%, -50%) scale(3);
        opacity: 0.8;
    }

    100% {
        width: 100%;
        height: 100%;
        transform: translate(-50%, -50%) scale(4);
        opacity: 0;
    }
}

.g-img-zoom {
    display: inline-block;
    overflow: hidden;
    /* 확대 시 영역 밖 넘침 방지 */
}

.g-img.zoom img {
    width: 100%;
    transition: transform 0.4s ease;
    /* 부드럽게 확대 */
    transform-origin: center center;
    /* 중앙 기준 확대 */
}

.g-img.zoom:hover img {
    transform: scale(1.2);
    /* 확대 배율 조정 */
}

.shake-act:hover {
    display: inline-block;
    animation: shake 0.6s cubic-bezier(.36, .07, .19, .97) none;
    animation-delay: 1s;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

@keyframes shake {

    10%,
    90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%,
    80% {
        transform: translate3d(2px, 0, 0);
    }

    30%,
    50%,
    70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%,
    60% {
        transform: translate3d(4px, 0, 0);
    }
}

/* beuti-yellow 화려한 효과 */
.beuti-border {
    background: #FFFbe0;
    background-clip: padding-box;
    position: relative;
}

.beuti-border::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    border-radius: 0;
    padding: var(--krds-table--data-tbody-padding) var(--krds-table--data-tbody-padding-sides);
    background: linear-gradient(110deg, #ffe964, #f8cbff, #9fd8fd, #ffe964);
    /* outer border만 보이도록 */
    mask: linear-gradient(var(--krds-color-light-gray-0) 0 0) content-box, linear-gradient(var(--krds-color-light-gray-0) 0 0) border-box;
    mask-composite: exclude;
    animation: borderflow 2.3s linear infinite;
    pointer-events: none;
}

@keyframes borderflow {
    100% {
        filter: hue-rotate(360deg);
    }

    0% {
        filter: hue-rotate(0deg);
    }
}

.shadow {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    border-radius: 16px;
}

.shadow.br24 {
    border-radius: 24px !important;
}

.shadow.br8 {
    border-radius: 8px !important;
}

.g-img.shadow img {
    width: 100%;
}

.shadow:hover,
.shadow:focus {
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    transform: translateY(-4px);
}

.shadow-hover:hover {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18);
    border-radius: 26px;
}

.shadow-hover .hover,
.shadow-hover:hover .default {
    display: none;
}

.shadow-hover:hover .hover {
    display: block;
}

.youtube-btn-red {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #D63D4A;
    border-color: #D63D4A;
    border-radius: 1000px;
    box-shadow: 5px 5px 15px 0px #0000002E;
    padding: 0 16px;
    color: var(--krds-color-light-gray-0);
    font-size: 1.7rem;
    font-weight: 700;
    height: 4.8rem;
    flex-shrink: 0;
    gap: 10px;
    min-width: 170px;
}

.youtube-btn-red:hover,
.youtube-btn-red:focus {
    outline: none;
    box-shadow: none;
    color: var(--krds-color-light-gray-0);
}

.youtube-btn-red .icon-youtube {
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url(../img/icons/ico_youtube_white.svg) no-repeat center;
    background-size: contain;
}

.summary-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 0.8rem;
    margin-bottom: 3.2rem;
    font-size: 1.9rem;
}

.summary-link b {
    font-weight: 400;
}

.summary-key {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.summary-key+.summary-key {
    margin-top: 8px;
}

.keybox {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 20px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    flex: calc(20% - 8px);
    width: 0;
}

.keybox.row {
    flex-direction: row;
    width: auto;
    height: auto;
    padding: 10px;
    border-radius: 30px;
    justify-content: center;
    align-items: center;
}

.keybox.row .stitle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    color: var(--krds-light-color-text-basic);
    font-size: 1.7rem;
    gap: 4px;
}

.keybox.row img {
    margin-bottom: 0;
}

.keybox img {
    margin-bottom: 7px;
}

.keybox.full {
    flex: 100%;
    flex-shrink: 0;
}

.keybox.long {
    flex: calc(200%/3 - 8px);
    flex-shrink: 0;
}

.keybox b {
    font-weight: 700;
    font-size: 1.5rem;
    color: var(--krds-color-light-gray-100);
}

.keybox .stitle {
    font-size: 1.5rem;
    color: var(--krds-color-light-gray-70);
    font-weight: 700;
}

.black-info {
    display: inline-block;
    padding-left: 26px;
    background: url(../img/icons/ico_information.svg) no-repeat left top;
    background-size: 24px;
    color: var(--krds-color-light-gray-95);
    font-weight: 700;
    vertical-align: middle;
    line-height: 24px;
}

.orange-info {
    display: block;
    padding-left: 30px;
    background: url(../img/icons/ico_information_fill.svg) no-repeat left top;
    background-size: 24px;
    font-weight: 400;
    vertical-align: middle;
    line-height: 24px;
    margin-top: 1.2rem;
    font-size: 1.7rem !important
}

.orange-link {
    background: var(--krds-color-light-primary-50);
    font-weight: 700;
    color: var(--krds-color-light-gray-0);
    padding: 0 16px;
    border-radius: 1000px;
    box-shadow: 5px 5px 15px 0px #0000002E;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    font-size: 1.7rem;
    height: 4.8rem;
    gap: 4px;
    min-width: 170px;
}

.orange-link:hover,
.orange-link:focus {
    color: var(--krds-color-light-gray-0);
    box-shadow: none;
}

.orange-link .icon-arrow-right-white {
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url(../img/icons/ico_arrow_right_white.svg) no-repeat center;
    background-size: contain;
}

.orange-link .icon-link-white {
    width: 24px;
    height: 24px;
    display: inline-block;
    background: url(../img/icons/icon-link-white.svg) no-repeat center;
    background-size: contain;
}

.specialMap.krds-modal .modal-dialog .modal-content {
    max-height: 90%;
}

.specialMap.krds-modal .modal-dialog .modal-conts {
    padding: 0 4rem 0;
}

.specialMap.krds-modal .modal-content {
    max-width: 90vw;
}

.map-search-box {
    display: flex;
    justify-content: space-between;
}

.centersearch {
    height: 541px;
    width: calc(50% - 16px);
    border-radius: 24px;
    border: 1px solid var(--krds-color-light-gray-20);
    text-align: center;
    padding: 2.4rem;
}

.contents-main {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
}

.contents-main h3 {
    font-size: 2.4rem;
    font-weight: bold;
    text-align: left;
    width: auto;
    margin-right: auto;
}

.contents-main .krds-form-select {
    width: 120px;
}

.contents-main .krds-input {
    width: 260px;
}

.contents-results {
    margin-top: 3rem;
    max-height: calc(100% - 80px);
    width: 100%;
    overflow-y: auto;
}

.contents-results ul {
    border-top: 1px solid #454545;
}

.contents-results ul li {
    border-bottom: 1px solid #ccc;
    padding: 20px;
}

.left_ttext {
    text-align: left;
    font-size: 1.7rem;
    margin-bottom: 8px;
}

.map_ftext {
    font-weight: 700;
    font-size: 1.9rem;
}

.posrel {
    position: relative;
}

.abslogocenter {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url(../images/img/round-logo.png) no-repeat center center / contain;
    width: 220px;
    height: 220px;
}

@media (max-width: 1279px) {
    .abslogocenter {
        width: 130px;
        height: 130px;
    }
}

.abslogocenter.kinfa {
    background: url(../images/img/round-logo-kinfa.png) no-repeat center center / contain;
    background-size: 100%;
    height: 100%;
    top: 55%;
}

/* 서머리박스 */
.summary-box {
    display: block;
    width: 100%;
    padding: 40px 32px;
    border-radius: 24px;
    background: url(../images/bg/bg_summary.png) no-repeat;
    background-size: cover;
}

.summary-tit {
    font-size: 3.2rem;
    font-weight: bold;
    color: var(--krds-color-light-primary-60);
    padding-left: 28px;
    background: url(../images/ic/tit_summary.svg) left center no-repeat;
}

/* 효과박스 */
.effect-box {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
    padding: 40px 32px;
    border-radius: 24px;
    background: #EDF4FF;
}

@media (max-width: 1279px) {
    .effect-box {
        flex-direction: column;
        flex-wrap: nowrap;
    }
}

.effect-box.reverse {
    background: var(--krds-color-light-gray-0);
    padding: 10px;
}

.effect-box.reverse .boxc2,
.effect-box.reverse .boxc3 {
    background: #edf4ff;
    border: none;
}

.effect-box.nogap {
    gap: 0;
    padding: 0;
}

.effect-box.nogap .boxc1.row {
    padding: 4px 0;
    border-bottom: none;
}

.effect-box.bgnone {
    padding: 0;
    background: transparent;
}

.effect-box.bgnone .boxc1,
.effect-box.bgnone .boxc2,
.effect-box.bgnone .boxc3 {
    padding: 0;
    border: none;
    border-radius: 24px;
    position: relative;
}

@media (max-width: 1279px) {

    .effect-box.bgnone .boxc1,
    .effect-box.bgnone .boxc2,
    .effect-box.bgnone .boxc3 {
        width: 100%;
        flex: 1;
    }
}

.effect-box .boxc1 {
    min-width: 100%;
    flex: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 15px;
    text-align: center;
    padding: 24px 18px;
    background-color: var(--krds-color-light-gray-0);
    border-radius: var(--krds-radius-xlarge2);
    border: 1px solid var(--krds-light-color-border-gray-light);
}

.effect-box .boxc2 {
    flex: calc(100%/2 - 16px) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
    padding: 24px 18px;
    background-color: var(--krds-color-light-gray-0);
    border-radius: var(--krds-radius-xlarge2);
    border: 1px solid var(--krds-light-color-border-gray-light);
}

.effect-box .boxc3 {
    flex: calc(100%/3 - 16px) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
    padding: 24px 18px;
    background-color: var(--krds-color-light-gray-0);
    border-radius: var(--krds-radius-xlarge2);
    border: 1px solid var(--krds-light-color-border-gray-light);
}

.effect-box .boxc4 {
    flex: calc(100%/4 - 16px) 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    text-align: center;
    padding: 24px 18px;
    background-color: var(--krds-color-light-gray-0);
    border-radius: var(--krds-radius-xlarge2);
    border: 1px solid var(--krds-light-color-border-gray-light);
}

@media (max-width: 1279px) {
    .effect-box .boxc4 {
        flex: 1;
    }
}

.effect-box .key-img {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--krds-gap-4);
}

.effect-box .boxc1.row,
.effect-box .boxc2.row {
    flex-direction: row;
    border: none;
    border-radius: 0;
    padding: 24px 0;
    border-bottom: 1px solid var(--krds-color-light-gray-20);
}

.effect-box .boxc1.row.noborder,
.effect-box .boxc2.row.noborder {
    border-bottom: none;
}

.effect-box .boxc1.row .key-img,
.effect-box .boxc2.row .key-img {
    flex-direction: row;
    gap: 12px;
    padding-bottom: 0;
    border-bottom: none;
}

@media (max-width: 1279px) {

    .effect-box .boxc1.row .key-img,
    .effect-box .boxc2.row .key-img {
        flex-wrap: wrap;
        width: 100%;
    }
}

.effect-box .boxc1.row .key-img .img,
.effect-box .boxc2.row .key-img .img {
    padding: 14px;
    border-radius: 50%;
    background-color: #EDF4FF;
    width: 60px;
    height: 60px;
}

.effect-box .boxc2.row .key-img p,
.effect-box .boxc2.row .key-img span {
    text-align: left;
    width: auto;
}

@media (max-width: 1279px) {
    .effect-box .boxc2.row .key-img span {
        width: 100% !important;
    }
}

@media (max-width: 767px) {

    .effect-box .boxc1.row .key-img,
    .effect-box .boxc2.row .key-img {
        flex-wrap: wrap;
        width: 100%;
    }

    .effect-box .boxc2.row .key-img .img {
        width: 50px;
        height: 50px;

    }

    .effect-box .boxc2.row .key-img span {
        width: auto !important;
    }
}

.effect-box .boxc2.row .key-text {
    text-align: left;
}

*/ .effect-box .key-img.border-none {
    border-bottom: none;
    padding-bottom: 0;
}

.effect-box .key-img img {
    width: fit-content;
}

.effect-box .key-img p {
    font-size: 2.4rem;
    font-weight: bold;
}

.effect-box .key-img .fontsize-normal {
    font-size: 1.9rem;
}

.effect-box .key-img .fontsize-small {
    font-size: 1.7rem;
}

@media (max-width: 1279px) {
    .effect-box .key-img .fontsize-small {
        text-align: left;
    }
}

.effect-box .key-text {
    font-size: 1.7rem;
    padding-top: 15px;
    border-top: 1px solid var(--krds-light-color-border-gray-light);
    width: 100%;
}

@media (max-width: 1279px) {
    .effect-box .key-text {
        padding-top: 0;
        border-top: none;
        width: 100%;
    }
}

.effect-box .key-text span {
    font-weight: 400;
    font-size: 1.5rem;
}

.effect-box .item-share {
    top: 66px;
    right: 100px;
}

.effect-box .krds-info-list li {
    font-size: 1.7rem;
}

.keybox .key-text span {
    font-weight: 400;
    font-size: 1.3rem;
}

.effect-box .hidelink {
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 24px;
}

/* 스크롤효과 */
.scroll-fadeup {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.7s cubic-bezier(.33, 1, .68, 1), transform 0.7s cubic-bezier(.33, 1, .68, 1);
    will-change: opacity, transform;
}

.scroll-fadeup.active {
    opacity: 1;
    transform: translateY(0);
}

/* 신청비용면제 */
.expensefree-imgbox {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: 12px;
    margin-top: 8px;
    width: 100%;
    height: auto;
    padding: 9px 20px;
    background: #FBE9E2;
    border-radius: 2.4rem;
}

.expensefree-imgbox::before {
    content: '';
    display: block;
    width: 60px;
    height: 62px;
    background: url(../images/img/keyword/img_expensefree.png) left top no-repeat;
}

.expensefree-imgbox .freetext {
    line-height: 62px;
    color: #B15D40;
    font-weight: 700;
    font-size: 2.1rem;
}

.dark * {
    border-color: var(--krds-color-light-gray-0) !important;
    color: var(--krds-color-light-gray-0) !important;
    background-color: var(--krds-color-light-gray-100) !important;
}

.dark *::before,
.dark *::after {
    border-color: var(--krds-color-light-gray-0) !important;
    color: var(--krds-color-light-gray-0) !important;
    background-color: var(--krds-color-light-gray-100) !important;
}

.conts-desc {
    font-size: 1.9rem;
}

.krds-info-list.decimal .bullet.small {
    font-size: 1.9rem;
}

.krds-info-list.decimal .bullet.small::before {
    height: 20px;
}

table .krds-info-list>li>.krds-info-list>li,
table .krds-info-list>li {
    font-size: 1.7rem;
}

.g-wrap .krds-table-wrap .tbl.data tbody th {
    font-weight: 700;
}

table .table-center {
    text-align: left;
    margin: 0 auto;
    display: block;
    width: max-content;
    max-width: fit-content;
}

.ptext {
    font-size: 1.9rem;
}

.postion-wrap {
    position: relative;
    width: 100%;
    background-color: #F6FAFF;
    border-radius: 24px;
    margin: auto;
}

.postion {
    position: relative;
    width: 916px;
    margin: auto;
    max-width: 100%;
}

.postion .positionbtn {
    position: absolute;
    width: auto;
    height: 32px;
    border: none;
    border-radius: 1000px;
    font-size: 1.7rem;
    text-align: center;
    padding: 4px 8px;
    display: inline-block;
    line-height: 24px;
    top: 255px;
    left: 132px;
    color: transparent;
    background-color: transparent;
    font-weight: 400;
    letter-spacing: 0.25px;
    box-sizing: border-box;
}

.postion .positionbtn sup {
    line-height: 1;
}

@media (max-width: 1279px) {
    .postion .positionbtn {
        display: none;
    }
}

.postion .positionbtn.posbtn01 {
    top: 77px;
    left: 667px;
}

.postion .positionbtn.posbtn02 {
    top: 110px;
    left: 112px;
}

.postion .positionbtn.posbtn03 {
    top: 122px;
    left: 667px;
}

.postion .positionbtn.posbtn04 {
    top: 159px;
    left: 127px;
}

.postion .positionbtn.posbtn05 {
    top: 182px;
    left: 667px;
}

.postion .positionbtn.posbtn06 {
    top: 212px;
    left: 83px;
}

.postion .positionbtn.posbtn07 {
    width: 139px;
    top: 234px;
    left: 667px;
}

.postion .positionbtn.posbtn08 {
    top: 255px;
    left: 112px;
}

.postion .positionbtn.posbtn09 {
    top: 288px;
    left: 667px;
}

.postion .positionbtn.posbtn10 {
    top: 305px;
    left: 39px;
}

.postion .positionbtn.posbtn11 {
    top: 348px;
    left: 667px;
}

.postion .positionbtn.posbtn12 {
    top: 355px;
    left: 97px;
}

.postion .positionbtn.posbtn13 {
    top: 400px;
    left: 97px;
}

.postion .positionbtn.posbtn14 {
    top: 409px;
    left: 667px;
}

.postion .positionbtn.posbtn15 {
    top: 480px;
    left: 667px;
}

.postion .positionbtn.posbtn16 {
    top: 567px;
    left: 465px;
}

.postion .positionbtn.posbtn17 {
    top: 567px;
    left: 343px;
}

.postion .positionbtn:hover {
    color: var(--krds-color-light-gray-0);
    background-color: var(--krds-color-light-primary-50);
}

/* 모바일용 2열 그리드 버튼 리스트 */
.position-grid-mobile {
    display: none;
}

@media (max-width: 1279px) {
    .position-grid-mobile {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 0 2rem 5rem 2rem;
    }

    .position-grid-item {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 12px 8px;
        background-color: var(--krds-color-light-gray-0);
        border: 1px solid #ddd;
        border-radius: 8px;
        font-size: 1.4rem;
        color: #333;
        text-align: center;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .position-grid-item:hover,
    .position-grid-item:focus {
        background-color: var(--krds-color-light-primary-50);
        border-color: var(--krds-color-light-primary-50);
        color: var(--krds-color-light-gray-0);
    }
}

.img-float {
    position: absolute;
    z-index: 2 !important;
    top: 33%;
    left: calc(831px*0.5);
    width: 80px;
}

.position-td {
    position: relative;
}

.logo-h30 {
    height: 30px;
}

.autocomplete {
    display: none;
    border: 1px solid #aaa;
    position: absolute;
    background: var(--krds-color-light-gray-0);
    z-index: 10;
    width: 480px;
    top: 40px;
    left: 0;

}

.krds-accordion.type-heading .accordion-item.active .btn-accordion::after {
    background-size: contain;
}

.logo-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    justify-content: flex-start;
    gap: 1rem;
}

.logo-grid .logo-box {
    overflow: hidden;
    border: 1px solid #eee;
    border-radius: .5rem;
    padding: 5px;
}

.logo-grid .logo-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.credential-info-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    margin-top: -8px;
}

.credential-info-table th {
    padding: 12px 0;
    text-align: left;
    font-weight: 700;
    vertical-align: top;
    white-space: nowrap;
}

.credential-info-table td {
    padding: 12px 0;
    vertical-align: top;
    width: calc(50% - 12px);
}

.credential-info-table .highlight-orange {
    color: var(--krds-light-color-text-primary);
    font-weight: 700;
}

@media (max-width: 767px) {
    .credential-info-table {
        td {
            padding: 12px 8px;
        }
    }

    .logo-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.activity-cards {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 20px;
}

.activity-card {
    border-radius: 12px;
    display: flex;
    gap: 20px;
    align-items: center;
}

.activity-card p {
    word-break: break-all;
    overflow-wrap: break-word;
    -webkit-text-size-adjust: 100%;
    min-width: 0;
    max-width: 100%;
}

.activity-card-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    overflow: hidden;
}

.activity-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .ptext {
        font-size: 1.9rem !important;
    }

    .exclamation.ptext {
        font-size: 1.7rem !important;
        padding-left: 0;
        text-align: center;
    }

    .exclamation.ptext::before {
        width: 2rem;
        height: 2rem;
        background-size: 2rem;
        display: inline-block;
        position: initial;
        vertical-align: text-bottom;
        margin-right: 2px;
    }
}

.activity-card-content h3 {
    font-size: 2.4rem;
    font-weight: 700;
    display: inline;
    background: linear-gradient(to top, #D3E4FF 20%, transparent 20%) 0 28px;
    padding: 0 4px;
    line-height: 1.8;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.activity-card-content h3+div {
    margin-top: 12px;
}

.activity-card-content.bluegreen h3 {
    background: linear-gradient(to top, #A3E8F5 20%, transparent 20%) 0 28px;
}

.activity-card-content.red h3 {
    background: linear-gradient(to top, #FFD5C9 20%, transparent 20%) 0 28px;
}

.activity-card-content.green h3 {
    background: linear-gradient(to top, #D2F3C1 20%, transparent 20%) 0 28px;
}

.activity-card-content.purple h3 {
    background: linear-gradient(to top, #DED9FF 20%, transparent 20%) 0 28px;
}

.activity-card-content.yellow h3 {
    background: linear-gradient(to top, #FFE398 20%, transparent 20%) 0 28px;
}

@media (max-width: 767px) {
    .activity-card-content h3 {
        background: linear-gradient(to top, #D3E4FF 20%, transparent 20%) 0 22px;
    }

    .activity-card-content.bluegreen h3 {
        background: linear-gradient(to top, #A3E8F5 20%, transparent 20%) 0 22px;
    }

    .activity-card-content.red h3 {
        background: linear-gradient(to top, #FFD5C9 20%, transparent 20%) 0 22px;
    }

    .activity-card-content.green h3 {
        background: linear-gradient(to top, #D2F3C1 20%, transparent 20%) 0 22px;
    }

    .activity-card-content.purple h3 {
        background: linear-gradient(to top, #DED9FF 20%, transparent 20%) 0 22px;
    }

    .activity-card-content.yellow h3 {
        background: linear-gradient(to top, #FFE398 20%, transparent 20%) 0 22px;
    }
}

.activity-card-content p {
    margin: 0;
    font-size: 1.9rem;
    line-height: 1.6;
}

.activity-card-content .fontsize-small {
    font-size: 1.5rem;
}

.activity-card-content .activity-card-image {
    position: absolute;
    top: 1.2rem;
    right: 1.2rem;
    width: 50px;
}

.activity-card-content .plusbox {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background-color: var(--krds-color-light-gray-0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.activity-card-content .plusbox img {
    width: 14px;
    height: 14px;
}

.activity-card-content.space-between {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.activity-card-content .content-wrapper {
    flex: 0 0 auto;
}

.activity-card-content .plusbox {
    margin-top: auto;
}

.g-grid-wrap a {
    display: block;
    height: 100%;
}

.activity-card-content .content-wrapper {
    flex: 0 0 auto;
}

.activity-card-content .plusbox {
    margin-top: auto;
}

.benefit-card {
    border-radius: 16px;
    padding: 32px 28px;
    display: flex;
    align-items: flex-start;
    transition: transform 0.2s, box-shadow 0.2s;
    width: 100%;
    height: 100%;
}

.benefit-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.benefit-card-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    font-size: 4rem;
}

.benefit-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
}

.benefit-card h3 {
    margin-bottom: 6px;
}

.benefit-card-tags {
    display: flex;
    flex-direction: row;
    gap: 8px;
    margin-top: 12px;
    flex-wrap: wrap;
}

.benefit-card-tag {
    display: inline-block;
    border: 1px solid #58616A;
    border-radius: 20px;
    padding: 3px 8px;
    color: #58616A;
    font-size: 1.5rem;
    font-weight: 600;
    margin-top: 4px;
}

/*박스 배경색*/

.boxbg-blue {
    background-color: #EDF4FF !important;
}

.boxbg-bluegreen {
    background-color: #DEF9FE !important;
}

.boxbg-yellow {
    background-color: #fff6DE !important;
}

.boxbg-red {
    background-color: #FFEEE9 !important;
}

.boxbg-purple {
    background-color: #F3F2FF !important;
}

.boxbg-green {
    background-color: #EEF9E8 !important;
}

.boxbg-white {
    background-color: white !important;
}


.consulting-cards-wrap {
    padding: 32px;
    background-color: #EDF4FF;
    border-radius: 24px;
}

.consulting-cards-wrap .info-img {
    float: right;
    margin-left: 20px;
    width: 144px;
}

.consulting-cards-wrap .info-img img {
    width: auto;
    max-width: 100%;
}

.consulting-cards-wrap .info-img::after {
    content: '';
    display: block;
    clear: both;
}

@media (max-width: 1279px) {
    .consulting-cards-wrap {
        padding: 20px;
    }

    .consulting-cards-wrap .info-img {
        width: 10%;
    }
}

.consulting-cards-wrap h3 {
    color: #080478;
    font-weight: 700;
    font-size: 3.2rem;
    margin-bottom: 12px;
}

.consulting-cards-wrap p {
    font-size: 1.9rem;
}

@media (max-width: 1279px) {
    .consulting-cards-wrap p {
        font-size: 1.7rem;

        br {
            display: none;
        }
    }
}

.consulting-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 20px;
    margin-top: 28px;
}

.consulting-card {
    background: var(--krds-color-light-gray-0);
    padding: 32px;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 24px;
}

@media (max-width: 1279px) {
    .consulting-card {
        padding: 20px;
    }
}

.consulting-card h3 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #080478;
    margin: 0;
    width: 100%;
}

.consulting-card-subtitle {
    font-size: 1.4rem;
    color: var(--krds-color-light-gray-60);
    margin: 0;
}

.consulting-card-description {
    color: var(--krds-color-light-gray-95);
    line-height: 1.6;
    margin: 12px 0;
}

.consulting-card-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: var(--krds-color-light-gray-60);
    padding-bottom: 20px;
    background: var(--krds-color-light-gray-0);
    border-radius: 8px;
}

@media (max-width: 1279px) {
    .consulting-card-note {
        padding-bottom: 0;
    }
}

.consulting-card-note svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-top: 2px;
}

.consulting-card-button {
    background: #2d3291;
    color: var(--krds-color-light-gray-0);
    border: none;
    border-radius: 30px;
    padding: 14px 24px;
    font-size: 1.6rem;
    font-weight: 600;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    transition: all 0.3s ease;
    text-decoration: none;
    width: fit-content;
}

.consulting-card-button:hover,
.consulting-card-button:active {
    background: #1f2370;
    color: var(--krds-color-light-gray-0);
    box-shadow: 0 4px 12px rgba(45, 50, 145, 0.3);
}

.consulting-card-large {
    grid-column: 1 / -1;
}

.consulting-card-large h3 {
    font-size: 2.8rem;
}

.consulting-card-large .consulting-card-button {
    align-self: center;
}

@media (max-width: 1279px) {
    .consulting-card-large .consulting-card-button {
        margin-top: 20px;
    }
}

.consulting-card-large .consulting-card-button:hover {
    background: #2d3291;
    color: var(--krds-color-light-gray-0);
    box-shadow: 0 4px 12px rgba(45, 50, 145, 0.3);
}

@media (max-width: 1279px) {
    .consulting-cards {
        grid-template-columns: 1fr;
    }

    .consulting-card h3 {
        font-size: 2rem;
    }

    .g-img.row.between.support-organization-wrap {
        flex-direction: column;
        gap: 20px;
    }
}


.support-organization-card {
    border-radius: 24px;
    padding: 0;
    overflow: hidden;
    text-align: center;
    width: 100%;
}

.support-organization-card .support-title {
    font-size: 1.5rem;
    font-weight: 700;
    background-color: #C8DDFF;
    padding: 8px 0;
}

.support-organization-card .support-body {
    padding: 12px 0;
    border-radius: 0 0 24px 24px;
}

.support-organization-header {
    color: var(--krds-color-light-gray-0);
    padding: 12px 0;
    margin: 0;
}

.support-organization-header.orange {
    background: var(--krds-color-light-primary-50);
}

.support-organization-header.blue {
    background: #3B94CF;
}

.support-organization-header h3 {
    font-size: 2.4rem;
    font-weight: 600;
    margin: 0;
    color: var(--krds-color-light-gray-0);
}

.support-organization-body {
    padding: 36px 0;
}

.support-organization-body.orange {
    background: #FFF5E8;
}

.support-organization-body.blue {
    background: #EAF9FF;
}

.support-organization-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.support-organization-logo.row {
    flex-direction: row;
    gap: 16px;
    justify-content: center;
}

@media (max-width: 767px) {
    .support-organization-logo.row {
        flex-direction: column;
        gap: 12px;
    }
}

.support-organization-logo img {
    max-width: 100%;
    height: auto;
}

.support-organization-name {
    font-size: 3.2rem;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0;
}

.organization-desc {
    margin-top: 12px;
    font-size: 1.9rem;
    line-height: 1.5;
    font-weight: 700;
}

.organization-desc.blue {
    color: #2191C0;
}

.organization-desc.orange {
    color: var(--krds-color-light-primary-50);
}

@media (max-width: 767px) {
    .support-organization-header h3 {
        font-size: 2.4rem;
    }

    .support-organization-name {
        font-size: 2.8rem;
    }
}

.g-info-box .info-content .highlightbg {
    font-size: 1.9rem;
    font-weight: 700;
    display: inline;
    background: linear-gradient(to top, #FFE5CA 20%, transparent 20%) 0 20px;
}

@media (max-width: 767px) {
    .g-info-box .info-content .highlightbg {
        background: linear-gradient(to top, #FFE5CA 20%, transparent 20%) 0 36px;
    }
}

.maxw500 {
    max-width: 500px;
}

/*조직도 하단 스타일*/
.region-branches {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 19px;
    margin-top: 60px;
    flex-wrap: wrap;
}

.region-branch-wrapper {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.region-branch-item {
    width: 120px;
    height: 120px;
    border-radius: 1000px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    transition: all 0.3s ease;
    padding: 20px 0;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

.region-branch-item {
    background-color: var(--krds-color-light-gray-0);
    color: #1d3d82;
    border: 1px solid #84b4ff;
    cursor: pointer;
}

.region-branch-item:hover {
    background-color: #1d3d82;
    color: var(--krds-color-light-gray-0);
    border: none;
}

/* 지부 리스트 박스 */
.branch-list-box {
    position: absolute;
    top: 130px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--krds-color-light-gray-0);
    border: none;
    border-radius: 8px;
    padding: 0;
    min-width: 160px;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    height: 0;
    overflow: hidden;
}

.region-branch-wrapper:focus .branch-list-box,
.region-branch-wrapper:hover .branch-list-box {
    opacity: 1;
    visibility: visible;
    top: 140px;
    height: auto;
    padding: 16px 0;
    border: 1px solid #84b4ff;
}

.branch-list-box p {
    margin: 0;
    padding: 8px 20px;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--krds-color-light-gray-95);
    text-align: center;
    transition: background 0.2s ease;
}

.branch-list-box p:hover {
    background-color: #f0f4ff;
    color: #1d3d82;
}

@media (max-width: 1200px) {
    .region-branches {
        justify-content: center;
        gap: 16px;
    }

    .region-branch-item {
        width: 110px;
        height: 110px;
        font-size: 1.4rem;
    }

    .branch-list-box {
        top: 120px;
        min-width: 140px;
    }

    .region-branch-wrapper:hover .branch-list-box {
        top: 130px;
    }
}

@media (max-width: 767px) {
    .region-branches {
        gap: 12px;
    }

    .region-branch-item {
        width: 100px;
        height: 100px;
        font-size: 1.3rem;
        padding: 20px 15px;
    }

    .branch-list-box {
        top: 110px;
        font-size: 1.4rem;
    }

    .region-branch-wrapper:hover .branch-list-box {
        top: 120px;
    }
}

@media (max-width: 480px) {
    .region-branches {
        flex-direction: column;
        align-items: center;
    }

    .region-branch-item {
        width: 120px;
        height: 120px;
    }

    .branch-list-box {
        top: 130px;
    }

    .region-branch-wrapper:hover .branch-list-box {
        top: 140px;
    }
}

.loan-box {
    padding: 2.8rem;
    border-radius: 24px;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 700;
    width: 100%;
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

.loan-total-box {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 1000px;
    background: url(../images/bg/bg_loan_total.png) center no-repeat;
    background-size: 600px;
    width: 600px;
    height: 75px;
    margin: 8px auto 0 auto;
}

@media (max-width: 767px) {
    .loan-total-box {
        width: 100%;
    }
}

.loan-total-box .price-tit {
    font-size: 2.6rem;
    font-weight: 700;
    color: var(--krds-color-light-gray-0);
}

.loan-total-box .price-num {
    /* color: #FFEE71; */
    color: #fff;
    font-size: 1.7rem;
    font-weight: 700;
}

.loan-total-box .price-num span {
    font-size: 4.4rem;
}

.loan-box span {
    font-size: 3.6rem;
}

.loan-box.blue {
    color: #2B69C6
}

.loan-box.red {
    color: #C2421F;
}

/*소액신용 카드발급 고객센터 안내 박스 스타일*/
a.customer-service-card {
    display: block;
    border-radius: 24px !important;
}

.customer-service-card .g-desc-box {
    justify-content: center;
    flex-direction: row;
    align-items: center;
    background-color: #f5f5f5;
    width: 100%;
    padding: 24px 0;
    border-radius: 24px;
}

.customer-service-card .g-desc-box .g-img img {
    height: 50px;
}

.customer-service-card .g-text-wrap {
    text-align: left;
}

.customer-service-card .g-text-wrap .largetext {
    font-size: 2.4rem;
    font-weight: 700;
}

/*보이스피싱 대처방법*/
.fraud-response-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
}

.fraud-response-item {
    padding: 24px;
    position: relative;
}

@media (max-width: 1279px) {
    .fraud-response-item {
        padding: 16px 0;
    }
}

.fraud-response-item:nth-child(2),
.fraud-response-item:nth-child(4) {
    border-left: 1px solid #E5E7EB;
}

.fraud-response-item:nth-child(3),
.fraud-response-item:nth-child(4) {
    border-top: 1px solid #E5E7EB;
}

@media (max-width: 1279px) {

    .fraud-response-item:nth-child(2),
    .fraud-response-item:nth-child(3) {
        border-left: none;
        border-top: none;
    }

    .fraud-response-item:nth-child(3),
    .fraud-response-item:nth-child(4) {
        border-left: none;
        border-top: none;
    }
}

.fraud-response-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
}

.fraud-response-number {
    width: 24px;
    height: 24px;
    background: #012063;
    color: var(--krds-color-light-gray-0);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.6rem;
    flex-shrink: 0;
}

.fraud-response-item h5 {
    font-size: 2.4rem;
    font-weight: 700;
    color: #012063;
}

@media (max-width: 767px) {
    .fraud-response-grid {
        grid-template-columns: 1fr;
    }
}

/*사회공헌-사업소개*/
.achievement-box {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    align-items: stretch;
}

.achievement-image {
    flex: 0 0 480px;
    border-radius: 16px;
    overflow: hidden;
}

.achievement-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.achievement-content {
    flex: 1;
    background: #F6FAFF;
    border-radius: 16px;
    padding: 24px 32px;
    display: flex;
    flex-direction: column;
}

.achievement-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.achievement-header h4 {
    font-size: 2rem;
    font-weight: 700;
    color: #1D3D82;
    margin: 0;
}

.achievement-badges {
    display: inline-flex;
    background: var(--krds-color-light-gray-0);
    border-radius: 24px;
    border: 1px solid #D4E5FA;
}

.achievement-badge {
    padding: 5px 16px 5px 12px;
    border-radius: 20px;
    font-size: 1.6rem;
    font-weight: 600;
    background: transparent;
    color: var(--krds-color-light-gray-60);
    cursor: pointer;
    transition: all 0.2s;
    border: none;
}

.achievement-badge.active {
    background: #1D3D82;
    color: var(--krds-color-light-gray-0);
}

.achievement-data {
    display: flex;
    gap: 15px;
    align-items: center;
    justify-content: center;
    flex: 1;
}

.state-item {
    text-align: center;
    flex: 1;
}

.stat-icon {
    margin: 0 auto 20px;
    width: 64px;
    height: 64px;
}

.stat-number {
    font-size: 4.8rem;
    font-weight: 800;
    color: #1D3D82;
    line-height: 1.2;
    margin-bottom: 12px;
    letter-spacing: -1px;
}

.stat-number span {
    font-size: 1.7rem;
    margin-left: 4px;
    color: var(--krds-color-light-gray-95)
}

.stat-label {
    color: var(--krds-color-light-gray-70);
    font-weight: 700;
}

.stat-divider {
    width: 1px;
    height: 120px;
    background: #D1D5DB;
    align-self: center;
}

@media (max-width: 1200px) {
    .achievement-box {
        flex-direction: column;
    }

    .achievement-image {
        flex: 0 0 auto;
        width: 100%;
        height: 300px;
    }

    .achievement-content {
        padding: 32px 24px;
    }

    .achievement-header {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
        margin-bottom: 32px;
    }

    .achievement-data {
        flex-direction: column;
        gap: 40px;
    }

    .stat-divider {
        width: 80%;
        height: 1px;
    }
}

.related-links-section {
    display: flex;
    justify-content: center;
    background: #FBE9E2;
    border-radius: 24px;
    padding: 16px 32px;
    margin-top: 20px;
}

.related-links-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.label-text {
    display: inline-block;
    padding: 8px 20px;
    background: #FFD5C9;
    border-radius: 24px;
    font-size: 1.6rem;
    font-weight: 700;
    color: #B15D40;
    flex-shrink: 0;
}

.links-text {
    font-size: 2rem;
    color: #B15D40;
    font-weight: 700;
}

.related-links-section .btn-primary {
    flex-shrink: 0;
    padding: 8px 10px;
    border-radius: 8px;
    font-size: 1.6rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.2s;
    height: auto;
}

@media (max-width: 1279px) {
    .related-links-section {
        padding: 20px 24px;
        border-radius: 16px;
    }

    .related-links-content {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        width: 100%;
    }

    .related-links-section .btn-primary {
        width: 100%;
        text-align: center;
    }
}

/*조직도 하단 선*/
.grouptree-bg-line {
    position: absolute;
    top: 535px;
    left: 60px;
    width: 916px;
    height: 189px;
    background: url(../img/contents/png/GroupTree_bgline.png) left top no-repeat;
    background-size: 100%;
    pointer-events: none;
}

.grouptree-bg-line.en {
    background: url(../images/en/GroupTree_bgline.png) right top no-repeat;
    background-size: contain;
    top: 522px;
    left: 62px;
    width: 915px;
    height: 380px;
}

/* 조직도 인재경영부, 사회공헌팀 */
.g-conts-area {
    position: relative;
}

.grouptree-list {
    overflow: hidden;
    position: absolute;
    top: 225px;
    right: 250px;
    width: 160px;

    &.en {
        top: 227px;
        right: 245px;
        width: 175px;

    }

    &.second {
        top: 316px;

        &.en {
            top: 318px;
        }
    }

    &:focus,
    &:hover {
        .grouptree-list-item {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .group-title {
        display: block;
        height: 55px;
        text-indent: -9999px;
        overflow: hidden;
        margin-bottom: 10px;
    }

    .grouptree-list-item {
        text-align: center;
        background: var(--krds-color-light-gray-0);
        border-radius: 6px;
        padding: 10px 0;
        border: 1px solid #84b4ff;
        opacity: 0;
        transform: translateY(-10px);
        transition: all 0.3s ease;

        >li {
            padding: 8px 10px;
            font-size: 1.5rem;
            line-height: 1.2;

            &:hover {
                background-color: #f0f4ff;
                color: #1d3d82;
            }
        }
    }
}

.grouptree-team-list {
    position: absolute;
    top: 568px;
    left: 0;
    z-index: 10;
    pointer-events: none;
    display: flex;
    gap: 20px;

    &.en {
        top: 550px;
        gap: 24px;

        >ul {
            flex-direction: column;
            gap: 0;

            .team-title {
                width: 220px;
                height: 50px;
            }

            li:focus,
            li:focus-within,
            li:hover {
                ul {
                    opacity: 1;
                    transform: translate(0, 0);
                }
            }

            ul {
                width: auto;
                top: -4px;
                left: 224px;
                right: auto;
                transform: none;

                &::after {
                    top: 24px;
                    left: -8px;
                    transform: translateY(-50%) rotate(-90deg);
                    /* 왼쪽 방향 세모 */
                    border-left: 6px solid transparent;
                    border-right: 6px solid transparent;
                    border-bottom: 6px solid #84b4ff;
                    border-top: none;
                }
            }
        }
    }

    ul {
        display: flex;
        gap: 6px;
        list-style: none;
        padding: 0;
        margin: 0;
    }

    >ul>li {
        position: relative;
        pointer-events: auto;

        .team-title {
            display: block;
            height: 92px;
            width: 55px;
            text-indent: -9999px;
            overflow: hidden;
            cursor: pointer;
            /* background: rgba(0, 0, 255, 0.20) !important; */
        }

        >ul {
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 110px;
            left: 50%;
            transform: translate(-50%, -8px);
            text-align: center;
            background: var(--krds-color-light-gray-0);
            border-radius: 6px;
            padding: 10px 0;
            border: 1px solid #84b4ff;
            opacity: 0;
            transition: all 0.3s ease;
            min-width: 120px;
            white-space: nowrap;
            z-index: 20;
            pointer-events: none;

            &::after {
                /* arrow top */
                content: '';
                width: 0;
                height: 0;
                border-left: 6px solid transparent;
                border-right: 6px solid transparent;
                border-bottom: 6px solid #84b4ff;
                position: absolute;
                top: -6px;
                left: 50%;
                transform: translateX(-50%);
                z-index: 10;
            }

            >li {
                padding: 4px 10px;
                font-size: 1.5rem;
                line-height: 1.2;

                &:hover {
                    background-color: #f0f4ff;
                    color: #1d3d82;
                }
            }
        }

        &:focus>ul,
        &:focus-within>ul,
        &:hover>ul {
            opacity: 1;
            transform: translate(-50%, 0);
            pointer-events: auto;
        }
    }
}

.region-branch-title {
    display: none;
}

.region-branches.en {
    margin-top: 36px;
}

@media (max-width: 1400px) {

    .grouptree-team-list,
    .grouptree-list,
    .grouptree-bg-line {
        display: none;
    }

    .region-branch-title {
        display: block;
    }

    .region-branches {
        margin-top: 20px;
    }

    .region-branches.en {
        margin-top: 20px;
    }
}

.fline {
    display: flex;
    gap: 0.2rem;
}

.conts-list-wrap .accordion-cont-img {
    width: 10rem;
    height: 10rem !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4rem !important;
}

.conts-list-wrap .conts-list {
    width: 100%;
}

.conts-list-wrap .krds-info-list>li {
    font-size: 1.7rem;
}

.conts-list-wrap .conts-list--flex {
    display: flex;
    width: 100%;
}

.krds-modal .modal-dialog .modal-btn {
    justify-content: center !important;
}

.showbox-item .g-info-box__link,
.g-info-box .g-info-box__link,
.g-info-box__link {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
    display: none !important;
}

.g-info-box .g-info-box__link--type2 {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.card-actions .btn-action.applink,
.g-grid-wrap .g-img__link-mo {
    display: none;
}

.process-list {
    display: flex;
    align-items: center;
    gap: 0 20px;
    background: #f6faff;
    border-radius: 24px;
    padding: 32px 30px;
    box-sizing: border-box;
}

.process-list .process-list-item {
    width: 25%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px 0;
    position: relative;
}

.process-list .process-list-item:not(:last-child)::before {
    content: '';
    display: block;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #f48f01;
    position: absolute;
    right: -17px;
    top: 62px;
}

.process-list .list-item__circle {
    width: 15rem;
    height: 15rem;
    border-radius: 50%;
    border: 1px solid #f48f01;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: .8rem 0;
    background: #fff;
    overflow: hidden;
}

.process-list .list-item__circle i {
    width: 32px;
    height: 32px;
    display: block;
}

.process-list .list-item__circle span {
    font-size: 1.7rem;
    font-weight: bold;
    color: #f48f01;
}

.process-list .list-item__circle.bg-orange {
    background: #f48f01;
}

.process-list .list-item__circle.bg-orange span {
    color: #fff;
}

.process-list .list-item__list {
    width: 100%;
    min-height: 240px;
    border: 1px solid #7188B8;
    border-radius: 12px;
    padding: 16px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: #fff;
}

.process-list .list-item__list::before {
    content: '';
    display: block;
    position: absolute;
    top: -9px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 9px;
    background: #7188B8;
}

.process-list .list-item__list ul li {
    color: #1d3d82;
    font-size: 1.5rem;
    line-height: 1.5;
    position: relative;
}

.process-list .list-item__list ul li+li {
    margin-top: .4rem;
}

.process-list .list-item__list.list-item__list--type1 li {
    display: flex;
    align-items: flex-start;
}

.process-list .list-item__list.list-item__list--type1 li span {
    width: 1.8rem;
    flex-shrink: 0;
}

.process-list .list-item__list.list-item__list--type2 li {
    padding-left: 1.2rem;
}

.process-list .list-item__list.list-item__list--type2 li::before {
    content: '';
    display: block;
    width: .4rem;
    height: .4rem;
    border-radius: 50%;
    background: #7188B8;
    position: absolute;
    top: .9rem;
    left: 0;
}

.process-list+.g-img-wrap {
    max-width: 757px;
    width: 100%;
    margin: 4rem auto 0;
}

@media (max-width: 1340px) {
    .customer-service-card .g-img {
        margin: 0;
    }
}

@media (max-width: 1280px) {
    .conts-list-wrap .krds-info-list.ml40 {
        margin-left: 0 !important;
    }

    .conts-list-wrap .krds-info-list {
        width: calc(50% - 2rem);
    }

    .contents-main {
        flex-wrap: wrap;
    }

    .contents-main h3 {
        width: 100%;
    }

    .contents-main label {
        width: 100%;
    }

    .contents-main .krds-form-select {
        width: calc(100% - 23.1rem);
    }

    .contents-main .krds-input {
        width: 150px !important;
    }

    .contents-results {
        max-height: calc(100% - 11.5rem);
        padding-bottom: 3rem;
    }

    .g-map-images {
        background-size: 100%;
    }

    /* 지부위치안내 */
    .map-content .sidebar {
        display: block;
    }

    .map-content .content-area {
        height: 100vh;
    }

    .map-content .content-area .ab_note {
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1.5;
        text-align: center;
        height: auto;
        padding: .4rem 1.2rem;
        font-size: 1.4rem;
        margin: 0 auto;
        left: 2.4rem;
    }
}

@media (max-width: 1279px) {

    /* 공통 */
    .br-block--mo {
        display: block !important;
    }

    .map-search-box {
        flex-direction: column;
        align-items: center;
        gap: 3.2rem 0;
    }

    .g-imag-hover,
    .centersearch {
        width: 100%;
    }

    .g-grid-wrap.contect .appdown+.item-share.active {
        top: initial;
        right: 0;
        right: initial;
        left: 1.6rem;
        bottom: -17.5rem;
    }

    .card-actions .appdown+.item-share.active {
        left: 8%;
        right: initial;
        top: initial;
        bottom: -15.5rem;
    }

    .effect-box .boxc2.row.noborder {
        border-bottom: 1px solid var(--krds-color-light-gray-20)
    }

    /* .effect-box .boxc2.row.noborder:last-of-type {border-bottom: none;}   */
}

@media (max-width: 1024px) {
    .process-list {
        align-items: flex-start;
    }
}

@media (max-width: 767px) {

    /* 공통 */
    .row-reverse--mo {
        flex-direction: column-reverse;
    }

    .item-share.item-share-wrap {
        display: none;
    }

    .showbox-item .g-info-box__link,
    .g-info-box .g-info-box__link,
    .g-info-box__link,
    .g-grid-wrap .g-img__link-mo {
        display: block !important;
    }

    .card-actions .btn-action.appdown,
    .g-grid-wrap .g-img__link {
        display: none;
    }

    .card-actions .btn-action.applink {
        display: flex;
    }

    .conts-list-wrap .conts-list--flex {
        flex-direction: column;
    }

    .conts-list-wrap .krds-info-list {
        width: 100%;
    }

    .conts-list-wrap .mo-flex-column .accordion-cont-img {
        width: 10rem;
    }

    .mo-flex-column {
        flex-direction: column !important;
    }

    .mo-flex-column .accordion-cont-img {
        width: fit-content;
    }

    /* 신용상담사 */
    .credential-info-table--mo colgroup {
        display: none;
    }

    .credential-info-table--mo tr {
        display: flex;
        flex-direction: column;
        width: 100% !important;
    }

    .credential-info-table--mo tr th,
    .credential-info-table--mo tr td {
        display: block;
        width: 100% !important;
    }

    .credential-info-table--mo tr th {
        padding: 2rem 0 0 0;
    }

    .credential-info-table--mo tr td {
        padding: .4rem 0 0 0;
    }

    /* 지부위치안내 */
    main.map-content {
        height: 100%;
        overflow-y: scroll;
    }

    .map-content .tab-layout {
        flex-wrap: wrap;
        height: auto;
        gap: 16px 0;
    }

    .map-content .tab-layout .region {
        margin: 0 -24px;
        padding: 0 24px;
        overflow-x: scroll;
    }

    .map-content .content-layout {
        flex-direction: column-reverse;
    }

    .map-content .content-layout .sidebar {
        width: 100%;
    }

    .map-content .content-area {
        height: 40rem;
        display: flex;
        flex-direction: column;
    }

    .map-content .content-layout .sidebar-scroll-nav {
        height: auto;
        max-height: 100%;
    }

    .specialMap.krds-modal .modal-dialog .modal-conts {
        padding: 0 1.6rem;
    }

    .g-imag-hover .map-choose.seoul {
        top: 17%;
        left: 18%;
    }

    .g-imag-hover .map-choose.kangwon {
        top: 16%;
        left: 51%;
    }

    .g-imag-hover .map-choose.gyunggi {
        top: 25.8%;
        left: 25%;
    }

    .g-imag-hover .map-choose.chungchung {
        top: 40%;
        left: 29%;
    }

    .g-imag-hover .map-choose.gyungsang {
        top: 59%;
        left: 59%;
    }

    .g-imag-hover .map-choose.jeonla {
        top: 65%;
        left: 20%;
    }

    .g-imag-hover .map-choose.jeju {
        top: 92%;
        left: 17%;
    }

    .contents-main .krds-form-select {
        width: 100%;
    }

    .contents-main .krds-input {
        width: calc(100% - 6.5rem) !important;
    }

    .centersearch {
        height: auto;
    }

    .contents-results ul li {
        padding: 2rem 1.2rem;
    }

    .map-content .content-area .g-imag {
        height: auto !important;
        flex: 1;
        min-height: 0;
    }

    .map-content .content-area .ab_note {
        position: relative;
        bottom: initial;
        left: initial;
        right: initial;
        width: 100%;
        border-radius: 0;
        margin: 0 0 1px 0;
        border-bottom: 1px solid #e6e8ea;
    }

    /* 임직원행동강령 */
    .charter-svg.top::before,
    .charter-svg.top::after,
    .charter-svg.bottom::before,
    .charter-svg.bottom::after {
        width: 8rem;
        height: 8rem;
    }

    .charter-box {
        padding: 80px 24px;
    }

    .charter-svg {
        width: calc(100% - 1.6rem);
    }

    /* 공공정보 조기삭제 */
    .g-info--type2.g-info-box.row.start {
        align-items: center;
        gap: 2.4rem 0;
    }

    .g-info--type2 .g-desc-box.ml24 {
        margin-left: 0 !important;
    }

    .g-info--type2 .g-desc-box .btn-area {
        margin: 0 auto;
    }

    .summary-box .summary-link .w-full br,
    .category-cards br {
        display: none;
    }

    .btn-ghost {
        display: flex;
        align-items: center;
        gap: 0 .4rem;
    }

    .btn-ghost img {
        width: 1.8rem;
        height: 1.8rem;
    }

    .g-grid-wrap.contect .appdown+.item-share.active {
        bottom: -19.5rem;
    }

    .card-actions .appdown+.item-share.active {
        left: 50%;
        transform: translateX(-50%);
        bottom: -17.8rem;
    }

    .conts-list-wrap .krds-info-list>li {
        font-size: 1.9rem;
    }

    .g-wrap .g-conts-area .conts-desc {
        margin-bottom: var(--krds-gap-8);
    }

    .krds-structured-list.gallery .card-top img {
        width: 100%;
        height: auto;
    }

    .result-card-inner-wrapper .stats-section.top_line {
        padding: 2.4rem 0 0;
    }

    .tab.fill.middle.wrap li .btn-tab {
        white-space: normal;
        text-align: center;
        word-break: keep-all;
        height: 42px;
        line-height: 1.2;
    }

    .picker_txt {
        width: 16px;
    }

    .search-top-box .sch-filter-box .filter-form.row .period .optSetDate>.krds-input {
        width: calc(50% - 8px);
    }

    .date-picker-control:link,
    .date-picker-control:visited {
        margin: 4px 7px 0 -25px !important;
    }

    .process-list {
        flex-direction: column;
        gap: 50px 0;
    }

    .process-list .process-list-item {
        width: 100%;
    }

    .process-list .process-list-item:not(:last-child)::before {
        left: 50%;
        transform: translateX(-50%);
        right: initial;
        top: initial;
        bottom: -42px;
        border-left: 8px solid transparent;
        border-right: 8px solid transparent;
        border-top: 12px solid #f48f01;
    }

    .process-list .list-item__circle {
        width: 150px;
        height: 150px;
    }

    .process-list .list-item__list {
        min-height: initial;
    }

    .process-list .list-item__list ul li {
        font-size: 1.7rem;
    }

    .process-list+.g-img-wrap {
        max-width: 500px;
    }

    table.comparison-table th,
    table.comparison-table td {
        padding: 1.2rem;
    }
}

@media (max-width: 360px) {
    .cp-store-card .cp-store-btn {
        height: auto;
        padding: .6rem .4rem;
        font-size: 1.7rem;
    }

    .cp-store-card .cp-store-btn i {
        width: 18px;
        height: 18px;
    }

    .cp-store-card .cp-store-img {
        max-width: 80px;
    }
}

@media (max-width: 320px) {
    .cp-download-row .cp-store-card {
        flex-direction: column;
        gap: 14px 0;
    }
}

/* Donation Graph Styles */
.donation-graph-container {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
    display: flex;
    justify-content: center;
    gap: 6rem;
}

.donation-col {
    flex: 1;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.donation-title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 20px;
    width: 100%;
    justify-content: flex-start;
}

.donation-title .text {
    font-size: 19px;
    font-weight: 700;
    color: var(--krds-light-color-text-basic);
}

.donation-title .primary {
    color: var(--krds-color-light-primary-50);
}

.donation-title .secondary {
    color: var(--krds-color-light-secondary-50);
}

.donation-title .year {
    font-size: 15px;
    color: var(--krds-light-color-text-disabled);
}

.donation-chart-area {
    position: relative;
    width: 100%;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.donut-chart-wrap {
    position: relative;
    width: 240px;
    height: 240px;
}

.donut-chart-svg {
    width: 100%;
    height: 100%;
    transform: rotate(-30deg);
}

.chart-center-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: 700;
    color: var(--krds-light-color-text-basic);
}

.chart-label {
    position: absolute;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(15px);
    padding: 6px 12px;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 700;
    color: var(--krds-light-color-text-basic);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    white-space: nowrap;
    z-index: 10;
}

/* Positioning labels */
.label-pos-1 {
    /* 은행권 */
    right: 100px;
    bottom: 58px;
}

.label-pos-2 {
    /* 협력기관 */
    left: 20px;
    bottom: 70px;
}

.label-pos-3 {
    /* 보험업권 */
    left: 20px;
    top: 100px;
}

.label-pos-4 {
    /* 금투 */
    left: 50px;
    top: 40px;
}

.label-pos-5 {
    /* 개인기부 */
    right: 150px;
    top: 20px;
}

.label-pos-6 {
    /* 소액대출 */
    right: 100px;
    bottom: 50px;
}

.label-pos-7 {
    /* 보증지원 */
    left: 30px;
    bottom: 120px;
}

.label-pos-8 {
    /* 사회공헌 */
    left: 30px;
    top: 70px;
}

.label-pos-9 {
    /* 기타 */
    left: 100px;
    top: 20px;
}

.label-pos-10 {
    /* 소송지원 */
    right: 120px;
    top: 20px;
}

@media (max-width: 1340px) {
    .donation-chart-area {
        height: auto;
        flex-direction: column;
        padding-top: 20px;
    }

    .donut-chart-wrap {
        margin-bottom: 20px;
    }

    .chart-label {
        position: static;
        margin-bottom: 5px;
        width: 100%;
        text-align: center;
        background: var(--krds-light-color-background-gray-subtler);
        box-shadow: none;
        border: 1px solid var(--krds-light-color-border-gray-light);
    }
}

@media (max-width: 767px) {
    .donation-graph-container {
        flex-direction: column;
    }

    .g-grid-wrap.contect .g-info-box.lightblue {
        display: none;
    }
}