body {
    color: #000000;
    word-break: keep-all;
}

p {
    word-break: keep-all;
}

br {
    display: block;
}

@media (max-width: 992px) {
    br {
        display: none;
    }
}

.fc-555 {
    color: #555;
}

.fc-999 {
    color: #999;
}

/* hero */
.hero {
    position: relative;
    min-height: 782px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

#sub_info {
    text-align: center;
    margin-top: -70px;
}

.section-title {
    font-size: 3rem;
    font-weight: 900;
    margin-bottom: 3rem;
}

/* 서브페이지 히어로 중앙 문구 */
.cs-hero-eyebrow {
    display: block;
    color: #fff;
    font-weight: 700;
    /* font-size: 1.25rem; */
    margin-bottom: 1rem;
}

.cs-hero-divider {
    width: 32px;
    height: 2px;
    background: #fff;
    margin: 0 auto 1.5rem;
}

.cs-hero-title {
    color: #fff;
    font-weight: 800;
    /* font-size: clamp(1.5rem, 2.2vw + 1rem, 2.5rem); */
    line-height: 1.5;
    margin-bottom: 0;
    font-family: 'Nanum Myeongjo', serif;
}

.cs-content-wrap {
    position: relative;
    z-index: 3;
    background: #fff;
    border-radius: 6rem 6rem 3rem 3rem;
    margin-top: -6rem;
    padding-top: 7rem;
    margin-bottom: -3rem;
    padding-bottom: 10rem;
}

@media (max-width: 992px) {
    .cs-content-wrap {
        border-radius: 3rem 3rem 3rem 3rem;
    }

    .cs-content-wrap>.cs-sub-tabs-wrap {
        max-width: 1440px;
        padding: 0 12px;
    }
}

/* 히어로 아래 서브메뉴 탭 */
.cs-sub-tabs-wrap {
    margin-top: -4.5rem;
    /* .cs-content-wrap의 padding-top(7rem)을 줄여 흰 곡선 바로 아래로 붙임 */
    margin-bottom: 7rem;
}

.cs-sub-tabs {
    border-bottom: 1px solid #eee;
}

.cs-sub-tabs ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
    margin: 0;
    padding: 0;
}

.cs-sub-tabs a {
    display: inline-block;
    color: #aaaaaa;
    font-size: 1.125rem;
    font-weight: 600;
    padding-bottom: 34.8px;
    /* 텍스트(줄높이 26.4px)를 위아래 대칭으로 감싸 전체 96px 높이의 수직 중앙에 오게 함 */
    position: relative;
}

.cs-sub-tabs a.on {
    color: var(--bs-main-bg-color);
    font-weight: 700;
}

.cs-sub-tabs a.on::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -5px;
    /* 점의 중심이 아래 border-bottom 선 위에 겹치도록 절반(점 높이 6px의 반) 내림 */
    transform: translateX(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bs-main-bg-color);
}

/* 사회복지프로그램처럼 하위 메뉴가 있는 항목이 선택됐을 때만 나오는 2번째 탭 줄 — 위 점+라인이 겹치는 지점보다 아래에 표시 */
.cs-sub-tabs2-row {
    padding-top: 2rem;
}

.cs-sub-tabs2 {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    margin: 0;
    padding: 0;
}

.cs-sub-tabs2 a {
    display: inline-block;
    font-size: 18px;
    font-weight: 600;
    padding: 1rem 1.875rem;
    border: 1px solid #ddd;
    border-radius: 999px;
}

.cs-sub-tabs2 a.on {
    color: #fff;
    font-weight: 700;
    background: var(--bs-main-bg-color);
    border-color: var(--bs-main-bg-color);
}

/* 모바일에서는 탭 목록 대신 select box로 전환 */
/* =========================================
   모바일 서브메뉴
========================================= */

.cs-mobile-select {
    display: none;
}


