@charset "utf-8";


/* 서브 비주얼 */
.sub-visual {background-position: center center;background-repeat: no-repeat;background-size: cover;height: 415px;display: flex;align-items: center;}
.sub-visual.visual1 {background-image: url('../img/visual1.png');}
.sub-visual.visual2 {background-image: url('../img/visual1.png');}
.sub-visual.visual3 {background-image: url('../img/visual1.png');}
.sub-visual.visual4 {background-image: url('../img/visual1.png');}
.sub-visual.visual5 {background-image: url('../img/visual1.png');}
.sub-visual.visual6 {background-image: url('../img/visual1.png');}
.sub-visual h2 {font-family: var(--sc);font-size: 56px;font-weight: 700;color: var(--white);text-align: center;line-height: 1.3;}
@media screen and (max-width: 1024px) {
    .sub-visual h2 {font-size: 48px;}
}
@media screen and (max-width: 768px) {
    .sub-visual {height: 350px;}
    .sub-visual h2 {font-size: 40px;}
}
@media screen and (max-width: 480px) {
    .sub-visual {height: 300px;}
    .sub-visual h2 {font-size: 32px;}
}


/* 서브 컨텐츠 */
.sub-content-wrap {padding: 80px 0 100px;min-height: 485px;}
.sub-content-wrap > .inner {display: flex;gap: 80px;}
.sub-content-wrap > .inner > .left {width: 300px;}
.sub-content-wrap > .inner > .right {width: calc(100% - 380px);}
@media screen and (max-width: 1300px) {
    .sub-content-wrap > .inner {display: block;}
    .sub-content-wrap > .inner > .left {display: none;}
    .sub-content-wrap > .inner > .right {width: 100%;}
}
@media screen and (max-width: 1024px) {
    .sub-content-wrap {padding: 70px 0 90px;}
}
@media screen and (max-width: 768px) {
    .sub-content-wrap {padding: 60px 0 80px;}
}
@media screen and (max-width: 480px) {
    .sub-content-wrap {padding: 50px 0 70px;}
}


