/* 서브 전용
   body 클래스로 범위를 나눔
   .sub1 병원소개 / .sub2 진료안내 / .sub3 특화진료(3-1~3-5 같은 레이아웃) / .sub4 외과특화센터(4-1~4-5 같은 레이아웃)
   .sub5 건강검진센터 / .sub7 리퍼의뢰
   같은 그룹 안에서 페이지마다 다른 부분은 .p1_1 처럼 페이지 클래스로 나눔 */


/* =====================================================
   1-1 로운만의 비전
   ===================================================== */

/* S1 : 인사말 */
.p1_1 #s1 {padding-top: 12rem;}
.p1_1 #s1 .photo {height: 60rem; overflow: hidden; border-radius: 2rem;}
.p1_1 #s1 .photo img {height: 100%; object-fit: cover;}
.p1_1 #s1 .label {margin-top: 8rem; font-size: 2.6rem; line-height: 2.6rem; color: var(--fcp);}
.p1_1 #s1 .tit {margin-top: 3rem; font-size: 5rem; line-height: 6.5rem; color: #111;}
.p1_1 #s1 .tit span {color: var(--fcp);}
.p1_1 #s1 .txt {margin-top: 5rem;}
.p1_1 #s1 .txt p {font-size: 2.4rem; line-height: 3.8rem; color: #444; white-space: nowrap;} /* PC는 시안 줄바꿈(br) 그대로 */
.p1_1 #s1 .txt p + p {margin-top: 3rem;}
/* 배경 강아지 라인 : 아래 베이지 박스에 아랫부분이 가려짐 */
.p1_1 #s1 .deco {left: 114.5rem; bottom: -10.67rem; width: 46.5rem;}
.p1_1 #s1 .bgBox {position: relative; z-index: 1; margin-top: 5rem; padding: 6rem 0 7rem; background: #f8f4ef;}
.p1_1 #s1 .sign {margin-top: 3rem; font-size: 2.6rem; line-height: 2.6rem; color: #111; text-align: right;}
.p1_1 #s1 .sign span {color: var(--fcp);}

/* S2 : 수치 */
.p1_1 #s2 {padding-top: 15rem;}
.p1_1 #s2 .stat li {text-align: center;}
.p1_1 #s2 .num {align-items: baseline; font-weight: 700;}
.p1_1 #s2 .num b {font-size: 11rem; line-height: 11rem;}
.p1_1 #s2 .num strong {margin-left: 1.1rem; font-size: 5rem; letter-spacing: -0.03em;}
.p1_1 #s2 .num em {margin-left: 0.8rem; font-size: 3.2rem; color: #b3b3b3;}
.p1_1 #s2 .n1 {color: var(--fcp2);}
.p1_1 #s2 .n2 {color: var(--fcp);}
.p1_1 #s2 .n3 {color: #01494d;}
.p1_1 #s2 .n1 .slash {align-self: flex-end; width: 0.35rem; height: 4.8rem; margin: 0 0 1.4rem 2.6rem; background: #b3b3b3; transform: rotate(22.47deg);}
.p1_1 #s2 .n1 em {margin-left: 1.4rem; font-size: 6rem;}
.p1_1 #s2 .lb {margin-top: 3.5rem; font-size: 2.6rem; line-height: 2.6rem; color: #111;}
.p1_1 #s2 .photo {height: 72rem; margin-top: 15rem;}
.p1_1 #s2 .photo img {height: 100%; object-fit: cover;}

/* S3 : Roun's strength */
.p1_1 #s3 {position: relative; padding: 15rem 0 16rem; background: #412f1a; color: #fff;}
.p1_1 #s3 .bg {position: absolute; inset: 0; overflow: hidden; opacity: 0.5; mix-blend-mode: multiply;}
.p1_1 #s3 .bg img {position: absolute; left: -56.79%; top: -26.91%; width: 189.14%; height: 130.59%; max-width: none;}
.p1_1 #s3 .eng {font-size: 2.6rem; font-weight: 500; line-height: 2.6rem; color: var(--beige);}
.p1_1 #s3 .tit {margin-top: 3rem; font-size: 5rem; line-height: 6.5rem;}
.p1_1 #s3 .s3Swiper {margin-top: 6rem;}
.p1_1 #s3 .swiper-wrapper {display: block;} /* PC는 슬라이드 없이 세로 목록 */
.p1_1 #s3 .swiper-slide {display: flex; align-items: center; height: 15rem; padding-left: 5.5rem; border-radius: 10.5rem; background: #fff;}
.p1_1 #s3 .swiper-slide + .swiper-slide {margin-top: 1.5rem;}
.p1_1 #s3 .swiper-slide:last-child {height: 17rem;}
.p1_1 #s3 .no {width: 13.5rem; font-size: 9rem; font-style: italic; font-weight: 500; line-height: 9rem; letter-spacing: 0.02em; color: var(--beige); opacity: 0.5;}
.p1_1 #s3 .hd {width: 26rem; font-size: 3.2rem; line-height: 3.2rem; color: #111;}
.p1_1 #s3 .wrt {font-size: 2.4rem; line-height: 3.8rem; color: #444;}

/* S4 */
.p1_1 #s4 {position: relative; height: 108rem; color: #fff;}
.p1_1 #s4 .bg {position: absolute; inset: 0; overflow: hidden;}
.p1_1 #s4 .bg img {width: 100%; height: 100%; object-fit: cover; object-position: center bottom;}
.p1_1 #s4 .bg::after {content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #2c1b09 0%, rgba(44,27,9,0.88) 20.58%, rgba(44,27,9,0.55) 49.39%, rgba(0,0,0,0) 77.82%);}
.p1_1 #s4 .txtArea {padding-top: 10rem;}
.p1_1 #s4 .logo {width: 19.8rem;}
.p1_1 #s4 .tit {margin-top: 4.4rem; font-size: 5rem; line-height: 6.5rem;}

@media all and (max-width: 880px){
    .p1_1 #s1 {padding-top: 5rem;}
    .p1_1 #s1 .photo {height: 26rem;}
    .p1_1 #s1 .label {margin-top: 3.5rem; font-size: 1.8rem; line-height: 1.8rem;}
    .p1_1 #s1 .tit {margin-top: 1.5rem; font-size: 2.5rem; line-height: 3.5rem; white-space: nowrap;}
    .p1_1 #s1 .txt {margin-top: 2rem;}
    .p1_1 #s1 .txt p {font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .p1_1 #s1 .txt p + p {margin-top: 1.8rem;}
    .p1_1 #s1 .deco {left: 12.97rem; bottom: -7.48rem; width: 22.3rem;}
    .p1_1 #s1 .bgBox {margin-top: 2.5rem; padding: 3rem 0 5rem;}
    .p1_1 #s1 .sign {margin-top: 2rem; font-size: 1.8rem; line-height: 1.8rem;}

    .p1_1 #s2 {padding-top: 6rem;}
    .p1_1 #s2 .stat {flex-direction: column;}
    .p1_1 #s2 .stat li + li {margin-top: 3rem;}
    .p1_1 #s2 .num b {font-size: 6.5rem; line-height: 6.5rem;}
    .p1_1 #s2 .num strong {margin-left: 0.8rem; font-size: 3.5rem;}
    .p1_1 #s2 .num em {margin-left: 0.8rem; font-size: 2.4rem;}
    .p1_1 #s2 .n1 .slash {width: 0.25rem; height: 3.15rem; margin: 0 0 0.8rem 1.4rem;}
    .p1_1 #s2 .n1 em {margin-left: 0.8rem; font-size: 3.5rem;}
    .p1_1 #s2 .lb {margin-top: 1.8rem; font-size: 1.6rem; line-height: 1.6rem;}
    .p1_1 #s2 .photo {height: 24rem; margin-top: 4.5rem;}

    .p1_1 #s3 {padding: 6.5rem 0 7rem;}
    .p1_1 #s3 .bg img {left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
    .p1_1 #s3 .eng {font-size: 1.6rem; line-height: 1.6rem;}
    .p1_1 #s3 .tit {margin-top: 2rem; font-size: 2.6rem; line-height: 3.6rem;}
    .p1_1 #s3 .s3Swiper {margin-top: 3.5rem; overflow: visible;}
    .p1_1 #s3 .swiper-wrapper {display: flex;}
    .p1_1 #s3 .swiper-slide {display: block; width: 33.5rem; height: 29.4rem; padding: 6rem 2.5rem 0; border-radius: 2.5rem;}
    .p1_1 #s3 .swiper-slide + .swiper-slide {margin-top: 0;}
    .p1_1 #s3 .swiper-slide:last-child {height: 29.4rem;}
    .p1_1 #s3 .no {position: absolute; right: 2.5rem; top: 2.5rem; width: auto; font-size: 6rem; line-height: 6rem;}
    .p1_1 #s3 .hd {display: block; width: auto; font-size: 2.6rem; line-height: 2.6rem;}
    .p1_1 #s3 .wrt {margin-top: 2.5rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p1_1 #s3 .s3Pg {position: static; display: flex; justify-content: center; gap: 0.6rem; margin-top: 2rem;}
    .p1_1 #s3 .s3Pg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
    .p1_1 #s3 .s3Pg .swiper-pagination-bullet-active {background: var(--brown); opacity: 1;}

    .p1_1 #s4 {height: 55rem;}
    .p1_1 #s4 .bg::after {background: linear-gradient(180deg, #2c1b09 0%, rgba(44,27,9,0.88) 25.23%, rgba(44,27,9,0.55) 60.51%, rgba(0,0,0,0) 95.33%);}
    .p1_1 #s4 .txtArea {padding-top: 8.08rem;}
    .p1_1 #s4 .logo {width: 11.2rem;}
    .p1_1 #s4 .tit {margin-top: 3rem; font-size: 2.6rem; line-height: 3.8rem;}
}


/* =====================================================
   1-2 의료진 소개
   ===================================================== */