@media (max-width: 576px) {

    /* -----------------------------------------
       PC용 1차 메뉴 숨김
    ----------------------------------------- */
    .cs-sub-tabs .cs-sub-tabs-pc {
        display: none !important;
    }

    /* PC용 메뉴의 하단 라인도 제거 */
    .cs-sub-tabs {
        border-bottom: none;
    }

    .cs-sub-tabs2-row {
        display: none !important;
    }

    .cs-sub-tabs a.on::after {
        display: none;
    }

    /* -----------------------------------------
       모바일 메뉴 전체
    ----------------------------------------- */
    .cs-mobile-select {
        display: block;
        position: relative;
        width: 100%;
    }


    /* -----------------------------------------
       현재 선택된 메뉴 버튼
    ----------------------------------------- */
    .cs-mobile-select-btn {
        position: relative;

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;
        min-height: 62px;

        padding: 0 1.25rem;

        border: 1px solid #ddd;
        border-radius: 12px;

        background: #fff;

        color: #333;
        font-size: 1.05rem;
        font-weight: 700;

        text-align: left;
        box-sizing: border-box;

        transition: border-radius .2s ease,
            border-color .2s ease;
    }

    .cs-mobile-select-btn i {
        flex-shrink: 0;

        font-size: 1rem;
        color: #555;

        transition: transform .25s ease;
    }


    /* -----------------------------------------
       메뉴가 열렸을 때 버튼
    ----------------------------------------- */
    .cs-mobile-select.open .cs-mobile-select-btn {
        border-color: var(--bs-main-bg-color);
        border-radius: 12px 12px 0 0;
    }

    .cs-mobile-select.open .cs-mobile-select-btn i {
        transform: rotate(180deg);
    }


    /* -----------------------------------------
       드롭다운 목록
    ----------------------------------------- */
    .cs-mobile-select-list {
        position: absolute;

        top: calc(100% - 1px);
        left: 0;
        right: 0;

        z-index: 9999;

        display: none;

        max-height: 320px;
        overflow-y: auto;

        background: #fff;

        border: 1px solid var(--bs-main-bg-color);
        border-top: 1px solid #eee;
        border-radius: 0 0 12px 12px;

        box-sizing: border-box;

        box-shadow: 0 8px 20px rgba(0, 0, 0, .08);
    }

    .cs-mobile-select.open .cs-mobile-select-list {
        display: block;
    }


    /* -----------------------------------------
       일반 메뉴
    ----------------------------------------- */
    .cs-mobile-select-list>a {
        display: flex;
        align-items: center;

        min-height: 56px;

        padding: 0 1.25rem;

        border-bottom: 1px solid #eee;

        color: #555;
        font-size: 1rem;
        font-weight: 500;

        text-decoration: none;

        box-sizing: border-box;
    }


    /* 마지막 일반 메뉴 */
    .cs-mobile-select-list>a:last-child {
        border-bottom: 0;
    }


    /* -----------------------------------------
       현재 선택된 메뉴
    ----------------------------------------- */
    .cs-mobile-select-list>a.on {
        color: var(--bs-main-bg-color);
        font-weight: 700;
        background: #fff7f7;
    }


    /* -----------------------------------------
       1뎁스 제목
    ----------------------------------------- */
    .cs-mobile-select-parent {
        display: flex;
        align-items: center;

        min-height: 50px;

        padding: 0 1.25rem;

        background: #f7f7f7;

        color: #333;

        font-size: .95rem;
        font-weight: 700;

        box-sizing: border-box;
    }


    /* -----------------------------------------
       하위 메뉴
    ----------------------------------------- */
    .cs-mobile-select-list>a.child {
        min-height: 52px;

        padding-left: 2rem;

        color: #666;
        font-size: .95rem;
    }

    .cs-mobile-select-list>a.child::before {
        content: '';

        width: 4px;
        height: 4px;

        margin-right: 10px;

        border-radius: 50%;

        background: #bbb;
    }


    /* -----------------------------------------
       선택된 하위 메뉴
    ----------------------------------------- */
    .cs-mobile-select-list>a.child.on {
        color: var(--bs-main-bg-color);
        background: #fff7f7;
        font-weight: 700;
    }

    .cs-mobile-select-list>a.child.on::before {
        background: var(--bs-main-bg-color);
    }


    /* -----------------------------------------
       모바일 서브메뉴 위치
    ----------------------------------------- */
    .cs-sub-tabs-wrap {
        margin-top: -3rem;
        margin-bottom: 3rem;
    }

}

.conTitle {
    font-weight: 800;
    text-align: center;
}

.conTitle:after {
    content: '';
    display: block;
    margin: 22px auto 72px;
    width: 58px;
    height: 3px;
    background-color: #38a1db;
}


/* 서브페이지 상단텍스트 바텀 패딩설정 */
.topTxt {
    padding-bottom: 100px;
}

@media (max-width: 992px) {
    .topTxt {
        padding-bottom: 50px;
    }
}

/* 청솔의 강점 > 공통 S */
.strength .section01 img {
    border-radius: 1.5rem 1.5rem 0 0;
}

.strength .section01 .txtBox {
    background-color: #f5f5f5;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 0 0 1.5rem 1.5rem;
}

.strength .section01 .txtBox .line {
    width: 68px;
    border: 2px solid #e67373;
    margin-bottom: 1.5rem;
}

.strength .section02 {
    padding: 150px 0;
}

