.main_before {
    width: 100%;
    height: 80px;
}

.main_station {
    width: 100%;
    max-height: calc(100vh - 80px);
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.main_station video {
    overflow-clip-margin: content-box;
    overflow: clip;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 공통 */
.main-tit {
    font-size: 5.2rem;
    font-weight: 800;
    color: #000;
    text-align: center;
    transition: font-size 0.45s ease;
}

.main-tit[data-aos] {
    opacity: 1;
    transform: none;
    clip-path: inset(0 100% 0 0);
    transition: clip-path 900ms cubic-bezier(0.22, 1, 0.36, 1), font-size 0.45s ease;
    will-change: clip-path;
}

.main-tit[data-aos].aos-animate {
    clip-path: inset(0 0 0 0);
}

.main-tit::before {
    content: "GAYANG JEIL 365 CLINIC";
    display: block;
    font-size: 1.6rem;
    font-weight: 400;
    color: #1E2B6D;
    text-transform: uppercase;
    transition: font-size 0.45s ease;
}

/* sec1 병원 소개 */
.sec-intro {
    position: relative;
    z-index: 0;
    background: none;
    color: #fff;
}

.sec-intro::before {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    top: 0;
    bottom: 0;
    background: url('../img/sec1-bg.png') no-repeat 50% 50% / cover;
    z-index: 0;
    pointer-events: none;
}

.sec-intro > * {
    position: relative;
    z-index: 1;
}
.sec1-tit{
    font-size: 4rem;
    font-weight: 700;
    transition: font-size 0.45s ease;
}
.sec1-tit em{
    color: #FFCA28;
}

.sec1-char-fade__char{
    opacity: 0;
    display: inline;
}
.sec1-char-fade__char--visible{
    opacity: 1;
    transition: opacity 0.5s ease;
}

.sec1-after-tit,
.sec-obesity__after,
.sec-obesity__boxes[data-sec1-follow-next],
.sec-iv__intro [data-sec1-follow],
.sec-iv__rows[data-sec1-follow-stagger] > .sec-iv__row {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    transition: opacity 1.2s ease-in-out, transform 1.2s ease-in-out, font-size 0.45s ease, line-height 0.45s ease;
    will-change: opacity, transform;
}
.sec1-after-tit.is-visible,
.sec-obesity__after.is-visible,
.sec-obesity__boxes[data-sec1-follow-next].is-visible,
.sec-iv__intro [data-sec1-follow].is-visible,
.sec-iv__rows[data-sec1-follow-stagger] > .sec-iv__row.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

section.sec-intro p{
    font-weight: 300;
    overflow-wrap: break-word;
    word-wrap: break-word;
    transition: font-size 0.45s ease, line-height 0.45s ease;
}

section.sec-intro p>em{
    font-weight: 700;
}


/* sec2 의료진 소개 */
.sec-doctors {
    position: relative;
    z-index: 0;
    background: none;
}

.sec-doctors::before {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    top: 0;
    bottom: 0;
    background: url('../img/doc-bg.png') no-repeat 50% 50% / cover;
    z-index: 0;
    pointer-events: none;
}

.sec-doctors > * {
    position: relative;
    z-index: 1;
}

.doc-name-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 0.6rem 1.2rem;
    width: 100%;
    box-sizing: border-box;
}

.doc-name-line .doc-name-row {
    min-width: 0;
}

.doc-divider-wrap {
    margin: 1.2rem 0 2rem;
}

.doc-divider-line {
    display: block;
    width: 100%;
    height: 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
}

.doc-divider-nav {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 1.6rem;
    flex-shrink: 0;
}

.sec-doctors .doc-divider-nav .sec2-nav {
    display: inline-flex;
    align-items: flex-end;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
    box-sizing: border-box;
}

.sec-doctors .doc-divider-nav .sec2-nav img {
    display: block;
    width: min(35px, 10vw);
    height: auto;
    max-width: 100%;
}

.sec-doctors .doc-divider-nav .sec2-nav-next img {
    transform: scaleX(-1);
}

.doc-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0;
    width: 100%;
}

.doc-panel {
    display: none;
}

.doc-panel.is-active {
    display: block;
}

.doc-img {
    flex: 0 0 calc(38% + 14rem);
    max-width: calc(520px + 14rem);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}

.doc-img img {
    width: min(540px, 90%);
    height: auto;
    display: block;
    margin: 0 auto;
}

.doc-info {
    flex: 1 1 280px;
    min-width: 0;
    box-sizing: border-box;
    align-self: stretch;
}

.sec-doctors .doc-info {
    width: 100%;
    max-width: 100%;
}

.doc-role {
    font-size: 2rem;
    font-weight: 400;
    color: #1E2B6D;
}