/* 왼쪽 메뉴 */
.snb .menu-title {padding-bottom: 24px;height: 180px;display: flex;align-items: center;background: var(--brand) url('../img/snb_bg.png') no-repeat;background-position: center center;background-size: cover;border-radius: 20px 20px 0 0;}
.snb .menu-title h6 {font-family: var(--sc);font-size: 32px;font-weight: 700;color: var(--white);text-align: center;line-height: 1.3;}
.side-mnu > ul {background-color: #fff;padding: 16px 0;border-radius: 24px;border: 1px solid #e5e5ec;transform: translateY(-24px);}
.side-mnu > ul > li {padding: 0 30px;}
.side-mnu > ul > li:not(:last-child) > a {border-bottom: 1px solid #e5e5ec;}
.side-mnu > ul > li:has(ul).active > a {border-bottom: 0;}
.side-mnu > ul > li > a {padding: 16px 0;display: flex;justify-content: space-between;align-items: center;position: relative;font-family: var(--sc);font-weight: 500;}
.side-mnu > ul > li > a::after {content: "\e93e";font-family: "xeicon";display: block;position: absolute;right: 0;width: 24px;height: 24px;font-size: 8px;border: 1px solid #e5e5ec;text-align: center;line-height: 24px;border-radius: 8px;color: #ccc;transform: rotate(0deg);transition: .3s;}
.side-mnu > ul > li.active > a,
.side-mnu > ul > li:hover > a {color: var(--brand);transition: .3s;}
.side-mnu > ul > li > a strong {color: var(--brand);}
.side-mnu > ul > li.active > a::after,
.side-mnu > ul > li:hover > a:after {background-color: var(--brand);color: #fff;border-color: var(--brand);transition: .3s;}
.side-mnu > ul > li:has(ul).active > a::after,
.side-mnu > ul > li:has(ul):hover > a::after {transform: rotate(90deg);}
.side-mnu > ul > li > ul {display: none;background-color: #f8fafc;border-radius: 16px;padding: 8px 0;}
.side-mnu > ul > li > ul:has(li.active) {display: block;}
.side-mnu > ul > li > ul > li {padding: 0 16px;}
.side-mnu > ul > li > ul > li > a {display: flex;justify-content: space-between;align-items: center;padding: 12px 0;font-size: 15px;}
.side-mnu > ul > li > ul > li > a::after {content: "\e93e";font-family: "xeicon";display: block;font-size: 12px;transition: .3s;}
.side-mnu > ul > li > ul > li:not(:last-child) > a {border-bottom: 1px dashed #e5e5ec;}
.side-mnu > ul > li > ul > li.active > a,
.side-mnu > ul > li > ul > li:hover > a {color: var(--brand);font-weight: 600;transition: .3s;}


/* 오른쪽 컨텐츠 */
.sub-title {margin-bottom: 40px;padding-bottom: 24px;display: flex;justify-content: space-between;border-bottom: 1px solid #e5e5ec;}
.sub-title h3 {font-family: var(--sc);font-weight: 700;color: var(--black);font-size:30px;line-height:1.2;}
.bread-crumb {display: flex;gap: 12px;line-height: 1;}
.bread-crumb > li {display: flex;align-items: center;gap: 12px;}
.bread-crumb > li:not(:last-child)::after {content: "\e93e";font-family: "xeicon";display: block;color: #ccc;font-size: 12px;}
.bread-crumb > li:not(:last-child) > a {font-weight: 500;}
.bread-crumb > li:last-child > a {font-weight: 700;color: var(--black);}
.bread-crumb > li > a:hover {text-decoration: underline;text-underline-offset: 4px;}
@media screen and (max-width: 768px) {
    .sub-title h3 {font-size:26px;}
}
@media screen and (max-width: 480px) {
    .sub-title {flex-direction: column-reverse;gap: 24px;align-items: center;padding-bottom:15px;margin-bottom:20px;}
    .sub-title h3 {font-size: 20px;width: 100%;text-align: center;}
}



/* 서브 반응형 이미지 */
.responsive-img-wrap > img {width: 100%;height: 100%;object-fit: cover;}
.responsive-img-wrap > img.mobile {display: none;}
.responsive-img-wrap > img.pc {display: block;}
@media screen and (max-width: 640px) {
    .responsive-img-wrap > img.pc {display: none;}
    .responsive-img-wrap > img.mobile {display: block;}
}


/* 버튼 스타일 */
.btn {display: inline-block;font-size: 15px;padding: 13px 15px;background: var(--white);border: 1px solid #e5e5ec;border-radius: 100px;line-height: 1;width: fit-content;transition: all .3s ease;}
.btn:hover {border-color: var(--black);color: var(--black);font-weight: bold;}
.btn.btn-large {display: flex;gap: 10px;justify-content: center;font-size: 16px;font-weight: 600;padding: 16px 20px;min-width: 100px;text-align: center;}
.btn.btn-black {color: var(--black);border-color: var(--black);}
.btn.btn-black:hover {background: var(--black);color: var(--white);}
.btn.btn-brand {color: var(--brand);border-color: var(--brand);}
.btn.btn-brand:hover {background: var(--brand);color: var(--white);}
.btn-wrap {display: flex;gap: 8px;justify-content: center;}
@media screen and (max-width: 768px) {
    .btn {font-size: 14px;padding: 10px;}
    .btn.btn-large {font-size: 15px;padding: 15px 19px;}
}
@media screen and (max-width: 480px) {
    .btn {font-size: 13px;}
    .btn.btn-large {font-size: 14px;padding: 14px 18px;}
}



/* 테이블 */
.table-wrap tr {transition: all .3s;border-bottom: 1px solid #e5e5ec;} 
.table-wrap tr:not(:has(th)):first-child {border-top: 1px solid #e5e5ec;} 
.table-wrap tr:not(:has(th)):hover {background: #F4F6F7;} 
.table-wrap th, .table-wrap td {vertical-align: middle; line-height: 1.3;word-break: break-all;text-align: center;} 
.table-wrap th {padding: 15px;color: var(--white);background: var(--brand);font-family: var(--sc);font-weight: 500;} 
.table-wrap th:first-of-type {border-top-left-radius: 10px;} 
.table-wrap th:last-of-type {border-top-right-radius: 10px;} 
.table-wrap td {padding: 15px;} 
@media screen and (max-width: 768px) {
    .table-wrap th {padding: 20px 10px;} 
    .table-wrap td {padding: 10px;}
}
@media screen and (max-width: 480px) {
    .table-wrap th {padding: 20px 5px;} 
    .table-wrap td {padding: 10px 5px;}
    .table-wrap .m-none {display: none;} 
}



/* 탭 메뉴 & 컨텐츠 */
.tab-menu-list {display: flex;gap: 20px;justify-content: center;}
.tab-menu-list li {display: flex;gap: 20px;align-items: center;}
.tab-menu-list li:not(:last-child)::after {display: block;content: '';background: #d9d9d9;width: 4px;height: 4px;border-radius: 50%;}
.tab-menu-list li a {display: block;font-size: 22px;text-align: center;font-family: var(--sc);}
.tab-menu-list li:hover a, .tab-menu-list li.on a {color: var(--brand);}
.tab-content > section {display: none;}
.tab-content > section.on {display: block;}
@media screen and (max-width: 768px) {
    .tab-menu-list {gap: 10px;}
    .tab-menu-list li {gap: 10px;}
    .tab-menu-list li a {font-size: 21px;}
}
@media screen and (max-width: 480px) {
    .tab-menu-list li a {font-size: 20px;}
}


/* 인풋 */
.input-basic {background: var(--bg);border-radius: 5px;width: 100%;height: 40px;padding: 0 16px;font-size: 15px;}
.textarea-basic {background: var(--bg);border: none;border-radius: 5px;width: 100%;height: 100px;padding: 16px;font-size: 15px;}


/* 라디오버튼 */
.radio-box {display: flex;gap: 10px 20px;align-items: center;flex-wrap: wrap;color: var(--gray);}
.radio-box input[type=radio] {display: none;}
.radio-box label {cursor: pointer;}
.radio-box span {height: 40px;display: flex;align-items: center;gap: 8px;color: var(--gray);word-break: keep-all;font-size: 15px;}
.radio-box span::before {content: '\f00c';font-family: 'Font Awesome 5 Pro';display: inline-flex;justify-content: center;align-items: center;width: 20px;height: 20px;border-radius: 50%;background: var(--bg);color: transparent;font-size: 10px;}
.radio-box input[type=radio]:checked + span::before {color: var(--white);background: var(--brand);}
.radio-box input[type=radio]:checked + span {color: var(--dgray);}
.radio-box .etc {display: flex;align-items: center;gap: 10px 25px;}


/* ==================================================================================== */


/* 공통 CSS */
.hy-content em {font: inherit;}

.hy-content .inner-box {
    position: relative;
    overflow: hidden;
}

.file-down-btn {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--brand);
    border-radius: 8px;
    color: var(--brand);
    font-size: clamp(16px, 3vw, 18px);
    transition: .3s;
}

.file-down-btn i {
    padding: 16px;
    border-right: 1px dotted var(--brand);
    background-color: rgba(0,112,189,0.1);
    font-size: 24px;
}

.file-down-btn em {
    padding: 0 20px 0 10px;
}

@media screen and (min-width: 767px) {
    .hy-content .inner-box {
        padding: 32px;
        margin: 0;
        border: 1px solid #eee;
        border-radius: 16px;
    }
}

@media screen and (min-width: 1239px) {
    .hy-content .inner-box {
        padding: 60px 50px;
        border-width: 3px;
    }

    .file-down-btn:hover {
        background-color: var(--brand);
        color: var(--white);
    }

    .file-down-btn:hover i {
        background-color: rgba(8,47,73,0.2);
    }
}


/* 공통 CSS // 탭메뉴 */
.tab-mnu {
    --tab-mnu-height: 36px;

    position: relative;
    margin-bottom: 20px;
}

.tab-mnu > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

.tab-mnu .tab-mnu-btn {
    display: block;
    height: var(--tab-mnu-height);
    line-height: calc(var(--tab-mnu-height) - 2px);
    padding: 0 16px;
    border: 1px solid var(--color-line-basic);
    border-radius: var(--tab-mnu-height);
    font-size: clamp(16px, 3vw, 20px);
    transition: .2s;
}

.tab-mnu .tab-mnu-btn.selected {
    border-color: var(--black);
    background-color: var(--black);
    color: var(--white);
    font-weight: var(--font-weight-semibold);
}

.tab-mnu .vaccination-step-slide {
    overflow: hidden;
}

.tab-mnu .vaccination-step-slide ul li {
    width: auto;
}

.tab-mnu .slide-btn-area {
    display: none;
}

.tab-mnu .slide-btn-area .swiper-button {
    position: absolute;
    top: 0;
    width: 52px;
    height: 52px;
    border: 1px solid var(--color-line-basic);
    background-color: var(--color-bg-gray);
    text-align: center;
    border-radius: 20px;
    font-size: 20px;
    z-index: 100;
    transition: .3s;
}

.tab-mnu .slide-btn-area .swiper-button.swiper-prev {
    left: 0px;
}

.tab-mnu .slide-btn-area .swiper-button.swiper-next {
    right: 0px;
}

.tab-mnu .slide-btn-area .swiper-button.swiper-button-disabled {
    opacity: 0.5;
    color: var(--gray);
    cursor: default;
}

.tab-mnu .slide-btn-area .swiper-button:not(.swiper-button-disabled):hover {
    border-color: var(--brand);
    background-color: rgba(0, 112, 189, 0.05);
    color: var(--brand);
}

@media screen and (min-width: 767px) {
    .tab-mnu {
        --tab-mnu-height: 52px;
        margin-bottom: 32px;
    }

    .tab-mnu > ul {
        gap: 10px;
    }

    .tab-mnu .tab-mnu-btn {
        padding: 0 20px;
    }

    .tab-mnu .tab-mnu-btn:hover {
        border-color: var(--black);
    }

    .tab-mnu .vaccination-step-slide {
    margin: 0 60px;
    }

    .tab-mnu .slide-btn-area {
        display: inline;
    }
}

@media screen and (min-width: 1239px) {
    .tab-mnu {
        margin-bottom: 48px;
    }
}


/* 공통 CSS // UL 리스트 */
ul.jum-ul li {
    position: relative;
    padding-left: 15px;
}

ul.jum-ul li:before {
    position: absolute;
    top: 10px;
    left: 0;
    width: 4px;
    height: 4px;
    background-color: var(--lgray);
    border-radius: 50%;
    content: '';
}

ul.jum-ul li:not(:first-child) {
    margin-top: 5px;
}

ul.jum-ul.in-tit li:not(:first-child) {
    margin-top: 20px;
}

ul.jum-ul.no-margin li:not(:first-child) {
    margin-top: 0 !important;
}

ul.jum-ul li h5.tit {
    margin-bottom: 10px;
    font-size: inherit;
    color: var(--black);
}

@media screen and (min-width: 767px) {
    ul.jum-ul li:not(:first-child) {
        margin-top: 10px;
    }

    ul.jum-ul.small-margin li:not(:first-child) {
        margin-top: 5px;
    }

    ul.jum-ul.in-tit li:not(:first-child) {
        margin-top: 30px;
    }

    ul.jum-ul li:before {
        top: 14px;
    }
}


/* 공통 CSS // UL 갤러리 */
.gallery-ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}

.gallery-ul li {
    overflow: hidden;
    border-radius: 5px;
}

.gallery-ul.horizon-3 {
    gap: 10px;
}

.gallery-ul.horizon-3 li {
    width: calc(50% - 5px);
}

@media screen and (min-width: 767px) {
    .gallery-ul li {
        border-radius: 10px;
    }

    .gallery-ul.horizon-3 {
        gap: 10px 2%;
    }

    .gallery-ul.horizon-3 li {
        width: 32%;
    }
}


/* 공통 CSS // UL 히스토리 */
.mini-history-ul {
    position: relative;
    padding: 20px 0 40px;
}

.mini-history-ul:before {
    position: absolute;
    top: -30px;
    left: 0;
    bottom: 0;
    width: 1px;
    background-color: var(--color-line-basic);
    content: '';
}

.mini-history-ul:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: var(--color-blue);
    box-sizing: border-box;
    border-radius: 50%;
    transform: translateX(-50%);
    content: '';
}

.mini-history-ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    padding-left: 20px;
    font-size: clamp(16px, 3vw, 18px);
}

.mini-history-ul li:not(:first-child) {
    margin-top: 20px;
}

.mini-history-ul li:after {
    position: absolute;
    top: 14px;
    left: 0;
    width: 15px;
    height: 15px;
    border: 3px solid var(--brand);
    background-color: var(--white);
    box-sizing: border-box;
    border-radius: 50%;
    transform: translateX(-50%);
    content: '';
}

.mini-history-ul li .ym {
    flex-shrink: 0;
    padding: 5px 16px;
    background-color: var(--brand);
    color: var(--white);
    font-weight: var(--font-weight-semibold);
    border-radius: 30px;
}

.mini-history-ul li span {
    padding-left: 16px;
}

@media screen and (min-width: 767px) {
    .mini-history-ul li {
        flex-direction: row;
        gap: 20px;
    }

    .mini-history-ul li:after {
        top: 10px;
    }

    .mini-history-ul li .ym {
        width: var(--pc-ym-width);
        padding: 8px 16px;
        transform: translateY(-8px);
        text-align: center;
    }

    .mini-history-ul li span {
        padding-left: 0;
    }
}

@media screen and (min-width: 1239px) {
    .mini-history-ul {
        margin-left: 50px;
    }
}

.search-line {display:flex;margin:0 0 20px;}
.search-line .srh-box {margin-left:auto;display:inline-flex;max-width:100%;}
.search-line .srh-box input[type="text"] {box-sizing:border-box;padding:5px 10px;width:240px;max-width:calc(100% - 85px);height:40px;font-size:16px;background:#fff;border:1px solid #dadada;margin:0;vertical-align:top;}
.search-line .srh-box .search {margin-left:5px;width:80px;height:40px;background:#1c1c1c;font-size:16px;color:#fff;border:0;}
@media screen and (max-width: 1024px) {
	.table-scrl table {
		width: 969px;
	}
    .table-scrl .swiper-slide {
        width: auto;
    }
}
.pagination {padding:15px 0 0;text-align:center;}

/* 공통 CSS // 테이블 */
.basic-tbl {
    border-top: 2px solid var(--color-blue);
}

.basic-tbl th,
.basic-tbl td {
    padding: 5px 10px;
    border-left: 1px solid var(--color-line-basic);
    border-bottom: 1px solid var(--color-line-basic);
    background-color: var(--white);
}

.basic-tbl.ac-tbl th,
.basic-tbl.ac-tbl td {
	text-align:center;
	word-break:break-all;
}

.basic-tbl.mini-ver th,
.basic-tbl.mini-ver td {
    padding: 5px;
}

.basic-tbl th:not(.border-left):first-child,
.basic-tbl td:not(.border-left):first-child {
    border-left: none;
}

.basic-tbl.text-center th,
.basic-tbl.text-center td {
    text-align: center;
}

.basic-tbl thead th,
.basic-tbl tbody th[scope=row] {
    font-family: var(--sc);
    font-weight: var(--font-weight-medium);
    background-color: var(--color-bg-gray);
    color: var(--black);
    text-align: center;
}

.basic-tbl tbody th {
    color: var(--brand);
}

.basic-tbl tbody td {
    color: var(--color-gray);
}

.basic-tbl .text-left {
    text-align: left !important;
}

.basic-tbl .text-right {
    text-align: right !important;
}

.basic-tbl .text-center {
    text-align: center !important;
}

.basic-tbl .bg-yellow {
    background-color: #fceaaa;
}

@media screen and (min-width: 767px) {
    .basic-tbl th,
    .basic-tbl td {
        padding: 10px 12px;
    }
	
	.noncovered .basic-tbl th,
    .noncovered .basic-tbl td {
		font-size: 14px;
    }

    .basic-tbl.mini-ver th,
    .basic-tbl.mini-ver td {
        padding: 8px 12px;
    }
}


/* 공통 CSS // 이미지 슬라이더 */
.basic-slider .basic-pic-slide {
    position: relative;
    width: 100%;
    margin: 0 auto;
}
    
.basic-slider .basic-pic-slide ul li {
    overflow: hidden;
    border-radius: 8px;
}
    
.basic-slider .basic-pic-slide ul li img {
    width: 100%;
}

.basic-slider .slide-btn-area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 20px;
}

.basic-slider .slide-btn-area .swiper-button {
    width: 100px;
    height: 40px;
    border: 1px solid var(--color-line-basic);
    background-color: var(--white);
    border-radius: 40px;
    font-size: 20px;
    color: var(--lgray);
    transition: .3s;
}

.basic-slider .slide-btn-area .swiper-button.swiper-button-disabled {
    opacity: 0.5;
    cursor: default;
}

.basic-slider .slide-btn-area .pic-pagination {
    width: auto !important;
    color: var(--lgray);
    font-size: clamp(16px, 3vw, 18px);
}

.basic-slider .slide-btn-area .pic-pagination .swiper-pagination-current {
    color: var(--brand);
    font-weight: var(--font-weight-semibold);
}

@media screen and (min-width: 767px) {
    .basic-slider .basic-pic-slide {
        width: 90%;
    }
    
    .basic-slider .basic-pic-slide ul li {
        border-radius: 16px;
    }

    .basic-slider .slide-btn-area {
        margin-top: 30px;
    }

    .basic-slider .slide-btn-area .swiper-button {
        height: 50px;
    }

    .basic-slider .slide-btn-area .swiper-button:not(.swiper-button-disabled):hover {
        border-color: var(--gray);
        color: var(--black);
    }
}


/* 공통 // 다운로드 리스트 */
.basic-down-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
}

.basic-down-list li {
    width: 100%;
}

@media screen and (min-width: 767px) {
    .basic-down-list {
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: flex-start;
        gap: 5px 10px;
        margin-top: 40px;
    }

    .basic-down-list li {
        width: auto;
    }
}


/* 공통 // 간단 예약서비스 안내 */
.reserv-service-guide {
    position: relative;
    padding: 20px;
    background-color: var(--color-bg-gray);
    border-radius: 10px;
}

.reserv-service-guide .txt h3 {
    display: flex;
    flex-direction: column;
    gap: 5px;
    line-height: 1.4;
    font-size: clamp(24px, 3vw, 30px);
}

.reserv-service-guide .txt h3 small {
    font-weight: var(--font-weight-medium);
    font-size: clamp(16px, 3vw, 20px);
}

.reserv-service-guide .txt h3 em {
    color: var(--color-green);
}

.reserv-service-guide .txt p {
    line-height: 1.4;
    margin-top: 20px;
    color: var(--gray);
}

.go-to-write-btn {
    display: inline-block;
    padding: 10px 30px;
    margin-top: 20px;
    background-color: var(--brand);
    color: var(--white);
    font-weight: var(--font-weight-medium);
    border-radius: 5px;
}

@media screen and (min-width: 767px) {
    .reserv-service-guide {
        padding-left: 230px;
    }

    .reserv-service-guide figure {
        position: absolute;
        top: 20px;
        left: -50px;
        width: 250px;
    }
}

@media screen and (min-width: 1023px) {
    .reserv-service-guide {
        padding: 40px;
        padding-left: 350px;
    }

    .reserv-service-guide figure {
        top: 55%;
        left: -50px;
        width: 350px;
        transform: translateY(-50%);
    }
}

@media screen and (min-width: 1439px) {
    .reserv-service-guide {
        padding-left: 50px;
    }

    .reserv-service-guide figure {
        right: 80px;
        left: auto;
        width: 450px;
    }
}



/* 공통 CSS // 일반 페이지 */
.page-document {
    line-height: 1.8;
    font-size: clamp(16px, 3vw, 18px);
}

.page-document .page-settlement:not(:first-of-type) {
    --ps-space: 30px;
    padding-top: var(--ps-space);
    margin-top: var(--ps-space);
    border-top: 1px solid var(--color-line-light);
}

.page-document .page-settlement h3.pd-h3 {
    position: relative;
    line-height: 1.4;
    padding-bottom: 20px;
    margin-bottom: 40px;
    color: var(--black);
    text-wrap: initial;
    font-size: clamp(20px, 3.5vw, 25px);
    font-weight: var(--font-weight-medium);
    font-family: var(--sc);
}

.page-document .page-settlement h3.pd-h3:before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100px;
    height: 4px;
    background: linear-gradient(135deg,  rgba(0,112,189,1) 0%,rgba(0,234,172,1) 100%);
    border-radius: 2px;
    content: '';
}

.page-document .pd-paragraph:not(:first-of-type) {
    margin-top: 30px;
}

.page-document .pd-paragraph h4.pd-h4 {
    line-height: 1.4;
    margin-bottom: 20px;
    font-size: clamp(18px, 3vw, 21px);
    font-weight: var(--font-weight-medium);
    font-family: var(--sc);
    text-wrap: initial;
}

.page-document .pd-paragraph h4.pd-h4 em {
    background: linear-gradient(90deg, #006FBC, #005A8A);
    color: transparent;
    -webkit-background-clip: text;
}

.page-document .box-basic {
    padding: 16px;
    background-color: var(--color-bg-gray);
    border-radius: 8px;
}

@media screen and (min-width: 767px) {
    .page-document .page-settlement:not(:first-of-type) {
        --ps-space: 40px;
    }

    .page-document .page-settlement h3.pd-h3 {
        margin-bottom: 50px;
    }

    .page-document .pd-paragraph:not(:first-of-type) {
        margin-top: 60px;
    }

    .page-document .box-basic {
        padding: 32px;
        border-radius: 16px;
    }
}

@media screen and (min-width: 1239px) {
    .page-document .page-settlement:not(:first-of-type) {
        --ps-space: 50px;
    }
}

@media screen and (min-width: 1439px) {
    .page-document .page-settlement:not(:first-of-type) {
        --ps-space: 70px;
    }
}


/* 병원안내 - 병원소개 */
.introduce-content {
    position: relative;
    overflow: hidden;
    padding: 20px 20px 0;
    margin: 0 -20px;
}

.introduce-content h3 {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 30px;
    font-size: clamp(20px, 4vw, 30px);
    color: var(--black);
    font-weight: var(--font-weight-medium);
    font-family: var(--sc);
    text-align: center;
}

.introduce-content h3:before {
    position: absolute;
    bottom: 0;
    left: calc(50% - 50px);
    width: 100px;
    height: 4px;
    background: linear-gradient(135deg,  rgba(0,112,189,1) 0%,rgba(0,234,172,1) 100%);
    border-radius: 2px;
    content: '';
}

.introduce-mov .movie-area {
    overflow: hidden;
    border-radius: 10px;
    font-size: 0;
}

.introduce-mov .text-script {
    position: relative;
    padding: 20px;
    height: 300px;
    margin: 0 -20px;
    margin-top: 20px;
    background-color: var(--color-bg-gray);
}

.introduce-mov .text-script ul li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
    font-size: clamp(16px, 3vw, 18px);
}

.introduce-mov .text-script ul li:not(:first-child) {
    margin-top: 10px;
}

.introduce-mov .text-script ul li em {
    flex-shrink: 0;
    color: var(--lgray);
}

.introduce-mov .text-script ul li span {
    flex-grow: 1;
    color: var(--black);
}

@media screen and (min-width: 767px) {
    .introduce-content {
        padding: 32px;
        margin: 0;
        border: 1px solid #eee;
        border-radius: 16px;
    }

    .introduce-content h3 {
        margin-bottom: 50px;
    }

    .introduce-mov .movie-area {
        border-radius: 16px;
    }

    .introduce-mov .text-script {
        padding: 32px;
        margin: 0 -32px -32px;
        margin-top: 32px;
    }

}

@media screen and (min-width: 1239px) {
    .introduce-content {
        padding: 60px 50px;
        border-width: 3px;
    }

    .introduce-mov .text-script {
        padding: 30px 50px;
        margin: 0 -50px -60px;
        margin-top: 50px;
    }

    .introduce-mov .text-script ul li {
        gap: 20px;
    }

    .introduce-mov .text-script ul li em {
        width: 50px;
    }
}


/* 병원안내 - 인사말 */
.greeting {background-image: url("/assets/img/greeting_bg.svg");background-repeat: no-repeat;background-position: right top;}
.greeting-title {padding: 0 80px;}
.greeting-title h6 {padding: 40px 0;font-size: 32px;font-weight: 700;line-height: 1.3;letter-spacing: -.025em;color: var(--dgray);}
.greeting-content {padding-bottom: 120px;position: relative;z-index: 0;}
.greeting-content::before {content: "";background-color: #F5FAFF;width: 100%;height: 100%;position: absolute;left: 50%;top: 0;transform: translateX(-50%);z-index: -1;}
.greeting-content .txt {width: calc(100% - 460px);padding-left: 80px;}
.greeting-content .txt b {display: block;padding-top: 40px;font-weight: 600;color: var(--dgray);}
.greeting-content .txt p:first-of-type {margin-top: 16px;}
.greeting-content .txt p:not(:first-of-type) {margin-top: 24px;}
.greeting-content .img {width: 45%;max-width: 460px;padding-right: 80px;position: absolute;right: 0;bottom: 120px; display: flex;flex-direction: column;align-items: flex-end;}
.greeting-content .img img {border-bottom: 1px solid #e5e5ec;}
.greeting-content .img .caption {margin-top: 24px;font-size: 18px;font-weight: 600;color: var(--dgray);}
@media screen and (max-width: 1024px) {
    .greeting-title {padding: 0 60px;}
    .greeting-title h6 {font-size: 28px;padding: 30px 0;}
    .greeting-content {padding-bottom: 60px;}
    .greeting-content .txt {padding-left: 60px;width: 50%;}
    .greeting-content .txt b {padding-top: 30px;}
    .greeting-content .txt p:first-of-type {margin-top: 12px;}
    .greeting-content .txt p:not(:first-of-type) {margin-top: 12px;}
    .greeting-content .img {padding-right: 60px;bottom: 60px;}
}
@media screen and (max-width: 768px) {
    .greeting {background-size: 25%;}
    .greeting-title {padding: 0 50px;}
    .greeting-title h6 {font-size: 24px;}
    .greeting-content {padding-bottom: 0;}
    .greeting-content .txt {width: 100%;padding: 0 50px;}
    .greeting-content .img {width: 100%;padding: 0 50px;position: static;display: flex;flex-direction: column-reverse;row-gap: 24px;margin-left: auto;margin-top: 24px;}
    .greeting-content .img img {border-bottom: 0;}
    .greeting-content .img .caption {margin-top: 0;font-size: 16px;}
}
@media screen and (max-width: 500px) {
    .greeting {background-size: 40%;}
    .greeting-title {padding: 0 30px;}
    .greeting-title h6 {font-size: 20px;padding: 24px 0;}
    .greeting-content .txt {padding: 0 30px;}
    .greeting-content .img {padding: 0 30px;margin-top: 16px;}
}


/* 병원안내 - 연혁 */
.history {
    position: relative;
    overflow: hidden;
    background-color: var(--color-bg-gray);
    border-radius: 16px;
    transition: .3s;
}

.history .history-top {
    position: relative;
    overflow: hidden;
    padding: 30px 20px;
    background: url("/assets/img/history_topimg.jpg") no-repeat center / cover;
    font-size: clamp(20px, 4vw, 50px);
    color: var(--white);
    text-align: center;
}

.history .history-top:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(135deg,  rgba(0,162,228,1) 0%,rgba(0,112,189,1) 100%);
    opacity: 0.9;
    content: '';
}

.history .history-top span {
    position: relative;
    font-weight: var(--font-weight-light);
}

.history .history-top  b {
    font-weight: var(--font-weight-bold);
}

.history .history-list {
    position: relative;
    padding: 16px;
}

.history .history-list:before {
    position: absolute;
    top: 0;
    left: 16px;
    bottom: 0;
    width: 1px;
    background-color: var(--color-line-basic);
    opacity: 0.5;
    content: '';
}

.history .history-list dl {
    padding-left: 20px;
}

.history .history-list dl:not(:first-child) {
    margin-top: 20px;
}

.history .history-list dl dt {
    position: relative;
    font-size: clamp(20px, 3vw, 30px);
    font-weight: var(--font-weight-semibold);
    color: var(--dgray);
}

.history .history-list dl dt:before {
    position: absolute;
    top: calc(50% - 8px);
    left: -28px;
    width: 16px;
    height: 16px;
    border: 5px solid #0070BD;
    background-color: var(--color-bg-gray);
    box-sizing: border-box;
    border-radius: 50%;
    content: '';
}

.history .history-list dl:nth-child(2n) dt:before {
    border-color: #00A2E4;
}

.history .history-list dl dd {
    font-size: clamp(16px, 2vw, 18px);
}

@media screen and (min-width: 767px) {
    .history .history-list {
        padding: 32px;
    }

    .history .history-list:before {
        left: 50%;
    }

    .history .history-list dl {
        width: 50%;
        padding: 0 32px;
    }

    .history .history-list dl:nth-child(2n) {
        margin-left: 50%;
    }

    .history .history-list dl:nth-child(2n - 1) {
        text-align: right;
    }

    .history .history-list dl dt:before {
        left: -40px;
    }

    .history .history-list dl:nth-child(2n - 1) dt:before {
        left: auto;
        right: -40px;
    }
}

@media screen and (min-width: 1239px) {
    .history {
        border-radius: 24px;
    }

    .history .history-top span {
        text-shadow: 3px 4px 4px rgba(0,0,0,0.1);
    }

    .history .history-list {
        padding: 64px 32px;
    }

    .history .history-list dl:not(:first-child) {
        margin-top: -10px;
    }

    .history .history-list dl dd {
        margin-top: 10px;
    }
}

@media screen and (min-width: 1439px) {
}


/* 병원안내 - 미션/비전/서비스 */
.mvs-content {
    position: relative;
    overflow: hidden;
    padding: 32px 16px;
    border: 1px solid #eee;
    border-radius: 16px;
}

.mvs-content1 h3 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-bottom: 24px;
    text-align: center;
}

.mvs-content1 h3 .ico {
    width: 40%;
    max-width: 180px;
    margin: 0 auto;
    font-size: 0;
}

.mvs-content1 h3 em {
    position: relative;
    display: block;
    line-height: 1.4;
    padding-top: 5px;
    font-family: var(--sc);
    background: linear-gradient(90deg, #006FBC, #005A8A);
    color: transparent;
    -webkit-background-clip: text;
    font-size: clamp(20px, 3vw, 40px);
}

.mvs-content1 picture.mission-img {
    max-width: 855px;
    margin: 0 auto;
}

.mvs-content1 .mvs-promise {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
}

.mvs-content1 .mvs-promise li {
    padding: 16px;
    background-color: var(--color-blue-light);
    border-radius: 10px;
}

.mvs-content1 .mvs-promise li h5 {
    color: var(--color-blue);
    font-size: clamp(18px, 3vw, 24px);
}

.mvs-content1 .mvs-promise li p {
    margin-top: 5px;
    color: var(--dgray);
}

.mvs-content1 .mvs-promise li p br {
    display: none;
}

.mvs-content1 .value {
    overflow: hidden;
    margin-top: 30px;
    border-radius: 10px;
}

@media screen and (min-width: 767px) {
    .mvs-content {
        padding: 32px;
    }

    .mvs-content1 h3 {
        margin-bottom: 40px;
    }

    .mvs-content1 .mvs-promise {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: stretch;
        gap: 20px;
        margin-top: 40px;
    }

    .mvs-content1 .mvs-promise li {
        width: calc(50% - 10px);
    }

    .mvs-content1 .value {
        margin-top: 40px;
    }
}

@media screen and (min-width: 1239px) {
    .mvs-content {
        padding: 60px 50px;
        border-width: 3px;
    }
    
    .mvs-content.mvs-content1 {
        padding: 60px 32px;
    }

    .mvs-content1 .mvs-promise li {
        padding: 30px 20px;
        text-align: center;
    }
}

@media screen and (min-width: 1439px) {
    .mvs-content1 .mvs-promise li p br {
        display: block;
    }
}


/* 병원안내 - 조직도 */
.organization {
    position: relative;
    overflow: hidden;
    padding: 32px 16px;
    border: 1px solid #eee;
    border-radius: 16px;
}

@media screen and (min-width: 767px) {
    .organization {
        padding: 32px;
    }
}

@media screen and (min-width: 1239px) {
    .organization {
        padding: 60px 70px;
        border-width: 3px;
    }
}


/* 병원안내 - 충주의료원 상징 소개 */
.cjmct-symbol .symbol-mark-img {
    position: relative;
    padding: 16px;
    margin-top: 30px;
    border: 1px solid var(--color-line-light);
    background-image: linear-gradient(45deg, #f5f5f5, #ffffff, #F5FAFF, #f4f4f4);
    background-size: 400% 400%;
    border-radius: 10px;
    animation: moveGradient 15s ease infinite alternate;
}

@keyframes moveGradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@media screen and (min-width: 767px) {
    .cjmct-symbol .symbol-mark-img {
        padding: 36px;
        margin-top: 40px;
        border-radius: 16px;
    }
}


/* 병원안내 - 비전2030 */
.vision2030 {
    position: relative;
    overflow: hidden;
    padding: 20px 20px 0;
    margin: 0 -20px;
}

@media screen and (min-width: 767px) {
    .vision2030 {
        padding: 32px;
        margin: 0;
        border: 1px solid #eee;
        background-color: var(--color-bg-gray);
        border-radius: 16px;
    }
}

@media screen and (min-width: 1239px) {
    .vision2030 {
        padding: 60px 50px;
        border-width: 3px;
    }
}


/* 병원안내 - 안전보건경영방침/목표 */
.safepolicy-vision,
.safepolicy-goal {
    max-width: 900px;
    margin: 0 auto;
}

.safepolicy-vision h2 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.4;
    text-align: center;
    font-weight: var(--font-weight-medium);
}

.safepolicy-vision h2 b {
    font-weight: var(--font-weight-heavy);
    font-size: clamp(36px, 7vw, 60px);
    background: linear-gradient(45deg, #006FBC, #0bb895);
    color: transparent;
    -webkit-background-clip: text;
}

.safepolicy-vision p {
    position: relative;
    line-height: 1.4;
    padding: 20px;
    margin-top: 30px;
    border: 5px solid var(--brand);
    background-color: var(--color-bg-gray);
    text-align: center;
    font-size: clamp(20px, 2.5vw, 26px);
    color: var(--black);
    border-radius: 10px;
}

.safepolicy-vision p:after,
.safepolicy-vision p:before {
    position: absolute;
    top: 100%;
    left: 5%;
    right: 5%;
    height: 10px;
    background-color: var(--white);
    content: '';
}

.safepolicy-vision p:before {
    top: auto;
    bottom: 100%;
}

.safepolicy-vision p br {
    display: none;
}

.safepolicy-vision .vision-list {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
}

.safepolicy-vision .vision-list dl {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
    padding: 30px 0;
}

.safepolicy-vision .vision-list dl:not(:first-child) {
    border-top: 1px solid var(--color-line-light);
}

.safepolicy-vision .vision-list dl dt {
    flex-shrink: 0;
    position: relative;
    width: 60px;
    background-position: center right;
    background-repeat: no-repeat;
    background-image: url("../img/safepolicy_arrow03.png");
    background-size: auto 30px;
    font-weight: var(--font-weight-bold);
    font-size: 20px;
}

.safepolicy-vision .vision-list dl:nth-child(1) dt { background-image: url("../img/safepolicy_arrow01.png"); color: #255a96; }
.safepolicy-vision .vision-list dl:nth-child(2) dt { background-image: url("../img/safepolicy_arrow02.png"); color: #5a2c8e; }
.safepolicy-vision .vision-list dl:nth-child(3) dt { background-image: url("../img/safepolicy_arrow03.png"); color: #7a7a7a; }
.safepolicy-vision .vision-list dl:nth-child(4) dt { background-image: url("../img/safepolicy_arrow04.png"); color: #d03d24; }
.safepolicy-vision .vision-list dl:nth-child(5) dt { background-image: url("../img/safepolicy_arrow05.png"); color: #4e9831; }

.safepolicy-vision .vision-list dl:nth-child(1) dd .point-text { color: #255a96; }
.safepolicy-vision .vision-list dl:nth-child(2) dd .point-text { color: #5a2c8e; }
.safepolicy-vision .vision-list dl:nth-child(3) dd .point-text { color: #87133d; }
.safepolicy-vision .vision-list dl:nth-child(4) dd .point-text { color: #d03d24; }
.safepolicy-vision .vision-list dl:nth-child(5) dd .point-text { color: #4e9831; }

.safepolicy-vision .vision-list dl dd {
    flex-grow: 1;
    padding-top: 5px;
}

@media screen and (min-width: 767px) {
    .safepolicy-vision p {
        padding: 30px 20px;
        border-width: 10px;
        border-radius: 30px;
    }

    .safepolicy-vision p br {
        display: block;
    }

    .safepolicy-vision .vision-list dl dt {
        width: 100px;
        font-size: 30px;
        background-size: auto 40px;
    }

    .safepolicy-vision .vision-list dl dd {
        padding-top: 10px;
        font-size: 20px;
    }
}

@media screen and (min-width: 1239px) {
    .safepolicy-vision p {
        padding: 40px 20px;
    }

    .safepolicy-vision .vision-list dl dd {
        padding-top: 5px;
        font-size: 24px;
    }
}


/* 진료안내 - 진료과·의료진소개 // 리스트 */
.place-list {
    position: relative;
}

.place-list .top-comment {
    padding: 16px;
    background-color: var(--color-bg-gray);
    border-radius: 10px;
    font-size: clamp(16px, 3vw, 18px);
}

.place-list .clinic-list {
    margin-top: 20px;
}

.place-list .clinic-list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px 2%;
}

.place-list .clinic-list ul li {
    width: 32%;
}

/* 비뇨기과 임시 */
/*.place-list .clinic-list ul li:nth-child(11) {display:none;}*/

.place-list .clinic-list ul li a {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
	height: 182px;
    padding: 16px 0;
    font-size: clamp(14px, 3vw, 20px);
    text-align: center;
    border-radius: 10px;
    transition: .3s;
}

.place-list .clinic-list ul li a:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid var(--color-line-basic);
    border-radius: inherit;
    perspective: 1px;
    transition: .3s;
    content: '';
}

.place-list .clinic-list ul li a .ico {
    width: 35%;
    max-width: 50px;
    font-size: 0;
    transition: .3s;
}

.place-list .clinic-list ul li a .txt {
    color: var(--lgray);
    transition: .3s;
}

.place-list .page-document {
    --pd-space: 30px;
    padding-top: var(--pd-space);
    margin-top: var(--pd-space);
    border-top: 1px solid var(--color-line-light);
}

@media screen and (max-width: 766px) {
	.place-list .clinic-list ul li a {
		height:100%;
	}
}

@media screen and (min-width: 767px) {
    .place-list .top-comment {
        padding: 32px;
        text-align: center;
    }

    .place-list .clinic-list ul {
        gap: 20px 2%;
    }

    .place-list .clinic-list ul li {
        width: 18.4%;
    }

    .place-list .page-document {
        --pd-space: 50px;
    }
}

@media screen and (min-width: 1239px) {
    .place-list .clinic-list {
        margin-top: 40px;
    }

    .place-list .clinic-list ul li a {
        gap: 16px;
        padding: 32px 0;
        border-radius: 16px;
    }

    .place-list .clinic-list ul:hover li:not(:hover) a {
        border-color: var(--color-line-light);
        background-color: var(--color-bg-gray);
        filter: grayscale(1);
    }

    .place-list .clinic-list ul li:hover a {
        border-width: 2px;
        border-color: var(--brand);
        box-shadow: 0 5px 15px -5px rgba(0, 62, 157, 0.2);
        transform: translateY(-3px);
    }

    .place-list .clinic-list ul li:hover a:after {
        border-color: var(--brand);
        border-width: 2px;
    }

    .place-list .clinic-list ul li:hover a .ico {
        transform: scale(1.1);
    }

    .place-list .clinic-list ul li:hover a .txt {
        color: var(--black);
        font-weight: var(--font-weight-semibold);
    }
}


/* 진료안내 - 진료과·의료진소개 // 뷰 */
.place-view {
    --btn-size: 40px;
}

.place-view h2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    line-height: 1.4;
    margin-bottom: 20px;
    font-size: clamp(28px, 3vw, 34px);
}

.place-view h2 .back-btn {
    flex-shrink: 0;
    width: var(--btn-size);
    height: var(--btn-size);
    line-height: var(--btn-size);
    border: 1px solid var(--color-line-basic);
    font-size: 28px;
    border-radius: 50%;
    text-align: center;
}

.place-view h2 .tit {
    flex-grow: 1;
    color: var(--black);
    background: linear-gradient(90deg, #006FBC, #005A8A);
    color: transparent;
    -webkit-background-clip: text;
}

.place-view h2 .img {
    flex-shrink: 0;
    width: 50px;
    font-size: 0;
}

.place-view .place-comment {
    line-height: 1.6;
    padding: 16px;
    background-color: var(--color-bg-gray);
    border-radius: 10px;
    font-size: clamp(16px, 3vw, 18px);
}

.place-view .place-comment .important-comment {
    font-weight: var(--font-wight-medium);
    font-size: 90%;
    color: var(--red);
}

.doctor-list {
    position: relative;
    margin-top: 30px;
}

.doctor-list .doctor-con {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.doctor-list .doctor-con:not(:first-child) {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid var(--color-line-light);
}

.doctor-list .doctor-con .pic {
    position: relative;
    overflow: hidden;
    width: 70%;
    max-width: 300px;
    border-radius: 10px;
    font-size: 0;
}

.doctor-list .doctor-con .pic:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: inherit;
    perspective: 1px;
    transition: .3s;
    content: '';
}

.doctor-list .doctor-con .pic img {
    width: 100%;
}

.doctor-list .doctor-con .detail h3 {
    margin-bottom: 20px;
    text-align: center;
    color: var(--black);
    font-weight: var(--font-weight-bold);
    font-size: clamp(20px, 4vw, 32px);
}

.doctor-list .doctor-con .detail h3 small {
    font-weight: var(--font-weight-medium);
}

.doctor-list .doctor-con .detail .edu-career {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.doctor-list .doctor-con .comment-box span {
	display: block;
}

.doctor-list .doctor-con .detail .career-con h5 {
    font-size: clamp(16px, 4vw, 18px);
    font-weight: var(--font-weight-semibold);
    color: var(--brand);
}

.doctor-list .doctor-con .detail ul.jum-ul li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
}

.doctor-list .doctor-con .detail ul.jum-ul li:not(:first-child) {
    margin-top: 5px !important;
}

.doctor-list .doctor-con .detail ul.jum-ul li .bb {
    color: var(--brand);
}

.doctor-list .doctor-con .detail .consultation-hours {
    margin-top: 30px;
}

.doctor-list .doctor-con .detail .consultation-hours .ch-guide {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 10px;
}

.doctor-list .doctor-con .detail .consultation-hours .btn-label {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    background-color: var(--lgray);
    color: var(--white);
    border-radius: 8px;
    cursor: default;
    transition: .3;
    opacity: 0.6;
}

.doctor-list .doctor-con .detail .consultation-hours .btn-label.on {
    background-color: var(--brand);
    cursor: pointer;
    opacity: 1;
}

.doctor-list .doctor-con .detail .consultation-hours .btn-label i {
    padding: 16px;
    font-size: 20px;
    background-color: var(--gray);
}

.doctor-list .doctor-con .detail .consultation-hours .btn-label.on i {
    background-color: var(--color-blue);
}

.doctor-list .doctor-con .detail .consultation-hours .btn-label em {
    padding: 0 16px;
    font-size: clamp(16px, 3vw, 18px);
}

.doctor-list .doctor-con .detail .consultation-hours .time-tbl th,
.doctor-list .doctor-con .detail .consultation-hours .time-tbl td {
    padding: 12px 5px;
}

.doctor-list .doctor-con .detail .consultation-hours .time-tbl .duty {
    color: var(--color-blue);
    font-size: 24px;
}

.doctor-list .doctor-con .detail .consultation-hours .time-tbl .duty i {
	vertical-align: middle;
}

.doctor_5{color: red; font-weight: 400; font-size: clamp(15px, 4vw, 21px); margin: 13px 0 -9px 0;}



@media screen and (min-width: 767px) {
	.place-view {
        --btn-size: 50px;
    }

    .place-view h2 {
        gap: 20px;
    }

    .place-view .place-comment {
        padding: 32px;
    }

    .doctor-list .doctor-con {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
        gap: 40px;
        padding: 32px;
        border: 3px solid #eee !important;
        border-radius: 16px;
    }

    .doctor-list .doctor-con:not(:first-child) {
        margin-top: 30px;
    }

    .doctor-list .doctor-con .pic {
        flex-shrink: 0;
        width: 35%;
    }

    .doctor-list .doctor-con .detail h3 {
        text-align: left;
    }

    .doctor-list .doctor-con .detail ul.jum-ul li:before {
        top: 10px;
    }
}

@media screen and (min-width: 1239px) {
    .place-view {
        --btn-size: 60px;
    }

    .doctor-list .doctor-con {
        padding: 50px !important;
        gap: 60px;
    }

    .doctor-list .doctor-con .detail h3 {
        padding-top: 10px;
        margin-bottom: 30px;
    }

    .doctor-list .doctor-con .detail .consultation-hours .btn-label {
        position: absolute;
        top: 50px;
        right: 50px;
    }

    .doctor-list .doctor-con .detail .consultation-hours .btn-label i {
        font-size: 24px;
    }

    .doctor-list .doctor-con .detail .edu-career {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }

    .doctor-list .doctor-con .detail .edu-career .career-con {
        width: calc(50% - 15px);
    }
}


/* 진료안내 - 진료전문센터 */
.specialty-center .sc-content5 .pd-paragraph.in-img {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.specialty-center .sc-content5 .pd-paragraph.in-img .pic {
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 8px;
}

.specialty-center .sc-faq-list {
    padding: 16px;
    margin-left: -15px;
    margin-top: 20px;
    border: 1px solid var(--color-line-light);
    background-color: var(--white);
    box-shadow: 0 8px 10px -5px rgba(0,0,0,0.1);
    font-size: clamp(14px, 3vw, 16px);
    border-radius: 10px;
}

.specialty-center .sc-faq-list dl:not(:first-child) {
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid var(--color-line-light);
}

.specialty-center .sc-faq-list dl dt,
.specialty-center .sc-faq-list dl dd {
    position: relative;
    padding-left: 40px;
}

.specialty-center .sc-faq-list dl dt:before,
.specialty-center .sc-faq-list dl dd:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    line-height: 30px;
    text-align: center;
    color: var(--white);
    border-radius: 50%;
    font-weight: var(--font-weight-bold);
}

.specialty-center .sc-faq-list dl dt {
    margin-bottom: 10px;
    font-size: clamp(16px, 3vw, 18px);
    font-weight: var(--font-weight-medium);
    color: var(--black);
}

.specialty-center .sc-faq-list dl dt:before {
    background-color: var(--red);
    content: 'Q';
}

.specialty-center .sc-faq-list dl dd:before {
    background-color: var(--brand);
    content: 'A';
}

@media screen and (min-width: 767px) {
    .specialty-center .sc-content5 .pd-paragraph.in-img {
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-start;
        gap: 40px;
    }

    .specialty-center .sc-content5 .pd-paragraph.in-img .in-box {
        flex-grow: 1;
    }

    .specialty-center .sc-faq-list {
        padding: 32px;
        margin-left: 0;
    }

    .specialty-center .sc-faq-list dl dt,
    .specialty-center .sc-faq-list dl dd {
        padding-left: 50px;
    }

    .specialty-center .in-imgs {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: flex-start;
        gap: 40px;
    }

    .specialty-center .in-imgs figure {
        flex-shrink: 0;
    }
}

@media screen and (min-width: 1239px) {
    .specialty-center .sc-content5 .pd-paragraph.in-img {
        align-items: center;
        gap: 60px;
    }

    .specialty-center .sc-content5 .pd-paragraph.in-img .pic {
        width: 320px;
    }
}


/* 진료안내 - 진료이용 // 외래안내 */
.out-patient-info .patient-step {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.out-patient-info .patient-step .pic {
    overflow: hidden;
    padding: 16px;
    border: 1px solid var(--color-line-basic);
    border-radius: 16px;
}

.out-patient-info .patient-step .down-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 30px;
}

.out-patient-info .patient-step .down-list li {
    width: 100%;
}

@media screen and (min-width: 767px) {
    .out-patient-info .patient-step {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }

    .out-patient-info .patient-step .pic {
        flex-shrink: 0;
        width: 50%;
        max-width: 600px;
        padding: 32px;
        border-color: var(--color-line-light);
    }
}

@media screen and (min-width: 1239px) {
    .out-patient-info .patient-step {
        gap: 60px;
    }

    .out-patient-info .patient-step .down-list {
        flex-direction: row;
        justify-content: space-between;
    }

    .out-patient-info .patient-step .down-list li {
        width: auto;
    }

    .out-patient-info .patient-step .down-list li:nth-child(1) {
        width: calc(40% - 10px);
    }

    .out-patient-info .patient-step .down-list li:nth-child(2) {
        width: 60%;
    }
}


/* 진료안내 - 진료이용 // 입·퇴원 안내 */
.admission-step-slide {
    overflow: hidden;
}

.admission-step-slide ul li {
    width: 60%;
}

.admission-step-slide .admission-step-con {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.admission-step-slide ul li:not(:first-child) .admission-step-con:before {
    position: absolute;
    top: 35px;
    left: -35px;
    width: 30px;
    height: 30px;
    border-top: 2px solid var(--color-line-basic);
    border-right: 2px solid var(--color-line-basic);
    transform: rotate(45deg);
    content: '';
}

.admission-step-slide .admission-step-con figure {
    width: 100px;
    padding: 20px;
    border: 1px solid var(--color-line-basic);
    border-radius: 50%;
}

.admission-step-slide .admission-step-con img {
	display: block;
}

.admission-step-slide .admission-step-con h4 {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.4;
    color: var(--black);
    font-size: clamp(20px, 3vw, 24px);
}

.admission-step-slide .admission-step-con h4 small {
    font-weight: var(--font-weight-regular);
    font-size: clamp(16px, 3vw, 18px);
}

.admission-step-slide .admission-step-con p {
    line-height: 1.6;
}

@media screen and (min-width: 767px) {
    .admission-step-slide ul li {
        width: 35%;
    }

    .admission-step-slide ul li:not(:first-child) .admission-step-con:before {
        top: 55px;
        left: -45px;
    }

    .admission-step-slide .admission-step-con figure {
        width: 150px;
        padding: 40px;
    }

    .admission-content .down-list {
        flex-direction: row;
        justify-content: flex-start;
        margin-top: 40px;
    }
}


/* 진료안내 // 의료장비안내 */
.equipment-list .equipment-con {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.equipment-list .equipment-con:not(:first-child) {
    padding-top: 30px;
    margin-top: 30px;
    border-top: 1px solid var(--color-line-light);
}

.equipment-list .equipment-con figure {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

.equipment-list .equipment-con figure:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: inherit;
    perspective: 1px;
    transition: .3s;
    content: '';
}

.equipment-list .equipment-con figure img {
	vertical-align:top;
}

.equipment-list .equipment-con h3 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    color: var(--black);
    font-size: clamp(24px, 3vw, 32px);
}

.equipment-list .equipment-con h3 .cate {
    padding: 5px 16px;
    border: 1px solid var(--color-line-basic);
    background-color: rgba(8, 47, 73, 0.05);
    font-weight: var(--font-weight-regular);
    color: var(--gray);
    font-size: clamp(16px, 3vw, 18px);
    border-radius: 30px;
}

.equipment-list .equipment-con h3 em {
    color: var(--brand);
}

.equipment-list .equipment-con p {
    margin-top: 15px;
}

@media screen and (min-width: 767px) {
    .equipment-list .equipment-con {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 40px;
    }

    .equipment-list .equipment-con:not(:first-child) {
        padding-top: 50px;
        margin-top: 50px;
    }

    .equipment-list .equipment-con figure {
        flex-shrink: 0;
        width: 40%;
        max-width: 450px;
    }

    .equipment-list .equipment-con .in-box {
        flex-grow: 1;
    }
}

@media screen and (min-width: 1239px) {
    .equipment-list .equipment-con {
        gap: 60px;
    }

    .equipment-list .equipment-con p {
        line-height: 1.6;
        font-size: 18px;
    }
}


/* 이용안내 // 전화번호 */
.cjmct-phone .phone-top {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cjmct-phone .phone-top dl {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--color-line-basic);
    padding: 10px 16px;
    border-radius: 10px;
}

.cjmct-phone .phone-top dl dt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
}

.cjmct-phone .phone-top dl dt .ico {
    overflow: hidden;
    width: 50px;
    padding: 10px;
    background-color: #30cb9f;
    border-radius: 50%;
}

.cjmct-phone .phone-top dl dt .ico img {
	display: block;
}

.cjmct-phone .phone-top dl:nth-child(2) dt .ico {
    background-color: #2f0f6a;
}

.cjmct-phone .phone-top dl dt em {
    font-family: var(--sc);
    font-size: clamp(20px, 3vw, 24px);
    color: #1f9675;
}

.cjmct-phone .phone-top dl:nth-child(2) dt em {
    color: #2f0f6a;
}

.cjmct-phone .phone-top dl dd {
    padding-left: 60px;
    font-weight: var(--font-weight-semibold);
    font-size: clamp(24px, 3vw, 32px);
    color: var(--black);
}

.cjmct-phone .phone-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

.cjmct-phone .phone-list dl {
    overflow: hidden;
    width: calc(50% - 5px);
    border: 1px solid var(--color-line-basic);
    border-radius: 5px;
}

.cjmct-phone .phone-list dl dt,
.cjmct-phone .phone-list dl dd {
    padding: 10px;
}

.cjmct-phone .phone-list dl dt {
    background-color: var(--color-bg-gray);
    color: var(--color-blue);
}

.cjmct-phone .phone-list dl dd {
    color: var(--black);
    font-weight: var(--font-weight-semibold);
    font-size: clamp(18px, 3vw, 24px);
}

@media screen and (min-width: 767px) {
    .cjmct-phone .phone-top {
        flex-direction: row;
        justify-content: space-between;
        align-items: stretch;
    }

    .cjmct-phone .phone-top dl {
        width: calc(50% - 5px);
    }

    .cjmct-phone .phone-list {
        gap: 10px 2%;
    }

    .cjmct-phone .phone-list dl {
        width: 32%;
    }

    .cjmct-phone .phone-list dl dt,
    .cjmct-phone .phone-list dl dd {
        padding: 10px 20px;
    }
}

@media screen and (min-width: 1023px) {
    .cjmct-phone .phone-top dl {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: 40px;
        padding: 20px 30px;
    }

    .cjmct-phone .phone-top dl dt {
        flex-shrink: 0;
    }

    .cjmct-phone .phone-top dl dd {
        flex-grow: 1;
        padding-left: 0;
        font-weight: var(--font-weight-bold);
    }

    .cjmct-phone .phone-list {
        gap: 10px 1%;
    }

    .cjmct-phone .phone-list dl {
        width: 24.25%;
    }
}

@media screen and (min-width: 1239px) {
}


/* 이용안내 // 원내배치도 */
.cjmct-floor .floor-list {
    position: relative;
    padding-left: 30px;
}

.cjmct-floor .floor-list:before {
    position: absolute;
    top: 10px;
    bottom: 0;
    left: 10px;
    width: 1px;
    background-color: var(--color-line-basic);
    content: '';
}

.cjmct-floor .floor-list dl {}

.cjmct-floor .floor-list dl:not(:first-child) {
    margin-top: 30px;
}

.cjmct-floor .floor-list dl dt {
    position: relative;
    font-size: clamp(20px, 3vw, 30px);
    font-weight: var(--font-weight-bold);
    color: var(--brand);
}

.cjmct-floor .floor-list dl dt:before {
    position: absolute;
    top: calc(50% - 10px);
    left: -30px;
    width: 20px;
    height: 20px;
    border: 5px solid var(--brand);
    background-color: var(--white);
    border-radius: 50%;
    box-sizing: border-box;
    content: '';
}

#floorCon3 .page-settlement {position: relative;}
#floorCon3 .page-settlement a {  font-size: clamp(14px, 3vw, 20px); position:absolute; top:60%; padding:6px 32px; background:#0070BD; color:#fff; z-index:999;border-radius: 50px;  left: 32%;
    transform: translate(0, -50%);}


@media screen and (max-width: 768px) {
   #floorCon3 .page-settlement a {padding:4px 22px; left: 28%;}
}

@media screen and (min-width: 767px) {
    .cjmct-floor .floor-list dl {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .cjmct-floor .floor-list dl dt {
        flex-shrink: 0;
        width: 70px;
    }

    .cjmct-floor .floor-list dl dd {
        flex-grow: 1;
        padding-top: 5px;
    }
	
}

@media screen and (min-width: 1023px) {
    .cjmct-floor .floor-list:before {
        top: 20px;
    }

    .cjmct-floor .floor-list dl dd {
        padding-top: 10px;
    }

}


/* 이용안내 // 찾아오시는길 */
.cjmct-address .google-map {
    overflow: hidden;
    margin-bottom: 10px;
    border-radius: 10px;
    font-size: 0;
}

.cjmct-address .google-map iframe {
    width: 100%;
    height: 400px;
}

.cjmct-address .map-direct {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

.cjmct-address .map-direct .map-link {
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: calc(50% - 5px);
    max-width: 200px;
    border-radius: 10px;
}

.cjmct-address .map-direct .map-link.map-link-kakao {
    background-color: #FAE100;
}

.cjmct-address .map-direct .map-link:after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid rgba(0,0,0,0.1);
    border-radius: inherit;
    perspective: 1px;
    transition: .3s;
    content: '';
}

.cjmct-address .map-direct .map-link .ico {
    flex-shrink: 0;
    width: 50px;
    border-right: 1px solid rgba(0,0,0,0.1);
}

.cjmct-address .map-direct .map-link em {
    flex-grow: 1;
    padding: 0 16px;
}


/* 고객서비스 // 공공의료사업 // 공공보건의료협력팀 */
.cjmct-public-health-team .step-list-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

.cjmct-public-health-team .step-list-box dl {
    width: calc(50% - 5px);
    line-height: 1.4;
    padding: 16px;
    border: 1px solid var(--color-line-light);
    background-color: var(--white);
    border-radius: 10px;
    box-shadow: 0 5px 12px -5px rgba(0,0,0,0.1);
}

.cjmct-public-health-team .step-list-box dl dt {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color-line-light);
}

.cjmct-public-health-team .step-list-box dl dt small {
    color: var(--lgray);
}

.cjmct-public-health-team .step-list-box dl dt p {
    font-weight: var(--font-weight-semibold);
    color: var(--color-green);
}

.cjmct-public-health-team .step-list-box dl dd {
    font-size: clamp(14px, 3vw, 16px);
    color: var(--gray);
}

@media screen and (min-width: 767px) {
    .cjmct-public-health-team .step-list-box {
        gap: 10px 2%;
    }

    .cjmct-public-health-team .step-list-box dl {
        width: 32%;
    }
}

@media screen and (min-width: 1023px) {
    .cjmct-public-health-team .step-list-box {
        gap: 10px 1%;
    }

    .cjmct-public-health-team .step-list-box dl {
        width: 24.25%;
    }
}

/* 개인정보처리방침 & 영상정보 */
.siteguide-box h4 {margin: 0 0 0.5rem;font-size: 1.2em;line-height: 1.2;}
.siteguide-box h5 {margin: 1.1rem 0 0.4rem;font-size: 1.1rem;line-height: 1.2;}
.siteguide-box h6 {margin:0 0 0.1rem;font-size:1rem;line-height:1.2;}
.siteguide-box .info-link {display:flex;gap:10px;width:100%;margin: 0.5rem 0 1rem 0;text-align: center;}
.siteguide-box .info-link button,
.siteguide-box .info-link a {font-weight:700;font-size:0.9rem;line-height:1.2;color:#0EA5E9;display: inline-flex;padding: 0.5rem 1rem;background:#f5fcff;border:2px solid #0EA5E9;border-radius:5px;transition:.2s;}
.siteguide-box .info-link button:hover,
.siteguide-box .info-link a:hover {color:#fff;background:#0EA5E9;}
.siteguide-box .listPoint {display: block;margin: 0.5rem 0;width: 100%;height: fit-content;overflow: hidden;}
.siteguide-box .listPoint>li {position: relative;padding-left: 1.5rem;font-size: 13px;}
.siteguide-box .listPoint>li:after {content: "\ea3e";display: block;font-size: 0.7rem;font-weight: 500;color: #787878;position: absolute;font-family: 'xeicon';top: 0.2rem;left: 0.5rem;}
.siteguide-box .listPoint>li>ul {margin: 0.5rem 0 1rem;color: #787878;}
.siteguide-box .listPoint>li>ul>li {position: relative;padding-left: 0.8rem;width: 100%;}
.siteguide-box .listPoint>li>ul>li:after {content: "";display: block;position: absolute;width: 8px;height: 1px;top: 13px;left: 0;background-color: #a4a4a4;color: #787878;}
.siteguide-box .indi_menu {display: flex;flex-direction: column;}
.siteguide-box .indi_menu_li {margin-bottom: 5px;}
.siteguide-box .indi_menu_li a {display: flex;align-items: center;}
.siteguide-box .indi_menu_li a>img {margin: 0 10px 0 10px;width: 40px;border: 1px solid #e9e9e9;}
.siteguide-box .registerbox1_n .indi_title_txt {display:flex;align-items:center;width:100%;margin: 20px 0 10px;color: #3d7ab2;font-weight: bold;}
.siteguide-box .registerbox1_n .indi_title_txt img {width: 50px;padding-right: 10px;}
.siteguide-box .indi_menu_li a>img {border: 0;}
.siteguide-box .subTable th,
.siteguide-box .subTable td {font-size:14px;}
.siteguide-box .table_con { width: 100%; }
.siteguide-box .table_con th {padding:7px; border: 1px solid #D8D8D8; background-color: #F7F7F7;  color:#595959; border-top:2px solid #4173b9; text-align:center}
.siteguide-box .table_con thead tr ~ tr th {border: 1px solid #D8D8D8;}
.siteguide-box .table_con td {border: 0; padding:7px; background-color: white; border: 1px solid #D8D8D8; text-align:left; color:#595959; text-align:center}
.siteguide-box .table02 td:nth-of-type(4) { text-align: left; }
.siteguide-box .relevant-list {display:flex;flex-direction:column;gap:5px;}
.siteguide-box .relevant-list li {position:relative;padding-left:15px;color:#626262;font-weight:normal;font-size:0.95em;line-height:22px;text-align:left}
.siteguide-box .relevant-list li::before {content:"";position:absolute;left:5px;top:9.5px;display:flex;width:3px;height:3px;background:#636363;}