/* 강점 중간에 나오는 background사이즈 재설정 */
.strength.wideBg {
    background-color: #f5f5f5;
    padding: 150px 0;
}

.strength .container-xxl {
    max-width: 1440px;
}

.strength.wideBg img {
    border-radius: 2rem;
}

.strength.wideBg .fs-2 {
    color: #e67373;
}

.strength.wideBg .key {
    /* width: fit-content; */
    padding: 1rem 2rem;
    background-color: #fff;
    border-radius: 1rem;
}

.strength.wideBg .key .list-group {
    position: relative;
}

.strength.wideBg .key .list-group-item {
    border: none;
    padding: 0;
    font-size: 18px;
    padding-left: 10px;
}

.strength.wideBg .key .list-group-item::before {
    content: '';
    width: 4px;
    height: 4px;
    background-color: #000;
    position: absolute;
    top: 10px;
    left: 0;
}

@media (min-width: 992px) {
    .strength.wideBg .key {
        width: fit-content;
    }
}

@media (max-width: 992px) {
    .strength.wideBg img {
        border-radius: 1rem;
    }
}

.strength .sec01,
.strength .sec02 {
    padding-top: 150px;
}

/* 프로세스 공통 */
.strength .sec01 .process-item {
    position: relative;
}

.strength .sec01 .process-img {
    width: 100%;
    aspect-ratio: 1.7 / 1;
    overflow: hidden;
    border-radius: 1rem;
}

.strength .sec01 .process-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.strength .sec01 .process-info {
    position: absolute;
    bottom: 0;
    width: 90%;
    padding: 32px;
    background: #fff;
    border-radius: 0 1rem 0 0;
    z-index: 2;
}

.strength .sec01 .process-info .fs-3 {
    margin-bottom: 15px;
    font-size: 1.5rem;
    color: #e87979;
}

@media (max-width: 992px) {
    .strength .sec01 .process-item {
        padding-top: 100px;
    }

    .strength .sec01 .process-info {
        position: absolute;
        bottom: -100px;
        width: 100%;
        /* padding: 24px; */
    }
}

.strength .sec02 .boxWrap {
    background-color: #fff6f2;
    border-radius: 1rem;
}

.strength .sec02 .wrap {
    max-width: 1080px;
}

.strength .sec02 .wrap .icon {
    width: 220px;
    height: 220px;
    background: #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.strength .sec02 .wrap .icon img {
    width: 100px;
    height: 100px;
    object-fit: contain;
}

.strength .sec02 .wrap .number {
    position: absolute;
    top: 0;
    left: calc(50% - 110px);
    width: 30px;
    height: 30px;

    background: #e87979;
    color: #fff;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 18px;
    font-weight: 600;
    z-index: 2;
}

.strength .sec02 .wrap .fs-3 {
    color: #e67373;
}

/* 청솔의 강점 > 공통 E */


/* 청솔의 강점 > 다제내성균,감염관리 S */
#infection .section02 .col .box {
    padding: 2rem;
    background-color: #f5f5f5;
    border-radius: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#infection .section02 .col p {
    font-size: 14px;
    line-height: 1;
    padding-bottom: 2rem;
}

/* 청솔의 강점 > 다제내성균,감염관리 E */


/* 청솔의 강점 > 욕창관리 S */
#ulcer .section02 .fs-4 {
    background-color: #e67373;
    border-radius: 1rem 1rem 0 0;
    color: #fff;
}

#ulcer .section02 .fs-18 {
    border-radius: 0 0 1rem 1rem;
    border: 1px solid #e67373;
}

#ulcer .section03 {
    padding-bottom: 150px;
}

#ulcer .section03 .wrap {
    background-color: #f5f5f5;
    border-radius: 1rem;
    padding: 96px 48px 48px 48px;
}

#ulcer .section03 .wrap .number {
    position: absolute;
    top: -40px;
    left: calc(50% - 110px);

    background: #e87979;
    color: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    font-size: 18px;
    font-weight: 600;
    z-index: 2;
}

@media (max-width: 992px) {
    #ulcer .section03 .wrap .col {
        padding-bottom: 5rem;
    }
}

/* 청솔의 강점 > 욕창관리 E */

/* 청솔의 강점 > 중증질환관리 S */
#illnesses .section02 .fs-4 {
    background-color: #e67373;
    border-radius: 1rem 1rem 0 0;
    color: #fff;
}

#illnesses .section02 .fs-18 {
    border-radius: 0 0 1rem 1rem;
    border: 1px solid #e67373;
}

#illnesses .section02 .row {
    align-items: stretch;
}