.doc-schedule {
    display: inline-block;
    padding: 0.18em 0.65em;
    font-size: min(1.75rem, 1.8vw);
    font-weight: 600;
    line-height: 1.4;
    color: #fff;
    background: #1E2B6D;
    border-radius: 0.5rem;
    vertical-align: baseline;
    margin-left: 0.8rem;
    letter-spacing: 0.06rem;
}

.doc-name-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.8rem 1.2rem;
}

.doc-info .doc-name {
    font-size: 4rem;
    font-weight: 700;
    color: #000;
}

.doc-info .doc-position {
    font-size: 2.4rem;
    font-weight: 400;
    color: #656D71;
}

.doc-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem 1.5rem;
    margin-bottom: 2rem;
}

.doc-panel.doc-lists-vertical .doc-columns {
    grid-template-columns: 1fr;
}

.doc-list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 1.6rem;
    line-height: 1.3;
    color: #656D71;
}

.doc-list li {
    position: relative;
    padding-left: 1em;
    margin-bottom: 0.6rem;
}

.doc-list li::before {
    content: "\00B7";
    position: absolute;
    left: 0;
    font-weight: 700;
}

.doc-list-full {
    margin-bottom: 0;
}


/* sec-clinic 진료 과목 / sec-vac 예방접종 (.slidey-section 공유) */
.slidey-section .slidey-nav {
    position: relative;
    border: none;
    border-radius: 999px;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 9px;
    list-style: none;
    width: 1023px;
    max-width: 100%;
    margin: 0 auto;
    margin-bottom: 8rem;
    background: #F0F2FF;
    box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.1);
    padding: 10px;
}

.slidey-section .slidey-nav li {
    margin: 0;
}

.slidey-section .slidey-nav li:not(.slidey-track-active):not(.slidey-track-hover) {
    flex: 0 0 244px;
}

.slidey-section .slidey-nav a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: none;
    outline: none;
    text-decoration: none;
    z-index: 3;
    color: #8a90a1;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    height: auto;
    padding: min(1rem, 1.5vw);
}

.slidey-section .slidey-track-active,
.slidey-section .slidey-track-hover {
    position: absolute;
    top: 10px;
    display: inline-block;
    height: calc(100% - 20px);
    border-radius: 999px;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    list-style: none;
    box-sizing: border-box;
    pointer-events: none;
}

.slidey-section .slidey-track-active {
    background-color: #1f2f78;
    z-index: 2;
}

.slidey-section .slidey-nav .is-active a {
    color: #fff;
}

.slidey-section .slidey-track-hover {
    opacity: 0;
    background: rgba(31, 47, 120, 0.2);
    z-index: 1;
}

.slidey-section .sec3-content-panel {
    display: none;
}

.slidey-section .sec3-content-panel.is-active {
    display: block;
}

.slidey-section .sec3-content-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.2rem;
    align-items: stretch;
}

.slidey-section .sec3-main-image {
    position: relative;
    overflow: visible;
}

.slidey-section .sec3-main-image::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: min(16rem, 14vw);
    aspect-ratio: 1 / 1;
    background: url("../img/bg-orbit.png") no-repeat 50% 50% / contain;
    transform: translate(-40%, -45%);
    pointer-events: none;
}

.slidey-section .sec3-main-image img {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border-radius: min(5rem, 5vw);
    object-fit: cover;
}

.slidey-section .sec3-main-copy h3 {
    font-size: 4rem;
    font-weight: 700;
    color: #1f2f78;
    line-height: 1.1;
}

.slidey-section .sec3-main-copy p {
    font-size: 2rem;
    line-height: 1.7;
    color: #111;
    /* 탭별 설명 길이 차이 → 진료분야 제목 시작 위치 통일 */
    min-height: min(14rem, 15vw);
}

.slidey-section .sec3-treatment-box h4,
.slidey-section .sec3-treatment-heading h4,
.slidey-section .sec3-content-bottom h4 {
    font-size: 4rem;
    font-weight: 700;
    color: #1f2f78;
    line-height: 1.1;
}

.slidey-section .sec3-treatment-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
}

.slidey-section .sec3-treatment-list li {
    background: #F5F7F8;
    border-radius: 999px;
    min-height: 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2rem;
    font-size: min(20px, 3vw);
    font-weight: 700;
    color: #1d1d1d;
}

.slidey-section .sec3-disease-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.2rem;
}

.slidey-section .sec3-disease-list > li {
    min-width: 0;
}

.slidey-section .sec3-disease-media {
    --disease-frame-r: min(3rem, 2vw);
    --disease-frame-b: min(0.7rem, 0.7vw);
    --disease-frame-r-inner: max(0px, calc(var(--disease-frame-r) - var(--disease-frame-b)));
    position: relative;
    padding: var(--disease-frame-b);
    background: #e4e4e4;
    border-radius: var(--disease-frame-r);
    box-sizing: border-box;
}