.p1_2 #s1 {padding: 12rem 0 18rem;}
.p1_2 .docList {display: grid; grid-template-columns: repeat(3, 44rem); gap: 5rem 4rem; margin-top: 7rem;}
.p1_2 .docList .card {position: relative; display: block; width: 100%; height: 38rem; overflow: hidden; border-radius: 5rem 0 5rem 0; background: linear-gradient(180deg, #f7f7f7, #dde2e3); text-align: left;}
.p1_2 .docList .card::before {content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #f8f4ef, #f2e8da); opacity: 0; transition: opacity 0.3s;}
.p1_2 .docList .deco {position: absolute; left: 22.4rem; top: 6.3rem; width: 18.6rem;}
.p1_2 .docList .photo {position: absolute; inset: 0;}
.p1_2 .docList .photo img {width: 100%; height: 100%; object-fit: cover; transform-origin: center top; transition: transform 0.4s;}
.p1_2 .docList .bar {position: absolute; left: 0; top: auto; bottom: 0; width: 100%; height: 6.5rem; padding: 0 3.5rem; border-radius: 0 0 5rem 0; background: rgba(43,45,46,0.9); transition: background 0.3s;}
.p1_2 .docList .name {font-size: 2.7rem; line-height: 2.7rem; color: #fff;}
.p1_2 .docList .pos {margin-left: 1.2rem; font-size: 1.9rem; font-weight: 700; line-height: 1.9rem; color: #cecece; transition: color 0.3s;}
.p1_2 .docList .plus {width: 1.7rem; margin-left: auto;}
/* 마우스 오버 : 베이지 배경 + 갈색 이름 바 */
.p1_2 .docList .card:hover::before {opacity: 1;}
.p1_2 .docList .card:hover .photo img {transform: scale(1.05);}
.p1_2 .docList .card:hover .bar {background: rgba(59,40,19,0.9);}
.p1_2 .docList .card:hover .pos {color: var(--beige);}

/* 상세 팝업 */
#docPop {inset: 0; z-index: 99999; display: none;}
#docPop .dim {display: none;}
#docPop .pop {display: none; position: absolute; inset: 0; background: #fff;}
#docPop .pop.on {display: block;}
#docPop .close {position: absolute; right: 4rem; top: 3rem; z-index: 2; width: 4rem; height: 4rem; border-radius: 0.5rem; background: #efefef;}
#docPop .close img {width: 1.35rem; margin: 0 auto;}
#docPop .photo {position: absolute; left: 0; top: 0; width: 50%; height: 100%; overflow: hidden; background: #dfdfde;}
#docPop .photo img {width: 100%; height: 100%; object-fit: cover; object-position: center top;}
#docPop .cont {position: absolute; left: 55.21%; top: 50%; width: 65rem; margin-top: -34rem;}
#docPop .tit {position: relative; align-items: flex-end; height: 9.5rem; padding-bottom: 3.5rem; border-bottom: 1px solid #656565;}
#docPop .tit .name {font-size: 6rem; line-height: 6rem; color: #111;}
#docPop .tit .pos {margin: 0 0 0.2rem 1.2rem; font-size: 3.2rem; font-weight: 700; line-height: 3.2rem; color: #6d4821;}
#docPop .tit .eng {position: absolute; right: 0; top: 3.7rem; font-size: 1.6rem; font-weight: 500; line-height: 1.6rem; letter-spacing: 0.02em; color: var(--brown);}
#docPop .tit .logo {position: absolute; right: -11rem; top: 0.4rem; width: 8.6rem;}
#docPop .scroll {height: 69.4rem; max-height: calc(100vh - 34rem); margin-top: 4rem; padding-right: 2.4rem; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #6d4821 #ebebeb;}
#docPop .scroll::-webkit-scrollbar {width: 5px;}
#docPop .scroll::-webkit-scrollbar-thumb {border-radius: 2.5px; background: #6d4821;}
#docPop .scroll::-webkit-scrollbar-track {border-radius: 2.5px; background: #ebebeb;}
#docPop dl + dl {margin-top: 3rem;}
#docPop dt {display: inline-block; height: 3.8rem; padding: 0 2.5rem; border-radius: 1.9rem; background: #6d4821; font-size: 2rem; font-weight: 600; line-height: 3.8rem; color: #fff;}
#docPop dd {margin-top: 1rem;}
#docPop dd li {position: relative; padding-left: 1.6rem; font-size: 2rem; line-height: 3.5rem; color: #111;}
#docPop dd li::before {content: ''; position: absolute; left: 0; top: 1.6rem; width: 0.4rem; height: 0.4rem; border-radius: 50%; background: #6d4821;}
/* 오른쪽 세로 문구 */
#docPop .vTxt {position: absolute; right: 12.1rem; top: 32.6rem; font-size: 4.4rem; font-weight: 700; line-height: 4.4rem; letter-spacing: 0.05em; color: #f5eee5; writing-mode: vertical-rl; white-space: nowrap;}

@media all and (max-width: 880px){
    .p1_2 #s1 {padding: 7rem 0 8.1rem;}
    .p1_2 .docList {grid-template-columns: repeat(2, 16rem); gap: 2rem 1.5rem; margin-top: 3.5rem;}
    .p1_2 .docList .card {height: 15.2rem; border-radius: 2rem 0 2rem 0;}
    .p1_2 .docList .deco {left: 8.8rem; top: 3.3rem; width: 6rem;}
    .p1_2 .docList .bar {height: 3.2rem; padding: 0 1.5rem; border-radius: 0 0 2rem 0;}
    .p1_2 .docList .name {font-size: 1.6rem; line-height: 1.6rem;}
    .p1_2 .docList .pos {margin-left: 0.7rem; font-size: 1.2rem; line-height: 1.2rem;}
    .p1_2 .docList .plus {width: 1.2rem;}

    #docPop .dim {display: block; position: absolute; inset: 0; background: rgba(0,0,0,0.5);}
    #docPop .pop {left: 50%; top: 50%; width: 33.5rem; height: 58rem; max-height: calc(100% - 9rem); margin: 0; transform: translate(-50%, -46%);}
    #docPop .close {right: 0; top: -4.2rem; width: 3.2rem; height: 3.2rem;}
    #docPop .close img {width: 1.05rem;}
    #docPop .photo {position: relative; width: 100%; height: 22rem;}
    #docPop .photo img {object-position: center 8%;}
    #docPop .cont {position: static; width: auto; margin: 0; padding: 3rem 2rem 0;}
    #docPop .tit {height: auto; padding-bottom: 1.6rem;}
    #docPop .tit .name {font-size: 2.2rem; line-height: 2.2rem;}
    #docPop .tit .pos {margin: 0 0 0.2rem 0.5rem; font-size: 1.3rem; line-height: 1.3rem;}
    #docPop .tit .eng {right: 0; top: auto; bottom: 1.8rem; font-size: 1rem; line-height: 1rem; letter-spacing: 0;}
    #docPop .scroll {height: 26rem; max-height: none; margin-top: 2rem; padding-right: 1.6rem;}
    #docPop .scroll::-webkit-scrollbar {width: 4px;}
    #docPop dl + dl {margin-top: 2rem;}
    #docPop dt {height: 2.6rem; padding: 0 1.7rem; border-radius: 1.3rem; font-size: 1.4rem; line-height: 2.6rem;}
    #docPop dd {margin-top: 1rem;}
    #docPop dd li {padding-left: 1.2rem; font-size: 1.4rem; line-height: 2.4rem;}
    #docPop dd li::before {top: 1.1rem;}
}


/* =====================================================
   1-3 원내 안내도
   ===================================================== */

.p1_3 #s1 {padding: 12rem 0 18rem;}
.p1_3 .floorTab {gap: 1.4rem; margin-top: 5rem;}
.p1_3 .floorTab button {width: 25rem; height: 6.8rem; border-radius: 4.1rem; background: #ededed; font-size: 2.6rem; font-weight: 500; color: #8d8d8d; transition: background 0.2s, color 0.2s;}
.p1_3 .floorTab button.on {background: var(--fcp); font-weight: 700; color: #fff;}
.p1_3 .floor {display: none; justify-content: space-between; margin-top: 10rem;}
.p1_3 .floor.on {display: flex;}
.p1_3 .map {position: relative; width: 82rem; flex-shrink: 0;}
.p1_3 .map img {display: block; width: 100%;}
/* 도면 위 번호 */
.p1_3 .dot, .p1_3 .room i {display: inline-block; width: 2.8rem; height: 2.8rem; border-radius: 50%; background: #e5dbd1; font-size: 1.6rem; font-weight: 700; font-style: normal; line-height: 2.8rem; color: #fff; text-align: center; transition: background 0.2s;}
.p1_3 .dot {position: absolute; cursor: pointer;}
.p1_3 .floor[data-floor="2"] .dot {background: #dbcec0;}
.p1_3 .dot.on, .p1_3 .room.on i {background: var(--fcp) !important;}
.p1_3 .info {width: 40rem; margin-top: 10rem;}
.p1_3 .fl {font-size: 10rem; font-weight: 500; line-height: 10rem; letter-spacing: 0.05em; color: var(--fcp);}
.p1_3 .fl small {font-size: 8rem;}
.p1_3 .rooms {margin-top: 3.2rem;}
.p1_3 .rooms li {padding: 2rem 0 2rem 1.9rem; background: linear-gradient(90deg, #d7d3ce 50%, transparent 0) repeat-x left bottom / 0.4rem 1px;}
.p1_3 .rooms li:first-child {padding-top: 0;}
.p1_3 .rooms li:last-child {background: none;}
.p1_3 .room {display: flex; align-items: center; width: 19.4rem; font-size: 2.2rem; font-weight: 500; line-height: 2.2rem; color: #111; cursor: pointer; transition: color 0.2s;}
.p1_3 .room.full {width: auto;}
.p1_3 .room i {margin-right: 1rem;}
.p1_3 .room.on {font-weight: 700; color: var(--fcp);}

@media all and (max-width: 880px){
    .p1_3 #s1 {padding: 7rem 0 8rem;}
    .p1_3 .floorTab {gap: 0.9rem; margin-top: 3.5rem;}
    .p1_3 .floorTab button {width: 13rem; height: 4.4rem; font-size: 1.8rem;}
    .p1_3 .floor.on {display: block;}
    .p1_3 .floor {margin-top: 3rem;}
    .p1_3 .map {width: 100%;}
    .p1_3 .dot {width: 1.9rem; height: 1.9rem; font-size: 1.3rem; line-height: 1.9rem;}
    .p1_3 .info {width: 100%; margin-top: 2.1rem;}
    .p1_3 .fl {font-size: 7rem; line-height: 7rem;}
    .p1_3 .fl small {font-size: 5.5rem;}
    .p1_3 .rooms {margin-top: 3rem;}
    .p1_3 .rooms li {padding-left: 2rem;}
    .p1_3 .room {width: 16.4rem; font-size: 1.8rem; line-height: 1.8rem;}
}


/* =====================================================
   1-4 의료장비 소개
   ===================================================== */

/* S1 : 인트로 (사진은 오른쪽 화면 끝까지) */
.p1_4 #s1 {position: relative; height: 62rem; padding-top: 13.7rem; overflow: hidden; background: #f8f4ef;}
.p1_4 #s1 .inner {z-index: 1;}
.p1_4 #s1 .tit {font-size: 3.4rem; line-height: 4.8rem; color: #111;}
.p1_4 #s1 .tit span {color: var(--fcp);}
.p1_4 #s1 .txt {margin-top: 3.5rem;}
.p1_4 #s1 .txt p {font-size: 2.2rem; line-height: 3.5rem; color: #444;}
.p1_4 #s1 .txt p + p {margin-top: 2rem;}
.p1_4 #s1 .photo {position: absolute; left: calc(50% + 12rem); right: 0; top: 10rem; height: 42rem; overflow: hidden; border-radius: 30rem 0 0 30rem;}
.p1_4 #s1 .photo img {width: 100%; height: 100%; object-fit: cover;}
.p1_4 #s1 .roun {position: absolute; left: calc(50% - 91.95rem); top: 39.3rem; width: 56.4rem;}

/* S2 : 장비 목록 */
.p1_4 #s2 {padding: 12rem 0 18rem;}
.p1_4 #s2 .tit {font-size: 5rem; font-weight: 700; line-height: 5rem; color: #111;}
.p1_4 .equipTab {display: flex; justify-content: center; gap: 1.4rem; margin-top: 5rem;}
.p1_4 .equipTab button {width: 24rem; height: 6.2rem; border-radius: 4.1rem; background: #ededed; font-size: 2rem; font-weight: 500; color: #8d8d8d; transition: background 0.2s, color 0.2s;}
.p1_4 .equipTab button.on {background: var(--fcp); font-weight: 700; color: #fff;}
.p1_4 .equipList {display: none; margin-top: 5.2rem;}
.p1_4 .equipList.on {display: block;}
.p1_4 .equipList .row {display: flex; gap: 6rem; padding: 6rem 0; border-bottom: 1px solid #cbcbcb;}
.p1_4 .equipList .row:first-child {padding-top: 0;}
.p1_4 .equipList .row:last-child {padding-bottom: 0; border-bottom: 0;}
.p1_4 .equipList li {width: 67rem;}
.p1_4 .equipList .img {height: 40rem; overflow: hidden; border-radius: 3rem; background: #f4f4f4;}
.p1_4 .equipList .img img {height: 100%; object-fit: cover;}
.p1_4 .equipList .brand {margin-top: 4.5rem; font-size: 2.2rem; font-weight: 600; line-height: 2.2rem; color: var(--fcp);}
.p1_4 .equipList .name {display: block; margin-top: 4.5rem; font-size: 4rem; line-height: 4rem; color: #111;}
.p1_4 .equipList .brand + .name {margin-top: 2.5rem;}
.p1_4 .equipList .desc {margin-top: 3rem; font-size: 1.8rem; line-height: 3.2rem; color: #444;}

@media all and (max-width: 880px){
    .p1_4 #s1 {height: 76.6rem; padding-top: 7rem;}
    .p1_4 #s1 .tit {font-size: 2.5rem; line-height: 3.6rem;}
    .p1_4 #s1 .txt {margin-top: 2rem;}
    .p1_4 #s1 .txt p {font-size: 1.6rem; line-height: 2.6rem;}
    .p1_4 #s1 .txt p + p {margin-top: 1.5rem;}
    .p1_4 #s1 .tit, .p1_4 #s1 .txt p {white-space: nowrap;} /* 시안 모바일 줄바꿈(br.mo) 그대로 */
    .p1_4 #s1 .photo {left: 2rem; top: 48.6rem; height: 21rem;}
    .p1_4 #s1 .roun {left: 2rem; top: 65.5rem; z-index: 1; width: 27.1rem;}

    .p1_4 #s2 {padding: 6rem 0 8rem;}
    .p1_4 #s2 .tit {font-size: 2.6rem; line-height: 2.8rem;}
    .p1_4 .equipTab {display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.7rem; margin-top: 2.5rem;}
    .p1_4 .equipTab button {width: auto; height: 4rem; font-size: 1.4rem;}
    .p1_4 .equipList {margin-top: 3rem;}
    .p1_4 .equipList .row {display: block; padding: 0; border: 0;}
    .p1_4 .equipList .row + .row, .p1_4 .equipList li + li {margin-top: 4rem;}
    .p1_4 .equipList li {width: 100%;}
    .p1_4 .equipList .img {height: 28rem;}
    .p1_4 .equipList .brand {margin-top: 3rem; font-size: 1.4rem; line-height: 1.4rem;}
    .p1_4 .equipList .name {margin-top: 3rem; font-size: 2.6rem; line-height: 3.6rem;}
    .p1_4 .equipList .brand + .name {margin-top: 1.2rem;}
    .p1_4 .equipList .desc {margin-top: 1.5rem; font-size: 1.5rem; line-height: 2.6rem;}
}


/* =====================================================
   1-5 오시는 길
   ===================================================== */

.p1_5 #s1 {padding: 12rem 0 18rem;}
.p1_5 .top {margin-top: 6.4rem;}
.p1_5 .addr {font-size: 3.5rem; line-height: 3.5rem; color: #111;}
.p1_5 .links {gap: 1rem;}
.p1_5 .links a {width: 20.4rem; height: 5.6rem; gap: 1.2rem; border: 1px solid #e2e2e2; border-radius: 3rem; background: #f3f3f3; font-size: 1.8rem; font-weight: 600; color: #111; transition: background 0.2s;}
.p1_5 .links a:last-child {width: 23rem;}
.p1_5 .links a:hover {background: #e9e9e9;}
.p1_5 .links .yt {width: 3.2rem;}
.p1_5 .links .blog {width: 3.2rem;}
.p1_5 .links .nmap {width: 2.4rem;}
.p1_5 .map {position: relative; height: 50rem; margin-top: 2.6rem; overflow: hidden; border-radius: 3rem;}
.p1_5 .map img {position: absolute; left: 0; top: -41.71%; width: 100%; max-width: none;}
.p1_5 .info {margin-top: 6rem;}
.p1_5 .info .tel {width: 51.3rem;}
.p1_5 .info .time {width: 43.2rem;}
.p1_5 .info dt {font-size: 2.4rem; font-weight: 700; line-height: 2.4rem; color: var(--fcp);}
.p1_5 .info .num {display: inline-block; margin-top: 2rem; font-size: 6rem; line-height: 6rem; color: #111;}
.p1_5 .info .hours {margin-top: 2rem; font-size: 2.2rem; line-height: 3.5rem; color: #111;}
.p1_5 .info b {color: var(--fcp);}
.p1_5 .info .badge {width: 18rem; height: 3.6rem; margin-top: 2rem; border-radius: 1.8rem; background: var(--fcp); font-size: 1.8rem; line-height: 3.6rem; color: #fff;}
.p1_5 .info .kakao {width: 28rem; height: 5.4rem; margin-top: 2.5rem; padding: 0 2.5rem; border-radius: 3rem; background: #f3f3f3; font-size: 2rem; color: #111;}
.p1_5 .info .kakao .ch {width: 2.9rem; margin-right: 1.5rem;}
.p1_5 .info .kakao .search {width: 1.5rem; margin-left: auto;}
.p1_5 .info .wrt {margin-top: 1.8rem; font-size: 1.8rem; line-height: 2.6rem; color: #111; white-space: nowrap;}
.p1_5 .guide {gap: 4rem; margin-top: 10rem;}
.p1_5 .guide .box {width: 68rem; height: 41.6rem; padding: 4rem; border-radius: 2rem; background: #f4f4f4;}
.p1_5 .guide .hd {gap: 1.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid #cbcbcb; font-size: 3rem; font-weight: 700; line-height: 3.6rem; color: #111;}
.p1_5 .guide .hd img {width: 3.8rem;}
.p1_5 .guide dl {padding-top: 3.6rem;}
.p1_5 .guide dt {display: inline-block; height: 3.6rem; padding: 0 2.5rem; border-radius: 1.8rem; background: var(--fcp); font-size: 1.8rem; font-weight: 600; line-height: 3.6rem; color: #fff;}
.p1_5 .guide dd {margin-top: 1.8rem; font-size: 2.2rem; font-weight: 500; line-height: 3.2rem; color: #111;}
.p1_5 .guide dd + dt {margin-top: 3rem;}
.p1_5 .guide .line5 {display: inline-block; width: 2.7rem; height: 2.7rem; margin-right: 0.3rem; border-radius: 50%; background: #9a6dad; font-size: 1.8rem; font-weight: 600; font-style: normal; line-height: 2.7rem; color: #fff; text-align: center; vertical-align: 0.1rem;}

@media all and (max-width: 880px){
    .p1_5 #s1 {padding: 7rem 0 8rem;}
    /* 모바일 순서 : 주소 → 지도 → 연락처 → 바로가기 버튼 → 안내 박스 */
    .p1_5 #s1 .inner {display: flex; flex-direction: column;}
    .p1_5 .top {display: contents;}
    .p1_5 .addr {order: 1; margin-top: 4rem; font-size: 2.2rem; line-height: 2.2rem;}
    .p1_5 .map {order: 2; height: 28rem; margin-top: 2.2rem; border-radius: 2rem;}
    .p1_5 .map img {left: -50.71%; top: -27.3%; width: 201.75%;}
    .p1_5 .info {order: 3; display: block; margin-top: 4rem;}
    .p1_5 .links {order: 4; flex-direction: column; margin-top: 5rem;}
    .p1_5 .guide {order: 5; flex-direction: column; gap: 2.5rem; margin-top: 6rem;}
    .p1_5 .links a, .p1_5 .links a:last-child {width: 100%;}
    .p1_5 .info .tel, .p1_5 .info .time {width: auto;}
    .p1_5 .info dl + dl {margin-top: 4rem;}
    .p1_5 .info dt {font-size: 1.8rem; line-height: 1.8rem;}
    .p1_5 .info .num {margin-top: 1.5rem; font-size: 4.2rem; line-height: 4.2rem;}
    .p1_5 .info .hours {margin-top: 1.5rem; font-size: 1.8rem; line-height: 3rem;}
    .p1_5 .info .kakao {margin-top: 2rem;}
    .p1_5 .info .wrt {font-size: 1.6rem;}
    .p1_5 .guide .box {width: 100%; height: auto; padding: 3.2rem 2.5rem 3.5rem;}
    .p1_5 .guide .hd {gap: 1.5rem; padding-bottom: 1.5rem; font-size: 2.6rem; line-height: 2.7rem;}
    .p1_5 .guide .hd img {width: 2.8rem;}
    .p1_5 .guide dl {padding-top: 2.6rem;}
    .p1_5 .guide dt {height: 3.3rem; padding: 0 1.9rem; font-size: 1.5rem; line-height: 3.3rem;}
    .p1_5 .guide dd {margin-top: 1rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p1_5 .guide dd + dt {margin-top: 2.5rem;}
}


/* =====================================================
   2-1 진료 안내
   ===================================================== */

/* S1 : 인트로 (회색 바탕 + 질감 이미지 overlay) */
.p2_1 #s1 {position: relative; height: 80.2rem; padding-top: 12rem; background: #d4d4d4;}
.p2_1 #s1 .bg {position: absolute; inset: 0; opacity: 0.9; mix-blend-mode: overlay;}
.p2_1 #s1 .bg img {width: 100%; height: 100%; object-fit: cover;}
.p2_1 #s1 .logo {width: 14rem;}
.p2_1 #s1 .tit {margin-top: 3rem; font-size: 5rem; line-height: 6.5rem; color: #111;}
.p2_1 #s1 .tit span {color: var(--fcp);}
.p2_1 #s1 .band {display: inline-block; height: 4.5rem; margin-top: 4rem; padding: 0 1.4rem; background: var(--fcp); font-size: 2.8rem; line-height: 4.5rem; color: #fff;}
.p2_1 #s1 .txt {margin-top: 3rem;}
.p2_1 #s1 .txt p {font-size: 2.4rem; line-height: 3.8rem; color: #444; white-space: nowrap;}
.p2_1 #s1 .txt p + p {margin-top: 2.5rem;}

/* 진료비 안내 팝업 : PC는 정해진 높이 안에서 스크롤 / 모바일은 전체 노출, 기기 높이가 짧으면 스크롤 */
#feePop {inset: 0; z-index: 99999; display: none;}
#feePop .dim {position: absolute; inset: 0; background: rgba(0,0,0,0.6);}
#feePop .box {position: absolute; left: 50%; top: 50%; width: 80rem; padding: 6rem 1.5rem 2rem 4rem; border-radius: 2rem; background: #fff; transform: translate(-50%, -50%);}
#feePop .close {position: absolute; right: 2rem; top: 1.6rem; width: 4rem; height: 4rem; border-radius: 0.5rem; background: #efefef;}
#feePop .close img {width: 1.35rem; margin: 0 auto;}
#feePop .scroll {height: 80rem; max-height: calc(100vh - 16rem); padding-right: 2.5rem; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--fcp) #ebebeb;}
#feePop .scroll::-webkit-scrollbar {width: 5px;}
#feePop .scroll::-webkit-scrollbar-thumb {border-radius: 2.5px; background: var(--fcp);}
#feePop .scroll::-webkit-scrollbar-track {border-radius: 2.5px; background: #ebebeb;}
#feePop .scroll img {display: block; width: 100%;}
@media all and (max-width: 880px){
    #feePop .box {width: 33.5rem; padding: 5rem 0 1rem; border-radius: 1.5rem;}
    #feePop .close {right: 1rem; top: 1rem; width: 3.2rem; height: 3.2rem;}
    #feePop .close img {width: 1.1rem;}
    #feePop .scroll {height: auto; max-height: calc(100svh - 12rem); padding-right: 0;}
}

/* S2 : 진료시간 */
.p2_1 #s2 {padding-top: 15rem;}
.p2_1 #s2 .cont {margin-top: 5rem;}
.p2_1 #s2 .photo {width: 74rem; min-height: 70rem; overflow: hidden; border-radius: 2rem;} /* 오른쪽 카드 높이만큼 함께 늘어남 */
.p2_1 #s2 .photo img {width: 100%; height: 100%; object-fit: cover;}
.p2_1 #s2 .hours {width: 62rem;}
.p2_1 #s2 .hours li {position: relative; display: flex; flex-direction: column; min-height: 22rem; padding: 4.5rem; border-radius: 2rem; background: #f4f4f4;} /* 높이 고정 없이 내용만큼 늘어남 */
.p2_1 #s2 .hours li + li {margin-top: 2rem;}
.p2_1 #s2 .hd {font-size: 3rem; line-height: 3rem; color: var(--fcp);}
.p2_1 #s2 .ic {position: absolute; right: 4.5rem; top: 3.8rem;}
.p2_1 #s2 .ic.day {width: 3.8rem;}
.p2_1 #s2 .ic.night {width: 4rem;}
.p2_1 #s2 .ic.er {top: 4.2rem; width: 5.2rem;}
.p2_1 #s2 .time {margin-top: auto; padding-top: 3rem; text-align: right; font-size: 3rem; font-weight: 600; line-height: 3rem; color: #111;}
.p2_1 #s2 .note {margin-top: 1rem; text-align: right; font-size: 1.8rem; font-weight: 500; line-height: 2.6rem; color: #014a4f;}
.p2_1 #s2 .note + .note {margin-top: 0.4rem;}
.p2_1 #s2 .night {padding-bottom: 4rem;}
.p2_1 #s2 .er .time {color: #db1818;}

/* S3 : 예약절차 */
.p2_1 #s3 {padding-top: 15rem;}
.p2_1 #s3 .cards {margin-top: 6rem;}
.p2_1 #s3 .cards li {position: relative; width: 69rem; height: 28rem; padding: 4.5rem; overflow: hidden; border-radius: 2rem; background: no-repeat center / cover; color: #fff;}
/* 사진 위 : 검정 40% + 왼쪽에서 오른쪽으로 옅어지는 검정 70% */
.p2_1 #s3 .cards li::before {content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.4); transition: background 0.4s;}
.p2_1 #s3 .cards li::after {content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #000 3.21%, rgba(0,0,0,0) 62.75%); opacity: 0.7; transition: opacity 0.4s;}
/* 마우스 오버 : 사진 위로 청록 단색 (터치 기기는 제외) */
@media (hover: hover){
    .p2_1 #s3 .cards li:hover::before {background: #01565c;}
    .p2_1 #s3 .cards li:hover::after {opacity: 0;}
}
.p2_1 #s3 .cards li > * {z-index: 1;}
.p2_1 #s3 .hd {display: block; font-size: 3.2rem; line-height: 3.2rem;}
.p2_1 #s3 .wrt {position: absolute; left: 4.5rem; bottom: 4rem; font-size: 1.8rem; line-height: 3.2rem; white-space: nowrap;}
.p2_1 #s3 .wrt b {color: var(--beige);}
.p2_1 #s3 .link {position: absolute; right: 4.5rem; top: 3.8rem; width: 13.7rem; height: 4.6rem; gap: 1rem; border: 1px solid var(--beige); border-radius: 2.8rem; font-size: 1.8rem; font-weight: 500; transition: background 0.2s;}
.p2_1 #s3 .link:hover {background: rgba(232,209,184,0.15);}
.p2_1 #s3 .link .arr {position: relative; width: 1.6rem; height: 1.6rem; overflow: hidden;}
.p2_1 #s3 .link .arr img {position: absolute; left: 0.04rem; top: -0.52rem; width: 2.086rem; max-width: none;}

/* S4 : 입원/퇴원/면회 안내사항 */
.p2_1 #s4 {position: relative; margin-top: 15rem; padding: 13rem 0 15rem; background: #382817; color: #fff;}
.p2_1 #s4 .bg {position: absolute; inset: 0; opacity: 0.15; mix-blend-mode: overlay;}
.p2_1 #s4 .bg img {width: 100%; height: 100%; object-fit: cover;}
.p2_1 #s4 .secTit2 .eng {color: var(--beige);}
.p2_1 #s4 .secTit2 .tit {color: #fff;}
.p2_1 #s4 .rows {margin-top: 7rem;}
.p2_1 #s4 .row {gap: 6rem;}
.p2_1 #s4 .row + .row {margin-top: 5rem;}
.p2_1 #s4 .photo {flex-shrink: 0; width: 60rem; height: 32rem; overflow: hidden; border-radius: 2rem;}
.p2_1 #s4 .photo img {width: 100%; height: 100%; object-fit: cover;}
.p2_1 #s4 .photo.ph2 img {object-position: center 83%;}
.p2_1 #s4 .hd {display: block; font-size: 3.6rem; line-height: 3.6rem;}
.p2_1 #s4 .list {margin-top: 3rem;}
.p2_1 #s4 .list li {position: relative; padding-left: 1.3rem; font-size: 1.8rem; line-height: 3.2rem; white-space: nowrap;}
.p2_1 #s4 .list li::before {content: ''; position: absolute; left: 0; top: 1.45rem; width: 0.3rem; height: 0.3rem; border-radius: 50%; background: #fff;}

@media all and (max-width: 880px){
    .p2_1 #s1 {height: 59.8rem; padding-top: 6rem;}
    .p2_1 #s1 .logo {width: 10.3rem;}
    .p2_1 #s1 .tit {margin-top: 2rem; font-size: 2.6rem; line-height: 3.6rem;}
    .p2_1 #s1 .band {display: block; height: 3.2rem; margin-top: 2rem; padding: 0; font-size: 1.6rem; line-height: 3.2rem;}
    .p2_1 #s1 .txt {margin-top: 2rem;}
    .p2_1 #s1 .txt p {font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .p2_1 #s1 .txt p + p {margin-top: 1.5rem;}

    .p2_1 #s2 {padding-top: 6rem;}
    .p2_1 #s2 .cont {display: block; margin-top: 3.5rem;}
    .p2_1 #s2 .photo {width: 100%; height: 22rem; min-height: 0; border-radius: 1.5rem;}
    .p2_1 #s2 .hours {width: 100%; margin-top: 2rem;}
    .p2_1 #s2 .hours li {min-height: 19rem; padding: 3rem; border-radius: 1.5rem;}
    .p2_1 #s2 .hours li + li {margin-top: 1.5rem;}
    .p2_1 #s2 .hd {font-size: 2.4rem; line-height: 2.4rem;}
    .p2_1 #s2 .ic {right: 3rem; top: 2.3rem;}
    .p2_1 #s2 .ic.day, .p2_1 #s2 .ic.night {width: 3.3rem;}
    .p2_1 #s2 .ic.er {top: 2.7rem; width: 4.3rem;}
    .p2_1 #s2 .time {padding-top: 2.5rem; font-size: 2.2rem; line-height: 2.2rem;}
    .p2_1 #s2 .note {margin-top: 0.8rem; font-size: 1.5rem; line-height: 2.2rem;}
    .p2_1 #s2 .night {padding-bottom: 2.5rem;}

    .p2_1 #s3 {padding-top: 7rem;}
    .p2_1 #s3 .cards {display: block; margin-top: 3rem;}
    .p2_1 #s3 .cards li {width: 100%; height: 32rem; padding: 4.5rem 2.5rem; border-radius: 2rem;}
    .p2_1 #s3 .cards li + li {margin-top: 1.5rem;}
    .p2_1 #s3 .hd {font-size: 2.6rem; line-height: 2.6rem;}
    .p2_1 #s3 .wrt {position: relative; left: auto; bottom: auto; margin-top: 1.8rem; font-size: 1.5rem; line-height: 2.5rem; white-space: normal;}
    .p2_1 #s3 .wrt b {display: block;}
    .p2_1 #s3 .cards li:nth-child(2) .wrt b {display: inline;}
    .p2_1 #s3 .link {left: 2.5rem; right: auto; top: auto; bottom: 4.6rem; width: 12.6rem; height: 4rem; gap: 0.9rem; font-size: 1.6rem;}
    .p2_1 #s3 .link .arr {width: 1.4rem; height: 1.4rem;}
    .p2_1 #s3 .link .arr img {left: 0.035rem; top: -0.455rem; width: 1.825rem;}

    .p2_1 #s4 {margin-top: 7rem; padding: 7rem 0;}
    .p2_1 #s4 .rows {margin-top: 3.5rem;}
    .p2_1 #s4 .row {display: block;}
    .p2_1 #s4 .row + .row {margin-top: 3.5rem;}
    .p2_1 #s4 .photo {width: 100%; height: 17.9rem; border-radius: 1.5rem;}
    .p2_1 #s4 .info {margin-top: 2.5rem;}
    .p2_1 #s4 .hd {font-size: 2.6rem; line-height: 2.6rem; text-align: center;}
    .p2_1 #s4 .list {margin-top: 1.3rem;}
    .p2_1 #s4 .list li {font-size: 1.5rem; line-height: 2.6rem; white-space: normal;}
    .p2_1 #s4 .list li::before {top: 1.15rem;}
}


/* =====================================================
   3 특화진료 공통 (3-1 ~ 3-5)
   .spIntro 인트로 / .spDisease 질환 탭 / .spCards 카드 4개 / .spProto 치료 프로토콜
   ===================================================== */

/* 인트로 : 사진은 왼쪽 화면 끝부터 (시안 820 = 화면 가운데 - 140) */
.sub3 .spIntro {position: relative; display: flex; align-items: center; min-height: 65rem; margin-top: 13rem;} /* 글은 사진 높이 가운데 정렬 */
.sub3 .spIntro .photo {position: absolute; left: 0; top: 0; width: calc(50% - 14rem); height: 65rem; overflow: hidden; border-radius: 0 6rem 6rem 0;}
.sub3 .spIntro .photo img {width: 100%; height: 100%; object-fit: cover;}
.sub3 .spIntro .txtArea {margin-left: calc(50% - 7rem);}
.sub3 .spIntro .badge {display: inline-block; height: 4.6rem; padding: 0 2rem; background: var(--fcp); font-size: 2.4rem; font-weight: 700; line-height: 4.6rem; color: #fff;}
.sub3 .spIntro .tit {margin-top: 2.5rem; font-size: 4rem; font-weight: 700; line-height: 5.5rem; color: #111;}
.sub3 .spIntro .tit span {color: var(--fcp);}
.sub3 .spIntro .txt {margin-top: 4rem;}
.sub3 .spIntro .txt p {font-size: 2.2rem; line-height: 3.6rem; color: #444; white-space: nowrap;}
.sub3 .spIntro .txt p + p {margin-top: 2.5rem;}

/* 탭 버튼 공통 */
.sub3 .spTab {display: flex; justify-content: center; gap: 1.4rem;}
.sub3 .spTab button {width: 25rem; height: 6.8rem; border-radius: 4.1rem; background: #ededed; font-size: 2.6rem; font-weight: 500; color: #8d8d8d; transition: background 0.2s, color 0.2s;}
.sub3 .spTab button.on {background: var(--fcp); font-weight: 700; color: #fff;}

/* 질환 탭 */
.sub3 .spDisease {padding-top: 15rem;}
.sub3 .spDisease .spTab {margin-top: 5rem;}
.sub3 .spDisease .panels {margin-top: 6rem;}
.sub3 .spDisease .panel {display: none; justify-content: space-between; align-items: center;}
.sub3 .spDisease .panel.on {display: flex;}
.sub3 .spDisease .panel .txt {width: 63rem;}
.sub3 .spDisease .panel .hd {display: block; font-size: 4.5rem; line-height: 4.5rem; color: var(--fcp);}
.sub3 .spDisease .panel p {margin-top: 2rem; font-size: 1.8rem; line-height: 3rem; color: #444;}
.sub3 .spDisease .panel .hd + p {margin-top: 3rem;}
.sub3 .spDisease .panel .photo {flex-shrink: 0; width: 70rem; height: 44rem; overflow: hidden; border-radius: 3rem;}
.sub3 .spDisease .panel .photo img {width: 100%; height: 100%; object-fit: cover;}

/* 카드 4개 (모바일 슬라이드) */
.sub3 .spCards {margin-top: 15rem; padding: 12rem 0; background: #f4f4f4;}
.sub3 .spCards .txt {margin-top: 4rem; text-align: center;}
.sub3 .spCards .txt p {font-size: 2.2rem; line-height: 3.5rem; color: #444;}
.sub3 .spCards .txt p + p {margin-top: 2.5rem;}
.sub3 .spCards .cardSwiper {margin-top: 6rem;}
.sub3 .spCards .swiper-wrapper {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;}
.sub3 .spCards .swiper-slide {width: auto; text-align: center;}
.sub3 .spCards .photo {height: 34rem; overflow: hidden; border-radius: 2rem;}
.sub3 .spCards .photo img {width: 100%; height: 100%; object-fit: cover;}
.sub3 .spCards .hd {display: block; margin-top: 3.5rem; font-size: 2.6rem; line-height: 2.6rem; color: #111;}
.sub3 .spCards .wrt {margin-top: 1.8rem; font-size: 1.8rem; line-height: 3rem; color: #444;}

/* 정밀 치료 프로토콜 (슬라이드 + 진행 바) */
.sub3 .spProto {padding: 15rem 0;}
.sub3 .spProto .protoSwiper {margin-top: 6rem;}
.sub3 .spProto .swiper-slide {display: flex; align-items: center; height: 40rem;}
.sub3 .spProto .photo {flex-shrink: 0; width: 70rem; height: 40rem; overflow: hidden; border-radius: 3rem;}
.sub3 .spProto .photo img {width: 100%; height: 100%; object-fit: cover;}
.sub3 .spProto .txt {margin-left: 6rem;}
.sub3 .spProto .hd {display: block; font-size: 4rem; line-height: 4rem; color: #111;}
.sub3 .spProto .txt p {margin-top: 3.5rem; font-size: 2.2rem; line-height: 3.8rem; color: #444; white-space: nowrap;}
.sub3 .spProto .no {position: absolute; right: 0; top: 6.5rem; font-size: 9rem; font-style: italic; font-weight: 500; line-height: 9rem; letter-spacing: 0.02em; color: var(--beige); opacity: 0.5;}
.sub3 .spProto .protoBar.swiper-pagination-progressbar {position: relative; height: 4px; margin-top: 5rem; background: #d8d8d8;}
.sub3 .spProto .protoBar .swiper-pagination-progressbar-fill {background: var(--fcp);}

@media all and (max-width: 880px){
    .sub3 .spIntro {display: block; min-height: 0; margin-top: 5rem;}
    .sub3 .spIntro .photo {position: static; width: 100%; height: 29.7rem; border-radius: 0;}
    .sub3 .spIntro .txtArea {width: 33.5rem; margin: 3.5rem auto 0; padding: 0;}
    .sub3 .spIntro .badge {height: 3.6rem; padding: 0 1.4rem; font-size: 1.6rem; line-height: 3.6rem;}
    .sub3 .spIntro .tit {margin-top: 2rem; font-size: 2.6rem; line-height: 3.6rem;}
    .sub3 .spIntro .txt {margin-top: 2rem;}
    .sub3 .spIntro .txt p {font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .sub3 .spIntro .txt p + p {margin-top: 1.5rem;}

    .sub3 .spTab {flex-direction: column; gap: 0.5rem;}
    .sub3 .spTab button {width: 100%; height: 4rem; font-size: 1.6rem;}

    .sub3 .spDisease {padding-top: 7rem;}
    .sub3 .spDisease .spTab {margin-top: 3rem;}
    .sub3 .spDisease .panels {margin-top: 3rem;}
    .sub3 .spDisease .panel.on {flex-direction: column-reverse; align-items: stretch;}
    .sub3 .spDisease .panel .txt {width: 100%; margin-top: 3rem;}
    .sub3 .spDisease .panel .hd {font-size: 2.8rem; line-height: 2.8rem;}
    .sub3 .spDisease .panel p {margin-top: 1.5rem; font-size: 1.5rem; line-height: 2.5rem;}
    .sub3 .spDisease .panel .hd + p {margin-top: 2.2rem;}
    .sub3 .spDisease .panel .photo {width: 100%; height: 21.1rem; border-radius: 2rem;}

    .sub3 .spCards {margin-top: 6rem; padding: 6rem 0;}
    .sub3 .spCards .txt {margin-top: 2rem;}
    .sub3 .spCards .txt p {font-size: 1.6rem; line-height: 2.6rem;}
    .sub3 .spCards .txt p + p {margin-top: 1.9rem;}
    .sub3 .spCards .cardSwiper {margin-top: 3rem; overflow: visible;}
    .sub3 .spCards .swiper-wrapper {display: flex; gap: 0;}
    .sub3 .spCards .swiper-slide {width: 33.5rem;}
    .sub3 .spCards .cardPg {position: static; display: flex; justify-content: center; gap: 0.6rem; margin-top: 3rem;}
    .sub3 .spCards .cardPg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
    .sub3 .spCards .cardPg .swiper-pagination-bullet-active {background: var(--fcp); opacity: 1;}

    .sub3 .spProto {padding: 7rem 0;}
    .sub3 .spProto .protoSwiper {margin-top: 3.5rem;}
    .sub3 .spProto .swiper-slide {display: block; height: auto;}
    .sub3 .spProto .photo {width: 100%; height: 19.1rem; border-radius: 2rem;}
    .sub3 .spProto .txt {margin: 3rem 0 0;}
    .sub3 .spProto .hd {font-size: 2.4rem; line-height: 3.4rem;}
    .sub3 .spProto .txt p {margin-top: 1.2rem; font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .sub3 .spProto .no {display: none;}
    .sub3 .spProto .protoBar.swiper-pagination-progressbar {margin-top: 2rem;}
}

/* 프로토콜 설명이 두 문단인 경우 (3-4) */
.sub3 .spProto .txt p + p {margin-top: 1.9rem;}

/* 이런 경우 필요합니다 : 어두운 배경 + 흰 알약형 목록 (모바일 슬라이드) */
.sub3 .spCheck {position: relative; padding: 13rem 0 15rem; background: #332413; color: #fff;}
.sub3 .spCheck .bg {position: absolute; inset: 0; overflow: hidden; opacity: 0.1;}
.sub3 .spCheck .bg img {width: 100%; height: 100%; object-fit: cover;}
.sub3 .spCheck .tit {font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.sub3 .spCheck .tit span {color: var(--beige);}
.sub3 .spCheck .sub {margin-top: 3.5rem; font-size: 2.2rem; line-height: 3.5rem;}
.sub3 .spCheck .checkSwiper {margin-top: 6rem;}
.sub3 .spCheck .swiper-wrapper {display: block;}
.sub3 .spCheck .swiper-slide {display: flex; align-items: center; height: 15rem; padding-left: 8rem; border-radius: 10.5rem; background: #fff;}
.sub3 .spCheck .swiper-slide + .swiper-slide {margin-top: 1.5rem;}
.sub3 .spCheck .ic {width: 4.2rem;}
.sub3 .spCheck .hd {width: 39.6rem; margin-left: 2.5rem; font-size: 3.2rem; line-height: 3.2rem; color: #111;}
.sub3 .spCheck .wrt {font-size: 2.4rem; line-height: 3.8rem; color: #444;}

@media all and (max-width: 880px){
    .sub3 .spCheck {padding: 7rem 0;}
    .sub3 .spCheck .tit {font-size: 2.5rem; line-height: 3.5rem;}
    .sub3 .spCheck .sub {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .sub3 .spCheck .checkSwiper {margin-top: 3.5rem; overflow: visible;}
    .sub3 .spCheck .swiper-wrapper {display: flex;}
    .sub3 .spCheck .swiper-slide {display: block; width: 33.5rem; height: 23.4rem; padding: 3.5rem 1rem 0; border-radius: 2rem; text-align: center;}
    .sub3 .spCheck .swiper-slide + .swiper-slide {margin-top: 0;}
    .sub3 .spCheck .ic {width: 2.9rem;}
    .sub3 .spCheck .hd {display: block; width: auto; margin: 2.5rem 0 0; font-size: 2.5rem; line-height: 3.6rem;}
    .sub3 .spCheck .wrt {margin-top: 1.2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .sub3 .spCheck .checkPg {position: static; display: flex; justify-content: center; gap: 0.6rem; margin-top: 2rem;}
    .sub3 .spCheck .checkPg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
    .sub3 .spCheck .checkPg .swiper-pagination-bullet-active {background: var(--brown); opacity: 1;}
}


/* =====================================================
   3-5 중증 응급 외상 센터 (레이아웃이 달라 별도)
   ===================================================== */

/* S1 : 진녹색 배경 + 사진 곱하기 + 큰 타원 */
.p3_5 #s1 {position: relative; height: 75rem; padding-top: 12.5rem; overflow: hidden; background: #0f4347; color: #fff;}
.p3_5 #s1 .bg {position: absolute; inset: 0; opacity: 0.7; mix-blend-mode: multiply;}
.p3_5 #s1 .bg img {width: 100%; height: 100%; object-fit: cover;}
.p3_5 #s1 .ellipse {position: absolute; left: 5rem; top: 0; width: calc(100% - 10rem); height: 100%;}
.p3_5 #s1 .badge {display: inline-block; height: 4.6rem; padding: 0 2rem; background: #f0e0ce; font-size: 2.4rem; font-weight: 700; line-height: 4.6rem; color: #03464b;}
.p3_5 #s1 .tit {margin-top: 3rem; font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.p3_5 #s1 .txt {margin-top: 3rem; font-size: 2.5rem; line-height: 3.8rem;}
.p3_5 #s1 .line {display: block; width: 2px; height: 6rem; margin: 2.5rem auto 0; background: linear-gradient(180deg, #f0e0ce, rgba(240,224,206,0.5) 76.92%, rgba(240,224,206,0));}
.p3_5 #s1 .txt2 {margin-top: 2rem; font-size: 2.5rem; font-weight: 600; line-height: 3.8rem; color: #f0e0ce; white-space: nowrap;}
.p3_5 #s1 .txt2 b {font-weight: 600; color: #fff;}

/* S2 : 사진 + 설명 */
.p3_5 #s2 {padding: 15rem 0;}
.p3_5 #s2 .photo {flex-shrink: 0; width: 70rem; height: 42rem; overflow: hidden; border-radius: 3rem;}
.p3_5 #s2 .photo img {width: 100%; height: 100%; object-fit: cover;}
.p3_5 #s2 .txtArea {margin-left: 6rem;}
.p3_5 #s2 .tit {font-size: 4rem; font-weight: 700; line-height: 5.2rem; color: #111;}
.p3_5 #s2 .tit span {color: var(--fcp);}
.p3_5 #s2 .txtArea p {margin-top: 2rem; font-size: 2.2rem; line-height: 3.8rem; color: #444; white-space: nowrap;}
.p3_5 #s2 .tit + p {margin-top: 3rem;}

/* S3 : 어두운 사진 배경 + 왼쪽 글 / 오른쪽 카드 4개 */
.p3_5 #s3 {position: relative; padding: 12rem 0; background: #2a2a2a; color: #fff;}
.p3_5 #s3 .bg {position: absolute; inset: 0; opacity: 0.3;}
.p3_5 #s3 .bg img {width: 100%; height: 100%; object-fit: cover;}
.p3_5 #s3 .deco {position: absolute; left: 5rem; bottom: 6rem; width: 31.2rem;}
.p3_5 #s3 .inner {justify-content: space-between;}
.p3_5 #s3 .txtArea {padding-top: 1rem;}
.p3_5 #s3 .tit {font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.p3_5 #s3 .tit span {color: var(--beige);}
.p3_5 #s3 .txtArea p {margin-top: 3rem; font-size: 2.2rem; line-height: 3.5rem;}
.p3_5 #s3 .sysSwiper {width: 68rem; margin: 0;}
.p3_5 #s3 .swiper-wrapper {display: block;}
.p3_5 #s3 .swiper-slide {position: relative; height: 18rem; padding: 4.5rem 4rem 0; border-radius: 2rem; background: #fff;}
.p3_5 #s3 .swiper-slide + .swiper-slide {margin-top: 2rem;}
.p3_5 #s3 .hd {display: block; font-size: 2.5rem; line-height: 2.5rem; color: #111;}
.p3_5 #s3 .wrt {margin-top: 1.5rem; font-size: 1.8rem; line-height: 3rem; color: #444;}
.p3_5 #s3 .no {position: absolute; right: 4rem; top: 3rem; font-size: 5rem; font-style: italic; font-weight: 500; line-height: 5rem; letter-spacing: 0.02em; color: var(--beige); opacity: 0.5;}

/* S4 : 즉시 내원 증상 */
.p3_5 #s4 {padding: 12rem 0 15rem;}
.p3_5 #s4 .sub {margin-top: 3rem; font-size: 2.2rem; line-height: 3.5rem; color: #444;}
.p3_5 #s4 .sub b {color: var(--fcp);}
.p3_5 #s4 .cont {justify-content: space-between; margin-top: 6rem;}
.p3_5 #s4 .list {width: 68rem;}
.p3_5 #s4 .list li {position: relative; height: 13rem; padding: 3.4rem 0 0 8.6rem; border-radius: 2rem; background: #ebf5f6;}
.p3_5 #s4 .list li:nth-child(even) {background: #f5f5f5;}
.p3_5 #s4 .list li + li {margin-top: 1.5rem;}
.p3_5 #s4 .list .ic {position: absolute; left: 4rem; top: 3.4rem; width: 2.6rem;}
.p3_5 #s4 .list .hd {display: block; font-size: 2.6rem; line-height: 2.6rem; color: #111;}
.p3_5 #s4 .list p {margin-top: 1.8rem; font-size: 1.8rem; line-height: 1.8rem; color: #444;}
.p3_5 #s4 .photo {width: 68rem; height: 71rem; overflow: hidden; border-radius: 2rem;}
.p3_5 #s4 .photo img {width: 100%; height: 100%; object-fit: cover;}

@media all and (max-width: 880px){
    .p3_5 #s1 {height: 68.3rem; padding-top: 7.1rem;}
    .p3_5 #s1 .badge {height: 3.6rem; padding: 0 1.4rem; font-size: 1.6rem; line-height: 3.6rem;}
    .p3_5 #s1 .tit {margin-top: 2rem; font-size: 2.4rem; line-height: 3.5rem;}
    .p3_5 #s1 .txt {margin-top: 1.5rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p3_5 #s1 .line {height: 4.5rem; margin-top: 1.8rem;}
    .p3_5 #s1 .txt2 {margin-top: 1.5rem; font-size: 1.8rem; line-height: 3rem; white-space: normal;}

    .p3_5 #s2 {padding: 7rem 0;}
    .p3_5 #s2 .inner {display: block;}
    .p3_5 #s2 .photo {width: 100%; height: 20.1rem; border-radius: 2rem;}
    .p3_5 #s2 .txtArea {margin: 3rem 0 0;}
    .p3_5 #s2 .tit {font-size: 2.6rem; line-height: 3.6rem;}
    .p3_5 #s2 .txtArea p {margin-top: 1.5rem; font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .p3_5 #s2 .tit + p {margin-top: 1.5rem;}

    .p3_5 #s3 {padding: 7rem 0;}
    .p3_5 #s3 .inner {display: block;}
    .p3_5 #s3 .txtArea {padding: 0; text-align: center;}
    .p3_5 #s3 .tit {font-size: 2.6rem; line-height: 3.6rem;}
    .p3_5 #s3 .txtArea p {margin-top: 1.5rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p3_5 #s3 .sysSwiper {width: auto; margin-top: 3.5rem; overflow: visible;}
    .p3_5 #s3 .swiper-wrapper {display: flex;}
    .p3_5 #s3 .swiper-slide {width: 33.5rem; height: 22rem; padding: 4rem 2.5rem 0;}
    .p3_5 #s3 .swiper-slide + .swiper-slide {margin-top: 0;}
    .p3_5 #s3 .hd {font-size: 2.2rem; line-height: 2.2rem;}
    .p3_5 #s3 .wrt {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p3_5 #s3 .no {right: 2.5rem; top: auto; bottom: 2.5rem; font-size: 4rem; line-height: 4rem;}
    .p3_5 #s3 .sysPg {position: static; display: flex; justify-content: center; gap: 0.6rem; margin-top: 2rem;}
    .p3_5 #s3 .sysPg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
    .p3_5 #s3 .sysPg .swiper-pagination-bullet-active {background: var(--brown); opacity: 1;}

    .p3_5 #s4 {padding: 7rem 0;}
    .p3_5 #s4 .sub {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p3_5 #s4 .cont {flex-direction: column-reverse; margin-top: 2.5rem;}
    .p3_5 #s4 .photo {width: 100%; height: 24rem;}
    .p3_5 #s4 .list {width: 100%; margin-top: 1.9rem;}
    .p3_5 #s4 .list li {height: 18.2rem; padding: 7rem 0 0; text-align: center;}
    .p3_5 #s4 .list li + li {margin-top: 1rem;}
    .p3_5 #s4 .list .ic {left: 50%; top: 3rem; width: 2.2rem; margin-left: -1.1rem;}
    .p3_5 #s4 .list .hd {font-size: 2.2rem; line-height: 2.2rem;}
    .p3_5 #s4 .list p {margin-top: 1rem; font-size: 1.5rem; line-height: 2.5rem;}
}

@media all and (max-width: 880px){
    /* 모바일 시안 줄바꿈(br.mo) 그대로 유지할 제목들 */
    .sub3 .spIntro .tit, .sub3 .spCheck .tit, .p3_5 #s1 .tit, .p3_5 #s2 .tit {white-space: nowrap;}
}


/*―――――――――――――――――――――――――――――――――――――――――――― 4 외과 특화 센터 공통 (4-1 ~ 4-5) */
/* S1 : 다루는 질환 */
.sub4 #s1 {padding: 12rem 0 15rem;}
.sub4 #s1 .photo {height: 48rem; overflow: hidden; border-radius: 3rem;}
.sub4 #s1 .photo img {width: 100%; height: 100%; object-fit: cover;}
.sub4 #s1 .secTit {margin-top: 8rem;}
.sub4 #s1 .chips {display: flex; flex-wrap: wrap; justify-content: center; gap: 2.5rem 2.2rem; margin-top: 5rem;}
.sub4 #s1 .chips li {display: flex; flex-direction: column; justify-content: center; align-items: center; width: 45.2rem; height: 10rem; border: 2px solid var(--fcp); border-radius: 5rem; background: #fff; text-align: center; transition: background 0.3s;}
.sub4 #s1 .chips b {font-size: 3rem; line-height: 3rem; color: #111; transition: color 0.3s;}
.sub4 #s1 .chips span {margin-top: 1rem; font-size: 2rem; font-weight: 500; line-height: 2rem; letter-spacing: 0.03em; color: var(--fcp); transition: color 0.3s;}
@media (hover: hover) {
    .sub4 #s1 .chips li:hover {background: var(--fcp);}
    .sub4 #s1 .chips li:hover b {color: #fff;}
    .sub4 #s1 .chips li:hover span {color: var(--beige);}
}

/* S2 : 질환 슬라이드 + 진료 프로토콜 (갈색 배경) */
.sub4 #s2 {position: relative; padding-top: 13rem; background: #4b3a28; color: #fff;}
.sub4 #s2::before {content: ''; position: absolute; inset: 0; background: url(../img/sub4/bg.jpg) no-repeat center / cover;} /* 시안의 linear-burn 합성을 이미지에 미리 반영 */
.sub4 #s2 .inner {position: relative;}
.sub4 .diseaseSwiper .swiper-slide {display: flex; align-items: center;}
.sub4 .diseaseSwiper .photo {flex-shrink: 0; width: 68rem; height: 42rem; overflow: hidden; border-radius: 3rem;}
.sub4 .diseaseSwiper .photo img {width: 100%; height: 100%; object-fit: cover;}
.sub4 .diseaseSwiper .txt {width: 66rem; margin-left: 6rem;}
.sub4 .diseaseSwiper .hd {display: block; font-size: 4.2rem; line-height: 4.2rem;}
.sub4 .diseaseSwiper .txt > p {margin-top: 3rem; font-size: 2.2rem; line-height: 3.8rem;}
.sub4 .diseaseSwiper .ctrl {gap: 0.8rem; margin-top: 4rem;}
.sub4 .diseaseSwiper .count {width: 9.3rem; padding-top: 0.8rem; font-size: 1.6rem; font-weight: 500; line-height: 2.4rem; color: rgba(255,255,255,0.4);}
.sub4 .diseaseSwiper .count b {font-size: 2.4rem; color: var(--beige);}
.sub4 .diseaseSwiper .count span {font-size: 1.8rem; font-weight: 500;}
.sub4 .diseaseSwiper button {width: 4rem; height: 4rem; transition: opacity 0.3s;}
.sub4 .diseaseSwiper button img {width: 100%;}
.sub4 .diseaseSwiper .next img {transform: scaleX(-1);}
@media (hover: hover) {
    .sub4 .diseaseSwiper button:hover {opacity: 0.7;}
}

.sub4 #s2 .protoTit {margin-top: 15rem;}
.sub4 #s2 .protoTit .tit {font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.sub4 #s2 .protoTit .tit span {color: var(--beige);}
.sub4 #s2 .protoTit .sub {margin-top: 3rem; font-size: 2.2rem; line-height: 3.5rem;}
.sub4 #s2 .protoBox {position: relative; margin-top: 8.1rem; padding: 9.1rem 10rem 12rem; border-radius: 8rem 8rem 0 0; background: #fff;}
.sub4 #s2 .protoBox .badge {position: absolute; left: 50%; top: -3.1rem; width: 40rem; height: 6.2rem; border-radius: 3.5rem; background: var(--brown); transform: translateX(-50%); font-size: 2.4rem; font-weight: 500; line-height: 6.2rem; letter-spacing: 0.05em; text-align: center;}
.sub4 #s2 .protoBox li {display: flex; padding: 3rem 0; background: url(../img/sub4/line_dash.svg) repeat-x left top / auto 1px;}
.sub4 #s2 .protoBox li:first-child {padding-top: 0; background: none;}
.sub4 #s2 .protoBox li:last-child {padding-bottom: 0;}
.sub4 #s2 .protoBox .no {flex-shrink: 0; width: 12.3rem; font-size: 8rem; font-style: italic; font-weight: 500; line-height: 8rem; letter-spacing: 0.02em; color: var(--beige); opacity: 0.5;}
.sub4 #s2 .protoBox .txt {padding-top: 1.4rem;}
.sub4 #s2 .protoBox .hd {display: block; font-size: 3.2rem; line-height: 3.2rem; color: #111;}
.sub4 #s2 .protoBox .txt p {margin-top: 1.8rem; font-size: 2.2rem; line-height: 3.6rem; color: #444; white-space: nowrap;}

/* S3 : 수술 단계 - 화면에 고정된 채 스크롤하면 배경이 가로로 넘어가며 단계 전환 */
.stepSec {height: calc(var(--n, 4) * 100vh);} /* 단계 수(--n)만큼 스크롤 구간 */
.stepSec .pin {position: sticky; top: 0; height: 100vh; overflow: hidden; background: #252525; color: #fff;}
.stepSec .bgs {position: absolute; inset: 0; overflow: hidden;}
.stepSec .track {display: flex; height: 100%; transition: transform 1s cubic-bezier(0.65, 0, 0.35, 1);}
.stepSec .bg {flex: 0 0 100%; height: 100%;}
.stepSec .bg img {width: 100%; height: 100%; object-fit: cover;}
.stepSec .deco {position: absolute; right: 10.1rem; bottom: 10rem; width: 27.2rem;}
.stepSec .cont {position: absolute; left: 32rem; top: calc(50% - 32rem);}
.stepSec .line {position: absolute; left: 0.9rem; top: -5rem; width: 2px; height: 67.6rem; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 11.5%, #fff 50%, rgba(255,255,255,0.8) 88%, rgba(255,255,255,0) 100%);}
.stepSec .steps {position: relative;}
.stepSec .steps > li {position: relative; padding-left: 5rem; cursor: pointer;}
.stepSec .steps > li + li {margin-top: 7rem;}
.stepSec .dot {position: absolute; left: 0; top: 0; width: 2rem; height: 2rem; background: url(../img/sub4/dot.svg) no-repeat center / 100%;}
.stepSec .step {font-size: 2rem; font-weight: 500; line-height: 2rem; letter-spacing: 0.02em; opacity: 0.5; transition: color 0.4s, opacity 0.4s;}
.stepSec .hd {display: block; margin-top: 2rem; font-size: 3rem; line-height: 3rem;}
.stepSec .desc {display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 0.6s, opacity 0.6s;}
.stepSec .desc > * {overflow: hidden; min-height: 0;}
.stepSec .desc p {font-size: 2rem; line-height: 3.4rem; white-space: nowrap;}
.stepSec .desc > *::before {content: ''; display: block; height: 1.8rem;}
.stepSec .steps > li.on .dot {background-image: url(../img/sub4/dot_on.svg);}
.stepSec .steps > li.on .step {color: var(--beige); opacity: 1;}
.stepSec .steps > li.on .desc {grid-template-rows: 1fr; opacity: 1;}
.stepSec .scrollDown {position: absolute; left: 0; right: 0; bottom: 4.9rem;}
.stepSec .scrollDown p {font-size: 2rem; font-weight: 500; line-height: 2rem; letter-spacing: 0.05em;}
.stepSec .scrollDown img {width: 2.14rem; margin-top: 1.4rem; animation: stepChev 1.6s ease-in-out infinite;}
@keyframes stepChev {
    0%, 100% {transform: translateY(0);}
    50% {transform: translateY(0.6rem);}
}

/* CTA : 외과 특화 센터는 따뜻한 갈색 톤 */
.subCta.warm {background-position: center;}
.subCta.warm::before {background: rgba(32,18,3,0.7);}

@media all and (max-width: 880px){
    .sub4 #s1 {padding: 6rem 0 7rem;}
    .sub4 #s1 .photo {height: 27rem; border-radius: 2rem;}
    .sub4 #s1 .secTit {margin-top: 3.5rem;}
    .sub4 #s1 .secTit .tit {white-space: nowrap;}
    .sub4 #s1 .chips {gap: 1rem; margin-top: 2.5rem;}
    .sub4 #s1 .chips li {width: 100%; height: 8.6rem; border-width: 1px;}
    .sub4 #s1 .chips b {font-size: 2.2rem; line-height: 2.6rem;}
    .sub4 #s1 .chips span {margin-top: 0.6rem; font-size: 1.6rem; line-height: 1.8rem;}

    .sub4 #s2 {padding-top: 7rem;}
    .sub4 .diseaseSwiper .swiper-slide {flex-direction: column; align-items: flex-start;}
    .sub4 .diseaseSwiper .photo {width: 100%; height: 20.7rem; border-radius: 1.5rem;}
    .sub4 .diseaseSwiper .txt {width: 100%; margin: 2rem 0 0;}
    .sub4 .diseaseSwiper .hd {font-size: 2.6rem; line-height: 2.6rem;}
    .sub4 .diseaseSwiper .txt > p {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .sub4 .diseaseSwiper .ctrl {margin-top: 3rem;}
    .sub4 .diseaseSwiper .count {padding-top: 0.6rem; font-size: 1.4rem;}
    .sub4 .diseaseSwiper .count b {font-size: 2.2rem;}
    .sub4 .diseaseSwiper .count span {font-size: 1.6rem;}

    .sub4 #s2 .protoTit {margin-top: 7rem;}
    .sub4 #s2 .protoTit .tit {font-size: 2.6rem; line-height: 3.6rem; white-space: nowrap;}
    .sub4 #s2 .protoTit .sub {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem;}
    .sub4 #s2 .protoBox {margin-top: 5.5rem; padding: 5rem 2rem 6rem; border-radius: 3rem 3rem 0 0;}
    .sub4 #s2 .protoBox .badge {top: -2rem; width: 27rem; height: 4rem; font-size: 1.6rem; line-height: 4rem;}
    .sub4 #s2 .protoBox li {display: block; position: relative; padding: 2rem 0;}
    .sub4 #s2 .protoBox .no {position: absolute; right: 0; top: 1.6rem; width: auto; font-size: 4rem; line-height: 4rem;}
    .sub4 #s2 .protoBox li:first-child .no {top: -0.4rem;}
    .sub4 #s2 .protoBox .txt {padding-top: 0;}
    .sub4 #s2 .protoBox .hd {position: relative; font-size: 2.2rem; line-height: 3.2rem;}
    .sub4 #s2 .protoBox .txt p {margin-top: 1.2rem; font-size: 1.5rem; line-height: 2.5rem; white-space: normal;}

    .stepSec .pin {height: 100svh;}
    .stepSec .deco {display: none;}
    .stepSec .cont {left: 2rem; right: 2rem; top: calc(50% - 30rem);}
    .stepSec .line {top: -10rem; height: 70rem;}
    .stepSec .steps > li + li {margin-top: 4rem;}
    .stepSec .step {font-size: 1.6rem; line-height: 1.6rem;}
    .stepSec .hd {margin-top: 1.4rem; font-size: 2.2rem; line-height: 3.2rem;}
    .stepSec .desc p {width: 28.8rem; font-size: 1.5rem; line-height: 2.5rem; white-space: normal;}
    .stepSec .desc > *::before {height: 1.5rem;}
    .stepSec .scrollDown {bottom: 3rem;}
    .stepSec .scrollDown p {font-size: 1.6rem; line-height: 1.6rem;}
    .stepSec .scrollDown img {margin-top: 1rem;}
}


/*―――――――――――――――――――――――――――――――――――――――――――― 5 건강검진 센터 공통 */
/* 고정 스크롤 목록 (5-1 프로그램 / 5-2 진료 항목) : 활성 항목은 제목이 커지고 설명이 펼쳐짐 */
.sub5 .stepSec .steps > li + li {margin-top: 10rem;}
.sub5 .stepSec .dot {top: 0.5rem; transition: top 0.5s;}
.sub5 .stepSec .hd {margin-top: 0; font-size: 3rem; line-height: 3rem; transition: font-size 0.5s, line-height 0.5s, color 0.5s;}
.sub5 .stepSec .steps > li.on .dot {top: 1.3rem;}
.sub5 .stepSec .steps > li.on .hd {font-size: 4.5rem; line-height: 4.5rem; color: var(--beige);}
.sub5 .stepSec .desc p {font-size: 2.2rem; line-height: 3.6rem;}

.sub5 .progSec .pin {background: #2c2216;}
.sub5 .progSec .cont {top: calc(50% - 30.1rem);}
.sub5 .progSec .line {top: -6.9rem;}
.sub5 .progSec .desc > *::before {height: 2rem;}
.sub5 .progSec .desc p {line-height: 2.2rem;}
.sub5 .progSec .flow {display: flex; flex-wrap: wrap; gap: 2.2rem 1.5rem; margin-top: 3.5rem;}
.sub5 .progSec .flow li {display: flex; align-items: center; gap: 1.5rem; padding: 0; font-size: 2.6rem; font-weight: 600; line-height: 2.6rem; white-space: nowrap; cursor: auto;}
.sub5 .progSec .flow li + li {margin-top: 0;}
.sub5 .progSec .flow li::after {content: ''; width: 0.8rem; height: 1.4rem; background: url(../img/sub5/arr_item.svg) no-repeat center / 100% 100%;}
.sub5 .progSec .flow li:last-child::after, .sub5 .progSec .flow li.end::after, .sub5 .progSec .flow li.br::after {display: none;}
.sub5 .progSec .flow li.br {flex-basis: 100%; height: 0; margin-top: -2.2rem;}

.sub5 .itemSec .pin {background: #3a2e22;}
.sub5 .itemSec .secHd {position: absolute; left: 0; right: 0; top: calc(50% - 38rem); font-size: 4.5rem; font-weight: 700; line-height: 4.5rem;}
.sub5 .itemSec .secHd span {color: var(--beige);}
.sub5 .itemSec .cont {top: calc(50% - 17.9rem);}
.sub5 .itemSec .line {top: -11.6rem; height: 64rem;}
.sub5 .itemSec .desc > *::before {height: 2.5rem;}
.sub5 .itemSec .desc p + p {margin-top: 1.8rem;}

/*―――― 5-1 건강검진 센터 */
.p5_1 #s1 {position: relative; height: 75rem; padding-top: 13.8rem; overflow: hidden; background: #0f4347 url(../img/sub5/s5_1_bg1.jpg) no-repeat center / cover; color: #fff;}
.p5_1 #s1 .ellipse {position: absolute; left: 5rem; right: 5rem; top: 0; bottom: 0; border-radius: 50%; background: rgba(255,255,255,0.12);}
.p5_1 #s1 .tit {font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.p5_1 #s1 .tit span {color: #f0e0ce;}
.p5_1 #s1 .txt {margin-top: 3.5rem; font-size: 2.5rem; line-height: 3.8rem;}
.p5_1 #s1 .txt + .txt {margin-top: 2rem;}
.p5_1 #s1 .line {display: block; width: 2px; height: 6rem; margin: 2.5rem auto 0; background: linear-gradient(180deg, #f0e0ce 0%, rgba(240,224,206,0.5) 76.9%, rgba(240,224,206,0) 100%);}
.p5_1 #s1 .txt2 {margin-top: 2rem; font-size: 2.5rem; font-weight: 600; line-height: 3.8rem; color: #f0e0ce;}
.p5_1 #s1 .txt2 b {font-weight: 600; color: #fff;}

.p5_1 #s2 {position: relative; padding: 12rem 0 13rem; background: #f8f4ef;}
.p5_1 #s2 .deco {position: absolute; left: 5rem; bottom: 5rem; width: 31.2rem;}
.p5_1 #s2 .badge {display: table; margin: 3rem auto 0; padding: 0 1.8rem; background: var(--fcp); font-size: 2.4rem; font-weight: 600; line-height: 4.6rem; color: #fff;}
.p5_1 #s2 .note {margin-top: 2rem; font-size: 1.8rem; font-weight: 500; line-height: 1.8rem; color: #444; text-align: center;}
.stepCards {margin-top: 6rem; overflow: visible;}
.stepCards .swiper-wrapper {display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem;}
.stepCards li {position: relative; height: 30rem; padding: 13.7rem 3rem 0; border-radius: 2rem; background: #fff; box-shadow: 0 0 15px rgba(112,87,59,0.2);}
.stepCards .ic {position: absolute; right: 3rem; top: 3rem;}
.stepCards .step {padding-bottom: 1.5rem; border-bottom: 1px solid #c6c6c6; font-size: 2rem; font-weight: 500; line-height: 2rem; letter-spacing: 0.02em; color: var(--fcp);}
.stepCards .hd {display: block; margin-top: 2rem; font-size: 2.6rem; font-weight: 600; line-height: 3.6rem; color: #1e1e1e;}

.p5_1 #s4 {padding: 8rem 0 12rem;}
.p5_1 #s4 .box {display: flex; align-items: center; height: 19rem; padding: 0 6rem; border-radius: 3rem; background: #f5f5f5;}
.p5_1 #s4 .tit {flex-shrink: 0; width: 27.2rem; font-size: 3.5rem; font-weight: 700; line-height: 4.5rem; color: #111;}
.p5_1 #s4 ul {display: grid; grid-template-rows: repeat(2, auto); grid-auto-flow: column; gap: 2rem 3.4rem;}
.p5_1 #s4 li {position: relative; padding-left: 1.7rem; font-size: 2.4rem; font-weight: 500; line-height: 2.4rem; color: #111; white-space: nowrap;}
.p5_1 #s4 li::before {content: ''; position: absolute; left: 0; top: 1rem; width: 4px; height: 4px; border-radius: 50%; background: var(--fcp);}

/*―――― 5-2 영상진단의학센터 */
.p5_2 #s1 {padding: 12rem 0;}
.p5_2 #s1 .txt {margin-top: 4rem; font-size: 2.2rem; line-height: 3.5rem; color: #444;}
.p5_2 #s1 .txt + .txt {margin-top: 2.5rem;}

.p5_2 #s2 .banner {height: 55rem; margin: 0 5rem; padding-top: 12.1rem; background: #292929 url(../img/sub5/s5_2_bg2.jpg) no-repeat center / cover; color: #fff;}
.p5_2 #s2 .tit {font-size: 5rem; font-weight: 700; line-height: 6.5rem;}
.p5_2 #s2 .tit span {color: var(--beige);}
.p5_2 #s2 .txt {margin-top: 4rem; font-size: 2.4rem; line-height: 3.8rem;}
.p5_2 #s2 .txt + .txt {margin-top: 2.5rem;}

.p5_2 #s3 {padding: 15rem 0;}
.p5_2 #s3 .symptom {display: flex; margin-top: 6rem; border-top: 1px solid #c4c4c4; border-bottom: 1px solid #c4c4c4;}
.p5_2 #s3 .symptom li {position: relative; flex: 1; padding: 7rem 0; text-align: center;}
.p5_2 #s3 .symptom li + li::before {content: ''; position: absolute; left: 0; top: 4rem; bottom: 4rem; width: 1px; background: #c4c4c4;}
.p5_2 #s3 .symptom img {width: 4.2rem;}
.p5_2 #s3 .symptom p {margin-top: 2.5rem; font-size: 3rem; font-weight: 700; line-height: 4.2rem; color: #1e1e1e;}

.p5_2 #s4 {padding: 13rem 0; background: #f8f4ef;}
.p5_2 #s4 .featSwiper {margin-top: 6rem;}
.p5_2 #s4 .featSwiper .swiper-wrapper {display: block;}
.p5_2 #s4 .featSwiper li {display: flex; align-items: center; height: 15rem; padding: 0 8rem; border: 1px solid #ddcebc; border-radius: 10.5rem; background: #fff;}
.p5_2 #s4 .featSwiper li + li {margin-top: 1.5rem;}
.p5_2 #s4 .featSwiper .ic {width: 4.2rem;}
.p5_2 #s4 .featSwiper .hd {flex-shrink: 0; width: 39.4rem; margin-left: 2.5rem; font-size: 3.2rem; font-weight: 700; line-height: 3.2rem; color: #111;}
.p5_2 #s4 .featSwiper p {font-size: 2rem; line-height: 3.4rem; color: #444; white-space: nowrap;}

/* 모바일 슬라이드 페이지네이션 (5-1 프로토콜 / 5-2 특징) */
.sub5 .protoPg5, .sub5 .featPg {position: static; display: flex; justify-content: center; gap: 0.6rem;}
.sub5 .protoPg5 .swiper-pagination-bullet, .sub5 .featPg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
.sub5 .protoPg5 .swiper-pagination-bullet-active, .sub5 .featPg .swiper-pagination-bullet-active {background: var(--fcp); opacity: 1;}

@media all and (max-width: 880px){
    .sub5 .stepSec .steps > li + li {margin-top: 6rem;}
    .sub5 .stepSec .dot {top: 0.5rem;}
    .sub5 .stepSec .hd {font-size: 2.2rem; line-height: 3rem;}
    .sub5 .stepSec .steps > li.on .dot {top: 0.1rem;}
    .sub5 .stepSec .steps > li.on .hd {font-size: 2.2rem; line-height: 2.2rem;}
    .sub5 .stepSec .steps > li {padding-left: 3.5rem;} /* 시안 : 점 20px + 간격 15px */
    .sub5 .stepSec .desc p {width: 30rem; font-size: 1.6rem; line-height: 2.6rem; white-space: normal;}
    .sub5 .stepSec .desc > *::before {height: 1.4rem;}

    .sub5 .progSec .cont {top: calc(50% - 24rem);}
    .sub5 .progSec .line {top: -9rem; height: 64rem;}
    .sub5 .progSec .desc p {line-height: 1.6rem;}
    .sub5 .progSec .flow {gap: 1rem; margin-top: 2rem; width: 28rem;}
    .sub5 .progSec .flow li {gap: 1rem; font-size: 1.6rem; line-height: 1.6rem;}
    .sub5 .progSec .flow li::after {width: 0.6rem; height: 1.1rem;}
    .sub5 .progSec .flow li.end::after {display: block;}

    .sub5 .itemSec .secHd {top: calc(50% - 35.8rem); font-size: 2.6rem; line-height: 3.6rem;}
    .sub5 .itemSec .cont {top: calc(50% - 19.7rem);}
    .sub5 .itemSec .line {top: -6rem; height: 58rem;}
    .sub5 .itemSec .steps > li + li {margin-top: 5rem;}
    .sub5 .itemSec .desc p + p {margin-top: 1rem;}

    .p5_1 #s1 {height: auto; padding: 7rem 0;}
    .p5_1 #s1 .tit {font-size: 2.5rem; line-height: 3.6rem; white-space: nowrap;}
    .p5_1 #s1 .txt {margin-top: 1.5rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p5_1 #s1 .txt + .txt {margin-top: 1.2rem;}
    .p5_1 #s1 .line {height: 4rem; margin-top: 2rem;}
    .p5_1 #s1 .txt2 {font-size: 1.8rem; line-height: 3rem;}

    .p5_1 #s2 {padding: 6rem 0;}
    .p5_1 #s2 .secTit .tit {white-space: nowrap;}
    .p5_1 #s2 .badge {margin-top: 2rem; padding: 0 0.8rem; font-size: 1.5rem; line-height: 3.1rem;}
    .p5_1 #s2 .note {margin-top: 1.9rem; font-size: 1.4rem; line-height: 2.2rem;}
    .stepCards {margin-top: 1rem; padding: 1.5rem 0;}
    .stepCards .swiper-wrapper {display: flex; gap: 0;}
    .stepCards li {flex-shrink: 0; width: 33.5rem;}
    .p5_1 #s2 .protoPg5 {margin-top: 1rem;}

    .p5_1 #s4 {padding: 5rem 0 8rem;}
    .p5_1 #s4 .box {display: block; height: auto; padding: 4.5rem 2rem 5rem 4.3rem; border-radius: 2rem;}
    .p5_1 #s4 .tit {width: auto; padding-right: 2.3rem; font-size: 2.4rem; line-height: 2.4rem; text-align: center;}
    .p5_1 #s4 ul {display: block; margin-top: 3rem;}
    .p5_1 #s4 li {font-size: 1.6rem; line-height: 1.6rem;}
    .p5_1 #s4 li + li {margin-top: 1.8rem;}
    .p5_1 #s4 li::before {top: 0.6rem;}

    .p5_2 #s1 {padding: 7rem 0;}
    .p5_2 #s1 .secTit .tit {white-space: nowrap;}
    .p5_2 #s1 .txt {margin-top: 2rem; font-size: 1.6rem; line-height: 2.6rem; white-space: nowrap; letter-spacing: -0.04em;}
    .p5_2 #s1 .txt + .txt {margin-top: 1.5rem;}

    .p5_2 #s2 .banner {height: 43.7rem; margin: 0; padding-top: 9rem;}
    .p5_2 #s2 .tit {font-size: 2.6rem; line-height: 3.6rem; white-space: nowrap;}
    .p5_2 #s2 .txt {margin-top: 3rem; font-size: 1.6rem; line-height: 2.6rem;}
    .p5_2 #s2 .txt + .txt {margin-top: 1.5rem;}

    .p5_2 #s3 {padding: 7rem 0;}
    .p5_2 #s3 .symptom {display: block; margin-top: 2rem; padding: 3.5rem 0 3.1rem 2rem;}
    .p5_2 #s3 .symptom li {display: flex; align-items: center; gap: 1.2rem; padding: 0; text-align: left;}
    .p5_2 #s3 .symptom li + li {margin-top: 2.5rem;}
    .p5_2 #s3 .symptom li + li::before {display: none;}
    .p5_2 #s3 .symptom img {width: 2.2rem;}
    .p5_2 #s3 .symptom p {margin-top: 0; font-size: 2rem; line-height: 2rem;}

    .p5_2 #s4 {padding: 6rem 0;}
    .p5_2 #s4 .secTit .tit {white-space: nowrap;}
    .p5_2 #s4 .featSwiper {margin-top: 3rem; overflow: visible;}
    .p5_2 #s4 .featSwiper .swiper-wrapper {display: flex;}
    .p5_2 #s4 .featSwiper li {flex-direction: column; flex-shrink: 0; width: 33.5rem; height: 28.9rem; padding: 4rem 2rem 0; border-radius: 2rem; text-align: center;}
    .p5_2 #s4 .featSwiper li + li {margin-top: 0;}
    .p5_2 #s4 .featSwiper .ic {width: 2.7rem;}
    .p5_2 #s4 .featSwiper .hd {width: auto; margin: 2rem 0 0; font-size: 2.2rem; line-height: 2.2rem;}
    .p5_2 #s4 .featSwiper p {margin-top: 1.5rem; font-size: 1.5rem; line-height: 2.5rem; white-space: normal;}
    .p5_2 #s4 .featPg {margin-top: 2rem;}
}


/*―――――――――――――――――――――――――――――――――――――――――――― 7-1 지역병원 진료 의뢰 */
.subMenu.single {display: none;} /* 하위 메뉴가 하나뿐인 페이지 : PC 숨김 */

.p7_1 #s1 {padding-top: 8rem;}
.p7_1 #s1 .band {position: relative; height: 50rem; margin-top: 6rem; background: url(../img/sub7/s7_1_bg1.jpg) no-repeat center / cover;}
.p7_1 #s1 .band::before {content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.3);}
.p7_1 #s1 .pointSwiper {position: relative; z-index: 1; width: 140rem; margin: 0 auto; padding-top: 23rem; overflow: visible;}
.p7_1 #s1 .pointSwiper .swiper-wrapper {display: flex; gap: 4rem;}
.p7_1 #s1 .pointSwiper li {flex-shrink: 0; width: 44rem; height: 44rem; padding-top: 11.5rem; border-radius: 50%; text-align: center; color: #fff;}
.p7_1 #s1 .pointSwiper .c1 {background: var(--fcp);}
.p7_1 #s1 .pointSwiper .c2 {background: #f2f1ec; color: #1e1e1e;}
.p7_1 #s1 .pointSwiper .c3 {background: var(--brown);}
.p7_1 #s1 .pt {width: 34rem; margin: 0 auto; padding-bottom: 3.5rem; border-bottom: 1px solid rgba(217,217,217,0.5); font-size: 2.4rem; font-weight: 500; line-height: 2.4rem; letter-spacing: 0.02em;}
.p7_1 #s1 .c2 .pt {border-color: #c0b2a3;}
.p7_1 #s1 .pointSwiper .txt {margin-top: 3.5rem; font-size: 2.8rem; font-weight: 600; line-height: 4rem; white-space: nowrap;}
.p7_1 #s1 .chartBtn {display: flex; align-items: center; justify-content: center; gap: 1rem; width: 35.4rem; height: 6rem; margin: 22.5rem auto 0; border-radius: 3rem; background: #353535; font-size: 2.2rem; font-weight: 500; color: #fff; transition: background 0.3s;}
.p7_1 #s1 .chartBtn img {width: 2rem;}
@media (hover: hover) {
    .p7_1 #s1 .chartBtn:hover {background: var(--fcp);}
}

.p7_1 #s2 {padding: 15rem 0;}
.p7_1 #s2 .inner {justify-content: space-between;}
.p7_1 #s2 .tit {font-size: 4.2rem; font-weight: 700; line-height: 5.6rem; color: #111;}
.p7_1 #s2 .tit span {color: var(--fcp);}
.p7_1 #s2 .txtArea p {margin-top: 3rem; font-size: 2.4rem; line-height: 3.8rem; color: #444;}
.p7_1 #s2 .photo {width: 70rem; height: 40rem; overflow: hidden; border-radius: 2rem;}
.p7_1 #s2 .photo img {width: 100%; height: 100%; object-fit: cover;}

.p7_1 #s3 {padding: 13rem 0 15rem; background: #f8f4ef;}
.p7_1 #s3 .report {margin-top: 5.5rem; font-size: 2.2rem; font-weight: 500; line-height: 2.2rem; color: #111; text-align: center;}
.p7_1 #s3 .note {margin-top: 6rem; padding: 3.7rem 0; background: #ece4da; font-size: 2.5rem; font-weight: 500; line-height: 3.8rem; color: #111; text-align: center;}
.p7_1 #s3 .contactBtns {display: flex; gap: 2.2rem; margin-top: 6rem;}
.p7_1 #s3 .contactBtns li {flex: 1;}
.p7_1 #s3 .contactBtns a {display: flex; flex-direction: column; justify-content: center; height: 13rem; border-radius: 6.5rem; background: var(--fcp); font-size: 2.5rem; font-weight: 500; line-height: 3.8rem; color: #fff; text-align: center; transition: opacity 0.3s;}
.p7_1 #s3 .contactBtns .dark a {background: #063d41;}
.p7_1 #s3 .contactBtns b {font-size: 3.2rem; font-weight: 600; color: var(--beige);}
@media (hover: hover) {
    .p7_1 #s3 .contactBtns a:hover {opacity: 0.85;}
}

.p7_1 .pointPg, .p7_1 .processPg {position: static; display: flex; justify-content: center; gap: 0.6rem;}
.p7_1 .pointPg .swiper-pagination-bullet, .p7_1 .processPg .swiper-pagination-bullet {width: 0.8rem; height: 0.8rem; margin: 0; background: #c9bdb1; opacity: 0.7;}
.p7_1 .pointPg .swiper-pagination-bullet-active, .p7_1 .processPg .swiper-pagination-bullet-active {background: var(--fcp); opacity: 1;}

@media all and (max-width: 880px){
    .subMenu.single {display: block;}

    .p7_1 #s1 {padding-top: 7rem;}
    .p7_1 #s1 .secTit2 .tit {font-size: 2.6rem; line-height: 3.6rem;}
    .p7_1 #s1 .band {height: 29rem; margin-top: 3rem;}
    .p7_1 #s1 .pointSwiper {width: 33.5rem; padding-top: 13.4rem;}
    .p7_1 #s1 .pointSwiper .swiper-wrapper {gap: 0;}
    .p7_1 #s1 .pointSwiper li {width: 33.5rem; height: 33.5rem; padding-top: 8.4rem;}
    .p7_1 #s1 .pt {width: 27.5rem; padding-bottom: 2.4rem; font-size: 2.2rem; line-height: 2.2rem;}
    .p7_1 #s1 .pointSwiper .txt {margin-top: 2.7rem; font-size: 2.2rem; line-height: 3.5rem;}
    .p7_1 #s1 .pointPg {position: relative; z-index: 1; margin-top: 2rem;}
    .p7_1 #s1 .chartBtn {width: 25.5rem; height: 4.4rem; margin-top: 24.7rem; font-size: 1.6rem;}
    .p7_1 #s1 .chartBtn img {width: 1.6rem;}

    .p7_1 #s2 {padding: 7rem 0 2.8rem;}
    .p7_1 #s2 .inner {flex-direction: column-reverse; align-items: flex-start;}
    .p7_1 #s2 .tit {margin-top: 2.5rem; font-size: 2.2rem; line-height: 3.2rem; white-space: nowrap;}
    .p7_1 #s2 .txtArea p {margin-top: 1rem; font-size: 1.6rem; line-height: 2.6rem; white-space: nowrap; letter-spacing: -0.05em;}
    .p7_1 #s2 .photo {width: 100%; height: 19.1rem;}

    .p7_1 #s3 {padding: 4.9rem 0 6rem;}
    .p7_1 #s3 .secTit2 .tit {font-size: 2.6rem; line-height: 2.6rem;}
    .p7_1 #s3 .stepCards {margin-top: 1.5rem;}
    .p7_1 #s3 .processPg {margin-top: 1.5rem;}
    .p7_1 #s3 .report {margin-top: 4rem; font-size: 1.5rem; line-height: 2.4rem;}
    .p7_1 #s3 .note {margin-top: 2rem; padding: 2.3rem 0; font-size: 1.6rem; line-height: 2.6rem;}
    .p7_1 #s3 .contactBtns {display: block; margin-top: 4rem;}
    .p7_1 #s3 .contactBtns li + li {margin-top: 1rem;}
    .p7_1 #s3 .contactBtns a {height: 9rem; font-size: 2rem; line-height: 2.6rem;}
    .p7_1 #s3 .contactBtns b {font-size: 2rem;}
}