#illnesses .section02 .col {
    display: flex;
}

#illnesses .section02 .col>div {
    width: 100%;
}

/* 청솔의 강점 > 중증질환관리 E */

/* 이용안내 > 진료시간 안내 S */
.hours-page .hero-banner {
    position: relative;
    min-height: 387px;
    border-radius: 1rem;
    overflow: hidden;
    background: url('../images/bg_hours_01.png') center/cover no-repeat;
    display: flex;
}

.hours-page .info-card {
    border-radius: 1rem;
    margin-top: 1rem;
    /* min-height: 145px; */
    margin-bottom: 1rem;
    padding: 2rem;
}

@media (max-width:992px) {
    .hours-page .info-card {
        padding: 1.5rem;
    }
}

.hours-page .info-card.care {
    background: #fff6f2;
    border: 1px solid var(--bs-main-bg-color);
}

.hours-page .info-card.visit {
    background: #edf4ff;
    border: 1px solid #122b8e;
}

.hours-page .badge-pill {
    display: inline-block;
    padding: 6px 16px;
    border-radius: 50rem;
    font-size: 1rem;
    font-weight: 800;
    color: #fff;
}

.hours-page .badge-care {
    background: var(--bs-sub-bg-color);
}

.hours-page .badge-visit {
    background: #122b8e;
}

.hours-page .info-note {
    color: #555555;
    font-size: 1.125rem;
}

/* 이용안내 > 진료시간 안내 E */

/* 병원소개 > 환자의 권리와 의무 S */
.patient-page .section-tag {
    display: inline-block;
    color: #fff;
    font-weight: 700;
    border-radius: 1rem 1rem 0 0;
}

.patient-page .section-tag.rights {
    background: var(--bs-sub-bg-color);
}

.patient-page .section-tag.duties {
    background: #122b8e;
}

.patient-page .section-box {
    border-radius: 0 1rem 1rem 1rem;
}

.patient-page .section-box.rights {
    background: #fff6f2;
}

.patient-page .section-box.duties {
    background: #edf4ff;
}

.patient-page .pat-item.rights {
    border-color: var(--bs-main-bg-color) !important;
}

.patient-page .pat-item.duties {
    border-color: #122b8e !important;
}

/* 병원소개 > 환자의 권리와 의무 E */

/* 병원소개 > 미션과 비전 S */
.vision-page .mission-bar {
    background: var(--bs-main-bg-color);
    width: fit-content;
    display: flex;
    align-items: center;
}

@media (max-width: 992px) {
    .vision-page .mission-bar {
        flex-direction: column;
        justify-content: cneter;
    }

    .vision-page .mission-bar .fs-4 {
        margin-bottom: 2rem;
    }
}

.vision-page .vision-line {
    width: 2px;
    height: 3rem;
    background: var(--bs-main-bg-color);
}

.vision-page .vision-circle {
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: var(--bs-main-bg-color);
    color: #fff;
    border: 6px solid #fff;
    outline: 1px solid var(--bs-main-bg-color);
    outline-offset: 3px;
}

.vision-page .vision-branch-wrap {
    position: relative;
    height: 3rem;
}

.vision-page .vision-branch-line {
    position: absolute;
    top: 0;
    left: 16.6667%;
    right: 16.6667%;
    height: 2px;
    background: var(--bs-main-bg-color);
    transform: translateX(0);
}

.vision-page .vision-branch-drop {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--bs-main-bg-color);
    transform: translateX(-50%);
}

.vision-page .vision-card {
    border-radius: 1.5rem;
    height: 100%;
}

.vision-page .vision-card.pink {
    background: #fff6f2;
    border: 1px solid var(--bs-main-bg-color);
}

.vision-page .vision-card.blue {
    background: #f2fbff;
    border: 1px solid #68a5ea;
}

.vision-page .vision-card.green {
    background: #f1f9dd;
    border: 1px solid #a0bf75;
}