.slidey-section .sec3-disease-media__inner {
    overflow: hidden;
    border-radius: var(--disease-frame-r-inner);
}

.slidey-section .sec3-disease-list li img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

.slidey-section .sec3-disease-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    padding-top: min(9px, 0.7vw);
    padding-right: min(27px, 1.6vw);
    padding-bottom: calc(var(--disease-frame-b) + min(7px, 0.5vw));
    padding-left: calc(var(--disease-frame-b) + min(27px, 1.6vw));
    background: #e4e4e4;
    color: #1e2b6d;
    font-size: min(20px, 1.4vw);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    white-space: nowrap;
    border-radius: 0 var(--disease-frame-r-inner) 0 var(--disease-frame-r);
}

.slidey-section .sec3-disease-list li p {
    width: 100%;
    max-width: 100%;
    margin-top: 1.2rem;
    font-size: min(17px, 1.7vw);
    font-weight: 500;
    text-align: center;
    color: #1E2B6D;
    line-height: 1.3;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: keep-all;
}

.slidey-section .sec3-disease-list li p span {
    display: inline;
    color: #000;
    font-size: min(16px, 1.3vw);
    font-weight: 400;
    white-space: normal;
}

/* sec-vac 예방접종 */
.sec-vac {
    background: #fff url("../img/vac-bg.png") no-repeat 50% 50% / cover;
    background-attachment: fixed;
}

.sec-vac .slidey-nav {
    width: 77rem;
    background: #EEEEEE;
}

.sec-vac .slidey-track-hover {
    background: rgba(0, 0, 0, 0.08);
}

.sec-vac .slidey-nav li:not(.slidey-track-active):not(.slidey-track-hover) {
    flex: 1 1 0;
}

.sec-vac .sec3-main-copy h3,
.sec-vac .sec3-treatment-heading h4,
.sec-vac .sec3-content-bottom h4 {
    color: #111111;
}

.sec-vac .sec3-disease-list li p {
    color: #111111;
}

.sec-vac .sec3-treatment-list li {
    background: #E5E5E5;
    color: #000051;
}

.sec-vac .sec3-treatment-heading {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.sec-vac .sec3-treatment-icon {
    width: min(4.8rem, 5vw);
    height: auto;
    flex-shrink: 0;
}

/* 제목 뒤 light 구간 공통 (예방접종이란? / 마운자로란? 등) */
.sec3-tit-light {
    display: inline;
    font-weight: 300;
}

.sec-vac .sec3-main-copy h3 {
    white-space: nowrap;
}

/* sec-iv 수액실 */
.sec-iv {
    position: relative;
    z-index: 0;
    overflow: hidden;
    background: #fff url("../img/iv-bg.png") no-repeat 50% 100% / 100% auto;
}

.sec-iv > .container {
    position: relative;
    z-index: 1;
}

.sec-iv .sec-iv__logo {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    width: min(68rem, 54vw);
    height: auto;
    transform: translate(-14%, -12%);
    opacity: 0.28;
    pointer-events: none;
}

.sec-iv .sec-iv__desc {
    font-size: min(20px, 2vw);
    font-weight: 400;
    line-height: 1.7;
    color: #111;
}

.sec-iv .sec-iv__rows {
    display: flex;
    flex-direction: column;
    gap: min(8rem, 6vw);
}

.sec-iv .sec-iv__row {
    display: grid;
    grid-template-columns: min(32rem, 26vw) minmax(0, 1fr);
    gap: min(2.4rem, 2.4vw);
    align-items: stretch;
}

.sec-iv .sec-iv__media {
    position: relative;
    overflow: hidden;
    width: min(32rem, 26vw);
    height: 100%;
    border-radius: min(24px, 2.4vw);
}

.sec-iv .sec-iv__media picture {
    position: absolute;
    inset: 0;
    display: block;
}

.sec-iv .sec-iv__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.sec-iv .sec-iv__media-copy {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: min(24px, 2.4vw);
    text-align: center;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
}

.sec-iv .sec-iv__media-copy h3 {
    margin-bottom: 0;
    font-size: min(40px, 3.4vw);
    font-weight: 700;
    line-height: 1.2;
}

.sec-iv .sec-iv__media-copy h3::after {
    content: "";
    display: block;
    width: min(40px, 3.2vw);
    height: 1px;
    margin: min(22px, 1.8vw) auto min(30px, 2.4vw);
    background: #fff;
}

.sec-iv .sec-iv__cycle-label {
    margin-bottom: min(8px, 0.8vw);
    font-size: min(16px, 1.4vw);
    font-weight: 600;
    line-height: 1.4;
    color: #fff;
}

.sec-iv .sec-iv__cycle {
    font-size: min(28px, 2.2vw);
    font-weight: 700;
    line-height: 1.3;
}

.sec-iv .sec-iv__row--pain .sec-iv__media-copy h3,
.sec-iv .sec-iv__row--pain .sec-iv__cycle {
    color: #2BAEFF;
}

.sec-iv .sec-iv__row--treat .sec-iv__media-copy h3,
.sec-iv .sec-iv__row--treat .sec-iv__cycle {
    color: #FFCA28;
}

.sec-iv .sec-iv__row--heal .sec-iv__media-copy h3,
.sec-iv .sec-iv__row--heal .sec-iv__cycle {
    color: #FF3DA1;
}

.sec-iv .sec-iv__cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(2rem, 1.6vw);
    align-content: start;
}

