@charset "utf-8";

/* 로그인 */
.loginArea { box-sizing: border-box;    width: 100%;    margin: auto;   }
.login {display:flex;width: 545px;    margin: auto;overflow:hidden;}
.loginInput {width:calc(100% - 140px);margin-right: 10px; float: left;}
.login dt label {  position: absolute;  top: -999em;  height: 0;  line-height: 0;  font-size: 0;}
.login dt label { position: absolute;  top: -999em;  height: 0;  line-height: 0;  font-size: 0;}
.login input.i_text {padding:5px 10px;width:100%;height:45px; line-height:43px; border: 1px solid #CCC;    border-radius: inherit;    background-clip: padding-box;    -webkit-appearance: none; box-sizing: border-box;background-color:#fff;}
.login dd.inputPw { margin-top:10px;}
.login input.btnLogin {width:130px;height:100px;border:inherit; font-size:18px;color: #FFF;background: #0353A4;cursor: pointer;  transition:all 0.5s cubic-bezier(0, 0, 0.21, 0.87) 0s;}
.login input.btnLogin:hover{background:#023569; color:#fff; box-shadow:5px 15px 20px rgba(0,0,0,0.15);}
@media screen and (max-width: 600px) {
    .login {width:100%;}
	.loginInput {width:calc(100% - 110px);}
	.login input.btnLogin {width:100px;}
}

/* 서브 비주얼 */
.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: 540px) {
    .sub-content-wrap {padding: 40px 0 50px;}
}


/* 왼쪽 메뉴 */
.snb .menu-title {height:140px;display: flex;align-items: center;background:#00B3C4 url("/assets/img/snb_bg.jpg") no-repeat center/cover;border-radius:20px;box-shadow:0 10px 25px -2px rgba(35,48,59,.05);}
.snb .menu-title h6 {font-size:32px;font-weight:700;color:#fff;text-align:center;line-height:1.3;}
.side-mnu > ul {padding:10px 0;}
.side-mnu > ul > li > a::before {content:"";position:absolute;left:20px;bottom:0;display:flex;width:calc(100% - 40px);height:1px;background:#e5e5ec;}
.side-mnu > ul > li:has(ul) > a::before,
.side-mnu > ul > li.active > a::before {content:none !important;}
.side-mnu > ul > li > a {position:relative;padding:16px 40px;display: flex;justify-content:space-between;align-items:center;font-weight:500;font-size:16px;transition:.2s;}
.side-mnu > ul > li > a::after {content:"\e93e";font-family:"xeicon";color: #ccc;transform:rotate(0deg);transition:.2s;}
.side-mnu > ul > li:hover > a {background:#f1f1f1;}
.side-mnu > ul > li.active > a {color:#fff;background:#00B3C4;}
.side-mnu > ul > li > a strong {color:#fff;}
.side-mnu > ul > li.active > a::after {color:#fff;transform:rotate(90deg);}
.side-mnu > ul > li > ul {display:block !important;padding:10px 40px;background:#F9FAFB;}
.side-mnu > ul > li > ul:has(li.active) {display:block;}
.side-mnu > ul > li > ul > li > a {position:relative;padding-left:22px;display:flex;align-items:center;line-height:34px;font-size:15px;transition:.2s;}
.side-mnu > ul > li > ul > li > a::before {content:"";position:absolute;left:9px;top:16px;display:flex;width:3px;height:3px;background:#5a5a5a;border-radius:50%;}
.side-mnu > ul > li > ul > li.active > a,
.side-mnu > ul > li > ul > li:hover > a {font-weight:700;}

.info-mnu {margin:40px 0 0;background:#F9FAFB;color:#2A3F5D;border-radius:20px;overflow:hidden;box-shadow:0 10px 25px -2px rgba(35,48,59,.05);}
.info-mnu .link-area {display:flex;padding:4px 0 0;background:radial-gradient(131.19% 131.19% at 38.93% 35.31%, #F2F9FF 0%, #BAD7F3 100%);}
.info-mnu .link-area li {width:calc(100% / 3);}
.info-mnu .link-area li a {display:flex;flex-direction:column;align-items:center;gap:17px;padding:26px 0;text-align:center;font-weight:500;font-size:16px;line-height:1.3;letter-spacing:-0.48px;}
.info-mnu .link-area .reserv a::before {content:"";display:flex;width:36px;height:36px;background:url("/assets/img/icon_reserv.svg") no-repeat center;}
.info-mnu .link-area .client a::before {content:"";display:flex;width:36px;height:36px;background:url("/assets/img/icon_comment.svg") no-repeat center;}
.info-mnu .link-area .region a::before {content:"";display:flex;width:36px;height:36px;background:url("/assets/img/icon_region.svg") no-repeat center;}
.info-mnu .tel {margin-left:20px;display:flex;align-items:center;padding:20px 0 24px;width:calc(100% - 40px);font-weight:900;font-size:30px;line-height:1.3;letter-spacing:-0.9px;border-bottom:1px solid rgba(0,0,0,.1);}
.info-mnu .tel::before {content:"";display:flex;width:30px;height:30px;background:url("/assets/img/icon_phone2.svg") no-repeat center;margin-right:16px;}
.info-mnu .time {padding:20px;}
.info-mnu .time .title {color:rgba(42,63,93,.6);margin:0 0 8px;}
.info-mnu .time .dl {position:relative;font-weight:500;}
.info-mnu .time .dl .dt,
.info-mnu .time .dl span {font-weight:500;}
.info-mnu .time .dl:last-child {padding-left:38px;}


/* 오른쪽 컨텐츠 */
.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: 540px) {
    .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;} 
}

.bor-r{border-right:1px solid var(--color-line-basic);}

/* 탭 메뉴 & 컨텐츠 */
.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;
	background:#fff;
    border: 1px solid var(--brand);
    border-radius:5px;
    color: var(--brand);
    font-size: clamp(14px, 2.8vw, 18px);
    transition: .3s;
}

.file-down-btn i {
    padding: 10px;
    border-right: 1px dotted var(--brand);
    background-color: rgba(0,112,189,0.1);
    font-size: clamp(18px, 3vw, 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;
    }
	.file-down-btn {border-radius:8px;}
	.file-down-btn i {padding: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;
    gap:6px;
	width:100%;
}

.tab-mnu .tab-mnu-btn {display:inline-flex;padding:8px 24px;line-height:1.3;font-weight:400;font-size:clamp(14px, 2.6vw, 18px);color:#505050;border:1px solid rgba(0,0,0,.08);border-radius:5px;transition:.2s;}
.tab-mnu .tab-mnu-btn:hover {background:#ddd;border-color:#999;}
.tab-mnu .tab-mnu-btn.selected {color:#fff;background:#00B3C4;}

.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 .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 li {
	padding-left:0;
}

ul.jum-ul li li li {
	padding-left: 15px;
}

ul.jum-ul li li + li {
	margin:0 !important;
}

ul.jum-ul li li::before {
	content:none;
}

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 #04A8BE;
}

.basic-tbl th,
.basic-tbl td {
    padding: 5px 10px;
	line-height:1.3;
    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:0;
}

.basic-tbl.text-center th,
.basic-tbl.text-center td {
    text-align: center;
}

.basic-tbl thead th,
.basic-tbl tbody th[scope=row] {
    font-weight: var(--font-weight-medium);
    background-color: var(--color-bg-gray);
    color: var(--black);
    text-align: center;
}

.basic-tbl tbody th {
	font-weight: var(--font-weight-medium);
    background:#fdfdfd;
}

.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;
    }

    .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.center {
	justify-content:center;
}

.basic-down-list.right {
	justify-content:flex-end;
}

.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;
	transition:.2s;
}

.go-to-write-btn:hover {
	background:#46a9ed;
}

@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: 20px;
    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: 10px;
    margin-bottom: 20px;
    color: var(--black);
    text-wrap: initial;
    font-size:clamp(20px, 3.7vw, 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, 22px);
    font-weight: var(--font-weight-medium);
    font-family: var(--sc);
    text-wrap: initial;
}

.page-document .pd-paragraph h4.pd-h4-line {
    display: contents;
}

.page-document .pd-paragraph h4.pd-h4-line > em {
    width: auto;
}

.page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list {
    display: contents;
}

.page-document .pd-paragraph:has(h4.pd-h4-line) {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 10px;
}

.page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line > em:nth-child(1) {
    grid-column: 1 / 3;
}

.page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line > em:nth-child(2) {
    grid-column: 3 / 5;
}

.page-document .pd-paragraph h4.pd-h4 em {
    background: linear-gradient(90deg, #006FBC, #005A8A);
    color: transparent;
    -webkit-background-clip: text;
}

.page-document .pd-h5 {
	font-weight: var(--font-weight-semibold);
	font-size: clamp(15px, 2.8vw, 20px);
}

.page-document .pd-h5 ~ .pd-h5 {
	margin-top:30px;
}

.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: 30px;
    }

    .page-document .page-settlement h3.pd-h3 {
		padding-bottom:15px;
        margin-bottom:30px;
    }

    .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: 30px;
    }
}

@media screen and (min-width: 1439px) {
    .page-document .page-settlement:not(:first-of-type) {
        --ps-space: 50px;
    }
}


/* 병원안내 - 병원소개 */
.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: url("/assets/img/greeting_bg.png") no-repeat 100% 0;}
.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;overflow:hidden;}
.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 {position: absolute;right:-42px;bottom:0; display: flex;flex-direction: column;align-items: flex-end;}
.greeting-content .img img {width:576px;}
.greeting-content .img .caption {position:absolute;right:-1px;bottom:-1px;width:1px;height:1px;font-size:1px;color:transparent;overflow:hidden;}
@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;}
	
}
@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%;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: 768px) {

    .page-document .pd-paragraph:has(h4.pd-h4-line) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 10px;
        row-gap: 10px;
    }

    .page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line {
        display: contents;
    }

    .page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line > em {
        width: auto;
    }

    .page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list {
        display: contents;
    }

    /* 노동조합 */
    .page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line > em:nth-child(1) {
        grid-column: 1 / 3;
        order: 1;
    }

    /* 노동조합 박스 2개 */
    .page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list dl:nth-child(1) {
        grid-column: auto;
        order: 2;
        width: 100%;
    }

    .page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list dl:nth-child(2) {
        grid-column: auto;
        order: 3;
        width: 100%;
    }

    /* 안내 */
    .page-document .pd-paragraph:has(h4.pd-h4-line) h4.pd-h4-line > em:nth-child(2) {
        grid-column: 1 / 3;
        order: 4;
        margin-top: 20px;
    }

    /* 안내 박스 2개 */
    .page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list dl:nth-child(3) {
        grid-column: auto;
        order: 5;
        width: 100%;
    }

    .page-document .pd-paragraph:has(h4.pd-h4-line) .phone-list dl:nth-child(4) {
        grid-column: auto;
        order: 6;
        width: 100%;
    }
}
}
@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 {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 50% 35%/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,179,196,1) 0%,rgba(66,217,231,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 #00B3C4;
    background-color: var(--color-bg-gray);
    box-sizing: border-box;
    border-radius: 50%;
    content: '';
}

.history .history-list dl dt em {
	margin-right:4px;
}

.history .history-list dl dt span {
	font-weight:400;
	font-size:0.8em;
	color:var(--lgray);
}

.history .history-list dl:nth-child(2n) dt:before {
    border-color: #42D9E7;
}

.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 20px;
    }

    .history .history-list dl:not(:first-child) {
        margin-top: -10px;
    }

    .history .history-list dl dd {
        margin-top:5px;
    }
}

@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;
    }
}