.vision-page .vision-icon {
    width: 196px;
    height: 196px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vision-page .vision-dash {
    width: 59px;
    height: 3px;
    margin-bottom: 1.5rem;
}

.vision-page .vision-dash.pink {
    background: var(--bs-main-bg-color);
}

.vision-page .vision-dash.blue {
    background: #4a90d9;
}

.vision-page .vision-dash.green {
    background: #8bbf5a;
}

.vision-page .pink {
    color: var(--bs-main-bg-color);
}

.vision-page .blue {
    color: #4a90d9;
}

.vision-page .green {
    color: #8bbf5a;
}

/* 병원소개 > 미션과 비전 E */

/* 병원소개 > 오시는 길 S */
.loc-map-frame {
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    height: 554px;
    container-type: inline-size;
}

/* 프레임 폭이 816px(지도 원본 폭)보다 좁아지면, 가로 기준 축소 비율로 계산한 지도의 실제 높이가
   고정 554px보다 작아져 지도 박스 하단에 빈 공간이 생김 — 이 구간에서는 고정 높이 대신
   원본 비율(816:700, 지도 위젯에 요청한 실제 캔버스 높이)에 맞춘 높이로 전환해
   지도가 프레임을 항상 꽉 채우면서 모바일에서도 시인성 좋게 조금 더 높게 보이도록 함 */
@media (max-width: 850px) {
    .loc-map-frame {
        height: auto;
        aspect-ratio: 816 / 700;
    }
}

.loc-map-frame .root_daum_roughmap {
    transform: scale(calc(100cqw / 816px));
    transform-origin: left center;
}

/* center 기준 축소(scale<1)는 박스를 세로 중앙으로 줄여 위쪽엔 빈 공간을, 아래쪽엔 잘림을
   만듦 — 이 구간은 항상 축소(scale<1)이므로 top 기준으로 줄여야 위쪽 여백 없이 꽉 참 */
@media (max-width: 850px) {
    .loc-map-frame .root_daum_roughmap {
        transform-origin: left top;
    }
}

.loc-map-frame .wrap_controllers,
.loc-map-frame .cont {
    display: none !important;
}

.location-page .row.g-5 {
    background-color: #f5f5f5;
    border-radius: 0 0 2rem 2rem;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
}

.location-page .row.g-5>*:first-child {
    margin-top: 0;
}

.location-page .loc-col-border {
    border-right: 1px solid #dddddd;
}

@media (max-width: 991.98px) {
    .location-page .loc-col-border {
        border-right: 0;
        border-bottom: 1px solid #eee;
        padding-bottom: 2rem;
    }
}

.location-page .loc-icon {
    width: 71px;
    height: 71px;
    border-radius: 50%;
    background: var(--bs-main-bg-color);
    color: #fff;
    font-size: 1.375rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.location-page .loc-icon-spacer {
    width: 71px;
}

/* 병원소개 > 오시는 길 E */

/* 진료안내 > 의료진 소개 S */
.introduction-page .doctor-card {
    position: relative;
    overflow: hidden;
    border: 1px solid #eee;
    border-radius: 1.5rem;
    height: 100%;
    background: #fff url('../images/bg_intro.png') right bottom no-repeat;
    background-size: 220px auto;
}

.introduction-page .doctor-career {
    list-style: none;
    margin: 0;
    padding: 0;
    color: #666666;
}

.introduction-page .doctor-career li {
    position: relative;
    padding-left: 1rem;
    margin-bottom: 0.35rem;
}

.introduction-page .doctor-career li::before {
    content: '-';
    position: absolute;
    left: 0;
}

@media (max-width: 575.98px) {
    .introduction-page .doctor-card {
        flex-direction: column;
    }

    .introduction-page .doctor-photo {
        width: 100%;
        height: 220px;
    }
}

/* 진료안내 > 의료진 소개 E */

/* 이용안내 > 증명서 발급 안내 S */
.certi-page .certi-divider {
    display: block;
    opacity: 1;
    border-top: 1px solid #dddddd;
    margin-top: 3rem !important;
    margin-bottom: 5rem !important;
}

.certi-page .certi-steps {
    --az-step-size: 248px;
    --az-badge-w: 70px;
    --az-badge-h: calc(var(--az-badge-w) / 2);
}

.certi-page .certi-steps::before {
    content: '';
    position: absolute;
    top: calc(var(--az-step-size) / 2);
    left: calc(var(--az-step-size) / 2);
    right: calc(var(--az-step-size) / 2);
    height: 2px;
    background: var(--bs-main-bg-color);
    z-index: 0;
}

.certi-page .certi-step {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
}

/* 큰 원 안쪽 상단에 겹쳐지는 반원(半圓) 모양 번호 뱃지 */
.certi-page .certi-step-badge {
    position: absolute;
    top: 0;
    /* 테두리 상단에 딱 맞도록 수정 */
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: var(--az-badge-w);
    height: var(--az-badge-h);
    border-radius: 0 0 var(--az-badge-w) var(--az-badge-w);
    background: var(--bs-main-bg-color);
}

.certi-page .certi-step-circle {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
    height: var(--az-step-size);
    border: 2px solid var(--bs-main-bg-color);
    overflow: hidden;
    /* 원 바깥으로 튀어나오는 부분 숨기기 추가 */
}

.certi-page .certi-step-icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}

.certi-page .certi-table {
    font-size: 18px;
    border-top: 2px solid var(--bs-main-bg-color);
    /* border-bottom: 1px solid #dee2e6; */
}

.certi-page .certi-table thead th,
.certi-page .certi-table tbody th {
    background: #fff6f2;
    color: #000000;
    font-weight: 700;
    border-bottom: 1px solid #dee2e6;
    white-space: nowrap;
}

.certi-page .certi-table tbody td {
    color: #555555;
    font-weight: 400;
}

.certi-page .certi-table tbody th {
    font-weight: 700;
    background: #fff6f2;
}

.certi-page .certi-table thead th,
.certi-page .certi-table tbody th,
.certi-page .certi-table tbody td {
    border-right: 1px solid #dee2e6;
}

.certi-page .certi-table thead th:last-child,
.certi-page .certi-table tbody td:last-child {
    border-right: none;
}

.certi-page .certi-table th,
.certi-page .certi-table td {
    border-color: #dee2e6;
    padding: 1rem 0.75rem;
}

.certi-page .certi-table-footer td {
    background: #f5f5f5;
    color: #000000;
    line-height: 1.8;
    border-bottom: none;
}

.certi-page .certi-doc-card {
    background: #fdf2f1;
    border: 1px solid var(--bs-main-bg-color);
    border-radius: 0.75rem;
}

.certi-page .certi-doc-icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
}