.sec-iv .sec-iv__cards li {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: min(4rem, 4vw) min(2.8rem, 2.8vw);
    border-radius: min(2rem, 2vw);
    background: linear-gradient(180deg, #fff 0%, #f6f6f6 100%);
    box-sizing: border-box;
}

.sec-iv .sec-iv__row--pain .sec-iv__cards li {
    box-shadow: inset 0 0 0 3px #007aff;
}

.sec-iv .sec-iv__row--treat .sec-iv__cards li {
    box-shadow: inset 0 0 0 3px #FFAD28;
}

.sec-iv .sec-iv__row--heal .sec-iv__cards li {
    box-shadow: inset 0 0 0 3px #D32F84;
}

.sec-iv .sec-iv__tag {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 1.4rem;
    padding: 0.6rem 1.4rem 0.6rem 0.9rem;
    border-radius: 999px;
    font-size: min(14px, 1.4vw);
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.sec-iv .sec-iv__tag img {
    width: min(1.8rem, 1.6vw);
    height: min(1.8rem, 1.6vw);
    object-fit: contain;
}

.sec-iv .sec-iv__row--pain .sec-iv__tag {
    background: #c3e8fa;
    color: #0D9CDF;
}

.sec-iv .sec-iv__row--treat .sec-iv__tag {
    background: #feefbe;
    color: #C9A000;
}

.sec-iv .sec-iv__row--heal .sec-iv__tag {
    background: #f9d6dd;
    color: #BA0D38;
}

.sec-iv .sec-iv__card-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin-bottom: 0.8rem;
}

.sec-iv .sec-iv__card-head strong {
    font-size: min(30px, 2.4vw);
    font-weight: 700;
    color: #000051;
    line-height: 1.3;
}

.sec-iv .sec-iv__card-head strong span {
    display: inline;
    font-size: min(24px, 1.9vw);
}

.sec-iv .sec-iv__card-head b {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    font-size: min(30px, 2.4vw);
    font-weight: 700;
    line-height: 1;
    color: #000051;
}

.sec-iv .sec-iv__card-head b span {
    display: inline-flex;
    align-items: center;
    margin-left: 0.3rem;
    font-size: min(20px, 1.6vw);
    font-weight: 700;
    line-height: 1;
    color: #000051;
}

.sec-iv .sec-iv__cards li > p {
    width: 100%;
    font-size: min(18px, 1.5vw);
    font-weight: 300;
    line-height: 1.5;
    color: #666;
    text-align: left;
}

/* sec-obesity 비만 · 검사 클리닉 */
.sec-obesity {
    position: relative;
    z-index: 0;
    color: #fff;
    background: url("../img/obesity-bg.png") no-repeat 50% 50% / cover;
}

.sec-obesity .main-tit {
    color: #fff;
}

.sec-obesity .main-tit::before {
    color: #fff;
}

.sec-obesity .main-tit em {
    color: #FFCA28;
}

.sec-obesity .sec-obesity__quote {
    font-size: 4rem;
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
}

.sec-obesity .sec-obesity__quote b {
    font-weight: 700;
}

.sec-obesity .sec-obesity__desc {
    /* max-width: 92rem; */
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.7;
    color: #fff;
}

.sec-obesity .sec-obesity__boxes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: min(4rem, 3.2vw);
    max-width: 110rem;
    width: 100%;
    margin: 0 auto;
    align-items: stretch;
}

.sec-obesity .sec-obesity__box {
    display: flex;
    flex-direction: column;
    padding: min(4rem, 4vw) min(4.4rem, 4.4vw);
    border-radius: min(3rem, 3vw);
    background: #ffffff20;
    backdrop-filter: blur(1.2rem);
    -webkit-backdrop-filter: blur(1.2rem);
    box-shadow: 0 0.8rem 2.4rem rgba(0, 0, 0, 0.2);
    text-align: left;
}

.sec-obesity .sec-obesity__box h3 {
    font-size: min(25px, 2.2vw);
    font-weight: 300;
    line-height: 1.4;
    color: #FFCA28;
    word-break: keep-all;
}

.sec-obesity .sec-obesity__list {
    display: flex;
    flex-direction: column;
    gap: min(1.2rem, 1.2vw);
    margin-left: 0.8rem;
}

