@charset "utf-8";
/* 공통 */
.sub-pd { padding: 60px 0;}
.sub-pd.first { padding-bottom: 60px; padding-top: 0; }
.sub-pd.last { padding-top: 60px; padding-bottom: 0; }
.sub-pd.bd { border-bottom: 1px solid #ddd;}
.sub-txtbox { display: flex; padding-bottom: 60px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 15px;}
.sub-txtbox.tc { text-align: center; display: block; }
.sub-txtbox h3 { font-size: var(--font-size40); font-weight: 700; line-height: 1.4em; color: #222; }
.sub-txtbox h3 span { color: var(--color-primary);}
.sub-txtbox h5 { font-size: var(--font-size18); color: #222; font-weight: 600; }
.subtab  { display: flex; gap: 12px; flex-wrap: wrap;}
.subtab li { width: auto; display: inline-block; }
.subtab li a { display: inline-block; padding: 12px 24px 11px; border-radius: 28px; font-size: var(--font-size18); color: #999; font-size: var(--font-size18); font-weight: 600; line-height: 1.2em; border: 1px solid #eee; background: #fafafa;}
.subtab li.active a,
.subtab li a:hover { border-color: var(--color-primary); background: var(--color-primary); color: #fff;}
.subtxt { font-size: var(--font-size20); line-height: 1.7em; color: #676767; }
.subtxt.mg { margin-bottom: 35px; }
.subtxt.tc { text-align: center; }
.subtxt strong { font-weight: 600; }
.subtxt2 { font-size: var(--font-size18); line-height: 1.77em; font-weight: 400; margin-bottom: 32px; }
.subtxt2:last-child { margin-bottom: 0; }
.sub-jumtit { font-size: var(--font-size32); font-weight: 600; line-height: 1.43em; color: #222; position: relative; margin-bottom: 60px; }
/* .sub-jumtit::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 10px; background: var(--color-primary); margin-bottom: 12px; } */
.sub-jumtit.pd { padding-bottom: 40px; margin-bottom: 48px; border-bottom: 1px solid #ddd;}
.sub-jumtit.mg { margin-bottom: 35px; }
.sub-subtit { font-size: var(--font-size20); font-weight: 600; line-height: 1.2em; color: var(--color-primary); margin-bottom: 20px; }
.subtit { font-size: var(--font-size32); color: #222; font-weight: 600; line-height: 1.43em; }

/* 서울효천의료재단 */
.seoul-dia { text-align: center; }
.seoul-txt { margin: 60px 0;}
.seoul-txt p { font-size: var(--font-size18); line-height: 1.77em; font-weight: 400; margin-bottom: 32px; }
.seoul-txt p:last-child { margin-bottom: 0; }
.seoul-txt p strong { font-weight: 600; }
.seoul-img { display: flex; gap: 24px; }
.seoul-img .img { flex: 1;}
.seoul-img img { border-radius: 24px; display: block; margin-bottom: 24px; }
.seoul-img .img img:last-child { margin-bottom: 0; }
.seoul-info .link { display: flex; align-items: center; justify-content: center; margin: 24px 0; background: #fbe1de;  border-radius: 16px; gap: 8px; height: 76px; color: var(--color-primary); font-size: var(--font-size18); font-weight: 600; line-height: 1.5em; }
.seoul-info .wrap { display: flex; flex-wrap: wrap; gap: 24px; }
.seoul-info .wrap .col { flex:1; border-radius: 16px; background: #fafafa; text-align: center; padding: 25px 10px; font-size: var(--font-size18);}
.seoul-info .wrap .col .tit { display: flex; justify-content: center; gap: 9px; align-items: center;}
.seoul-info .wrap .col .tit strong { color: #222; font-weight: 600; }
.seoul-info .wrap .col .txt { margin-top: 16px; }
.seoul-info .wrap.wt .col { flex: none; width: calc(100%/4 - 18px);}
.seoul-info .wrap.wt .col.width { width: calc(50% - 12px);}

/* 인사말 */
.gt { display: flex; padding-top: 64px; border-top: 2px solid var(--color-primary); align-items: center; position: relative; }
.gt .img { width: 41%; text-align: center; border-radius: 24px; overflow: hidden; border: 1px solid #ddd;}
.gt .info { width: 59%; padding-left: 100px; }
.gt .info .txt { margin: 50px 0;}
.gt .info .sign { display: flex; align-items: center; gap: 20px; flex-wrap: wrap;}
.gt .info .sign strong { display: inline-block; font-size: var(--font-size18); color: #222; font-weight: 600; }
.gt-sb { position: absolute; right: 0; bottom: 0; z-index: -1;}

/* 의료진 소개 */
.doctor { border-top: 2px solid var(--color-primary);}
.doctor .col { padding: 64px 0; border-bottom: 1px dashed #ddd;}
.doctor .col .flex { display: flex; align-items: center; }
.doctor .col:last-child { padding-bottom: 0; border: none; }
.doctor .col .img { position: relative; width: 440px; border-radius: 24px; }
.doctor .col .img::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border-radius: 24px; border: 1px solid #ddd;}
.doctor .col .info { padding-left: 64px; flex: 1 1 auto; min-width: 0; width: 1%; }
.doctor .col .info .tit-fx { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-bottom: 35px; border-bottom: 1px solid #ddd; margin-bottom: 40px; }
.doctor .col .info .tit-fx .sub-subtit { margin-bottom: 10px; }
.doctor .col .info .tit-fx a { display: flex; align-items: center; padding-left: 24px; width: 133px; height: 45px; border-radius: 24px; border: 1px solid #eee; position: relative; font-size: var(--font-size18); color: #222; font-weight: 600; }
.doctor .col .info .tit-fx a::after { content: ""; position: absolute; right: 24px; top: 0; bottom: 0; margin: auto; width: 7px; height: 12px; background: url(../images/sub/sub1-7-view.png) center no-repeat; background-size: contain; }
.doctor .col .info .ctr { font-size: var(--font-size18); line-height: 1em; color: var(--color-primary); font-weight: 600; padding: 16px 24px; border-radius: 30px; background: #fef5f4; display: inline-block; }
.doctor .col .info .fx { padding-left: 24px; display: flex; gap: 10px; margin-top: 40px; }
.doctor .col .info ul { width: calc(100%/2 - 5px);}
.doctor .col .info ul li { position: relative; padding-left: 12px; width: 100%; font-size: var(--font-size18); margin-bottom: 18px; }
.doctor .col .info ul li:last-child { margin-bottom: 0; }
.doctor .col .info ul li::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary); top: 9px; }

/* 미션·비전 */
.vision .col { display: flex; margin-bottom: 64px; align-items: flex-start;}
.vision .col:last-child { margin-bottom: 0; }
.vision .col .left { width: 38%; }
.vision .col .left h3 { font-size: var(--font-size40); color: #222; font-weight: 700; line-height: 1.2em; }
.vision .col .right { width: 62%; background: #fff; padding: 45px 48px; border-radius: 32px; box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.08); display: flex; justify-content: space-between; align-items: center; }
.vision .col .right .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-right: 20px; }
.vision .col .right .info h5 { color: #999; line-height: 1.2em; font-weight: 400; font-size: 16px; }
.vision .col .right .info h3 { margin: 10px 0 24px; font-size: var(--font-size28); font-weight: 600; color: #222; line-height: 1.5em; }
.vs-sec2 { text-align: center; }
.vs-sec2 h3 { font-size: var(--font-size40); color: #222; line-height: 1.2em; font-weight: 700; }
.vs-wrap { display: flex; flex-wrap: wrap; gap: 24px; }
.vs-wrap .col { width: calc(100%/6 - 20px); text-align: center; }
.vs-wrap .col:nth-child(even) { margin-top: 48px; }
.vs-wrap .col .circle { height: 220px; display: flex; align-items: center; justify-content: center; border-radius: 100%; color: var(--color-primary); line-height: 1.2em; font-size: var(--font-size40); font-weight: 700; background: linear-gradient(180deg, #FEF5F4 0%, #FBE1DE 100%); position: relative; }
.vs-wrap .col .circle::after { content: ""; position: absolute; left: 0; right: 0; margin: auto; width: 0; height: 0; border-left: 23px solid transparent; border-right: 23px solid transparent; border-top: 35px solid #FBE1DE; bottom: -28px; }
.vs-wrap .col .tit { margin: 60px 0 10px; display: inline-block; font-size: var(--font-size20); font-weight: 600; line-height: 1.2em; color: #222; position: relative; padding-right: 9px; }
.vs-wrap .col .tit::after { content: ""; position: absolute; right: 0; width: 5px; height: 5px; border-radius: 5px; background: var(--color-primary); top: 5px; }

/* 오시는 길 */
.lct-info { display: flex; justify-content: space-between; margin-bottom: 30px; flex-wrap: wrap; gap: 15px; }
.lct-info .group { display: flex; align-items: center; }
.lct-info .group strong { font-size: var(--font-size24); font-weight: 500; padding-left: 16px; display: block; }
.lct-info .fx { display: flex; justify-content: flex-end; gap: 10px 64px; flex-wrap: wrap;}
.map { border-radius: 24px; overflow: hidden;}
.lct-line .group { display: flex; gap: 16px; align-items: center; font-size: var(--font-size18); margin-bottom: 24px; }
.lct-line .group:last-child { margin-bottom: 0; }
.lct-line .group .line { display: inline-block; line-height: 1.1em; padding: 9px 16px 8px; background: #233c9f; color: #fff; border-radius: 24px; width: 73px; text-align: center; }
.lct-line .group .line.wt { width: 93px; }
.lct-line .group .line.clr1 { background: #6ba630; }
.lct-line .group .line.clr2 { background: #2577C4; }
.lct-line .group .line.clr3 { background: #94C423; }
.lct-line .group .line.clr4 { background: var(--color-primary); }
.lct-line .group .txt { flex: 1 1 auto; min-width: 0; width: 1%; }

/* 시설 안내 */
.fc-big { border-radius: 24px; overflow: hidden;}
.fc-list li { display: flex; border-bottom: 1px solid #ddd; padding: 27px 0;}
.fc-list li .floor { width: 125px; border-right: 1px solid #eee; line-height: 1em; color: #222; font-size: var(--font-size32); font-weight: 600; }
.fc-list li .txt { flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 72px; font-size: var(--font-size18); line-height: 1.7em; padding-top: 1px; } 
.fc-next::after, .fc-prev::after { display: none; }
.fc-next, .fc-prev { width: 36px; height: 68px; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: contain; }
.fc-prev { background-image: url(../images/sub/sub1-6-prev.png); left: 40px; }
.fc-next { background-image: url(../images/sub/sub1-6-next.png); right: 40px;}
.fac-b-swiper { width: 100%; overflow: hidden; position: relative; border-radius: 24px; }
.fac-b-swiper .swiper-wrapper { z-index: 1; }
.fac-b-swiper-slide { position: relative; overflow: hidden;  z-index: 2; }
.fac-b-swiper-slide img { width: 100%; }
.fac-b-swiper-slide .tit { text-align: right; background: rgba(0,0,0,0.28); color: #fff; backdrop-filter: blur(8px); font-size: var(--font-size32); font-weight: 600; line-height: 1.2em; padding: 32px 40px; position: absolute; top: 0; left: 0; width: 100%; }
.fac-s-swiper { margin-top: 24px; }
.fac-s-swiper-slide { overflow: hidden; border-radius: 12px; }
.fac-s-swiper-slide img { width: 100%; }

/* 온라인예약 */
.rs-tbl-wrap { overflow: auto; margin-top: 64px; }
.rs-tbl-wrap.mg { margin-top: 0; }
.rs-tbl { width: 100%; border-collapse: collapse; border-top: 1px solid #ddd;}
.rs-tbl tr { border-bottom: 1px solid #ddd;}
.rs-tbl tr th { border-right: 1px solid #ddd; background: #fafafa; font-weight: 600; line-height: 1.5em; padding: 23px 0;}
.rs-tbl tr th:last-child { border: none; }
.rs-tbl tr th.bd { border-right: 1px solid #ddd;}
.rs-tbl tr th.fw { font-weight: 400; }
.rs-tbl tr td { text-align: center; border-right: 1px solid #ddd; padding: 23px 0; font-weight: 400; }
.rs-tbl tr td.select { background: #fef5f4; }
.rs-tbl tr td .on { display: inline-block; width: 8px; height: 8px; border-radius: 8px; background: #222; line-height: 1em; }
.rs-tbl tr td:last-child { border: none; }
.rs-tbl tr td.bd { border-right: 1px solid #ddd;}
.rs-tbl.bd tr th, .rs-tbl.bd tr td { border: none; }
.rs-tbl.pd tr th { padding: 16px 10px;}
.rs-tbl.pd tr td { padding: 16px 10px;}

/* 레이아웃 수정 (20260402) */
.rs-flex { display: flex; }
.cal-wrap { flex: 1 1 auto; min-width: 0; width: 1%; margin-right: 24px; }
.rs-cal { width: calc(60% - 20px);}
.rs-form { width: calc(40% - 20px);}
.rs-form .form { border-top: 1px solid #222; border-bottom: 1px solid #ddd;}
.rs-form .form .fx { display: flex; flex-wrap: wrap; border-bottom: 1px dashed #ddd; gap: 30px; padding: 18px 16px; align-items: center;}
.rs-form .form .fx.height { height: 84px; }
.rs-form .form .fx:last-child { border: none; }
.rs-form .form dl { width: calc(100%/2 - 15px); display: flex; align-items: center;}
.rs-form .form dl.w100 { width: 100%; }
.rs-form .form dl dt { width: 100px; font-size: var(--font-size18); font-weight: 600; color: #222; }
.rs-form .form dl dd { flex: 1 1 auto; min-width: 0; width: 1%; }
.rs-form .form dl dd .input { border-radius: 8px; height: 48px; }
.rs-form-chk { display: flex; align-items: center; padding: 0 16px; justify-content: space-between; margin-top: 24px; gap: 12px; flex-wrap: wrap;}
.rs-form-chk .check a {display:inline-block; background:#fff; margin-left:6px; padding:0 10px; font-size:12px; line-height:26px; letter-spacing:-.03em; border:1px solid #ddd; font-weight: 500; position: relative; top: -3px; }
.rs-form-chk .buttons { margin: 0; }

/* 예약하기 */
.rs-wrap { border-top: 2px solid var(--color-primary); display: flex; padding-top: 60px; gap: 40px; margin-top: 60px;}
.rs-wrap .col:last-child { padding-bottom: 0; border: none; }
.rs-wrap .col .step { font-size: var(--font-size20); font-weight: 600; line-height: 1.2em; background: #fef5f4; padding: 30px 28px; line-height: 1.2em; border-radius: 12px; color: var(--color-primary); margin-bottom: 30px; }
.rs-date { margin-top: 24px; display: block; }
.rs-date.on { display: block; }
.rs-wrap .col.rs-form.on { display: block; }
.rs-date .flex { display: flex; gap: 40px; margin-bottom: 32px; }
.rs-time { width: 185px; border-radius: 12px; border: 1px solid #ddd; overflow: hidden; }
.rs-time .tit { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 0; background: #fafafa; border-bottom: 1px solid #eee;}
.rs-time .tit strong { font-size: var(--font-size18); font-weight: 600; color: #222; }
.rs-time .cnt { padding: 38px 0; text-align: center; }
.rs-time .cnt .choice { width: 100%; height: 370px; overflow: auto;}
.rs-time .cnt .choice::-webkit-scrollbar {width: 5px;}
.rs-time .cnt .choice::-webkit-scrollbar-thumb { background: var(--color-primary); border-radius: 4px; }
.rs-time .cnt .choice::-webkit-scrollbar-track { background: #eee; }
.rs-time .cnt .choice>div { width: 106px; font-size: var(--font-size18); line-height: 1.5em; margin: auto; }
.rs-time .cnt button { display: flex; width: 100%; height: 45px; border-radius: 24px; align-items: center; justify-content: center; margin-bottom: 9px; border: none; background: transparent; font-size: var(--font-size18); line-height: 1.5em; transition: .2s;}
.rs-time .cnt button.active,
.rs-time .cnt button:hover { background: var(--color-primary); color: #fff; }
.rs-time .cnt button:last-child { margin-bottom: 0; }
.rs-time .cnt .person span { display: flex; width: 100%; height: 45px; align-items: center; justify-content: center; margin-bottom: 8px; line-height: 1.3em; }
.rs-time .cnt .person span:last-child { margin-bottom: 0; }
.rs-date { width: 100%; padding: 24px 32px; border-radius: 12px; border: 1px solid #ddd; background: #fafafa; display: flex; gap: 21px; flex-wrap: wrap;}
.rs-date .group { width: calc(100%/3 - 14px); font-size: var(--font-size18);}
.rs-date .group h5 { line-height: 1em; font-size: var(--font-size18); font-weight: 600; color: #222; margin-bottom: 16px;}
.rs-date .group p strong { color: var(--color-primary); font-weight: 600; }
.rs-txt { position: relative; padding-left: 24px; font-size: var(--font-size18); font-weight: 500; line-height: 1.77em; }
.rs-txt::before { content: ""; position: absolute; left: 0; width: 15px; height: 15px; background: url(../images/sub/tit-bf2.png) center no-repeat; background-size: contain; top: 8px; }

/* 예약조회 */
.rs-chk { border-top: 2px solid var(--color-primary);}
.rs-chk .col { padding: 64px 0; border-bottom: 1px dashed #ddd;}
.rs-chk .col:last-child { padding-bottom: 0; border: none; }
.rs-chk .col.rs-result { display: none; }
.rs-chk .col.rs-result.on { display: block; }
.rs-result .none { text-align: center; padding: 70px 0; font-size: var(--font-size24); font-weight: 600; color: #222; border-top: 2px solid #686868; border-bottom: 1px solid #ddd;}
.rs-result-btn { width: 102px; height: 43px; display: flex; align-items: center; justify-content: center; margin: auto; border-radius: 22px; pointer-events: none; background: #FEF5F4; color: var(--color-primary); font-weight: 600; line-height: 1.8em; }
.rs-result-btn.waiting { background: #999; color: #fff; }
.rs-result-btn.cancel { border: 1px solid #ddd; background: transparent; color: #999; pointer-events: visible;}

/* sub2 공통 */
.sub2-items { display: flex; flex-wrap: wrap; gap: 84px;}
.sub2-items .item { flex: 1; position: relative; }
.sub2-items .item::after { content: ""; position: absolute; right: -52px; width: 21px; height: 35px; background: url(../images/sub/sub2-1-arrow.png) center no-repeat; background-size: contain; top: 105px; }
.sub2-items .item:last-child::after { display: none; }
.sub2-items .item .icon { padding: 40px 15px; border-radius: 24px; background: #fafafa; text-align: center; margin-bottom: 28px; }
.sub2-items .item .icon .num { display: inline-block; background: var(--color-primary); border-radius: 16px; font-weight: 600; line-height: 1em; padding: 8px 12px 6px; color: #fff; }
.sub2-items .item .icon .area { margin: 30px 0;}
.sub2-items .item .icon .tit { font-size: var(--font-size20); font-weight: 600; color: #222; line-height: 1.2em; }
.sub2-items .item .txt { padding-left: 24px; }
.sub2-items .item .txt p { position: relative; padding-left: 12px; font-size: var(--font-size18); margin-bottom: 12px; }
.sub2-items .item .txt p:last-child { margin-bottom: 0; }
.sub2-items .item .txt p::before { content: ""; position: absolute; left: 0; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary); top: 9px; }
.sub2-items .item.white { border-radius: 24px; border: 1px solid #eee; position: relative; }
.sub2-items .item.white .icon { background: #fff; padding-bottom: 32px; margin-bottom: 0; }
.sub2-items .item.white::after { background-image: url(../images/sub/sub5-2-arrow.png); top: 0; bottom: 0; margin: auto; }

/* 입 · 퇴원안내 */
.gd-wrap { border-top: 2px solid var(--color-primary);}

/* 게시판 공통 */
.noti-list { border-top: 2px solid #686868;}
.noti-list li { border-bottom: 1px solid #ddd;}
.noti-list li a { display: flex; padding: 40px; position: relative; align-items: center; }
.noti-list li .num { width: 56px; height: 56px; border-radius: 56px; display: flex; align-items: center; justify-content: center; margin-right: 40px; color: var(--color-primary); font-weight: 700; line-height: 1em; }
.noti-list li .num.label { background: var(--color-primary); color: #fff; }
.noti-list li .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-right: 40px; }
.noti-list li .info .tit { line-height: 1.2em; font-size: var(--font-size20); font-weight: 600; color: #222; margin-bottom: 10px; overflow:hidden; text-overflow:ellipsis;  white-space:normal; display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; transition: .2s;}
.noti-list li .info .tit img {vertical-align:middle; margin:-.2em 4px 0;}
.noti-list li .info .etc { display: flex; flex-wrap: wrap; gap: 7px 20px;}
.noti-list li .info .etc span { font-size: 14px; font-weight: 300; color: #505050; line-height: 1.3em; }
.noti-list li a::after { content: "→"; position: absolute; right: 40px; top: 50%; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); font-size: 30px; font-weight: 700; color: #777; line-height: 1em; transition: .2s;}
.noti-list li a:hover { background: #FEF5F4;}
.noti-list li a:hover .info .tit { color: var(--color-primary);}
.noti-list li a:hover::after { color: var(--color-primary);}

/* 진료 안내 */
.tt-txt p { position: relative; padding-left: 19px; font-size: var(--font-size18); margin-bottom: 12px; }
.tt-txt p::before { content: "※"; position: absolute; left: 0; top: 0; font-size: 16px; font-weight: 500; color: var(--color-primary); }
.tt-txt p:last-child { margin-bottom: 0; }

/* 간호간병 통합서비스 */
.ns-fx { display: flex; align-items: center;}
.ns-fx .img { width: 47%; border-radius: 32px; overflow: hidden; }
.ns-fx .info { width: 53%; padding-left: 100px; }
.ns-fx .info .sub-subtit { margin-bottom: 8px; }
.ns-fx .info .txt { margin-top: 40px; }
.ns-txt { line-height: 1.87em; margin-bottom: 55px; }
.ns-gray .txt { margin-bottom: 16px; border-radius: 8px; background: #fafafa; padding: 20px 24px; }
.ns-gray .txt:last-child { margin-bottom: 0;}
.ns-gray .txt p { position: relative; padding-left: 14px; font-size: var(--font-size18); line-height: 1.3em; }
.ns-gray .txt p::before { content: ""; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}
.ns-box { margin-top: 60px; }
.ns-box h5 { font-size: var(--font-size20); font-weight: 600; color: #222; line-height: 1.2em; margin-bottom: 20px; }
.ns-box h5.mg { margin-bottom: 0; }
.ns-wrap { display: flex; gap: 25px; flex-wrap: wrap;}
.ns-wrap .col { width: calc(100%/5 - 20px); padding: 45px 28px; border-radius: 16px; background: #fafafa; }
.ns-wrap .col .num { line-height: 1em; font-weight: 700; color: var(--color-primary); padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #ddd;}
.ns-wrap .col .txt { line-height: 1.87em; }

/* sub4 공통 */
.sub4-tit { font-size: var(--font-size32); line-height: 1.43em; color: #222; font-weight: 600; margin-bottom: 25px; position: relative; padding-left: 38px; }
.sub4-tit::before { content: ""; position: absolute; left: 0; width: 28px; height: 28px; background: url(../images/sub/tit-bf.png) center no-repeat; background-size: contain; top: 9px; }
.sub4-gray { padding: 20px 24px; border-radius: 8px; background: #fafafa; }
.sub4-gray.fx { display: flex; flex-wrap: wrap; gap: 0 10px; }
.sub4-gray.fx p { width: calc(100%/2 - 5px);}
.sub4-gray p { position: relative; font-size: var(--font-size18); margin-bottom: 13px; padding-left: 14px; }
.sub4-gray p::before { content: ""; position: absolute; left: 0; top: 9px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}
.sub4-gray p:last-child { margin-bottom: 0; }
.sub4-gray .num { margin-bottom: 13px; font-size: var(--font-size18);  }
.sub4-gray .num:last-child { margin-bottom: 0; }
.sub4-gray .num strong { display: inline-block; color: var(--color-primary); font-weight: 600; padding-right: 10px; }
.sub4-wrap { border-top: 2px solid #686868;}
.sub4-wrap .col { padding: 64px 0; display: flex; border-bottom: 1px solid #ddd; align-items: center; }
.sub4-wrap .col .img { width: 560px; border-radius: 16px; overflow: hidden;}
.sub4-wrap .col .img.fx { display: flex; gap: 8px; flex-wrap: wrap; border-radius: 0; }
.sub4-wrap .col .img.fx .box { width: calc(100%/2 - 4px); border-radius: 16px; overflow: hidden;}
.sub4-wrap .col .info { flex: 1 1 auto; min-width: 0; width: 1%; padding-left: 64px; }
.sub4-wrap .col .info h4 { font-size: var(--font-size28); line-height: 1.2em; color: #222; font-weight: 600; }
.sub4-wrap .col .info h5 { font-size: var(--font-size18); color: var(--color-primary); font-weight: 500; line-height: 1.2em; margin: 12px 0 35px;}
.sub4-wrap .col .info .txt p { position: relative; padding-left: 14px; font-size: var(--font-size18); line-height: 1.77em; margin-bottom: 16px; }
.sub4-wrap .col .info .txt p:last-child { margin-bottom: 0; }
.sub4-wrap .col .info .txt p::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}

/* 로봇치료 */ 
.robot-effect { display: flex; flex-wrap: wrap; gap: 24px; }
.robot-effect .col { flex:1; padding: 60px 15px; text-align: center; border-radius: 16px; border: 1px solid #eee;}
.robot-effect .col .tt { line-height: 1.2em; font-size: var(--font-size20); font-weight: 500; margin-top: 37px; }

/* 언어치료 */
.lg-wrap { display: flex; flex-wrap: wrap; gap: 24px; }
.lg-wrap .col { flex:1; padding: 48px 32px; border-radius: 16px; background: #fafafa; }
.lg-wrap .col .ctr { line-height: 1em; margin-bottom: 12px; font-weight: 600; color: var(--color-primary); }
.lg-wrap .col .icon { margin-bottom: 16px; }
.lg-wrap .col .tt { line-height: 1.2em; font-size: var(--font-size24); font-weight: 600; color: #222; padding-bottom: 25px; margin-bottom: 25px; border-bottom: 1px solid #ddd;}
.lg-wrap .col .txt { font-size: var(--font-size18); line-height: 1.77em; }
.lg-wrap .col .txt .fx { display: flex; margin-bottom: 10px; }
.lg-wrap .col .txt .fx:last-child { margin-bottom: 0; }
.lg-wrap .col .txt .fx strong { display: inline-block; position: relative; padding-left: 14px; font-weight: 600; width: 140px; }
.lg-wrap .col .txt .fx strong::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary); }
.lg-wrap .col .txt .fx span { flex: 1 1 auto; min-width: 0; width: 1%; }
.lg-wrap .col .txt p { position: relative; padding-left: 14px;}
.lg-wrap .col .txt p::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}

/* 연하치료 */
.ed-wrap { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 40px; }
.ed-wrap .col { width: calc(100%/3 - 16px); text-align: center; }
.ed-wrap .col img { border-radius: 16px; }
.ed-wrap .col .tt { font-size: var(--font-size18); font-weight: 600; line-height: 1.2em; margin-top: 20px; }

/* 근전도 검사 */
.ec-wrap { display: flex; flex-wrap: wrap; gap: 24px; border-top: 2px solid #686868; padding-top: 64px; }
.ec-wrap .col { width: calc(100%/3 - 16px); border-radius: 16px; overflow: hidden; border: 1px solid #eee;}
.ec-wrap .col img { width: 100%; }
.ec-wrap .col .info { padding: 32px; padding-bottom: 20px; }
.ec-wrap .col .info .step { display: inline-block; line-height: 1em; font-weight: 600; padding: 16px; background: var(--color-primary); border-radius: 25px; color: #fff; margin-bottom: 25px; }
.ec-wrap .col .info .txt { padding-left: 16px; }
.ec-wrap .col .info .txt p { position: relative; padding-left: 14px; font-size: var(--font-size18); line-height: 1.77em; margin-bottom: 10px; }
.ec-wrap .col .info .txt p::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}

/* 연하 검사 */
.el-img { display: flex; flex-wrap: wrap; gap: 16px; }
.el-img img { display: block; width: calc(100%/4 - 12px); border-radius: 16px; }
.el-num { display: flex; flex-wrap: wrap; gap: 24px; }
.el-num .item { padding: 20px 24px; border-radius: 8px; border: 1px solid #eee; font-size: var(--font-size18); line-height: 1.3em; width: calc(100%/2 - 12px);}
.el-num .item strong { display: inline-block; padding-right: 10px; color: var(--color-primary); font-weight: 600;}

/* 맞춤 도수 치료 */
.tm-wrap .col { padding: 20px 24px; border-radius: 8px; background: #fafafa; display: flex; font-size: var(--font-size18); margin-bottom: 16px; }
.tm-wrap .col:last-child { margin-bottom: 0; }
.tm-wrap .col strong { width: 140px; position: relative; color: var(--color-primary); font-weight: 600; padding-left: 14px; }
.tm-wrap .col strong::before { content: ""; position: absolute; left: 0; top: 13px; width: 4px; height: 4px; border-radius: 4px; background: var(--color-primary);}
.tm-wrap .col p { flex: 1 1 auto; min-width: 0; width: 1%; }
.tm-img { display: flex; gap: 24px; flex-wrap: wrap;}
.tm-img img { display: block; width: calc(100%/2 - 12px); border-radius: 16px; }

/* 예약 - 선택된 의료진 카드 */
.doctor.rs-selected-doc { margin-bottom: 40px; }
.doctor.rs-selected-doc .col { padding: 40px 0; }
.doctor.rs-selected-doc .col .info .tit-fx a { width: auto; padding: 0 20px; font-size: var(--font-size16); color: var(--color-primary); border-color: var(--color-primary); background: #fff3f2; }
.doctor.rs-selected-doc .col .info .tit-fx a::after { display: none; }