.certi-page .certi-doc-divider {
    width: 1px;
    height: 32px;
    background: var(--bs-main-bg-color);
    opacity: 0.35;
}

.certi-page .certi-doc-btn {
    background: var(--bs-main-bg-color);
    color: #fff;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .certi-page .certi-doc-card {
        flex-wrap: wrap;
    }
}

@media (max-width: 991.98px) {
    .certi-page .certi-steps {
        /* --az-step-size: 140px; */
        /* --az-badge-w: 56px; */
    }
}

@media (max-width: 575.98px) {
    .certi-page .certi-steps {
        justify-content: center !important;
        gap: 1.5rem 1rem;
        /* --az-step-size: 130px; */
        /* --az-badge-w: 52px; */
    }

    .certi-page .certi-steps::before {
        display: none;
    }
}

/* 이용안내 > 증명서 발급 안내 E */

/* 이용안내 > 입퇴원 안내 S */
.info-page .info-box {
    background: #f5f5f5;
    border-radius: 1.5rem;
}

.info-page .info-docs-box {
    background: #ffffff;
    border-radius: 1rem;
}

.info-page .info-steps {
    --az-step-size: 248px;
    --az-badge-w: 70px;
    --az-badge-h: calc(var(--az-badge-w) / 2);
    --az-step-color: var(--bs-main-bg-color);
}

.info-page .info-steps.blue {
    --az-step-color: #122b8e;
}

.info-page .info-steps::before {
    content: '';
    position: absolute;
    top: calc(var(--az-step-size) / 2);
    left: calc(var(--az-step-size) / 2);
    right: calc(var(--az-step-size) / 2);
    height: 2px;
    background: var(--az-step-color);
    z-index: 0;
}

.info-page .info-step {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
}

/* 큰 원 안쪽 상단에 겹쳐지는 반원(半圓) 모양 번호 뱃지 */
.info-page .info-step-badge {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: var(--az-badge-w);
    height: var(--az-badge-h);
    border-radius: 0 0 var(--az-badge-w) var(--az-badge-w);
    background: var(--az-step-color);
}

.info-page .info-step-circle {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
    height: var(--az-step-size);
    border: 2px solid var(--az-step-color);
    overflow: hidden;
}

.info-page .info-step-icon {
    width: 86px;
    height: 86px;
    object-fit: contain;
}

@media (max-width: 991.98px) {
    /* .info-page .info-steps {
    --az-step-size: 160px;
    --az-badge-w: 56px;
  } */
}

@media (max-width: 575.98px) {
    .info-page .info-steps {
        justify-content: center !important;
        gap: 2.5rem 1rem;
        /* --az-step-size: 140px;
    --az-badge-w: 52px; */
    }

    .info-page .info-steps::before {
        display: none;
    }
}

/* 이용안내 > 입퇴원 안내 E */

/* 이용안내 > 병원생활 안내 S */
.hospital-page .hospital-divider {
    display: block;
    opacity: 1;
    border-top: 1px solid #dddddd;
    margin-top: 3rem !important;
    margin-bottom: 5rem !important;
}

.hospital-page .meal-card {
    background: #fff6f2;
    border-radius: 1rem;
    border: 1px solid #fbc7c7;
}