.sec-obesity .sec-obesity__list li {
    display: flex;
    align-items: flex-start;
    gap: min(1.6rem, 1.4vw);
    font-size: min(18px, 1.6vw);
    font-weight: 400;
    line-height: 1.5;
    color: #fff;
    word-break: keep-all;
}

.sec-obesity .sec-obesity__list li::before {
    content: "";
    flex-shrink: 0;
    width: 0.4rem;
    height: 0.4rem;
    margin-top: 0.7em;
    border-radius: 50%;
    background: #fff;
}

/* sec4 진료 안내 */
.sec-clinic-nav {
    background: url("../img/clinic2-bg.png") no-repeat 50% 50% / cover;
}

.sec-clinic-nav .main-tit,
.sec-clinic-nav .main-tit::before {
    color: #fff;
}

.sec-clinic-nav .main-tit em {
    color: #FFCA28;
    font-style: normal;
}

.sec-clinic-nav__tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: min(2rem, 2vw);
    align-items: start;
    justify-items: center;
}

.sec-clinic-nav__tabs > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    cursor: pointer;
}

.sec-clinic-nav__tabs > div img {
    width: 100%;
    max-width: min(220px, 18vw);
    aspect-ratio: 1 / 1;
    height: auto;
    display: block;
    object-fit: contain;
    border-radius: 50%;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.sec-clinic-nav__tabs > div:hover img {
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
    transform: translateY(-8px);
}

.sec-clinic-nav__tabs > div h3 {
    margin-top: min(3rem, 5vw);
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    color: #fff;
}

.sec-glp {
    overflow-x: hidden;
}
@supports (overflow: clip) {
    .sec-glp {
        overflow-x: clip;
        overflow-y: visible;
    }
}

.sec-glp .sec4-card-wrap {
    padding-top: 0;
    padding-bottom: 0;
}

.sec-glp .sec4-card-wrap.container14 {
    width: 95%;
    max-width: 1440px;
}

.sec-glp .sec4-clinic-inner.container-inner12 {
    width: 95%;
    max-width: 1280px;
}

.sec-glp .sec4-clinic-row--bg-white {
    background: #fff;
}

.sec-glp .sec4-clinic-row--bg-muted {
    position: relative;
    background: transparent;
}

.sec-glp .sec4-clinic-row--bg-muted::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    background: #F5F7F8;
    z-index: 0;
}

.sec-glp .sec4-clinic-row--bg-muted .sec4-clinic-inner {
    position: relative;
    z-index: 1;
}

.sec-glp .sec4-clinic-row--has-back-logo {
    position: relative;
    overflow-x: visible;
    overflow-y: visible;
}

.sec-glp .sec4-clinic-row--has-back-logo::after {
    content: "";
    position: absolute;
    right: calc(50% - 50vw);
    bottom: 0;
    width: min(42rem, 55vw);
    height: min(28rem, 38vw);
    background: url("../img/clinic2-back-logo.png") no-repeat 100% 100% / contain;
    pointer-events: none;
    z-index: 0;
    opacity: 0.95;
}

.sec-glp .sec4-clinic-row--has-back-logo .sec4-clinic-inner {
    position: relative;
    z-index: 1;
}

.sec-glp .sec4-clinic-inner {
    position: relative;
    container-type: inline-size;
    container-name: sec4-clinic-inner;
}

.sec-glp .sec4-clinic-bleed-layout {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 40px;
    width: 100%;
    margin-left: 0;
    box-sizing: border-box;
}

.sec-glp .sec4-clinic-bleed-layout .sec4-clinic-media,
.sec-glp .sec4-clinic-bleed-layout .sec4-clinic-copy {
    align-self: center;
}

.sec-glp .sec4-clinic-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    flex: 1 1 0;
    min-width: 0;
    width: 100%;
    max-width: 62rem;
    max-width: min(62rem, calc((100cqw - 40px) / 2));
    box-sizing: border-box;
    text-align: left;
}

.sec-glp .sec4-clinic-panels {
    width: 100%;
    align-self: stretch;
}

.sec-glp .sec4-clinic-media {
    margin: 0;
    overflow: hidden;
}

.sec-glp .sec4-clinic-media img {
    width: 100%;
    height: 550px;
    object-fit: cover;
    display: block;
}

.sec-glp .sec4-clinic-bleed-layout--img-left .sec4-clinic-media--bleed-left {
    flex: 0 0 calc(50vw - 20px);
    max-width: none;
    margin-left: calc(50% - 50vw);
    border-radius: 0 4rem 4rem 0;
}

.sec-glp .sec4-clinic-bleed-layout--img-right .sec4-clinic-media--bleed-right {
    flex: 0 0 calc(50vw - 20px);
    max-width: none;
    order: 2;
    margin-left: auto;
    margin-right: calc(50% - 50vw);
    border-radius: 4rem 0 0 4rem;
}