.mvs-content .quotes {display:flex;justify-content:center;gap:20px;width:100%;line-height:1.3;font-weight:500;font-size:clamp(24px, 3.4vw, 30px);color:#111;}
.mvs-content .quotes::before {content:"";display:flex;width:62px;height:62px;background:url("/assets/img/quote_left.svg") no-repeat center/contain;margin:-20px 0 0;}
.mvs-content .quotes::after {content:"";display:flex;width:62px;height:62px;background:url("/assets/img/quote_right.svg") no-repeat center/contain;margin:auto 0 0;}

.mvs-content .line-title {padding:42px 0 20px;display:flex;align-items:center;font-size:clamp(14px, 2.6vw, 18px);color:#00B3C4;}
.mvs-content .line-title i {display:inline-flex;width:16px;height:1px;background:#00B3C4;margin:0 18px;}

.mvs-content .value-box {display:flex;flex-wrap:wrap;margin:0 0 50px;}
.mvs-content .value-box li {padding:17px 0;width:100%;text-align:center;line-height:1.3;font-size:clamp(20px, 3vw, 24px);color:#fff;background:linear-gradient(94deg, rgba(255, 255, 255, 0.00) -10.61%, rgba(20, 123, 164, 0.20) 84%), #00B3C4;}
.mvs-content .value-box li:nth-child(2) {background:linear-gradient(94deg, rgba(255, 255, 255, 0.00) -10.61%, rgba(20, 82, 164, 0.20) 84%), #3F83D9;}
.mvs-content .value-box li:nth-child(3) {background:linear-gradient(94deg, rgba(18, 24, 130, 0.00) -10.61%, #121882 84%), #4E54B7;}

.mvs-content .gray-area {margin:0 -16px -32px;padding:0 16px 32px;background:#F3F5F7;}
.strategy-ul {display:flex;flex-wrap:wrap;gap:15px;width:100%;}
.strategy-ul > li {width:100%;background:#fff;border-radius:20px;overflow:hidden;}
.strategy-ul > li .thumb {display:block;width:100%;height:auto;}
.strategy-ul > li .body {padding:15px;}
.strategy-ul > li .body strong {display:block;line-height:1.5;font-weight:600;font-size:clamp(20px, 3vw, 24px);color:#111;margin:0 0 12px;}

@media screen and (min-width: 501px) {
	.mvs-content .value-box li {padding:24px 0;width:calc(100%/3);}
}

@media screen and (min-width: 767px) {
    .mvs-content .gray-area {margin:0 -32px -32px;padding:0 32px 32px;}
	.strategy-ul > li {width:calc((100% - 30px)/3);}
	.strategy-ul > li .body {padding:32px 16px;}
}

@media screen and (min-width: 1239px) {
	.mvs-content .gray-area {margin:0 -50px -60px;padding:0 50px 60px;}
}

/* 병원안내 - 조직도 */
.organization {
    position: relative;
    overflow: hidden;
    padding: 32px 16px;
    border: 1px solid #eee;
    border-radius: 16px;
}

.organization img {
	display:block;
	margin:0 auto;
}

@media screen and (min-width: 767px) {
    .organization {
        padding: 32px;
    }
}

@media screen and (min-width: 1239px) {
    .organization {
        padding: 60px 70px;
        border-width: 3px;
    }
}


/* 병원안내 - 충주의료원 상징 소개 */
.cjmct-symbol strong {
	display:block;
	font-size:1.2em;
	margin:0 0 10px;
}

.cjmct-symbol .symbol-mark-img {
    position: relative;
	display:flex;
	flex-wrap:wrap;
	width:100%;
    margin-top: 30px;
	text-align:center;
    border: 1px solid var(--color-line-light);
    background-image: linear-gradient(45deg, #f5f5f5, #ffffff, #FAFAFA, #f4f4f4);
    background-size: 400% 400%;
    border-radius: 10px;
    animation: moveGradient 15s ease infinite alternate;
}

.cjmct-symbol .symbol-mark-img > li {
	padding:50px 15px 54px;
	width:50%;
}

.cjmct-symbol .symbol-mark-img > li:nth-child(2) ~ li {
	border-top:1px solid #E4E5ED;
}

.cjmct-symbol .symbol-mark-img > li:nth-child(2n) {
	border-left:1px solid #eee;
}

.cjmct-symbol .symbol-mark-img > li .tit {
	font-weight:500;
	font-size: clamp(14px, 3vw, 20px);
	margin:0 0 28px;
}

@keyframes moveGradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@media screen and (max-width: 767px) {
    .cjmct-symbol .symbol-mark-img {
    }
}


/* 병원안내 - 비전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 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 {
	display:inline-flex;
	justify-content:center;
	align-items:center;
    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.none {
	padding:0;
	background:#f1f1f1;
}

.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;
	flex-wrap:wrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
	padding-left:0;
}

.doctor-list .doctor-con .detail ul.jum-ul li::before {
	content:none;
}

.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;
}

@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: 20%;
    }
	
	.doctor-list .doctor-con .pic.none {
		padding:0 0 28%;
	}

    .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.row ul {
	padding:10px 0 20px;
	display:flex;
	overflow:auto;
}

.admission-step-slide.row ul::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}

.admission-step-slide.row ul::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

.admission-step-slide ul li {
	display:flex;
	gap:15px;
	width:100%;
}

.admission-step-slide ul li + li {
	padding:24px 0 0;
}

.admission-step-slide.row ul li {
	width:auto;
}

.admission-step-slide.row ul li + li {
	padding:0 0 0 30px;
}

.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 {
	position:relative;
    display:flex;
    flex-direction:column;
	justify-content:center;
    align-items:center;
	text-align:center;
	width:100px;
	height:100px;
    line-height: 1.4;
    color: var(--black);
    font-size: clamp(16px, 2.8vw, 20px);
	border:3px solid #d1d5dc;
	border-radius:50%;
	box-shadow:0 4px 12px 0 #E5E7EB;
}

.admission-step-slide.row .admission-step-con h4 {
	width:120px;
	height:120px;
}

.admission-step-slide ul li + li h4::before {
	content:"";
	position:absolute;
	left:50%;
	margin-left:-6px;
	top:-25px;
	width:12px;
	height:12px;
    border-top: 2px solid var(--color-line-basic);
    border-right: 2px solid var(--color-line-basic);
    transform: rotate(135deg);
}

.admission-step-slide.row ul li + li h4::before {
	left:-27px;
	margin-left:0;
	top:50%;
	margin-top:-6px;
    transform: rotate(45deg);
}

.admission-step-slide ul li:first-child h4 {border-color:#40c1c2;}
.admission-step-slide ul li:nth-child(2) h4 {border-color:#72b7d4;}
.admission-step-slide ul li:nth-child(3) h4 {border-color:#57a4de;}
.admission-step-slide ul li:nth-child(4) h4 {border-color:#2785cb;}
.admission-step-slide ul li:nth-child(5) h4 {border-color:#3777bc;}
.admission-step-slide ul li:nth-child(6) h4 {border-color:#115bab;}

.admission-step-slide ul li:first-child h4 b {font-weight:700;color:#40c1c2;}
.admission-step-slide ul li:nth-child(2) h4 b {font-weight:700;color:#72b7d4;}
.admission-step-slide ul li:nth-child(3) h4 b {font-weight:700;color:#57a4de;}
.admission-step-slide ul li:nth-child(4) h4 b {font-weight:700;color:#2785cb;}
.admission-step-slide ul li:nth-child(5) h4 b {font-weight:700;color:#3777bc;}
.admission-step-slide ul li:nth-child(6) h4 b {font-weight:700;color:#115bab;}

.admission-step-slide .admission-step-con h4 small {
    font-weight: var(--font-weight-regular);
    font-size:0.8em;
}

.admission-step-slide .admission-step-con h4 span {
	margin:4px 0 0;
	display:block;
	line-height:1.3;
	font-weight:400;
	font-size:0.8em;
	color:#777;
}

.admission-step-slide .admission-step-con p {
	display:inline-flex;
	align-items:center;
	width:calc(100% - 115px);
    line-height: 1.6;
}

@media screen and (max-width: 625px) {
	.admission-step-slide.row ul {
		margin-right:-20px;
	}
	.admission-step-slide.row ul li:last-child {
		padding-right:20px;
	}
}

@media screen and (min-width: 767px) {
	.admission-step-slide ul li {
		gap:20px;
	}
	
	.admission-step-slide ul li + li {
		padding:30px 0 0;
	}
	
	.admission-step-slide.row ul li + li {
		padding:0 0 0 40px;
	}
	
    .admission-step-slide .admission-step-con figure {
        width: 150px;
        padding: 40px;
    }
	
	.admission-step-slide .admission-step-con h4 {
		width:130px;
		height:130px;
		border-width:5px;
	}
	
	.admission-step-slide.row .admission-step-con h4 {
		width:150px;
		height:150px;
	}
	
	.admission-step-slide ul li + li h4::before {
		margin-left:-8px;
		top:-33px;
		width:16px;
		height:16px;
	}
	
	.admission-step-slide.row ul li + li h4::before {
		left:-36px;
		margin-top:-8px;
	}

    .admission-content .down-list {
        flex-direction: row;
        justify-content: flex-start;
        margin-top: 40px;
    }
	
	.admission-step-slide .admission-step-con p {
		width:calc(100% - 150px);
	}
}


/* 진료안내 // 의료장비안내 */
.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 img {
	display:block;
}

.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 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);
}


/* 이용안내 // 전화번호 - 부서별 소그룹 */
.cjmct-phone .phone-sub-grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
	    margin-top: 15px;
}

.cjmct-phone .phone-sub-group {
    min-width: 0;
}

.cjmct-phone .phone-sub-title {
    margin: 0 0 10px;
    line-height: 1.4;
    font-size: 1.2em;
    font-weight: 500;
}

/* 소그룹 내부 전화번호는 모바일/태블릿에서 2열 */
.cjmct-phone .phone-sub-grid .phone-list {
    gap: 10px;
}

.cjmct-phone .phone-sub-grid .phone-list dl {
    width: calc(50% - 5px);
}

/* PC */
@media screen and (min-width: 1023px) {

    .cjmct-phone .phone-sub-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        column-gap: 1%;
        row-gap: 20px;
    }

    /* 전화번호 박스 1개짜리 영역 */
    .cjmct-phone .phone-sub-group.col-1 {
        grid-column: span 1;
    }

    /* 전화번호 박스 2개짜리 영역 */
    .cjmct-phone .phone-sub-group.col-2 {
        grid-column: span 2;
    }

    /* 1칸 영역 안의 전화번호 */
    .cjmct-phone .phone-sub-group.col-1 .phone-list dl {
        width: 100%;
    }

    /*
     * 2칸 영역 안의 전화번호 2개
     * 전체 전화번호 영역의 기존 4열과 위치를 맞춤
     */
    .cjmct-phone .phone-sub-group.col-2 .phone-list {
        gap: 10px 2.02%;
    }

    .cjmct-phone .phone-sub-group.col-2 .phone-list dl {
        width: 48.99%;
    }
}



@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: column;
        justify-content: flex-start;
        align-items: center;
        gap: 20px;
        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);
		line-height:1.2;
    }

    .cjmct-phone .phone-list {
        gap: 10px 1%;
    }

    .cjmct-phone .phone-list dl {
        width: 24.25%;
    }
	.pd-h4-line + .phone-list dl{width:100%;}
}

@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;
    }

}

/* 이용안내 // 간호간병 */

   

@media screen and (min-width: 767px) {
    .admission-step-slide.row.ly_nursing_step .admission-step-con h4{
        width: 134px;
        height: 134px;
    }
}


/* 이용안내 // 찾아오시는길 */
.hy-content .map-wrap {
	height:432px;
    overflow:hidden;
	border-bottom:1px solid #ddd;
    margin-bottom:10px;
}

.hy-content .map-wrap iframe {
	display:block;
    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;
}


/* 고객서비스 // 공공의료사업 // 공공보건의료협력팀 */
.step-list-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

.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);
}