.hospital-page .visit-time-box {
    background: #fff6f2;
    border-radius: 1rem;
    border: 1px solid #fbc7c7;
}

.hospital-page .visit-dot {
    display: inline-block;
    width: 15px;
    height: 15px;
    background: #000000;
}

.hospital-page .visit-note {
    background: #f5f5f5;
    border-radius: 0.5rem;
}

.hospital-page .hospital-steps {
    --az-step-size: 220px;
    --az-badge-w: 70px;
    --az-badge-h: calc(var(--az-badge-w) / 2);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media (max-width: 992px) {
    .hospital-page .hospital-steps {
        flex-direction: column;
        align-items: center;
        gap: 2rem;
    }
}

.hospital-page .hospital-steps::before {
    content: '';
    position: absolute;
    top: calc(var(--az-step-size) / 2);
    left: calc(var(--az-step-size) / 2);
    right: calc(var(--az-step-size) / 2);
    height: 2px;
    background: var(--bs-main-bg-color);
    z-index: 0;
}

.hospital-page .hospital-step {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
}


.hospital-page .hospital-step-circle {
    position: relative;
    z-index: 1;
    width: var(--az-step-size);
    height: var(--az-step-size);
    border: 2px solid var(--bs-main-bg-color);
    overflow: hidden;
    /* 원 바깥으로 튀어나오는 부분 숨기기 추가 */
}

.hospital-page .hospital-step-icon {
    width: 64px;
    height: 64px;
    object-fit: contain;
}


.hospital-page .safety-box {
    background: #ffffff;
    border: 1px solid var(--bs-main-bg-color);
    border-radius: 0.5rem;
}

.hospital-page .safety-icon {
    width: 70px;
    height: 70px;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .hospital-page .visit-time-box {
        line-height: 2.5;
    }

    .hospital-page .safety-box {
        flex-direction: column;
        text-align: center;
    }
}

.hospital-page .hospital-step-list {
    background-color: #f5f5f5;
    border-radius: 0.5rem;
}

.hospital-page .hospital-step-list li {
    line-height: 2;
}



/* 후원 및 봉사 > 자원봉사활동 안내 S */
.volunteer-page .volunteer-divider {
    display: block;
    opacity: 1;
    border-top: 1px solid #dddddd;
    margin-top: 3rem !important;
    margin-bottom: 5rem !important;
}

.volunteer-page .volunteer-field-icon {
    width: 120px;
    height: 120px;
    background: #fdeeec;
}

.volunteer-page .volunteer-field-img {
    width: 58px;
    height: 58px;
    object-fit: contain;
}

.volunteer-page .volunteer-call-box {
    width: 76%;
    background: #fff6f2;
    border-radius: 2rem;
}

.volunteer-page .volunteer-call-icon {
    width: 87px;
    height: 87px;
    object-fit: contain;
}

.volunteer-page .volunteer-call-divider {
    display: inline-block;
    width: 1px;
    height: 30px;
    background: #f2b4b2;
}

@media (max-width: 575.98px) {
    .volunteer-page .volunteer-field-icon {
        /* width: 90px;
        height: 90px; */
    }

    .volunteer-page .volunteer-call-box {
        width: 100%;
        flex-direction: column;
        text-align: center;
    }

    .volunteer-page .volunteer-call-divider {
        display: none;
    }
}

/* 후원 및 봉사 > 자원봉사활동 안내 E */
/* 이용안내 > 병원생활 안내 E */

/* 병원소개 > 병원둘러보기 S */
.tour-page img.block {
    display: block;
    width: 100%;
}

.tour-page .intro-explore {
    margin-top: 2rem;
}

.tour-page .intro-explore .bx-wrapper {
    position: relative;
}

.tour-page .tour-slide {
    width: 1200px;
}

.tour-page .intro-explore .swiper .background {
    position: relative;
    overflow: hidden;
    padding-top: 50.79365%;
}

.tour-page .intro-explore .swiper .background>img {
    position: absolute;
    top: 0;
    left: 0;
    max-height: 610px;
}

/* .tour-page .intro-explore .caption {
    padding: 0.2rem 0 1.25rem;
    text-align: center;
}

.tour-page .intro-explore .caption strong {
    display: block;
    margin-top: 1.875rem;
} */


/* 사진 크기는 유지하고, 캡션과 그 아래 요소들을 위로 이동 */
/* 캡션 아래쪽 여백 축소 */
.tour-page .intro-explore .swiper .caption {
    margin-top: -100px;
    padding-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: 1rem;
}

/* 페이지네이션과 캡션 사이 간격 축소 */
.tour-page .intro-explore .bx-pager {
    margin-top: 0;
}


/* 층수 텍스트 위쪽 여백 */
.tour-page .intro-explore .caption strong {
    display: block;
    /* background-color: #e67373; */
    color: #e67373;
    padding: .5rem 1.5rem;
    /* margin-top: 0.5rem; */
    position: relative;
}

/* 층수 밑 구분선 */
.tour-page .intro-explore .caption strong::after {
    /* margin: 0.5rem auto 0; */
    content: '';
    width: 2px;
    height: 20px;
    background-color: #e67373;
    position: absolute;
    right: 10px;
    top: 30%;
}

.tour-page .intro-explore .caption span {
    /* display: block; */
    padding-left: .5rem;
}


@media (max-width: 992px) {
    .tour-page .intro-explore .swiper .caption {
        margin-top: 0;
    }
}

/* 이전/다음 버튼 */
.tour-page .text-ir {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.tour-page .intro-explore .bx-controls {
    position: static;
}

.tour-page .intro-explore .bx-controls-direction {
    position: static;
}

.tour-page .intro-explore .bx-controls-direction a {
    position: absolute;
    bottom: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.tour-page .intro-explore .bx-prev {
    left: 1.5rem;
}

.tour-page .intro-explore .bx-next {
    right: 1.5rem;
}

.tour-page [class*="ip-icon-explore-"] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
}

.tour-page [class*="ip-icon-explore-"]::before {
    display: inline-block;
    font-family: "bootstrap-icons" !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    font-size: 1.75rem;
    line-height: 1;
    color: var(--bs-main-bg-color);
    -webkit-font-smoothing: antialiased;
}

.tour-page .ip-icon-explore-prev::before {
    content: "\f284";
}

.tour-page .ip-icon-explore-next::before {
    content: "\f285";
}

/* 페이지네이션 */
.tour-page .intro-explore .bx-pager {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.tour-page .intro-explore .bx-pager-item {
    display: block;
}

.tour-page .intro-explore .bx-pager-link {
    display: block;
    width: 10px;
    height: 10px;
    font-size: 0;
    border-radius: 50%;
    background: #e9e9e9;
    border: 1px solid #e9e9e9;
}

.tour-page .intro-explore .bx-pager-link.active {
    background: var(--bs-main-bg-color);
    border-color: var(--bs-main-bg-color);
}

/* 층별 안내 목록 */
.tour-page .floor-info {
    margin-top: 3.75rem;
}

.tour-page .floor-info>li>a {
    display: flex;
    align-items: stretch;
    border: 1px solid #eee;
    transition: 250ms;
}

.tour-page .floor-info>li+li>a {
    border-top: 0;
}

.tour-page .floor-info dl {
    display: flex;
    align-items: center;
    flex: 1;
    margin: 0;
    padding: 1.5625rem 0;
    background-color: #f7f7f7;
    transition: 250ms;
}

.tour-page .floor-info dt {
    flex: 0 0 260px;
    padding-left: 80px;
    color: var(--bs-main-bg-color);
    font-size: 2.25rem;
    font-weight: 500;
}

.tour-page .floor-info dd {
    flex: 1;
    margin: 0;
    padding-right: 8%;
    color: #666666;
    font-size: 1.125rem;
    transition: 250ms;
}

.tour-page .floor-info>li.active dl {
    background-color: var(--bs-main-bg-color);
}

.tour-page .floor-info>li.active dt,
.tour-page .floor-info>li.active dd {
    color: #fff;
}

@media (max-width: 799.98px) {
    .tour-page .floor-info dd {
        line-height: 1.6;
    }

    .tour-page .intro-explore .bx-controls-direction a {
        width: 2.75rem;
        height: 2.75rem;
        /* bottom: 91px; */
    }

    .tour-page [class*="ip-icon-explore-"] {
        width: 1.25rem;
        height: 1.25rem;
    }

    .tour-page [class*="ip-icon-explore-"]::before {
        font-size: 1.25rem;
    }
}

@media (max-width: 575.98px) {
    .tour-page .floor-info>li>a {
        flex-direction: column;
    }

    .tour-page .floor-info dl {
        flex-direction: column;
        align-items: flex-start;
    }

    .tour-page .floor-info dt {
        flex: none;
        padding: 0.75rem 0 0 1.25rem;
        font-size: 1.5rem;
    }

    .tour-page .floor-info dd {
        flex: none;
        padding: 0 1.25rem 0.75rem;
    }

    .tour-page .intro-explore .bx-prev {
        left: 0.5rem;
    }

    .tour-page .intro-explore .bx-next {
        right: 0.5rem;
    }
}

/* 병원소개 > 병원둘러보기 E */