.sec-glp .sec4-clinic-bleed-layout--img-right .sec4-clinic-copy {
    order: 1;
    margin-left: 0;
}

.sec-glp .sec4-clinic-title {
    font-size: 4rem;
    font-weight: 700;
    color: #1f2f78;
    line-height: 1.1;
    text-align: left;
    align-self: flex-start;
    width: 100%;
}

.sec-glp .sec4-clinic-desc {
    font-size: 2rem;
    line-height: 1.7;
    color: #111;
    text-align: left;
    align-self: flex-start;
    width: 100%;
}

.sec-glp .sec4-clinic-lead {
    font-size: min(2.4rem, 4vw);
    font-weight: 700;
}

.sec-glp .sec4-clinic-panel {
    display: none;
}

.sec-glp .sec4-clinic-panel.is-active {
    display: block;
}

.sec-glp .sec4-clinic-checklist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sec-glp .sec4-clinic-checklist li {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 1rem;
    margin-bottom: 1.2rem;
    font-size: 2rem;
    line-height: 1.6;
    color: #111;
    text-align: left;
    width: 100%;
}

.sec-glp .sec4-clinic-checklist li::before {
    content: "";
    flex-shrink: 0;
    width: 2.4rem;
    height: 2.4rem;
    margin-top: 0.35rem;
    background: url("../img/clinic2-check.png") no-repeat 50% 50% / contain;
}

.sec-glp .sec4-clinic-checklist li:last-child {
    margin-bottom: 0;
}

.sec-glp .sec4-slidey-nav {
    position: relative;
    border: none;
    border-radius: 999px;
    display: inline-flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    align-self: flex-start;
    gap: 9px;
    list-style: none;
    width: auto;
    max-width: 100%;
    margin-bottom: 2rem;
    background: #F0F2FF;
    box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.1);
    padding: 7px;
    box-sizing: border-box;
}

.sec-glp .sec4-slidey-nav li {
    margin: 0;
}

.sec-glp .sec4-slidey-nav li:not(.slidey-track-active):not(.slidey-track-hover) {
    flex: 0 0 auto;
    display: inline-flex;
    width: max-content;
    max-width: 100%;
}

.sec-glp .sec4-slidey-nav a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 0;
    min-height: 0;
    height: auto;
    padding: 2px 30px;
    border: none;
    outline: none;
    text-decoration: none;
    z-index: 3;
    color: #8a90a1;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: -0.02em;
    box-sizing: border-box;
    white-space: nowrap;
}

.sec-glp .sec4-slidey-nav .slidey-track-active,
.sec-glp .sec4-slidey-nav .slidey-track-hover {
    position: absolute;
    top: 7px;
    display: inline-block;
    height: calc(100% - 14px);
    border-radius: 999px;
    transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
    list-style: none;
}

.sec-glp .sec4-slidey-nav .slidey-track-active {
    background-color: #1f2f78;
    z-index: 2;
}

.sec-glp .sec4-slidey-nav .is-active a {
    color: #fff;
}

.sec-glp .sec4-slidey-nav .slidey-track-hover {
    opacity: 0;
    background: rgba(31, 47, 120, 0.2);
    z-index: 1;
}

/* sec5 병원 둘러보기 */
.sec-tour {
    position: relative;
    z-index: 0;
    background: none;
}

.sec-tour::before {
    content: "";
    position: absolute;
    left: 50%;
    margin-left: -50vw;
    width: 100vw;
    top: 0;
    bottom: 0;
    background-color: #eef1f8;
    background-image: url("../img/tour-bg.png");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    z-index: 0;
    pointer-events: none;
}

.sec-tour > * {
    position: relative;
    z-index: 1;
}

.sec-tour.sec5-wrap {
    width: 100%;
}

.sec-tour .sec5-tour-slot {
    position: relative;
    width: 100%;
}

.sec-tour .sec5-coverflow-clip {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    overflow: hidden;
}