.step-list-box dl dt {
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid var(--color-line-light);
}

.step-list-box dl dt small {
    color: var(--lgray);
}

.step-list-box dl dt p {
    font-weight: var(--font-weight-semibold);
    color: var(--color-green);
}

.step-list-box dl dd {
    font-size: clamp(14px, 3vw, 16px);
    color: var(--gray);
}

@media screen and (min-width: 767px) {
    .step-list-box {
        gap: 10px 2%;
    }

    .step-list-box dl {
        width: 32%;
    }
}

@media screen and (min-width: 1023px) {
    .step-list-box {
        gap: 10px 1%;
    }

    .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;}


.btn-job1 {padding:5px 10px 3px;font-size:13px;border-radius:2px;  background:#c72e2e; color:#fff !important;margin:0 1px;}
.btn-job2 {padding:5px 10px 3px;font-size:13px;border-radius:2px;  background:#9eb921; color:#fff !important;margin:0 1px;}
.btn-job3 {padding:5px 10px 3px;font-size:13px;border-radius:2px;  background:#aaaaaa; color:#fff !important;margin:0 1px;}
.btn-job4 {padding:5px 10px 3px;font-size:13px;border-radius:2px;  background:#666666; color:#fff !important;margin:0 1px; }

.button {display:inline-block; overflow:hidden; position:relative; min-width:100px; height:45px; line-height:43px;font-size:16px;box-sizing:border-box; padding:0 15px; margin:2px 0px; border:1px solid #262520; background: #262520; color:#fff !important; text-align:center; vertical-align:top; transition:all 0.4s ease-out 0.1s; cursor:pointer; z-index:0;}
.button.blue {background:#2377d0; border:1px solid #1760ad;}
.button.gray {background:#707070;border:1px solid #555;}
.button.selbtn {display:block;margin:0 0 0 auto;}
table .button {font-size:14px;}
div.btn_wrap{text-align:center; margin-top:30px;}
.btn_confirm {margin:0px 5px; width:8rem; height:50px; line-height:50px;  font-weight: 700;font-size:1rem;color: #fff; border:none; background-color: black; cursor:pointer;transition:.3s;}
.btn_cancel {margin:0px 5px;  width:8rem; height:50px; line-height:50px;  font-weight: 700;font-size:1rem;color: #888; border:none; background-color: #fff; border:1px solid #ddd; cursor:pointer;transition:.3s;}
.btn_confirm:hover,
.btn_cancel:hover{box-shadow:5px 15px 20px rgba(0,0,0,0.15);}
.boardButton .button.apply::before {background:#2377d0;}

.tbcon{width: 100%;border-top: 2px solid #41504D; word-break:keep-all;}
.tbcon .tr{display: flex;  width: 100%; border-bottom: 1px solid #dadada;}
.tbcon .th{flex-basis:20%; align-content:stretch; text-align: center;color: #333; padding:15px;line-height:40px;font-weight: 500;border-right: 1px solid #dadada;background: #f5f5f5;}
.tbcon .td{flex-basis:30%; padding:15px 15px;}
.tbcon .td p{line-height:40px;}
.tbcon .wide{flex-basis:80%;}
.tbcon input,
.tbcon select {padding:0 10px;width:100%;height:40px;line-height:38px;font-size:1rem;border:1px solid #ccc;}
.tbcon select.select-none {-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;}
.tbcon .td .zip-code-btn {padding:10px;width:80px;height:40px;font-weight:500;font-size:1rem;color:#0284c7;border:1px solid #0284c7;}
.tbcon .td .zip-code-btn:focus {border:2px solid #000;border-radius:3px;}
.tbcon .td:has(.zip-code-btn) {display:flex;flex-wrap:wrap;gap:5px;}
.tbcon .td:has(.zip-code-btn) input {width:calc(100% - 85px);}
.tbcon .td .zip-code-btn ~ input {width:100%;}

@media (max-width:767px){
	.tbcon .tr{flex-wrap: wrap; font-size:14px; border:none;}
	.tbcon .th{flex-basis:30%; word-break:break-all; padding:10px 0; border-bottom: 1px solid #dadada; }
	.tbcon .td{flex-basis:70%;border-bottom: 1px solid #dadada; }
}

.sel_doc{text-align:center; font-size:22px; color:#41504D; margin-bottom:1rem;}
.calendar_Top{text-align:center; background:#EDF2F6; padding:5px 0;}
.calendar_Top h3{margin:0;}
.calendar_bottom{display:flex;justify-content: space-between;}
.cal {width:70%;}
.sel_time{width:27%; background:#d4dfe5; padding:2rem 1rem;}
.sel_time{text-align:center; overflow:hidden;}
.sel_time li{width:46%; margin:2%; float:left;}
.sel_time li a{display:block; padding:3px 15px; border:2px solid #ddd; background:#fff;}
.sel_time li.choice a{background:#41504D; border-color:#41504D; color:#fff;}

.calendar thead tr{border-bottom:1px solid#E5E5E5; }
.calendar thead tr th { padding:0.5rem 0; width:14.28%; }
.calendar thead tr th.sun {color:#F44336;}
.calendar thead tr th.sat {color:#2F7EA3;}
.calendar tbody tr td {position:relative; height:4rem; font-weight:600; font-size:0.85rem; border-right:1px solid #E5E5E5; border-bottom:1px solid#E5E5E5; text-align:center;}
.calendar tbody tr td span{position:absolute; left:50%; top:50%;  transform: translate(-50%, -50%);  }
.calendar tbody tr .prev-date {background:#F5F5F5;}
.calendar tbody tr .sel:after{content : ""; display : block; position : absolute; left : 0; top:0;  width :100%; height : 100%; box-sizing:border-box; border:3px solid #83C3F2;}
.calendar tbody tr .sat {color:#2F7EA3;}
.calendar tbody tr .mon {color:#F44336;}
.calendar tbody tr td .ccount{margin-top:5px; background: url("/images/default/content/cal_icon.png") no-repeat 0 center; padding-left:2rem; font-size:0.9rem;  color:#F44336; font-weight:700; background-size:1.5rem auto;}
.calendar tbody tr td .ccount em{color:#666;font-weight:500;}

.calendar_bottom span,
.calendar_bottom table.calendar a{width:calc(2rem + 4px); height:calc(2rem + 4px); display:inline-block; vertical-align:middle; line-height:2rem; text-align:center;box-sizing:border-box; border-radius:50%; }
.calendar_bottom .today span {border: 2px solid #41504D !important;}
.calendar_bottom .choice span,
.calendar_bottom .choice a {display:inline-block;background:#41504D; color:#fff; cursor:pointer;}
.calendar_bottom .ok span,
.calendar_bottom .ok a {display:inline-block;border: 2px dotted #80d4fc; cursor:pointer;}

.cal ul{margin-top:20px;}
.cal ul li{display:inline-block; margin-right:15px;}

.phone input{width:calc((100% / 3) - 12px);}

@media (max-width:767px){
	.calendar_bottom{display:block;}
	.sel_doc{font-size:1.1rem; }
	.cal,
	.sel_time{width:100%; float:none; background:#fff;}
	.cal ul li{margin-right:5px;}
	.cal ul li span{width:calc(1.5rem + 4px); height:calc(1.5rem + 4px);}
}

.innerPop{background:rgba(0, 0, 0, .4); position:fixed; top:0; left:0; width:100%; height:100%; z-index:100;webkit-transition: all ease 0.5s; -moz-transition: all ease 0.5s;
    transition: all ease 0.5s; }
.innerPop .popin{width:92%; max-width:500px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:#fff; text-align:center;}
.innerPop .popin h3{color:#1E2128;  font-size:1rem; font-weight:500; height:45px; line-height:45px; border-bottom:1px solid #ccc;}
.innerPop .popin .txt{padding:1.5rem; color:#000;}
.innerPop .popin .txt strong{font-size:1.05rem; font-weight:500; display:inline-block; margin-top:20px;}
.innerPop .popin .txt ul{display:table; margin-right:auto; margin-left: auto; text-align:left; color:#8D8F98;}
.innerPop .popin .txt ul li{position:relative; padding-left:6rem;height:24px;line-height:24px;}
.innerPop .popin .txt ul li span{position:absolute; left:0; top:0; color:#222E35;}
.innerPop .popin .pop_button{overflow:hidden; width:100%;}
.innerPop .popin .pop_button li{width:50%; float:left;}
.innerPop .popin .pop_button li input{width:100%; height:2.5rem; line-height:2.5rem; border:none; background:#f4f4f4; font-size:1rem;}
.innerPop .popin .pop_button li input.confirm{background:#00589E; color:#fff;}
.innerPop .popin .pop_button li input.cancel{}
.innerPop .popin .close{right:.5rem; top:.6rem;}
.innerPop .popin .close i{color:#212121;}