.sec-tour .sec5-coverflow {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.sec-tour .sec5-marquee {
    position: absolute;
    z-index: 0;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    top: 0;
    bottom: 5.5rem;
    display: flex;
    align-items: center;
    overflow: visible;
    pointer-events: none;
}

.sec-tour .sec5-marquee-mover {
    display: flex;
    width: max-content;
    font-size: 160px;
    font-weight: 900;
    color: #1e2b6d;
    opacity: 0.04;
    white-space: nowrap;
    line-height: 1;
    animation: sec5-marquee-flow 50s linear infinite;
}

@keyframes sec5-marquee-flow {
    to {
        transform: translateX(-50%);
    }
}

.sec-tour .sec5-coverflow .swiper-wrapper {
    position: relative;
    z-index: 1;
}

.sec-tour .sec5-coverflow .swiper-slide {
    width: min(68rem, 85vw);
    max-width: 680px;
    aspect-ratio: 16 / 10;
    background-position: center;
    background-size: cover;
    box-shadow: 4px 4px 20px rgba(0, 0, 0, 0.18);
    box-sizing: border-box;
}

.sec-tour .sec5-coverflow .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sec-tour .sec5-coverflow-pagination.swiper-pagination-bullets {
    position: relative;
    z-index: 1;
    margin-top: 3rem;
    bottom: auto;
}

.sec-tour .sec5-coverflow-pagination .swiper-pagination-bullet {
    width: 1rem;
    height: 1rem;
    background: #939B9F;
    opacity: 1;
}

.sec-tour .sec5-coverflow-pagination .swiper-pagination-bullet-active {
    background: #1e2b6d;
}

html {
    overflow-x: hidden;
}

/* sec6 보유 장비 */
.sec-equip {
    position: relative;
    z-index: 0;
    background: #fff url("../img/equ-bg.png") no-repeat 50% 50% / cover;
}

/* PC: OS와 동일 full-bleed (카드 크기 = 뷰포트 ÷ slidesPerView) */
.sec-equip .sec6-equip-bleed {
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
}

.sec-equip .sec6-equip-swiper {
    display: block ;
    width: 100%;
    margin: 0 auto;
    overflow: visible;
    touch-action: pan-y pinch-zoom;
    overscroll-behavior-x: contain;
}

.sec-equip .sec6-equip-swiper .swiper-wrapper {
    touch-action: pan-y pinch-zoom;
}

.sec-equip .sec6-equip-swiper .swiper-slide {
    position: relative;
    height: auto;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.sec-equip .sec6-equip-card {
    display: flex;
    flex-direction: column;
    background: #f5f7f8;
    border-radius: 3rem;
    overflow: hidden;
    max-width: none;
    box-sizing: border-box;
    padding: 1.3rem;
    height: 100%;
}

.sec-equip .sec6-equip-card__img {
    flex-shrink: 0;
    width: 100%;
    margin-bottom: 1rem;
    aspect-ratio: 1 / 1;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    border-radius: 2rem;
    overflow: hidden;
}

.sec-equip .sec6-equip-card__img img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    -webkit-user-drag: none;
    user-select: none;
}

.sec-equip .sec6-equip-card__txt {
    flex-grow: 1;
    display: grid;
    grid-template-rows: auto auto;
    align-items: center;
    width: 100%;
    row-gap: 1rem;
    text-align: center;
    margin: 1rem 0;
}

.sec-equip .sec6-equip-card__type {
    width: 100%;
    margin: 0;
    font-size: min(2.6rem, 3vw); 
    font-weight: 700;
    color: #1e2b6d;
    line-height: 1;
    text-align: center;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

.sec-equip .sec6-equip-card__name {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: min(1.4rem, 3vw);
    font-weight: 400;
    color: #6b7280;
    line-height: 1.45;
    text-align: center;
    white-space: nowrap;
    min-width: max-content;
}

.sec-equip .sec6-equip-pagination-wrap {
    display: none;
    margin-top: 4rem;
}

.sec-equip.is-equip-carousel .sec6-equip-pagination-wrap {
    display: block;
}

.sec-equip .sec6-equip-pagination.swiper-pagination-progressbar {
    position: relative;
    top: auto;
    left: auto;
    height: 4px;
    width: 100%;
    border-radius: 999px;
    background: #e2e5eb;
}

.sec-equip .sec6-equip-pagination .swiper-pagination-progressbar-fill {
    background: #1e2b6d;
    border-radius: 999px;
    transform-origin: left center;
}


/* sec7 진료 시간 및 오시는 길 */
.sec-guide.sec7-guide {
    position: relative;
    background: #f5f7f8;
    overflow: visible;
}

.sec-guide.sec7-guide.page {
    overflow: visible;
}

.sec7-guide-bg {
    position: absolute;
    right: 0;
    top: 56%;
    transform: translateY(-50%);
    z-index: 0;
    pointer-events: none;
    line-height: 0;
}

.sec7-guide-bg img {
    display: block;
    width: clamp(24rem, 42vw, 68rem);
    height: auto;
    max-width: none;
    opacity: 0.85;
}

.sec7-guide-head,
.sec7-guide-layout {
    position: relative;
    z-index: 1;
}

.sec7-guide-layout {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    margin-top: 2rem;
    padding-bottom: 2rem;
    width: 100%;
    box-sizing: border-box;
}

.sec7-guide-map {
    flex: 0 0 53%;
    width: 53%;
    max-width: 53%;
    display: flex;
    min-width: 0;
    position: relative;
    z-index: 1;
}

.sec7-map-wrap {
    flex: 1 1 auto;
    width: 100%;
    border-radius: 3rem 0 0 3rem;
    overflow: hidden;
    background: #e8eaef;
    box-shadow: 0 0.8rem 2.4rem rgba(30, 43, 109, 0.08);
}

.sec-guide .sec7-map-wrap .root_daum_roughmap {
    max-width: 100%;
    height: 100% !important;
    line-height: 0;
}

.sec-guide .sec7-map-wrap .root_daum_roughmap > *:not(.wrap_map) {
    display: none !important;
}

.sec-guide .sec7-map-wrap .root_daum_roughmap .foot_box,
.sec-guide .sec7-map-wrap .root_daum_roughmap .info_footer,
.sec-guide .sec7-map-wrap .root_daum_roughmap .hide_info {
    display: none !important;
}

.sec-guide .sec7-map-wrap .wrap_map {
    height: 100% !important;
    border-radius: 3rem 0 0 3rem;
    overflow: hidden;
}

.sec7-guide-panel {
    flex: 0 0 53%;
    width: 53%;
    max-width: 53%;
    min-width: 0;
    margin-left: -6%;
    position: relative;
    z-index: 2;
    background: #fff;
    border-radius: 3rem;
    padding: 5rem;
    box-shadow: 0 0.8rem 3.2rem rgba(30, 43, 109, 0.12);
    height: auto;
}

.sec7-guide-block {
    margin: 0 0 2.4rem;
}

.sec7-guide-block__head {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.sec7-guide-block__icon {
    flex-shrink: 0;
    width: 2.6rem;
    object-fit: contain;
    margin-right: 1.2rem;
}

.sec7-guide-block__tit {
    margin: 0;
    font-size: 2.8rem;
    font-weight: 700;
    color: #1e2b6d;
    line-height: 1.25;
}

.sec7-guide-block__addr {
    font-size: 2rem;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}

.sec7-guide-block__addr-sub {
    margin: 0;
    font-size: 2rem;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}

.sec7-guide-maps {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: min(3rem, 3vw);
    margin-top: min(1.6rem, 1.6vw);
}

.sec7-guide-map-btn {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    gap: min(0.6rem, 0.8vw);
    padding: min(0.6rem, 0.8vw) min(1.2rem, 1.4vw);
    border-radius: 999px;
    background: #fff;
    box-shadow: 0 0 0.5rem 0.3rem rgba(0, 11, 55, 0.12);
    color: #1e2b6d;
    font-size: min(1.8rem, 1.8vw);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.02em;
    text-decoration: none;
    transition: box-shadow 0.25s ease;
}

.sec7-guide-map-btn img {
    width: min(3rem, 3.2vw);
    height: min(3rem, 3.2vw);
    object-fit: contain;
    flex-shrink: 0;
}

.sec7-guide-map-btn:hover,
.sec7-guide-map-btn:focus-visible {
    box-shadow: 0 0 0.5rem 0.3rem rgba(0, 11, 55, 0.18);
}

.sec7-guide-block__txt {
    margin: 0;
    font-size: 2rem;
    font-weight: 400;
    color: #000;
    line-height: 1.55;
}

.sec7-hours-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sec7-hours-list__row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 min(1.4rem, 5vw);
    margin-bottom: 0.8rem;
    font-size: 2rem;
    font-weight: 400;
    color: #000;
    line-height: 1.5;
}

.sec7-hours-list__label {
    flex: 0 1 auto;
    width: min(11rem, 8vw);
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    color: #1E2B6D;
}

.sec7-hours-list__label > span {
    display: inline-block;
    white-space: nowrap;
}

.sec7-hours-list__val {
    flex: 0 1 auto;
    min-width: 0;
    color: #000;
    font-weight: 400;
}

.sec7-hours-night {
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    gap: 0.8rem;
    min-width: 0;
    box-sizing: border-box;
    padding: min(0.2rem, 0.4vw) min(1rem, 2vw);
    background: #0e174a;
    background: linear-gradient(90deg, rgba(14, 23, 74, 1) 0%, rgba(40, 46, 100, 1) 48%, rgba(80, 82, 141, 1) 100%);
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    border-radius: 8px;
    line-height: 2;
}

.sec7-hours-night__moon {
    display: block;
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    object-fit: contain;
}

.sec7-guide-note {
    margin: 1.2rem 0 0;
    font-size: 2rem;
    font-weight: 400;
    color: #656D71;
    line-height: 1.5;
}

.sec7-guide-tel {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 0.7rem;
}

.sec7-guide-tel__icon {
    width: 3rem;
    object-fit: contain;
    flex-shrink: 0;
    align-self: center;
}

.sec7-guide-tel__num {
    font-size: 3rem;
    font-weight: 700;
    color: #1e2b6d;
    text-decoration: none;
    letter-spacing: -0.02em;
    line-height: 1.2;
    white-space: nowrap;
}
