﻿/* sub hero */
.sub_hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 110px;

    & + .symptom_section {
        margin-top: 0;
    }

    & + .knee_solution_section {
        margin-top: 100px;
    }
}
.sub_hero_bg {
    height: 825px;
    overflow: hidden;
}
.sub_hero_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.sub_hero_inner {
    position: absolute;
    z-index: 10;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.sub_hero .inner {
    padding: 150px 200px 0;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 100%;
    max-width: 2400px;
}

.sub_hero_content p {
    margin: 28px 0 0;
    font-size: 24px;
    line-height: 1.6;
    letter-spacing: 0;
}

.sub_hero_title {
    margin: 0;
    color: var(--primary2);
    font-size: 48px;
    font-weight: 700;
    line-height: 1.35;
}
.sub_hero_title > p {
    margin-top: 0px;
    line-height: 3;
}

.sub_hero_center {
    text-align: center;
    width: 100%;
}

@media (max-width: 1200px) {
    .sub_hero_content p {
        font-size: 22px;
    }
}

@media(max-width: 1024px){
    .sub_hero .inner { padding: 150px 40px 0; }
}

@media (max-width: 768px) {
    .sub_hero { 
        margin-top: 8rem;

        & + .knee_solution_section {
            margin-top: 8rem;;
        }
    }
    .sub_hero_bg {
        height: 64rem;
    }

    .sub_hero .inner {
        align-items: flex-end;
        padding: 30rem 4rem 10rem;
    }

    .sub_hero_title {
        font-size: 5rem;
    }

    .sub_hero_content p {
        margin-top: 4rem;
        font-size: 2.4rem;
    }

    .sub_hero_content p br {
        display: none;
    }
}

/* bubble */
.bubble_section {
    overflow: hidden;
    padding: 200px 0;
    background: #fff;
}

.bubble_title {
    margin: 0;
    text-align: center;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: -0.04em;
}

.bubble_title_sub {
    font-size: 28px;
    margin-top: 50px;
    text-align: center;
}

.bubble_title span {
    color: rgba(26, 161, 221, 1);
}

.bubble_swiper {
    overflow: visible;
    margin-top: 120px;
}

.bubble_swiper .swiper-slide {
    width: auto;
}
.bubble_swiper .swiper-slide:not(:last-child){
    margin-right: 65px;
}

.bubble_item {
    display: flex;
    align-items: center;
    gap: 34px;
}

.bubble_thumb {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 50%;
    background: #f2f2f2;
}

.bubble_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.bubble_item p {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 360px;
    min-height: 80px;
    margin: 0;
    padding: 0 20px;
    border-radius: 15px;
    background: #e9f8ff;
    color: #0e3a60;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.4;
}

.bubble_item p::before {
    content: "";
    position: absolute;
    left: -17px;
    top: 24px;
    border-top: 14px solid transparent;
    border-bottom: 14px solid transparent;
    border-right: 18px solid #e9f8ff;
}

@media (max-width: 1200px) {
    .bubble_swiper {
        margin-top: 100px;
    }

    .bubble_item {
        gap: 24px;
    }

    .bubble_item p {
        min-width: 320px;
        padding: 0 34px;
    }
}

@media (max-width: 768px) {
    .bubble_section {
        padding: 12rem 0;
    }

    .bubble_title {
        font-size: 4rem;
    }

    .bubble_swiper {
        margin-top: 8rem;
    }
    .bubble_swiper .swiper-slide:not(:last-child) {
        margin-right: 5rem;
    }

    .bubble_item {
        gap: 3rem;
    }
    .bubble_thumb {
        width: 10rem;
        height: 10rem;
    }

    .bubble_item p {
        flex: 1;
        min-width: 0;
        min-height: 8.4rem;
        padding: 3rem;
        border-radius: 1.5rem;
        font-size: 2.4rem;
        max-width: 30rem;
    }

    .bubble_item p::before {
        left: -1.7rem;
        top: 2.8rem;
        border-top-width: 1.4rem;
        border-bottom-width: 1.4rem;
        border-right-width: 1.8rem;
    }
}

/* ?ㅼ떗寃??섏떖利앹긽 */
.symptom_section {
    position: relative;
    z-index: 10;
    overflow: hidden;
    padding: 150px 0 140px;
    background-size: cover;
    background-repeat: no-repeat;
    margin-top: 140px;

    &:has(.symptom_section_bg) {
        color: #fff;
        margin-top: 0;

        .symptom_list figcaption {
            font-weight: 500;
        }
    }
}

.symptom_section_bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}
.symptom_section_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.symptom_section .inner {
    position: relative;
    z-index: 1;
    max-width: 1540px;
}

.symptom_title {
    margin: 0;
    text-align: center;
    font-size: 48px;
    line-height: 1.7;
    letter-spacing: 0em;
}

.symptom_caption {
    font-size: 26px;
    font-weight: 600;
    text-align: center;
    margin-top: 50px;
}

.symptom_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 52px;
    margin: 110px 0 0;
    padding: 0;
    list-style: none;
}

.symptom_list_2 {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 52px;
    max-width: 1300px;
    margin: 110px auto 0;
}

.symptom_list_2 li {
    max-width: 325px;
}


.symptom_list_3 {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 52px;
    max-width: 1480px;
    margin: 110px auto 0;
}

.symptom_list_3 li {
    max-width: 388px;
}

.symptom_list figure {
    margin: 0;
    text-align: center;
}
.symptom_list figure p {
    font-size: 16px;
    font-weight: 500;
    margin-top: 8px;
    line-height: 1.5;
}

.symptom_list img {
    display: block;
    width: 100%;
    aspect-ratio: 300 / 300;
    border-radius: 20px;
    object-fit: cover;
}

.symptom_list .circle img {
    border-radius: 50%;
}

.symptom_list figcaption {
    margin-top: 24px;
    font-size: 22px;
    line-height: 1.5;
}

.symptom_section_06 {
    color: #fff;
    background-image: url("../img/sub/symptom_bg_06_01.jpg");
}

@media (max-width: 1200px) {
    .symptom_section {
        padding: 80px 0 100px;
    }

    .symptom_list {
        gap: 28px;
        margin-top: 80px;
    }

    .symptom_list figcaption {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .symptom_section {
        padding: 8rem 0 9rem;
        margin-top: 8rem;
    }

    .symptom_title {
        font-size: 4rem;
    }

    .symptom_caption {
        font-size: 2.5rem;
        margin-top: 5rem;
        line-height: 1.5;
    }

    .symptom_list,
    .symptom_list_2,
    .symptom_list_3 {
        display: flex !important;
        justify-content: center;
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 5rem 3rem;
        margin-top: 7rem;
    }
    .symptom_list li,
    .symptom_list_2 li,
    .symptom_list_3 li {
        width: calc(50% - 1.5rem) !important;
    }
    .symptom_list img {
        border-radius: 2rem;
    }

    .symptom_list figcaption {
        margin-top: 2.4rem;
        font-size: 2.4rem;
    }
    .symptom_list figure p {
        font-size: 2.4rem;
    }
    .symptom_list figure p br {
        display: none;
    }
}

/* 利앹떇移섎즺 ?덈궡 */
.easy_treatment {
    overflow: hidden;
    padding: 200px 0;
    background: #fff;
}
.easy_treatment + .micro_treatment_section {
    padding-top: 0;
}
.easy_treatment .inner {
    max-width: 1280px;
}
.easy_treatment_intro {
    text-align: left;
}

.easy_treatment_question {
    margin: 0 0 54px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.7;
}

.easy_treatment_intro h2 {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
}

.easy_treatment_badge {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 14px;
    width: fit-content;
    min-width: 440px;
    min-height: 74px;
    margin: 94px auto 0;
    padding: 0 40px;
    border-radius: 999px;
    background: #25BCFF;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
}

.easy_treatment_badge img {
    width: 38px;
}

.easy_treatment_desc {
    margin: 42px 0 0;
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
}

.easy_treatment_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    margin: 62px 0 0;
    padding: 0;
    list-style: none;
    max-width: 1200px;
}

.easy_treatment_list li {
    overflow: hidden;
    border-radius: 26px;
    background: #f5f6fb;
}

.easy_treatment_list figure {
    margin: 0;
}

.easy_treatment_thumb {
    position: relative;
    overflow: hidden;
    border-radius: 26px;
    aspect-ratio: 600 / 282;
}
.easy_treatment_thumb:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0) 0%,
        rgba(0, 0, 0, 0) 100%
    );
}

.easy_treatment_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.easy_treatment_thumb figcaption {
    position: absolute;
    z-index: 10;
    right: 42px;
    bottom: 18px;
    color: rgba(255, 255, 255, 1);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    opacity: 0.8;
}

.easy_treatment_list p {
    margin: 0;
    padding: 20px 24px 24px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
}

.easy_treatment_notice {
    margin: 75px 0 0;
    color: #B3B3B3;
    text-align: center;
    font-size: 18px;
    line-height: 1.8;
}

.easy_treatment_list_5 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 40px;
}

.easy_treatment_list_5 .easy_treatment_item_01,
.easy_treatment_list_5 .easy_treatment_item_03,
.easy_treatment_list_5 .easy_treatment_item_05 {
    grid-column: 1;
}

.easy_treatment_list_5 .easy_treatment_item_02,
.easy_treatment_list_5 .easy_treatment_item_04 {
    grid-column: 2;
    transform: translateY(210px);
}

.easy_treatment_list_5 + .easy_treatment_notice {
    margin-top: 285px;
}

@media (max-width: 1200px) {
    .easy_treatment_intro h2 {
        font-size: 44px;
    }

    .easy_treatment_list {
        gap: 32px;
    }

    .easy_treatment_thumb figcaption {
        font-size: 34px;
    }

    .easy_treatment_list p {
        font-size: 18px;
    }

    .easy_treatment_list_5 .easy_treatment_item_02,
    .easy_treatment_list_5 .easy_treatment_item_04 {
        transform: translateY(170px);
    }

    .easy_treatment_list_5 + .easy_treatment_notice {
        margin-top: 245px;
    }
}

@media (max-width: 768px) {
    .easy_treatment {
        padding: 8rem 0rem;
    }

    .easy_treatment_question {
        margin-bottom: 5rem;
        font-size: 2.4rem;
    }

    .easy_treatment_intro h2 {
        font-size: 5rem;
    }

    .easy_treatment_badge {
        gap: 1.2rem;
        min-width: 0;
        min-height: 7.4rem;
        margin-top: 10rem;
        padding: 0 3rem;
        font-size: 2.4rem;
    }

    .easy_treatment_badge img {
        width: 3.4rem;
    }

    .easy_treatment_desc {
        margin-top: 3.2rem;
        font-size: 2.4rem;
    }

    .easy_treatment_list {
        grid-template-columns: 1fr;
        gap: 4rem;
        margin-top: 5.6rem;
    }

    .easy_treatment_list_5 .easy_treatment_item_01,
    .easy_treatment_list_5 .easy_treatment_item_02,
    .easy_treatment_list_5 .easy_treatment_item_03,
    .easy_treatment_list_5 .easy_treatment_item_04,
    .easy_treatment_list_5 .easy_treatment_item_05 {
        grid-column: auto;
        transform: none;
    }

    .easy_treatment_list li {
        border-radius: 3rem;
    }

    .easy_treatment_thumb {
        border-radius: 3rem;
    }

    .easy_treatment_thumb figcaption {
        right: 3rem;
        bottom: 2rem;
        font-size: 4rem;
    }

    .easy_treatment_list p {
        padding: 2.4rem 2.8rem 3rem;
        font-size: 2.4rem;
    }

    .easy_treatment_notice {
        margin-top: 6rem;
        font-size: 2rem;
    }

    .easy_treatment_list_5 + .easy_treatment_notice {
        margin-top: 6rem;
    }
}

/* 利앹떇移섎즺 二쇱쓽?ы빆 */
.caution_section {
    overflow: hidden;
    padding: 200px 0px;
    background: #fff;

    &:is(.bg_gray) {
        .caution_list strong {
            font-weight: 700;
            color: var(--primary);
        }
    }
}
.caution_section:not(.bg_gray) + .inspection {
    padding-top: 0;
}
.caution_header {
    text-align: center;
}

.caution_section .inner + .inner {
    margin-top: 130px;
    padding-top: 130px;
}

.caution_section .inner + .inner:before {
    display: none;
    content: "";
    position: absolute;
    top: 0%;
    left: calc(50% - 135px);
    width: 270px;
    height: 2px;
    background-color: rgba(205, 205, 205, 1);
}

.caution_header h2 {
    margin: 0;
    color: #000;
    font-size: 48px;
    line-height: 1.5;
}

.caution_header h2 span {
    color: var(--primary);
}

.caution_header p {
    margin: 44px 0 0;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5;
}
.caution_desc {
    text-align: center;
    font-size: 18px;
    color: #B6B6B6;
    margin-top: 75px;
    line-height: 1.5;
}
.caution_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 120px 40px;
    margin: 185px 0 0;
    padding: 0;
    list-style: none;
}
.caution_list_auto {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 120px 0;

    & li {
        flex: 1;
        max-width: 360px;
    }
}

.caution_list2 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    max-width: 330px;
}
.caution_list3 {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.caution_list4 {
    max-width: 1200px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
}

.caution_listc {
    max-width: 1400px;
}

.caution_list5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));

    & p {
        font-size: 22px;
    }
}
.caution_list3 li {
    flex: 1;
    max-width: 280px;
}

.caution_list4 li {
    flex-shrink: 0;
    width: 30%;
}

.caution_list li {
    min-width: 0;
    text-align: center;
}

.caution_list strong {
    display: block;
    color: var(--primary2);
    font-size: 28px;
    font-weight: 500;
    margin: 50px 0 24px;

    & + p {
        font-size: 24px;
        font-weight: 400;
    }
}


.caution_icon {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    height: 120px;
    margin-bottom: 28px;
}

.caution_icon img {
    display: block;
    width: auto;
    max-width: 120px;
    height: 100%;
}

.caution_list p {
    margin: 0;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.45;
}


@media (max-width: 1200px) {
    .caution_list {
        gap: 28px;
        margin-top: 140px;
    }

    .caution_list p {
        font-size: 21px;
    }

    .caution_list5 {
        display: flex !important;
        justify-content: center;
        align-items: stretch;
        flex-wrap: wrap;

        & li {
            flex: none;
            width: calc(33% - 56px);
        }
    }
}

@media (max-width: 768px) {
    .caution_section {
        padding: 12rem 0;
    }

    .caution_section .inner + .inner {
        margin-top: 12rem;
        padding-top: 12rem;
    }
    .caution_section .inner + .inner:before {
        height: 0.2rem;
        width: 30rem;
        left: calc(50% - 15rem);
    }

    .caution_header h2 {
        font-size: 5rem;
    }

    .caution_header p {
        margin-top: 3.2rem;
        font-size: 2.4rem;
    }

    .caution_list {
        display: flex !important;
        justify-content: center;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 6rem 3rem;
        margin: 12rem auto 0;
    }

    .caution_list li {
        flex: none !important;
        width: calc(50% - 1.5rem) !important;
    }

    .caution_list3 {
        display: grid;
    }

     .caution_list4 {
        display: grid;
    }
    .caution_list4 li {
        width: 100%;
    }

    .caution_list strong {
        font-size: 3rem;
        margin: 5rem 0 2rem;

         & + p {
            font-size: inherit;
        }
    }


    .caution_icon {
        height: 12rem;
        margin-bottom: 2.8rem;
    }

    .caution_icon img {
        max-width: 13rem;
        max-height: 12rem;
    }

    .caution_list p {
        font-size: 2.4rem;

        br {
            display: none;
        }
    }

    .caution_desc {
        margin-top: 8rem;
        font-size: 2.4rem;
    }
}

/* 吏덊솚 */
.disease {
    padding: 180px 0;
    background: #f4f4f7;
}

.disease .inner {
    max-width: 1200px;
}

.disease_header {
    text-align: center;
    margin-bottom: 110px;
}

.disease_header h2 {
    margin: 0 0 32px;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.4;
}

.disease_header p {
    font-size: 18px;
    line-height: 1.8;
    color: #555;
}
.disease_header .disease_header_p {
    font-size: 26px;
    margin-top: 60px;
}

.disease_list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.disease_list li {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    color: var(--black);
}

.disease_list li.sq {
    border-radius: 0;
    
    & .disease_thumb {
        border-radius: 0;
        width: 310px;
    }
    & .disease_content {
        border: 1px solid #C0C0C0;
        border-left: 0;
        align-items: flex-start;
        justify-content: center;
        flex-direction: column;
        gap: 15px;
    }
    .disease_content strong {
        font-size: 28px;
        line-height: 2;
    }
    .disease_content p {
        font-size: 24px;
    }
}

.disease_thumb {
    flex-shrink: 0;
    width: 330px;
}

.disease_thumb img {
    display: block;
    width: 100%;
    height: 100%;
}

.disease_content {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 50px;
    flex: 1;

    .marker--il {
        li {
            font-size: 24px;
            line-height: 1.5;
            color:#000;
            padding-left: 0.5em;
            text-indent: -0.5em;
        }
    }

    &.disease_content_col {
        flex-direction: column;
        justify-content: center;
        align-items: stretch;
    }
}

.disease_content strong {
    flex-shrink: 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
}

.disease_content p {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
}

@media (max-width: 1200px) {
    .disease {
        padding: 120px 0;
    }

    .disease_thumb {
        width: 220px;
    }

    .disease_content {
        padding: 30px;
    }
}

@media (max-width: 768px) {
    .disease {
        padding: 12rem 0;
    }

    .disease_header {
        margin-bottom: 6rem;
    }

    .disease_header h2 {
        margin-bottom: 3rem;
        font-size: 5rem;
    }

    .disease_header p {
        font-size: 2.4rem;
        line-height: 1.8;
    }

    .disease_list {
        gap: 2rem;
    }

    .disease_list li {
        border-radius: 2rem;
    }

    .disease_list_m li {
        flex-direction: column;

        .disease_thumb {
            width: 100%;
        }
        .disease_content {
            padding: 5rem;
        }
    }

    .disease_thumb {
        width: 22rem;
    }

    .disease_content {
        gap: 2rem;
        padding: 2.4rem;
    }

    .disease_content strong {
        font-size: 4rem;
    }

    .disease_content p {
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .disease_list li.sq {
        flex-direction: column;
        border-radius: 0;
        
        & .disease_thumb {
            border-radius: 0;
            width: 100%;
            aspect-ratio: 1/1;
        }
        & .disease_content {
            gap: 2rem;
            padding: 5rem;
            border-left: 1px solid #C0C0C0;
            border-top: 0;
            
            .marker--il {
                li {
                    font-size: 2.6rem;
                }
            }
        }
        .disease_content strong {
            font-size: 3.2rem;
        }
        .disease_content p {
            font-size: 2.4rem;
        }
    }

}

/* ?붾（??*/
.achilles_solution {
    padding: 150px 0 150px;
    background-color: #f5f6fb;
}

.achilles_solution_inner {
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 20px;
}

.achilles_solution_head {
    margin-bottom: 92px;
    text-align: center;
}

.achilles_solution_head h2 {
    margin: 0;
    color: #111;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: -0em;
}

.achilles_solution_head h2 span {
    color: #00a8e8;
    font-weight: 700;
}

.achilles_solution_head p {
    margin: 30px 0 0;
    color: #111;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: -0.04em;
}

.solution_panel {
    display: none;
}

.solution_panel.active {
    display: block;
}

.solution_tab {
    display: flex;
    justify-content: center;
    width: fit-content;
    margin: 120px auto 85px;
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}

.solution_tab button {
    width: 190px;
    height: 54px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    color: #111;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.solution_tab button.active {
    background: #29b8ef;
    color: #fff;
}

@media (max-width: 768px) {
    .solution_tab {
        margin: 6rem auto 4.5rem;
    }

    .solution_tab button {
        width: auto;
        max-width: 30rem;
        height: 10rem;
        line-height: 1.3;
        font-size: 2.8rem;
        padding: 0 3rem;
        white-space: nowrap;
    }
}

.achilles_solution_list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 1175px;
    margin: 0 auto;
}

.achilles_solution_item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    min-height: 220px;
    border-radius: 14px;
    background-color: #fff;
}

.achilles_solution_img {
    min-height: 220px;
    border-radius: 20px;
    overflow: hidden;
}

.achilles_solution_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.achilles_solution_cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 42px 38px;
}

.achilles_solution_type {
    display: block;
    margin-bottom: 10px;
    color: #b8b8b8;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: -0.04em;
}

.achilles_solution_cont h3 {
    margin: 0;
    color: #111;
    font-family: var(--font-family);
    font-size: 34px;
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.06em;
}

.achilles_solution_cont p {
    margin: 28px 0 0;
    color: #111;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -0.04em;
}

.achilles_solution_item:nth-child(even) .achilles_solution_img {
    order: 2;
}

.achilles_solution_item:nth-child(even) .achilles_solution_cont {
    order: 1;
    text-align: right;
}

@media (max-width: 1200px) {
    .achilles_solution {
        padding: 100px 0 130px;
    }

    .achilles_solution_inner {
        max-width: 900px;
    }

    .achilles_solution_head {
        margin-bottom: 70px;
    }

    .achilles_solution_head h2 {
        font-size: 42px;
    }

    .achilles_solution_cont h3 {
        font-size: 26px;
    }
}

@media (max-width: 768px) {
    .achilles_solution {
        padding: 10rem 0 12rem;
    }

    .achilles_solution_inner {
        padding: 0 3rem;
    }

    .achilles_solution_head {
        margin-bottom: 6rem;
    }

    .achilles_solution_head h2 {
        font-size: 5rem;
    }

    .achilles_solution_head p {
        margin-top: 3rem;
        font-size: 2.4rem;
    }
    .achilles_solution_head span {
        display: inline-block;
    }

    .achilles_solution_head p br {
        display: none;
    }

    .achilles_solution_list {
        gap: 3rem;
    }

    .achilles_solution_item {
        display: flex;
        flex-direction: column;
        min-height: 0;
        border-radius: 2rem;
    }

    .achilles_solution_img {
        min-height: 0;
        height: 36rem;
    }

    .achilles_solution_item:nth-child(even) .achilles_solution_img {
        order: 1;
    }

    .achilles_solution_item:nth-child(even) .achilles_solution_cont {
        order: 2;
        text-align: left;
    }

    .achilles_solution_cont {
        padding: 4rem 3rem 4.4rem;
    }

    .achilles_solution_type {
        margin-bottom: 1rem;
        font-size: 2.2rem;
    }

    .achilles_solution_cont h3 {
        font-size: 3rem;
    }

    .achilles_solution_cont p {
        margin-top: 2.4rem;
        font-size: 2.4rem;
    }

    .achilles_solution_cont p br {
        display: none;
    }
}

.carpal_surgery_section {
    padding: 150px 20px 160px;
    background: #fff;
}

.carpal_surgery_detail {
    max-width: 1175px;
    margin: 0 auto;
    padding: 0 0 40px;
    text-align: center;
}

.carpal_surgery_title {
    margin: 0;
    color: #111;
    font-size: 48px;
    line-height: 1.35;
    letter-spacing: -0.04em;
}

.carpal_surgery_title span {
    display: inline-block;
    padding: 0.4em 0.5em 0.3em;
    background-color: rgba(37, 188, 255, 1);
    color: #fff;
}

.carpal_surgery_title_s {
    font-size: ;
}

.carpal_surgery_mri_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-top: 130px;
}

.carpal_surgery_mri_item {
    overflow: hidden;
    margin: 0;
    border-radius: 15px;
    background: #111;
}

.carpal_surgery_mri_item img {
    display: block;
    width: 100%;
    aspect-ratio: 572 / 329;
    object-fit: cover;
}

.carpal_surgery_visual {
    overflow: hidden;
    margin-top: 95px;
    border-radius: 18px;
    background: #000;
}

.carpal_surgery_visual img {
    display: block;
    width: 100%;
    aspect-ratio: 1175 / 795;
    object-fit: cover;
}

.carpal_surgery_open_mri {
    position: relative;
    margin-top: 110px;
}

.carpal_surgery_open_mri img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 16px;
}

.carpal_surgery_open_mri .treatment_case_badge {
    top: -7px;
}

.carpal_surgery_open_mri_head {
    margin-top: 80px;
}
.carpal_surgery_open_mri_head strong {
    display: block;
    line-height: 3em;
    font-size: 46px;
    font-weight: 700;
    color: rgba(37, 188, 255, 1);
    font-family: var(--font-family-tit);
}
.carpal_surgery_open_mri_head p {
    font-size: 20px;
    line-height: 1.5;
}
.carpal_surgery_open_mri_head span {
    display: inline-block;
    background-color: rgba(37, 188, 255, 1);
    color: #fff;
    padding: 0.4em 0.5em 0.3em;
    margin: 0 auto 1em;
}

.carpal_surgery_open_card_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 42px;
    margin: 180px 0 0;
    list-style: none;
}

.carpal_surgery_open_card_list figure {
    margin: 0;
}

.carpal_surgery_open_card_img {
    overflow: hidden;
    aspect-ratio: 346 / 388;
    background: #ddd;
}

.carpal_surgery_open_card_img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.carpal_surgery_open_card_list figcaption {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 94px;
    padding: 20px;
    background: #707070;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: -0.04em;
    margin-top: 0.2em;
}

.carpal_surgery_open_notice {
    margin: 90px 0 0;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: -0.04em;
}

.carpal_surgery_open_text {
    margin-top: 70px;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.04em;
}
.carpal_surgery_open_text span {
    color: #17c8f2;
}

.carpal_surgery_open_text p {
    margin: 0;
}

.carpal_surgery_open_text p + p {
    margin-top: 8px;
}

.carpal_surgery_open_info {
    display: flex;
    justify-content: center;
    align-items: center;
    width: min(690px, 100%);
    min-height: 54px;
    margin: 60px auto 0;
    padding: 14px 24px;
    background: #25bcff;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: -0.04em;
}

.carpal_surgery_desc {
    margin: 74px 0 0;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: -0.04em;
}

.carpal_surgery_desc span {
    color: var(--primary2);
    font-weight: 800;
}

.carpal_surgery_desc_bottom {
    margin-top: 72px;
}


.treatment_case_info_heading {
    margin: 0;
    color: #27b7ec;
    font-size: 46px;
    line-height: 3;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.carpal_surgery_image {
    text-align: center;
    margin-top: 110px;
}
.carpal_surgery_image img {
    max-width: 100%;
}

@media (max-width: 1200px) {
    .carpal_surgery_section {
        padding: 130px 20px 140px;
    }

    .carpal_surgery_detail {
        max-width: 900px;
    }

    .carpal_surgery_title {
        font-size: 42px;
    }

    .carpal_surgery_mri_list {
        margin-top: 100px;
        gap: 24px;
    }

    .carpal_surgery_open_mri {
        margin-top: 100px;
    }

    .carpal_surgery_open_card_list {
        gap: 28px;
        margin-top: 140px;
        padding: 0;
    }

    .carpal_surgery_open_card_list figcaption {
        min-height: 80px;
        font-size: 23px;
    }
}

@media (max-width: 768px) {
    .carpal_surgery_section {
        padding: 10rem 3rem 12rem;
    }

    .carpal_surgery_detail {
        padding-bottom: 0;
    }

    .carpal_surgery_title {
        font-size: 5rem;
    }

    .carpal_surgery_mri_list {
        grid-template-columns: 1fr;
        gap: 3rem;
        margin-top: 7rem;
    }

    .carpal_surgery_mri_item {
        border-radius: 1.5rem;
    }

    .carpal_surgery_visual {
        margin-top: 7rem;
        border-radius: 1.8rem;
    }

    .carpal_surgery_open_mri {
        margin-top: 7rem;
    }

    .carpal_surgery_open_mri img {
        border-radius: 1.5rem;
    }

    .carpal_surgery_open_mri_head {
        margin-top: 5rem;
    }

    .carpal_surgery_open_mri_head strong {
        font-size: 4rem;
    }
    .carpal_surgery_open_mri_head p {
        font-size: 2.5rem;
        white-space: inherit;
    }
    .carpal_surgery_open_mri_head br:not(.mo_br) {
        display: none;
    }

    .treatment_case_info_heading {
        font-size: 4rem;
    }

    .carpal_surgery_open_card_list {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        gap: 4rem;
        margin-top: 9rem;
        padding: 0;
        overflow: auto;
    }

    .carpal_surgery_open_card_list li {
        flex-shrink: 0;
        width: 48rem;
    }

    .carpal_surgery_open_card_list figcaption {
        min-height: 9rem;
        padding: 2.4rem;
        font-size: 3rem;
    }

    .carpal_surgery_open_notice {
        margin-top: 6rem;
        font-size: 2.2rem;
    }

    .carpal_surgery_open_text {
        margin-top: 6rem;
        font-size: 2.4rem;
    }
    .carpal_surgery_open_text br {
        display: none;
    }

    .carpal_surgery_open_info {
        min-height: 7rem;
        margin-top: 6rem;
        padding: 2rem 2.4rem;
        font-size: 2.2rem;
    }

    .carpal_surgery_desc {
        text-align: left;
        margin-top: 5rem;
        font-size: 2.4rem;
        line-height: 1.7;
    }

    .carpal_surgery_desc_bottom {
        margin-top: 5rem;
    }

    .carpal_surgery_image {
        margin-top: 8rem;
    }
}

.micro_treatment_section {
    padding: 200px 0;
    background: #fff;
    text-align: center;

    .treatment_case_card img {
        margin-bottom: 0;
    }
}

.micro_treatment_section .inner {
    max-width: 1500px;
    margin: 0 auto;
}

.micro_treatment_head {
    margin-bottom: 96px;
}

.micro_treatment_brand {
    margin: 0 0 78px;
    color: #b5b5b5;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.micro_treatment_head h2 {
    margin: 0 0 58px;
    color: #000;
    font-size: 46px;
    line-height: 1.25;
    letter-spacing: 0;
}

.micro_treatment_desc {
    margin: 0;
    color: #000;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.55;
    letter-spacing: 0;
}

.micro_treatment_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.micro_treatment_list2 {
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.micro_treatment_list3 {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.micro_treatment_list4 {
    display: flex;
    justify-content: center;
    gap: 20px;
}


.micro_treatment_list li {
    flex: 1;

    &:has(:nth-child(3)) {
        margin: 0 auto;
    }
}

.micro_treatment_list4 li {
    flex-grow: inherit;
    margin: 0;
}


.micro_treatment_list figure {
    margin: 0;
}

.micro_treatment_thumb {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

.micro_treatment_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.micro_treatment_thumb span {
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
}

.micro_treatment_list li {
    max-width: 360px;
}

.micro_treatment_list figcaption {
    gap: 4px;
    margin-top: 38px;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.45;
    letter-spacing: -0.03em;
}

.micro_treatment_list figcaption span {
    display: inline;
    width: fit-content;
    background: linear-gradient(to top, #f4ff9f 42%, transparent 42%);
}

@media (max-width: 1024px) {
    .micro_treatment_section {
        padding: 0 20px 80px;
    }

    .micro_treatment_head {
        margin-bottom: 68px;
    }

    .micro_treatment_brand {
        margin-bottom: 54px;
        font-size: 20px;
    }

    .micro_treatment_head h2 {
        margin-bottom: 36px;
        font-size: 38px;
    }

    .micro_treatment_desc {
        font-size: 19px;
    }

    .micro_treatment_list {
        gap: 28px;
    }

    .micro_treatment_thumb span {
        top: 28px;
        font-size: 24px;
    }

    .micro_treatment_list figcaption {
        margin-top: 28px;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .micro_treatment_section {
        padding: 12rem 4rem;
    }

    .micro_treatment_head {
        margin-bottom: 5rem;
    }

    .micro_treatment_brand {
        margin-bottom: 8rem;
        font-size: 2.4rem;
    }

    .micro_treatment_head h2 {
        margin-bottom: 2.5rem;
        font-size: 5rem;
    }

    .micro_treatment_desc {
        font-size: 2.5rem;
        br {
            display: none;
        }
    }

    .micro_treatment_list {
        flex-direction: column;
        grid-template-columns: 1fr;
        gap: 6rem;
        max-width: 100%;
        margin: 0 auto;
    }
    .micro_treatment_list li {
        max-width: 100%;
    }
    .micro_treatment_thumb span {
        top: 3rem;
        font-size: 4rem;
    }

    .micro_treatment_list figcaption {
        margin-top: 4rem;
        font-size: 3rem;
    }
}

section + .inspection_arrow {
    margin-bottom: 0;
} 
.nerve_block_effect_section {
    padding: 200px 0;
    background: #fff;
    text-align: center;

    & + .inspection_arrow {
        margin-bottom: 0;
    }
}

.nerve_block_effect_section .inner {
    max-width: 1400px;
    margin: 0 auto;
}

.nerve_block_effect_head {
    margin-bottom: 90px;
}

.nerve_block_effect_brand {
    display: block;
    color: #B6B6B6;
    font-size: 24px;
    margin-bottom: 78px;
}

.nerve_block_effect_head h2 {
    margin: 0 0 48px;
    color: #000;
    font-size: 46px;
    line-height: 1.25;
    letter-spacing: 0;
}

.nerve_block_effect_head > p:not(.nerve_block_effect_brand) {
    margin: 0 auto;
    color: #000;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.65;
    letter-spacing: 0;
}

.nerve_block_effect_body {
    max-width: 840px;
    margin: 0 auto;
}

.nerve_block_effect_visual {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 42px;
    position: relative;
    padding: 32px 48px;
    border-radius: 220px;
    background: #e9e9e9;
}

.nerve_block_effect_thumb {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}

.nerve_block_effect_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.nerve_block_effect_thumb span {
    position: absolute;
    inset: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;

    font-size: 42px;
    font-weight: 700;
}
.nerve_block_effect_thumb em {
    color: rgba(37, 188, 255, 1);
}

.nerve_block_effect_caption {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 42px;
    padding: 0px 48px;
}

.nerve_block_effect_caption p {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding-top: 104px;
    color: #000;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
}

.nerve_block_effect_caption p::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 0;
    height: 84px;
    border-left: 3px dashed #b8b8b8;
    transform: translateX(-50%);
}

.nerve_block_effect_caption span {
    display: block;
}

.nerve_block_effect_3{
    max-width: 1210px;
}
.nerve_block_effect_3 .nerve_block_effect_visual,
.nerve_block_effect_3 .nerve_block_effect_caption {
    grid-template-columns: repeat(3, 1fr);
}

.nerve_block_effect_section + .inspection {
    padding-top: 0;
}

@media (max-width: 768px) {
    .nerve_block_effect_section {
        padding: 12rem 0rem;
    }

    .nerve_block_effect_head {
        margin-bottom: 5.6rem;
    }

    .nerve_block_effect_brand {
        margin-bottom: 5rem;
        font-size: 3rem;
    }

    .nerve_block_effect_head h2 {
        margin-bottom: 2.6rem;
        font-size: 5rem;
        line-height: 1.3;
    }

    .nerve_block_effect_head > p:not(.nerve_block_effect_brand) {
        font-size: 2.4rem;
        line-height: 1.65;
    }

    .nerve_block_effect_body {
        max-width: 100%;
    }

    .nerve_block_effect_visual {
        gap: 2.4rem;
        padding: 2.4rem;
        border-radius: 18rem;
    }

    .nerve_block_effect_caption {
        gap: 3.6rem;
    }

    .nerve_block_effect_caption p {
        padding-top: 5.4rem;
        font-size: 2.4rem;
        line-height: 1.55;
    }

    .nerve_block_effect_caption p::before {
        height: 4rem;
        border-left-width: 0.2rem;
    }

    .nerve_block_effect_thumb span {
        font-size: 3rem;
    }
}


.spine_solution_section {
    padding: 200px 0;
    background: #fff;
    text-align: center;
}

.spine_solution_section .inner {
    max-width: 1500px;
    margin: 0 auto;
}

.spine_solution_head {
    margin-bottom: 120px;
}

.spine_solution_head h2 {
    margin: 0 0 46px;
    color: #000;
    font-size: 46px;
    line-height: 1.25;
    letter-spacing: 0;
}

.spine_solution_head h2 span {
    color: #159bd3;
}

.spine_solution_head p {
    margin: 0;
    color: #000;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0;
}

.spine_solution_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.spine_solution_card {
    overflow: hidden;
    border-radius: 20px;
    background: #f5f7fd;
}

.spine_solution_top {
    padding: 42px 38px 44px;
    color: #fff;
    text-align: left;
}

.spine_solution_top_01 {
    background: #25b8ed;
}

.spine_solution_top_02 {
    background: #0797c8;
}

.spine_solution_top_03 {
    background: #123f63;
}

.spine_solution_top h3 {
    font-family: var(--font-family);
    margin: 0 0 24px;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.spine_solution_top p {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0;
}

.spine_solution_img {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 472 / 313;
}

.spine_solution_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.spine_solution_bottom {
    padding: 36px 26px 38px;
}

.spine_solution_bottom strong {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px;
    color: #000;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.spine_solution_bottom strong span {
    display: block;
}

.spine_solution_bottom em {
    color: #23b9ef;
    font-style: normal;
}

.spine_solution_bottom ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.spine_solution_bottom li {
    padding: 8px 16px;
    border: 1px solid #23b9ef;
    border-radius: 999px;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
}

@media (max-width: 1280px) {
    .spine_solution_list { 
        grid-template-columns: repeat(2, 1fr);
        max-width: 900px;
        margin: 0 auto;
    }
    .spine_solution_top {
        padding: 40px 24px;
    }
    
}

@media (max-width: 768px) {
    .spine_solution_section {
        padding: 12rem 0;
    }

    .spine_solution_section .inner {
        max-width: 100%;
    }

    .spine_solution_head {
        margin-bottom: 8rem;
    }

    .spine_solution_head h2 {
        margin-bottom: 3.2rem;
        font-size: 5rem;
        line-height: 1.25;
    }

    .spine_solution_head p {
        font-size: 2.4rem;
        line-height: 1.55;
        max-width: 84%;
        margin-right: auto;
        margin-left: auto;
    }

    .spine_solution_list {
        grid-template-columns: 1fr;
        gap: 3.2rem;
    }

    .spine_solution_card {
        border-radius: 2rem;
    }

    .spine_solution_top {
        padding: 4.2rem 3.8rem 4.4rem;
    }

    .spine_solution_top h3 {
        margin-bottom: 2.4rem;
        font-size: 3.4rem;
    }

    .spine_solution_top p {
        font-size: 2rem;
    }

    .spine_solution_bottom {
        padding: 4rem 2.6rem 4.2rem;
    }

    .spine_solution_bottom strong {
        gap: 0.8rem;
        margin-bottom: 3.4rem;
        font-size: 3.2rem;
    }

    .spine_solution_bottom ul {
        gap: 1.2rem 1rem;
    }

    .spine_solution_bottom li {
        padding: 1rem 1.8rem;
        border-radius: 99rem;
        font-size: 2rem;
    }
}

/* ckart */
.spine_section {
    padding: 160px 20px 160px;
    background: #fff;
    color: #111;
}

.spine_inner {
    max-width: 1400px;
    margin: 0 auto;
}

.spine_title_area {
    text-align: center;
}
.spine_title_left {
    text-align: left;
}

.spine_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.spine_title span {
    display: inline-block;
    margin-top: 16px;
    padding: 14px 28px 6px;
    background: #28b7ed;
    color: #fff;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 700;
}

.spine_title_sub {
    display: inline-block;
    margin-top: 45px;
    padding: 15px 35px;
    background: #28b7ed;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.25;
    font-weight: 700;
}

.spine_desc {
    margin: 70px 0 0;
    font-size: 20px;
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.spine_chart_box {
    max-width: 1240px;
    margin: 120px auto 0;
    padding: 120px 110px 70px;
    border-radius: 28px;
    background: #f6f8fd;
}

.spine_chart {
    position: relative;
}

.spine_chart_bars {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 90px;
    height: 340px;
    padding-top: 40px;
}

.spine_chart_item {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 230px;
    height: 100%;
}

.spine_bar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 0;
    overflow: hidden;
    border-radius: 24px 24px 0 0;
    background: #d7d7d7;
    transition: height 1s ease;
}

.spine_label {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    text-align: center;
    padding-top: 10px;
    font-size: 20px;
    font-weight: 500;
    color: rgba(179, 179, 179, 1);
}
.spine_chart_legend  {
    text-align: center;
    margin-bottom: 40px;
}
.spine_chart_legend span {
    display: inline-block;
    padding: 22px;
    font-size: 22px;
    font-weight: 700;
    width: 340px;
    color: #fff;
    background-color: rgba(37, 188, 255, 1);
    border-radius: 300px;
}

.spine_chart_item.active .spine_bar {
    background: linear-gradient(180deg, #2bbcff 0%, #15668d 100%);
}

.spine_bar span {
    color: rgba(255, 255, 255, 0.95);
    font-size: 20px;
    font-weight: 700;
}

.spine_chart_item:not(.active) .spine_bar span {
    color: #b5b5b5;
}

.spine_value {
    position: absolute;
    left: 50%;
    bottom: calc(var(--bar-height) + 28px);
    transform: translateX(-50%) translateY(12px);
    opacity: 0;
    color: #aaa;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
    white-space: nowrap;
    transition:
        opacity 0.5s ease,
        transform 0.5s ease;
    transition-delay: 1s;
}

.spine_chart_item.active .spine_value {
    min-width: 178px;
    padding: 16px 20px;
    border-radius: 30px;
    background: rgba(37, 188, 255, 1);
    color: #fff;
    font-size: 30px;
    text-align: center;
}

.spine_chart_item.active .spine_value::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -18px;
    transform: translateX(-50%);
    border-top: 20px solid rgba(37, 188, 255, 1);
    border-right: 16px solid transparent;
    border-left: 16px solid transparent;
}

.spine_chart_item.active .spine_label {
    color: var(--primary-dark);
    font-weight: 700;
}

.spine_chart_dot {
    position: absolute;
    width: 100%;
    text-align: center;
    top: 20%;
    z-index: 10;

    opacity: 0;
    transition: all 2s 0.5s;
    -webkit-transition: all 2s 0.5s;
}
.spine_chart_dot img {
    width: 80%;
    max-width: 660px;
}

.spine_chart_line {
    width: 100%;
    height: 2px;
    background: #cfd2d7;
}

.spine_chart_caption {
    display: block;
    margin-top: 34px;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;
    text-align: center;
}

.spine_chart_source {
    margin: 36px 0 0;
    color: #aaa;
    font-size: 13px;
    line-height: 1.4;
    text-align: right;
}

.spine_chart_item.active .spine_bar {
    color: #fff;
}

.spine_chart_box.is_active .spine_bar {
    height: var(--bar-height);
}

.spine_chart_box.is_active .spine_chart_dot {
    opacity: 1;;
}

.spine_chart_box.is_active .spine_value {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (max-width: 1200px) {
    .spine_chart_box {
        padding: 90px 60px 60px;
    }

    .spine_chart_bars {
        gap: 60px;
    }

    .spine_chart_item {
        width: 200px;
    }

    .spine_chart_dot {
        top: 25%;
    }
    .spine_chart_dot img {
        max-width: 540px;
    }
}

@media (max-width: 768px) {
    .spine_section {
        padding: 10rem 3rem;
    }

    .spine_title {
        font-size: 5rem;
    }

    .spine_title span {
        margin-top: 2rem;
        padding: 1.4rem 2rem 1rem;
        font-size: 4rem;
    }

    .spine_title_sub {
        font-size: 3rem;
        padding: 1.5rem 2rem;
        margin-top: 3rem;
    }

    .spine_desc {
        margin-top: 6rem;
        font-size: 2.4rem;
        line-height: 1.7;
    }

    .spine_chart_box {
        margin-top: 8rem;
        padding: 8rem 3rem 5rem;
        border-radius: 3rem;
    }

    .spine_chart {
        
    }
    .spine_label {
        font-size: 3rem;
    }
    .spine_chart_legend span {
        font-size: 3rem;
        width: 30rem;
        padding:2rem;
    }

    .spine_chart_bars {
        gap: 3rem;
        height: 34rem;
        padding-top: 4rem;
    }

    .spine_chart_item {
        width: calc((100% - 6rem) / 3);
    }

    .spine_bar {
        border-radius: 2rem 2rem 0 0;
    }

    .spine_bar span {
        font-size: 2.2rem;
    }

    .spine_value {
        bottom: calc(var(--bar-height) + 2.4rem);
        font-size: 2rem;
    }

    .spine_chart_item.active .spine_value {
        min-width: auto;
        padding: 1.4rem 1.6rem;
        font-size: 2.4rem;
    }

    .spine_chart_item.active .spine_value::after {
        bottom: -1.6rem;
        border-top-width: 1.8rem;
        border-right-width: 1.4rem;
        border-left-width: 1.4rem;
    }

    .spine_chart_caption {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .spine_chart_source {
        margin-top: 4rem;
        font-size: 1.8rem;
    }

    .spine_chart_dot img {
        width: 74%;
        transform: rotate(-5deg);
    }
}


.endoscope_check_section {
    position: relative;
    overflow: hidden;
    padding: 160px 0;
    background: #111;
    color: #fff;
}

.endoscope_check_bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.endoscope_check_bg::after {
    /* content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72); */
}

.endoscope_check_bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.endoscope_check_section .inner {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    margin: 0 auto;
}

.endoscope_check_head {
    margin-bottom: 110px;
    text-align: center;
}

.endoscope_check_head h2 {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin: 0;
    color: #fff;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
}

.endoscope_check_body {
    display: grid;
    grid-template-columns: 450px 1fr;
    align-items: center;
    gap: 120px;
}

.endoscope_check_img {
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 0 22px rgba(255, 255, 255, 0.28);
}

.endoscope_check_img img {
    display: block;
    width: 100%;
    aspect-ratio: 450 / 620;
    object-fit: cover;
}

.endoscope_check_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 52px 70px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.endoscope_check_list li {
    display: flex;
    align-items: center;
    gap: 24px;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0;
}

.endoscope_check_list li span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #29b8f2;
    color: #fff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
}

@media (max-width: 768px) {
    .endoscope_check_section {
        padding: 12rem 0;
    }

    .endoscope_check_section .inner {
        max-width: 100%;
        padding: 0 3rem;
    }

    .endoscope_check_head {
        margin-bottom: 8rem;
    }

    .endoscope_check_head h2 {
        gap: 2.2rem;
        font-size: 5rem;
        line-height: 1.35;
    }

    .endoscope_check_body {
        grid-template-columns: 1fr;
        gap: 7rem;
    }

    .endoscope_check_img {
        max-width: 50rem;
        margin: 0 auto;
        border-radius: 2rem;
    }

    .endoscope_check_list {
        grid-template-columns: 1fr 1fr;
        gap: 4rem 3rem;
        max-width: 80%;
        margin: 0 auto;
    }

    .endoscope_check_list li {
        gap: 2rem;
        font-size: 2.8rem;
    }

    .endoscope_check_list li span {
        flex-basis: 4.2rem;
        width: 4.2rem;
        height: 4.2rem;
        font-size: 2.8rem;
    }
}

.ankle_section {
    padding: 160px 20px;
    background: #f5f7fc;
    color: #111;
}

.ankle_inner {
    max-width: 1200px;
    margin: 0 auto;
}

.ankle_title_area {
    text-align: center;
}

.ankle_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.ankle_desc {
    margin: 28px 0 0;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.ankle_list {
    display: flex;
    flex-direction: column;
    gap: 34px;
    max-width: 1180px;
    margin: 90px auto 0;
}

.ankle_item {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: center;
    gap: 42px;
    min-height: 210px;
    padding: 0 90px 0 0;
    border-radius: 500px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(31, 45, 70, 0.06);
}

.ankle_thumb {
    width: 265px;
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: 50%;
    background: #eef8fb;
}

.ankle_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.ankle_content img {
    width: 33px;
    margin-bottom: 10px;
}

.ankle_content h3 {
    margin: 0;
    font-size: 28px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: -0.04em;
    font-family: var(--font-family);
}

.ankle_content p {
    margin: 14px 0 0;
    font-size: 24px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.ankle_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 20px;
    margin: 20px 0 0;
    border-top: 1px solid #d8d8d8;
    list-style: none;
}

.ankle_tag_list li {
    padding: 5px 15px 6px;
    border: 2px solid #11a7f5;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: -0.04em;
}

@media (max-width: 1200px) {
    .ankle_section {
        padding: 140px 20px;
    }

    .ankle_list {
        max-width: 940px;
    }

    .ankle_item {
        grid-template-columns: 240px minmax(0, 1fr);
        gap: 36px;
        padding-right: 60px;
    }

    .ankle_thumb {
        width: 240px;
    }

    .ankle_content p {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .ankle_section {
        padding: 15rem 3rem;
    }

    .ankle_title {
        font-size: 5rem;
    }

    .ankle_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .ankle_list {
        gap: 4rem;
        margin-top: 7rem;
    }

    .ankle_item {
        display: flex;
        flex-direction: column;
        gap: 0;
        min-height: 0;
        padding: 4rem 3rem;
        border-radius: 4rem;
    }

    .ankle_thumb {
        width: 36rem;
        max-width: 100%;
    }

    .ankle_content {
        width: 100%;
        margin-top: 5rem;
    }

    .ankle_content img {
        display: block;
        width: 4rem;
        margin: 0 auto 2rem;
    }

    .ankle_content h3 {
        font-size: 3.2rem;
        text-align: center;
    }

    .ankle_content p {
        margin-top: 2rem;
        font-size: 2.4rem;
        line-height: 1.6;
        text-align: center;
    }
    
    .ankle_tag_list {
        margin-top: 3rem;
        padding-top: 3rem;
        justify-content: center;
        gap: 1.2rem;
    }

    .ankle_tag_list li {
        padding: 0.8rem 1.8rem 0.9rem;
        border-width: 0.2rem;
        font-size: 2rem;
    }
}


.solution_section {
    padding: 140px 20px 180px;
    color: #111;
}

.solution_inner {
    max-width: 1180px;
    margin: 0 auto;
}

.solution_title_area {
    text-align: center;
}

.solution_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.solution_title span {
    color: #10a9ee;
}

.solution_desc {
    margin: 24px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.03em;
}

.solution_list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 90px;
}

.solution_item {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 36px;
}

.solution_thumb {
    flex: 1;
    position: relative;
    overflow: hidden;
    border-radius: 20px;
    background: #e9eef5;
}

.solution_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.solution_num {
    position: absolute;
    top: 34px;
    left: 34px;
    z-index: 1;
    color: #fff;
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
}

.solution_card {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: 12px;
    background: #fff;
}

.solution_card_head {
    flex: 1;
    padding: 34px 34px 38px;
    background: #1da4d9;
    color: #fff;
}

.solution_card_head span {
    display: block;
    font-size: 24px;
    line-height: 2.5;
    font-weight: 500;
}

.solution_card_head h3 {
    font-size: 30px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    font-family: inherit;
}

.solution_card_head p {
    font-size: 20px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.03em;
    margin-top: 10px;
}

.solution_card_body {
    flex: 1;
    padding: 34px;
}

.solution_card_body strong {
    display: block;
    font-size: 26px;
    line-height: 1.6;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.solution_card_body em {
    color: #08a6ec;
    font-style: normal;
}

.solution_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 0;
    padding: 0;
    list-style: none;
}

.solution_tag_list li {
    padding: 5px 13px 6px;
    border: 1px solid #0fa7ef;
    border-radius: 999px;
    font-size: 15px;
    line-height: 1.3;
    letter-spacing: -0.04em;
}

.solution_card.simple {
    justify-content: center;
}

.solution_card.simple .solution_card_head {
    height: 100%;
}

@media (max-width: 1200px) {
    .solution_section {
        padding: 120px 20px 150px;
    }

    .solution_inner {
        max-width: 920px;
    }
}

@media (max-width: 768px) {
    .solution_section {
        padding: 10rem 3rem 12rem;
    }

    .solution_title {
        font-size: 5rem;
    }

    .solution_desc {
        margin-top: 2.4rem;
        font-size: 2.2rem;
    }

    .solution_list {
        gap: 5rem;
        margin-top: 7rem;
    }

    .solution_item {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .solution_thumb {
        flex: inherit;
        border-radius: 2rem;
    }

    .solution_num {
        top: 3rem;
        left: 3rem;
        font-size: 3rem;
    }

    .solution_card {
        border-radius: 2rem;
    }

    .solution_card_head {
        padding: 4rem 3rem;
    }

    .solution_card_head span {
        font-size: 2.2rem;
    }

    .solution_card_head h3 {
        margin-top: 1.2rem;
        font-size: 3.4rem;
    }

    .solution_card_head p {
        margin-top: 2rem;
        font-size: 2.2rem;
    }

    .solution_card_body {
        padding: 4rem 3rem;
    }

    .solution_card_body strong {
        font-size: 2.8rem;
    }

    .solution_tag_list {
        gap: 1.2rem;
        margin-top: 3rem;
    }

    .solution_tag_list li {
        padding: 0.8rem 1.6rem 0.9rem;
        font-size: 1.8rem;
    }
}

.joint_section {
    padding: 150px 20px 170px;
    color: #111;
}

.joint_inner {
    max-width: 1380px;
    margin: 0 auto;
}

.joint_title_area {
    text-align: center;
}

.joint_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.joint_desc {
    margin: 34px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.joint_content {
    display: grid;
    grid-template-columns: minmax(0, 640px) minmax(0, 1fr);
    align-items: center;
    gap: 110px;
    margin-top: 100px;
}

.joint_thumb {
    overflow: hidden;
    border-radius: 14px;
    background: #d9e4f0;
}

.joint_thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.07;
    object-fit: cover;
}

.joint_list {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.joint_list li {
    position: relative;
    padding-left: 56px;
}

.joint_list li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 3px solid #1caeea;
    border-radius: 50%;
    color: #1caeea;
    font-size: 19px;
    line-height: 1;
    font-weight: 800;
}

.joint_list strong {
    display: block;
    font-size: 28px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.joint_list p {
    margin: 20px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 400;
    letter-spacing: -0.04em;
}

@media (max-width: 1200px) {
    .joint_content {
        align-items: stretch;
        grid-template-columns: minmax(0, 540px) minmax(0, 1fr);
        gap: 70px;
    }

    .joint_list {
        gap: 38px;
    }

    .joint_list strong {
        font-size: 24px;
    }

    .joint_list p {
        font-size: 19px;
    }
}

@media (max-width: 768px) {
    .joint_section {
        padding: 10rem 3rem 12rem;
    }

    .joint_title {
        font-size: 5rem;
    }

    .joint_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .joint_content {
        display: flex;
        flex-direction: column;
        gap: 6rem;
        margin-top: 7rem;
    }

    .joint_thumb {
        width: 100%;
        border-radius: 2rem;
    }

    .joint_list {
        gap: 5rem;
    }

    .joint_list li {
        padding-left: 5.6rem;
    }

    .joint_list li::before {
        top: 0.4rem;
        width: 3.4rem;
        height: 3.4rem;
        border-width: 0.3rem;
        font-size: 2.2rem;
    }

    .joint_list strong {
        font-size: 3rem;
    }

    .joint_list p {
        margin-top: 2rem;
        font-size: 2.4rem;
    }
}

.joint_timing_section {
    padding: 150px 20px 180px;
    color: #111;
}

.joint_timing_inner {
    max-width: 1200px;
    margin: 0 auto;
}

.joint_timing_title_area {
    text-align: center;
}

.joint_timing_eyebrow {
    margin: 0 0 60px;
    color: #0b3f6a;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: 1em;
}

.joint_timing_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.joint_timing_title span {
    color: #10a9ee;
}

.joint_timing_desc {
    margin: 60px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.joint_timing_content {
    margin-top: 100px;
}

.joint_timing_sub_title {
    margin: 0;
    font-size: 36px;
    line-height: 1.4;
    font-weight: 500;
    font-family: var(--font-family);
    letter-spacing: -0.04em;
    text-align: center;
}

.joint_timing_list {
    display: flex;
    flex-direction: column;
    gap: 36px;
    margin-top: 30px;
}

.joint_timing_item {
    display: grid;
    grid-template-columns: 287px minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
}

.joint_timing_thumb {
    position: relative;
    overflow: hidden;
    border-radius: 14px;
    background: #e9eef5;
}

.joint_timing_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 287px;
    object-fit: cover;
}

.joint_timing_thumb strong {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 18px 20px;
    background: #23b5ee;
    color: #fff;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 800;
    text-align: center;
    letter-spacing: -0.04em;
}

.joint_timing_card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 44px;
    border-radius: 14px;
    background: #fff;
}

.joint_timing_num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #e4f7ff;
    color: #0b5d87;
    font-size: 20px;
    line-height: 1;
    font-weight: 800;
    margin-bottom: 26px;
}

.joint_timing_card p {
    padding-bottom: 25px;
    border-bottom: 1px solid #d5d5d5;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: -0.04em;
}

.joint_timing_tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
    counter-reset: item;
}

.joint_timing_tag_list li {
    flex-shrink: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 7px;
    counter-increment: item;

    font-size: 24px;
    font-weight: 500;

    &::before {
        flex-shrink: 0;
        content: counter(item);
        border-radius: 50%;
        background-color: var(--primary2);
        color: #fff;
        
        font-size: 24px;
        font-weight: 700;
        width: 30px;
        height: 30px;
        line-height: 30px;
        text-align: center;
    }
}

.visible_text {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

@media (max-width: 1200px) {
    .joint_timing_section {
        padding: 130px 20px 150px;
    }

    .joint_timing_inner {
        max-width: 980px;
    }

    .joint_timing_item {
        grid-template-columns: 320px minmax(0, 1fr);
    }

    .joint_timing_card {
        padding: 30px 34px;
    }

    .joint_timing_card p {
        font-size: 18px;
    }

    .joint_timing_tag_list li {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .joint_timing_section {
        padding: 10rem 3rem 12rem;
    }

    .joint_timing_eyebrow {
        margin-bottom: 4rem;
        font-size: 1.8rem;
        letter-spacing: 0.35em;
    }

    .joint_timing_title {
        font-size: 5rem;
    }

    .joint_timing_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .joint_timing_content {
        margin-top: 8rem;
    }

    .joint_timing_sub_title {
        font-size: 3.6rem;
    }

    .joint_timing_list {
        gap: 5rem;
        margin-top: 5rem;
    }

    .joint_timing_item {
        display: flex;
        flex-direction: column;
        gap: 2rem;
    }

    .joint_timing_thumb {
        border-radius: 2rem;
    }

    .joint_timing_thumb img {
        min-height: 42rem;
    }

    .joint_timing_thumb strong {
        padding: 2rem;
        font-size: 3rem;
    }

    .joint_timing_card {
        padding: 4rem 3rem;
        border-radius: 2rem;
    }

    .joint_timing_num {
        width: 5rem;
        height: 5rem;
        font-size: 2.4rem;
    }

    .joint_timing_card p {
        margin-top: 3rem;
        padding-bottom: 3rem;
        font-size: 2.4rem;
    }

    .joint_timing_tag_list {
        gap: 1.2rem;
        margin-top: 2.4rem;
    }

    .joint_timing_tag_list li {
        padding: 0.9rem 1.8rem 1rem;
        border-width: 0.2rem;
        font-size: 2rem;
    }
}

.ligament_repair_section {
    padding: 150px 20px 160px;
    background: #fff;
    color: #111;
}

.ligament_repair_inner {
    max-width: 1000px;
    margin: 0 auto;
}

.ligament_repair_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
}
.ligament_repair_desc {
    font-size: 24px;
    text-align: center;
    margin-top: 50px;
    line-height: 1.5;
}

.ligament_repair_list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 120px auto 0;
}

.ligament_repair_item {
    display: grid;
    grid-template-columns: 295px minmax(0, 1fr);
    align-items: center;
    gap: 46px;
}

.ligament_repair_thumb {
    overflow: hidden;
    border-radius: 14px;
    background: #eef2f5;
}

.ligament_repair_thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 1.39 / 1;
    object-fit: cover;
}

.ligament_repair_content {
    position: relative;
}

.ligament_repair_content::before {
    content: "";
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background-image: url(../img/icon/check-circle.jpg);
    background-size: contain;
    color: #1caeea;
    font-size: 19px;
    line-height: 1;
    font-weight: 800;
    margin-bottom: 10px;
}

.ligament_repair_content strong {
    display: block;
    font-size: 28px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.ligament_repair_content p {
    margin: 20px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

@media (max-width: 1200px) {
    .ligament_repair_section {
        padding: 130px 20px 140px;
    }

    .ligament_repair_list {
        max-width: 740px;
    }
}

@media (max-width: 768px) {
    .ligament_repair_section {
        padding: 10rem 3rem 12rem;

        & > .inner {
            padding: 0;
        }
    }

    .ligament_repair_title {
        font-size: 5rem;
    }
    .ligament_repair_desc  {
        font-size: 2.4rem;
        margin-top: 4rem;
    }

    .ligament_repair_list {
        gap: 5rem;
        margin-top: 7rem;
    }

    .ligament_repair_item {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0rem;
    }

    .ligament_repair_thumb {
        width: 100%;
        border-radius: 2rem;
    }

    .ligament_repair_content {
        padding: 3rem;
    }

    .ligament_repair_content::before {
        top: 0.4rem;
        width: 3.4rem;
        height: 3.4rem;
        border-width: 0.3rem;
        font-size: 2.2rem;
    }

    .ligament_repair_content strong {
        font-size: 3rem;
    }

    .ligament_repair_content p {
        margin-top: 2rem;
        font-size: 2.4rem;
    }
}

.cartilage_section {
    padding: 150px 20px 170px;
    background: #fff;
    color: #111;
}

.cartilage_inner {
    max-width: 1500px;
    margin: 0 auto;
}
.cartilage_inner + .cartilage_inner {
    margin-top: 160px;
}

.cartilage_title_area {
    text-align: center;
}

.cartilage_title {
    margin: 0;
    font-size: 46px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.cartilage_desc {
    margin: 34px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.cartilage_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 38px;
    margin: 100px 0 0;
    padding: 0;
    list-style: none;
}

.cartilage_list_4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 40px;

    & .cartilage_item p {
        font-size: 28px;
        font-weight: 400;
        color: var(--black);
    }
}

.cartilage_item {
    overflow: hidden;
    border: 1px solid #d8d8d8;
    background: #fff;
}

.cartilage_item img {
    display: block;
    width: 100%;
    aspect-ratio: 1.45 / 1;
    object-fit: cover;
}

.cartilage_item p {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 128px;
    margin: 0;
    padding: 24px 20px;
    color: #17a8df;
    font-size: 26px;
    line-height: 1.45;
    font-weight: 800;
    text-align: center;
    letter-spacing: -0.04em;
}

@media (max-width: 1200px) {
    .cartilage_section {
        padding: 130px 20px 150px;
    }

    .cartilage_list {
        gap: 24px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cartilage_item p {
        min-height: 110px;
        font-size: 24px;
    }
}

@media (max-width: 768px) {
    .cartilage_section {
        padding: 10rem 3rem 12rem;
    }

    .cartilage_title {
        font-size: 5rem;
    }

    .cartilage_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .cartilage_list {
        overflow: auto;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        gap: 4rem;
        margin-top: 7rem;
    }

    .cartilage_list_4 {
        gap: 2rem;

        & .cartilage_item p {
            font-size: 3rem
        }
    }

    .cartilage_item {
        flex-shrink: 0;
        width: 80%;
    }
    .cartilage_item img {
        aspect-ratio: 1.45 / 1;
    }

    .cartilage_item p {
        min-height: auto;
        padding: 3rem 2rem;
        font-size: 3rem;
    }
}

.cartilage_type_section {
    padding: 150px 20px 170px;
    background: #fff;
    color: #111;
}

.cartilage_type_inner {
    max-width: 1500px;
    margin: 0 auto;
}

.cartilage_type_title_area {
    text-align: center;
}

.cartilage_type_eyebrow {
    margin: 0 0 70px;
    color: #b8b8b8;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: -0.04em;
}
.cartilage_type_num {
    font-size: 22px;
    line-height: 3em;
    text-decoration: underline;
    text-underline-position: under;
}

.cartilage_type_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.cartilage_type_desc {
    margin: 34px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.cartilage_type_grid {
    display: flex;
    align-items: flex-start;
    gap: 28px;
    margin-top: 110px;
}

.cartilage_type_col {
    display: flex;
    flex-direction: column;
    gap: 28px;
    width: calc((100% - 28px) / 2);
}

.cartilage_type_col_left {
    padding-top: 260px;
}

.cartilage_type_card {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 480px;
    overflow: hidden;
    border-radius: 20px;
    background: #111;
}

.cartilage_type_card img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cartilage_type_content {
    position: relative;
    z-index: 1;
    padding: 58px 56px;
    color: #fff;
}

.cartilage_type_content h3 {
    margin: 0;
    font-size: 34px;
    line-height: 1.35;
    font-family: var(--font-family);
    font-weight: 800;
    letter-spacing: -0.04em;
}

.cartilage_type_content p {
    margin: 25px 0 0;
    font-size: 18px;
    line-height: 1.75;
    font-weight: 500;
    letter-spacing: -0.04em;
}

@media (max-width: 1200px) {
    .cartilage_type_section {
        padding: 130px 20px 150px;
    }

    .cartilage_type_inner {
        max-width: 1100px;
    }

    .cartilage_type_col_left {
        padding-top: 200px;
    }

    .cartilage_type_card {
        height: 450px;
    }

    .cartilage_type_content {
        padding: 46px 40px;
    }

    .cartilage_type_content h3 {
        font-size: 30px;
    }

    .cartilage_type_content p {
        font-size: 17px;
    }
}

@media (max-width: 1024px) {
    .cartilage_type_grid { flex-direction: column; align-items: stretch; }
    .cartilage_type_col { width: 100%; }
    .cartilage_type_col_left { padding: 0; }
}

@media (max-width: 768px) {
    .cartilage_type_section {
        padding: 10rem 3rem 12rem;
    }

    .cartilage_type_eyebrow {
        margin-bottom: 5rem;
        font-size: 2.2rem;
    }

    .cartilage_type_num {
        font-size: 2.2rem;
    }

    .cartilage_type_title {
        font-size: 5rem;
    }

    .cartilage_type_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .cartilage_type_grid {
        flex-direction: column;
        gap: 3rem;
        margin-top: 7rem;
    }

    .cartilage_type_col {
        gap: 3rem;
        width: 100%;
    }

    .cartilage_type_col_left {
        padding-top: 0;
    }

    .cartilage_type_card {
        height: 56rem;
        border-radius: 2rem;
    }

    .cartilage_type_content {
        padding: 4rem 3rem;
    }

    .cartilage_type_content h3 {
        font-size: 3.4rem;
    }

    .cartilage_type_content p {
        margin-top: 2.4rem;
        font-size: 2.2rem;
    }
}


.stem_process_section {
    padding: 150px 20px 170px;
    background: #fff;
    color: #111;
}

.stem_process_inner {
    max-width: 1440px;
    margin: 0 auto;
}

.stem_process_title_area {
    text-align: center;
}

.stem_process_eyebrow {
    margin: 0 0 74px;
    color: #b8b8b8;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.stem_process_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.stem_process_desc {
    margin: 54px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.stem_process_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px 25px;
    margin: 120px 0 0;
    padding: 0;
    list-style: none;
}

.stem_process_list_4 .stem_process_item {
    width: calc((100% - 76px) / 4);
}

.stem_process_item {
    position: relative;
    width: calc((100% - 76px) / 3);
    max-width: 360px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background: #111;
}

.stem_process_item::after {
    content: "";
    position: absolute;
    inset: 0;
}

.stem_process_item img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stem_process_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 62px 36px 70px;
    color: #fff;
    text-align: center;
}

.stem_process_content span {
    display: block;
    font-size: 30px;
    line-height: 1;
    font-weight: 800;
}

.stem_process_content p {
    margin: 0;
    font-size: 20px;
    line-height: 1.55;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.stem_process_content mark {
    display: inline;
    padding: 0 6px;
    background: linear-gradient(transparent 48%, rgba(230, 255, 87, 0.4) 48%);
    color: inherit;
}

@media (max-width: 1200px) {
    .stem_process_section {
        padding: 130px 20px 150px;
    }

    .stem_process_inner {
        max-width: 1100px;
    }

    .stem_process_list {
        gap: 42px 28px;
    }

    .stem_process_list_4 {
        flex-wrap: wrap;
    }
    .stem_process_list_4 .stem_process_item {
        width: 340px;
    }

    .stem_process_item {
        width: calc((100% - 56px) / 3);
    }

    .stem_process_content {
        padding: 52px 30px 60px;
    }

    .stem_process_content p {
        font-size: 20px;
    }
}

@media (max-width: 1024px) {
    .stem_process_list { flex-wrap: wrap; }
    .stem_process_item { min-width: 320px; }
}

@media (max-width: 768px) {
    .stem_process_section {
        padding: 10rem 3rem 12rem;
    }

    .stem_process_eyebrow {
        margin-bottom: 5rem;
        font-size: 2.2rem;
    }

    .stem_process_title {
        font-size: 5rem;
    }

    .stem_process_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .stem_process_list {
        overflow: auto;
        flex-wrap: nowrap;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        gap: 4rem;
        margin-top: 7rem;
    }

    .stem_process_item {
        flex-shrink: 0;
        width: 80%;
        max-width: 58rem;
        min-width: auto;
    }

    .stem_process_content {
        padding: 7rem 4rem 8rem;
    }

    .stem_process_content span {
        font-size: 3.6rem;
    }

    .stem_process_content p {
        font-size: 2.8rem;
    }

    .text_m_normal pre {
        white-space: normal !important;
    }
}


.osteotomy_section {
    padding: 150px 20px 170px;
    background: #fff;
    color: #111;
}

.osteotomy_inner {
    max-width: 1380px;
    margin: 0 auto;
}

.osteotomy_title_area {
    text-align: center;
}

.osteotomy_eyebrow {
    margin: 0 0 70px;
    color: #b8b8b8;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.osteotomy_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.osteotomy_desc {
    margin: 54px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.osteotomy_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 38px;
    margin: 110px 0 0;
    padding: 0;
    list-style: none;
}

.osteotomy_list2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 762px;
    margin-left: auto;
    margin-right: auto;

    .osteotomy_content h3 {
        font-size: 28px;
        padding: 15px 0;
    }
    .osteotomy_thumb img {
        aspect-ratio: 1/1;
    }
}

.osteotomy_list4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;

    & .osteotomy_thumb img {
        aspect-ratio: 1/1;
    }
    .osteotomy_content h3 {
        margin: 0 auto;
        line-height: 2;
        color: var(--primary2);
        * {
            font-family: var(--font-family);
        }
    }
    .osteotomy_content p {
        margin: auto 0;
    }
}

.osteotomy_list4.flexable {
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-wrap: wrap;

    & > li {
        flex: 0 1 calc((100% / 4) - 66px);
    }

    & img {
        margin: -1px;
    }

    .osteotomy_content {
        border-top: 1px solid #d8d8d8;
    }
}

.osteotomy_item {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d8d8d8;
    background: #fff;
}

.osteotomy_thumb {
    flex-shrink: 0;
    overflow: hidden;
    background: #eef2f5;
}

.osteotomy_thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 1.45 / 1;
    object-fit: cover;
}

.osteotomy_content {
    flex-grow: 1;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    padding: 20px 25px;
    text-align: center;
    color: #000;
}

.osteotomy_content h3 {
    font-family: var(--font-family);
    margin: 0;
    color: #17a8df;
    font-size: 30px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -0.04em;
    margin: auto;
}

.osteotomy_content h5 {
    font-family: var(--font-family);
    margin: 0;
    color: #17a8df;
    font-size: 22px;
    line-height: 2;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.osteotomy_content p {
    margin: 10px 0 0;
    font-size: 20px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.04em;
}

@media (max-width: 1280px) {
    .osteotomy_section {
        padding: 130px 20px 150px;
    }

    .osteotomy_list {
        gap: 24px;
    }

    .osteotomy_content {
        padding: 20px 15px;
    }

    .osteotomy_content h3 {
        font-size: 20px;
    }

    .osteotomy_content p {
        font-size: 14px;
    }
}

@media (max-width: 768px) {
    .osteotomy_section {
        padding: 10rem 3rem 12rem;
    }

    .osteotomy_eyebrow {
        margin-bottom: 5rem;
        font-size: 2.2rem;
    }

    .osteotomy_title {
        font-size: 5rem;
    }

    .osteotomy_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .osteotomy_list {
        grid-template-columns: 1fr;
        gap: 4rem;
        margin-top: 7rem;
    }

    .osteotomy_list.flexable {
        flex-direction: column;
        flex-wrap: nowrap;

        & > li {
            flex: 0 1 100%;
        }
    }

    .osteotomy_thumb img {
        aspect-ratio: 1.45 / 1;
    }

    .osteotomy_content {
        min-height: auto;
        padding: 4rem 3rem 5rem;
    }

    .osteotomy_content h3 {
        font-size: 3.4rem;
    }

    .osteotomy_content h5 {
        font-size: 3.4rem;
    }

    .osteotomy_content p {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .osteotomy_list2 {
        max-width: 1005;

        .osteotomy_content h3 {
            font-size: 3.4rem;
            padding: 0;
        }
    }
}


.recovery_section {
    padding: 150px 20px 170px;
    color: #111;
}

.recovery_inner {
    max-width: 1200px;
    margin: 0 auto;
}

.recovery_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
}

.recovery_timeline {
    margin-top: 130px;
}

.recovery_time_list {
    display: flex;
    justify-content: space-between;
    padding: 0 0 24px;
    font-size: 18px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.04em;
}
.recovery_time_list span:first-child {
    width: 15%;
}

.recovery_bar {
    height: 16px;
    border-radius: 999px;
    background: linear-gradient(90deg, #21b8ef 0%, #0a4168 100%);
}

.recovery_list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 47px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.recovery_item {
    flex: 1;
    position: relative;
    width: 330px;
    padding-top: 100px;
}
.recovery_item:last-child {
    margin-right: 5.5%;
}

.recovery_item:nth-child(1) { z-index: 3;}
.recovery_item:nth-child(2) { z-index: 2;}
.recovery_item:nth-child(3) { z-index: 1;}

.recovery_card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    justify-content: space-between;
    min-height: 260px;
    padding: 42px 0px;
    background: #fff;
    text-align: center;
    padding-left: 20%;
}

.recovery_card::before,
.recovery_card::after {
    content: "";
    position: absolute;
    top: 0;
    height: 100%;
    width: 20%;
    background: #F7F8FC;
    clip-path: polygon(
        0 0,
        100% 50%,
        0 100%
    );
}
.recovery_card::before {
    left: 0;
    z-index: -1;
}
.recovery_card::after {
    left: 100%;
    background: #fff;
    z-index: 1;
}

.recovery_card img {
    display: block;
    width: 80px;
    height: 80px;
    object-fit: contain;
    margin-bottom: 17px;
}

.recovery_card p {
    font-size: 20px;
    line-height: 1.45;
    font-weight: 500;
    letter-spacing: -0.04em;
    margin: auto 0;
}

@media (max-width: 1200px) {
    .recovery_section {
        padding: 130px 20px 150px;
    }

    .recovery_list {
        gap: 40px;
    }

    .recovery_item {
        width: 300px;
    }

    .recovery_card p {
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .recovery_section {
        padding: 10rem 3rem 12rem;
    }

    .recovery_title {
        font-size: 5rem;
    }

    .recovery_timeline {
        display: grid;
        grid-template-columns: 12rem 1.2rem minmax(0, 1fr);
        column-gap: 2.4rem;
        align-items: stretch;
        margin-top: 7rem;
        overflow: visible;
        padding-bottom: 0;
    }

    .recovery_timeline::-webkit-scrollbar {
        height: 0rem;
    }

    .recovery_timeline::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0.2);
        border-radius: 99.9rem;
    }

    .recovery_time_list {
        grid-column: 1;
        grid-row: 1;
        flex-direction: column;
        text-align: right;
        width: auto;
        padding: 0;
        font-size: 2.2rem;
    }
    .recovery_time_list span:first-child {
        width: auto;
        height: 18%;
    }


    .recovery_bar {
        grid-column: 2;
        grid-row: 1;
        width: 1.2rem;
        height: auto;
        min-height: 100%;
        background: linear-gradient(180deg, #21b8ef 0%, #0a4168 100%);
    }

    .recovery_list {
        grid-column: 3;
        grid-row: 1;
        flex-direction: column;
        width: auto;
        gap: 4rem;
        margin-top: 0;
        margin-bottom: 5rem;
    }

    .recovery_item {
        flex: none;
        width: 100%;
        padding: 0;
    }

    .recovery_card::before,
    .recovery_card::after {
        left: 0;
        width: 100%;
        height: 5rem;
        clip-path: polygon(
            0 0,
            100% 0,
            50% 100%
        );
    }
    .recovery_card::after {
        top: 100%;
    }

    .recovery_card {
        min-height: 28rem;
        padding: 9rem 3rem 2rem;
        border-radius: 2rem;
    }

    .recovery_card img {
        width: 8rem;
        height: 8rem;
    }

    .recovery_card p {
        margin-top: 3rem;
        font-size: 2.4rem;
    }
}
.knee_solution_section {
    padding: 150px 20px 170px;
    background: #fff;
    color: #111;
}

.knee_solution_inner {
    max-width: 1500px;
    margin: 0 auto;
}

.knee_solution_title_area {
    text-align: center;
}

.knee_solution_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.knee_solution_title span {
    color: #17a8df;
}

.knee_solution_desc {
    margin: 54px 0 0;
    font-size: 24px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.knee_solution_scroll {
    margin-top: 110px;
}

.knee_solution_map {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 42px;
}

.knee_solution_row {
    position: relative;
    display: grid;
    grid-template-columns: 22% 22% 22%;
    justify-content: space-between;
    align-items: center;
}

.knee_solution_row::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 140px;
    right: 140px;
    height: 4px;
    background: #086789;
    transform: translateY(-50%);
}

.knee_solution_node {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: ;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border-radius: 50%;
    background: #111;
}

.knee_solution_node img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.knee_solution_node p,
.knee_solution_node div,
.knee_solution_node strong {
    position: relative;
    z-index: 1;
}

.knee_solution_node.symptom {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    color: #fff;
    text-align: center;
}

.knee_solution_node.symptom p {
    margin: 0;
    font-size: 18px;
    line-height: 1.65;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.knee_solution_node.check {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px;
    color: #fff;
    text-align: center;
}

.knee_solution_node.check strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 8px 18px;
    border: 2px solid rgba(255, 255, 255, 0.9);
    border-radius: 999px;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 500;
}

.knee_solution_node.check p {
    margin: 22px 0 0;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.knee_solution_node.result {
    overflow: visible;
    color: #fff;
    text-align: center;
}

.knee_solution_node.result img,
.knee_solution_node.result::after {
    border-radius: 50%;
}

.knee_solution_node.result p {
    position: absolute;
    top: 48px;
    left: 28px;
    right: 28px;
    margin: 0;
    font-size: 20px;
    line-height: 1.45;
    font-weight: 800;
    letter-spacing: -0.04em;
}

.knee_solution_node.result strong {
    position: absolute;
    left: 50%;
    bottom: 26px;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: column;
    width: 340px;
    height: 75px;
    padding: 8px 20px;
    border-radius: 999px;
    background: #073f68;
    font-size: 24px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -0.04em;
    transform: translateX(-50%);
}

.knee_solution_node.result strong span {
    display: block;
    margin-top: 4px;
    font-size: 16px;
    line-height: 1.35;
    font-weight: 700;
}

.knee_solution_row.row_middle {
    grid-template-columns: 22% 22% 22% 22%;
}

.knee_solution_row.row_middle::before {
    left: 140px;
    right: 140px;
}

.knee_solution_row.row_middle::after {
    content: "";
    position: absolute;
    top: 180px;
    left: 140px;
    width: 4px;
    height: 100%;
    background: #086789;
}

.knee_solution_row.row_bottom {
    grid-template-columns: 280px 280px;
    justify-content: end;
    gap: calc(50% - 420px);
}

.knee_solution_row.row_bottom::before {
    right: 140px;
    left: 140px;
}

.knee_solution_row.row_last {
    grid-template-columns: 280px;
    justify-content: end;
    padding-right: 0;
}

.knee_solution_row.row_last::before {
    left: 50%;
    width: 50%;
}

.knee_solution_row.row_last::after {
    content: "";
    position: absolute;
    bottom: 50%;
    right: 50%;
    width: 4px;
    height: 100%;
    background: #086789;
}

@media (max-width: 1200px) {
    .knee_solution_section {
        padding: 130px 20px 150px;
    }

    .knee_solution_inner {
        max-width: 1100px;
    }

    .knee_solution_row {
        grid-template-columns: 240px 240px 240px;
    }

    .knee_solution_row.row_middle {
        grid-template-columns: 240px 240px 240px 240px;
    }

    .knee_solution_row.row_bottom {
        grid-template-columns: 240px 240px;
        gap: calc(50% - 360px);
    }

    .knee_solution_row.row_last {
        grid-template-columns: 240px;
    }

    .knee_solution_node {
        width: 240px;
    }

    .knee_solution_row::before,
    .knee_solution_row.row_middle::before {
        left: 120px;
        right: 120px;
    }

    .knee_solution_row.row_middle::after {
        top: 150px;
        left: 120px;
        width: 4px;
        height: 240px;
    }

    .knee_solution_row.row_bottom::before {
        left: 120px;
        right: 120px;
    }

    .knee_solution_row.row_last::after {
        width: 4px;
        height: 170px;
    }

    .knee_solution_node.symptom p {
        font-size: 15px;
    }

    .knee_solution_node.result p {
        top: 40px;
        font-size: 18px;
    }

    .knee_solution_node.result strong {
        bottom: 22px;
        width: 240px;
        font-size: 20px;
    }
}

@media (max-width: 1024px) and (min-width: 769px) {
    .knee_solution_scroll {
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 20px;
    }

    .knee_solution_scroll::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    .knee_solution_map {
        width: 1160px;
        gap: 32px;
    }

    .knee_solution_row {
        grid-template-columns: 240px 240px 240px;
    }

    .knee_solution_row.row_middle {
        grid-template-columns: 240px 240px 240px 240px;
    }

    .knee_solution_row.row_bottom {
        grid-template-columns: 240px 240px;
        gap: 280px;
    }

    .knee_solution_row.row_last {
        grid-template-columns: 240px;
    }

    .knee_solution_node {
        width: 240px;
    }

    .knee_solution_row::before,
    .knee_solution_row.row_middle::before {
        left: 120px;
        right: 120px;
    }

    .knee_solution_row.row_middle::after {
        top: 150px;
        left: 120px;
        width: 4px;
        height: 240px;
    }

    .knee_solution_row.row_bottom::before {
        left: 120px;
        right: 120px;
    }

    .knee_solution_row.row_last::after {
        width: 4px;
        height: 170px;
    }

    .knee_solution_node.symptom p {
        font-size: 15px;
    }

    .knee_solution_node.check strong {
        font-size: 17px;
    }

    .knee_solution_node.check p {
        font-size: 14px;
    }

    .knee_solution_node.result p {
        font-size: 17px;
    }

    .knee_solution_node.result strong {
        width: 240px;
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .knee_solution_section {
        padding: 10rem 0 12rem;
    }

    .knee_solution_title_area {
        padding: 0 3rem;
    }

    .knee_solution_title {
        font-size: 5rem;
    }

    .knee_solution_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .knee_solution_scroll {
        margin-top: 7rem;
        overflow-x: auto;
        overflow-y: hidden;
        padding: 0 3rem 2rem;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }
    .knee_solution_scroll::-webkit-scrollbar {
        width: 0;
        height: 0;
    }


    .knee_solution_map {
        width: 100%;
        gap: 4rem;
    }

    .knee_solution_row {
        gap: 1rem;
        grid-template-columns: 17rem 17rem 17rem;
    }

    .knee_solution_row.row_middle {
        grid-template-columns: 17rem 17rem 17rem 17rem;
    }
    .knee_solution_row.row_bottom {
        grid-template-columns: 17rem 17rem;
        gap: 1rem;
    }

    .knee_solution_row.row_last {
        grid-template-columns: 17rem;
    }

    .knee_solution_node {
        width: 100%;
        scroll-snap-align: center;
    }

    .knee_solution_row::before,
    .knee_solution_row.row_middle::before {
        left: 13rem;
        right: 13rem;
        height: 0.4rem;
    }

    .knee_solution_row.row_middle::after {
        top: 68.5%;
        left: 12%;
        height: 18rem;
        width: 0.4rem;
    }

    .knee_solution_row.row_bottom::before {
        left: 12%;
        right: 13rem;
        height: 0.4rem;
    }

    .knee_solution_row.row_last::before {
        left: auto;
        right: 0;
        width: 27.2rem;
        height: 0.4rem;
    }

    .knee_solution_row.row_last::after {
        right: 38%;
        bottom: 50%;
        width: 0.4rem;
        height: 18rem;
    }

    .knee_solution_node.symptom,
    .knee_solution_node.check {
        padding: 0.2rem;
    }

    .knee_solution_node.symptom p {
        font-size: 1rem;
    }

    .knee_solution_node.check strong {
        min-width: 12rem;
        padding: 0.5rem 1rem;
        border-width: 0.2rem;
        font-size: 1.2rem;
    }

    .knee_solution_node.check p {
        margin-top: 2rem;
        font-size: 1.5rem;
    }

    .knee_solution_node.result p {
        top: 4rem;
        left: 2.5rem;
        right: 2.5rem;
        font-size: 1.9rem;
    }

    .knee_solution_node.result strong {
        bottom: 1rem;
        width: 18rem;
        height: 5rem;
        padding: 0.4rem 1.6rem;
        font-size: 1rem;
    }

    .knee_solution_node.result strong span {
        margin-top: 0.4rem;
        font-size: 1rem;
    }
}

.nonpay_section {
    padding: 250px 20px;
    background: #fff;
    color: #111;
}

.nonpay_inner {
    max-width: 1480px;
    margin: 0 auto;
}

.nonpay_header {
    margin-bottom: 40px;
    text-align: center;
}

.nonpay_header h2 {
    margin: 0;
    font-size: 48px;
    line-height: 1.3;
    font-weight: 700;
}

.nonpay_header p {
    margin: 24px 0 0;
    font-size: 20px;
}

.nonpay_grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 154px 36px;
}
.nonpay_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #b8c8cf;
    font-family: inherit;
    color: #111;
}

.nonpay_table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.nonpay_table th,
.nonpay_table td {
    height: 56px;
    padding: 15px 30px;
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 400;
    vertical-align: middle;
    width: 50%;
}

.nonpay_table th:last-child,
.nonpay_table td:last-child {
    border-right: 0;
}

.nonpay_table th {
    height: 54px;
    padding: 0 20px;
    background: rgba(233, 248, 255, 1);
    font-weight: 400;
    text-align: center;
}

.nonpay_table td:first-child {
    text-align: left;
}

.nonpay_table td:last-child {
    text-align: left;
}


@media (max-width: 768px) {
    .nonpay_section {
        padding: 12rem 3rem;
    }

    .nonpay_title_area {
        margin-bottom: 5rem;
    }

    .nonpay_header h2 {
        font-size: 5rem;
    }
    .nonpay_header p {
        font-size: 2.4rem;
        margin-top: 3rem;;
    }

    .nonpay_grid {
        grid-template-columns: 1fr;
        gap: 5rem;
    }

     .nonpay_table {
        width: 100%;
    }

    .nonpay_table th,
    .nonpay_table td {
        height: 5.6rem;
        padding: 0 2rem;
        font-size: 2rem;
    }

    .nonpay_table th {
        height: 5.4rem;
    }
}

.issue_process_section {
    padding: 150px 20px;
}

.issue_process_inner {
    max-width: 1400px;
    margin: 0 auto;
}

.issue_process_title_area {
    text-align: center;
}

.issue_process_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.3;
    font-weight: 700;
}

.issue_process_desc {
    margin: 50px 0 0;
    font-size: 24px;
    line-height: 1.6;
}

.issue_process_list {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    margin: 140px 0 0;
    padding: 0;
    list-style: none;
}

.issue_process_item {
    flex: 0 0 1;
    width: 200px;
    text-align: center;
}

.issue_process_icon img {
    display: block;
    width: 140px;
    max-width: 100%;
    margin: 0 auto;
}

.issue_process_name {
    display: block;
    margin-top: 40px;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
}

.issue_process_arrow {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    margin-top: 56px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
}

@media (max-width: 1200px) {
    .issue_process_list {
        gap: 24px;
    }

    .issue_process_item {
        flex-basis: 160px;
        width: 160px;
    }

    .issue_process_icon img {
        width: 120px;
    }
}

@media (max-width: 1024px) {
    .issue_process_list { justify-content: flex-start; overflow: auto; }
    .issue_process_item { flex-shrink: 0; }
}

@media (max-width: 768px) {
    .issue_process_section {
        padding: 12rem 0;
    }

    .issue_process_inner {
        max-width: none;
    }

    .issue_process_title_area {
        padding: 0 3rem;
    }

    .issue_process_title {
        font-size: 5rem;
    }

    .issue_process_desc {
        margin-top: 4rem;
        font-size: 2.4rem;
        line-height: 1.6;
    }

    .issue_process_list {
        justify-content: center;
        gap: 5rem 1rem;
        margin-top: 8rem;
        padding: 0 3rem;
        overflow-x: auto;
        overflow-y: hidden;
        flex-wrap: wrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .issue_process_list::-webkit-scrollbar {
        display: none;
    }

    .issue_process_item {
        flex: 0 0 23rem;
        width: 20rem;
    }

    .issue_process_icon img {
        width: 12rem;
        max-width: 100%;
        margin: 0 auto;
    }

    .issue_process_name {
        margin-top: 2.8rem;
        font-size: 3rem;
        line-height: 1.4;
    }

    .issue_process_arrow {
        width: 4rem;
        height: 4rem;
        margin-top: 5rem;
        border-top-width: 0.3rem;
        border-right-width: 0.3rem;
    }
}


.form_download_section {
    position: relative;
    overflow: hidden;
    padding: 140px 20px 120px;
}

.form_download_bg {
    position: absolute;
    inset: 0;
}

.form_download_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.form_download_inner {
    position: relative;
    z-index: 1;
    max-width: 1120px;
    margin: 0 auto;
}

.form_download_title {
    margin: 0;
    color: #fff;
    font-size: 48px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}

.form_download_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px;
    margin-top: 90px;
}

.form_download_item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 130px;
    padding: 30px 34px;
    border: 1px solid rgba(255, 255, 255, 0.9);
    text-decoration: none;
    color: #fff;
    transition: background-color 0.3s ease;
}

.form_download_name {
    display: block;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
}

.form_download_text {
    display: block;
    margin-top: 8px;
    font-size: 18px;
    line-height: 1.4;
}

.form_download_icon {
    flex-shrink: 0;
    margin-left: 30px;
}

.form_download_icon svg {
    display: block;
}

@media (hover: hover) and (pointer: fine) {
    .form_download_item:hover {
        background: rgba(255, 255, 255, 0.08);
    }
}

@media (max-width: 768px) {
    .form_download_section {
        padding: 12rem 3rem;
    }

    .form_download_title {
        font-size: 5rem;
    }

    .form_download_list {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 6rem;
    }

    .form_download_item {
        min-height: 16rem;
        padding: 3rem;
    }

    .form_download_name {
        font-size: 2.8rem;
    }

    .form_download_text {
        margin-top: 1rem;
        font-size: 2.4rem;
    }

    .form_download_icon {
        margin-left: 2rem;
        width: 6rem;
    }

    .form_download_icon svg {
        width: 5rem;
        height: 5rem;
    }
}

.issue_doc_section {
    padding: 150px 20px;
    background: #fff;
    color: #111;
}

.issue_doc_inner {
    max-width: 1040px;
    margin: 0 auto;
}

.issue_doc_title_area {
    text-align: center;
}

.issue_doc_title {
    margin: 0;
    font-size: 28px;
    line-height: 1.4;
    font-weight: 700;
}

.issue_doc_desc {
    margin: 38px 0 0;
    font-size: 18px;
    line-height: 1.6;
}

.issue_doc_desc strong {
    font-weight: 700;
}

.issue_doc_table_wrap {
    margin-top: 70px;
}

.issue_doc_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #c8c8c8;
    font-size: 16px;
    line-height: 1.8;
}

.issue_doc_table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.issue_doc_col_title {
    width: 30%;
}

.issue_doc_col_case {
    width: 23%;
}

.issue_doc_col_doc {
    width: 47%;
}

.issue_doc_table th,
.issue_doc_table td {
    padding: 32px 34px;
    border-bottom: 1px solid #c8c8c8;
    vertical-align: top;
    text-align: left;
}

.issue_doc_table th {
    background: #f6f7fb;
    font-weight: 700;
    font-size: 20px;
}

.issue_doc_table td {
    font-weight: 400;
    font-size: 18px;
}

.issue_doc_notice {
    margin: 34px 0 0;
    color: #b7b7b7;
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 768px) {
    .issue_doc_section {
        padding: 12rem 3rem;
    }

    .issue_doc_title {
        font-size: 4rem;
    }

    .issue_doc_desc {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .issue_doc_table_wrap {
        margin-top: 6rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .issue_doc_table {
        min-width: 86rem;
        font-size: 2.2rem;
    }
    .issue_doc_col_title {
        width: 34%;
    }

    .issue_doc_table th,
    .issue_doc_table td {
        padding: 2rem;
        font-size: 2rem;
    }

    .issue_doc_notice {
        margin-top: 3rem;
        font-size: 2rem;
    }
}


.care_process_section {
    padding: 120px 20px 160px;
    background: #fff;
    color: #111;
}

.care_process_inner {
    max-width: 1480px;
    margin: 0 auto;
}

.care_process_tab {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.care_process_tab_btn {
    height: 80px;
    border: 0;
    border-radius: 999px;
    background: #f5f6fb;
    color: #aaa;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    cursor: pointer;

    transition: all 0.3s;
    -webkit-transition: all 0.3s;
}

.care_process_tab_btn.is_active {
    background: #27b8ee;
    color: #fff;
}

.care_process_panel {
    margin-top: 86px;
}

.care_step_list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.care_step_list_outpatient {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.care_step_list_inpatient {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.care_step_item {
    min-height: 455px;
    padding: 30px 26px;
    border-radius: 18px;
    background: rgba(233, 248, 255, 1);
    color: rgba(19, 19, 19, 1);
}

.care_step_num {
    display: block;
    color: #27b8ee;
    font-size: 28px;
    line-height: 1.4;
    font-weight: 700;
}

.care_step_title {
    display: block;
    margin-top: 20px;
    font-size: 24px;
    line-height: 1.5;
    font-weight: 700;
}

.care_step_title_sub {
    margin-top: 28px;
}

.care_step_text {
    margin: 6px 0 0;
    font-size: 20px;
    line-height: 1.65;
}

.care_step_note {
    margin: 10px 0 0;
    color: #666;
    font-size: 15px;
    line-height: 1.55;
}

.care_reserve_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-top: 120px;
}

.care_reserve_item {
    display: flex;
    flex-direction: column;
    min-height: 210px;
    background: #f7f8fc;
    text-align: center;
}

.care_reserve_item strong {
    display: block;
    margin-top: 34px;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
}

.care_reserve_item strong::after {
    content: "";
    display: block;
    width: 34px;
    height: 1px;
    margin: 18px auto 0;
    background: #111;
}

.care_reserve_item p {
    margin: 22px 20px 0;
    font-size: 20px;
    line-height: 1.8;
}

.care_reserve_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    margin-top: 30px;
    background: #27b8ee;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    text-decoration: none;
}

.care_sub_title {
    margin: 0 0 24px;
    font-size: 26px;
    font-weight: 700;
    font-family: var(--font-family);
    line-height: 1.4;
}

.care_prepare_area {
    margin-top: 90px;
}

.care_prepare_table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-top: 1px solid #ddd;
    border-left: 1px solid #ddd;
    font-size: 13px;
    line-height: 1.7;
}

.care_prepare_table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.care_prepare_th_col {
    width: 230px;
}

.care_prepare_table th,
.care_prepare_table td {
    padding: 22px 24px;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    vertical-align: top;
    text-align: left;
}

.care_prepare_table th {
    background: #f7f8fc;
    text-align: center;
    font-weight: 600;
    font-size: 22px;
}
.care_prepare_table td {
    font-size: 20px;
    height: 216px;
}

.care_required {
    color: #ff2b2b;
}

.care_facility_area {
    margin-top: 74px;
}

.care_facility_list {
    display: grid;
    grid-template-columns: repeat(4, 230px);
    gap: 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.care_facility_list li {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 14px;
    max-width: 230px;
}
.care_facility_icon {
    width: 100%;
}
.care_facility_icon img {
    display: block;
    width: 100%;
}

.care_facility_list strong {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 40px;
    text-align: center;
}

@media (max-width: 768px) {
    .care_process_section {
        padding: 10rem 0 14rem;
    }

    .care_process_tab {
        margin: 0 3rem;
        gap: 1.4rem;
    }

    .care_process_tab_btn {
        height: 5.8rem;
        font-size: 2.4rem;
    }

    .care_process_panel {
        margin-top: 6rem;
    }

    .care_step_list {
        display: flex;
        align-items: stretch;
        flex-wrap: wrap;
        gap: 1.6rem;
        padding: 0 3rem;
    }

    .care_step_list::-webkit-scrollbar {
        display: none;
    }

    .care_step_item {
        width: calc(50% - 0.8rem);
        min-height: 42rem;
        padding: 3rem 2.6rem;
        border-radius: 1.8rem;
    }

    .care_step_num {
        font-size: 2.8rem;
    }

    .care_step_title {
        margin-top: 2.2rem;
        font-size: 2.4rem;
    }

    .care_step_text {
        margin-top: 0.8rem;
        font-size: 2rem;
    }

    .care_step_note {
        margin-top: 4rem;
        font-size: 1.6rem;
    }

    .care_reserve_list {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin: 8rem 3rem 0;
    }

    .care_reserve_item {
        min-height: 22rem;
    }

    .care_reserve_item strong {
        margin-top: 3.4rem;
        font-size: 2.8rem;
    }

    .care_reserve_item p {
        font-size: 2.2rem;
    }

    .care_reserve_btn {
        height: 6rem;
        font-size: 2.4rem;
    }

    .care_prepare_area,
    .care_facility_area {
        margin: 8rem 3rem 0;
    }

    .care_sub_title {
        margin-bottom: 2.4rem;
        font-size: 3rem;
    }

    .care_prepare_area {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .care_prepare_table,
    .care_prepare_table thead,
    .care_prepare_table tbody,
    .care_prepare_table tr,
    .care_prepare_table th,
    .care_prepare_table td {
        display: block;
        width: 100%;
    }

    .care_prepare_table th,
    .care_prepare_table td {
        padding: 2.8rem 2.4rem;
    }
    .care_prepare_table th,
    .care_prepare_table td {
        font-size: 2.5rem;
        height: auto;
    }

    
    .care_facility_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2rem;
    }

    .care_facility_list li {
        height: 32rem;
        max-width: 100%;
    }

    .care_facility_list strong {
        font-size: 3rem;
        margin-bottom: 5rem;
    }
}


.consult_time_section {
    padding: 150px 20px;
    background: #fff;
    color: #111;
}

.consult_time_inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 74px;
    max-width: 1500px;
    margin: 0 auto;
}

.consult_card {
    overflow: hidden;
    border: 1px solid #bcbcbc;
    border-radius: 28px;
    background: #fff;
}

.consult_contact_card {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 590px;
    padding: 92px 40px 60px;
    text-align: center;
}

.consult_intro {
    margin: 0;
    font-size: 20px;
    line-height: 1.65;
    font-weight: 400;
}

.consult_phone_area {
    margin-top: 58px;
}

.consult_phone_title {
    display: block;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 500;
}

.consult_phone {
    display: block;
    margin-top: 12px;
    color: rgba(37, 188, 255, 1);
    font-size: 42px;
    line-height: 1.2;
    font-weight: 700;
    text-decoration: none;
}

.consult_kakao_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-width: 370px;
    height: 56px;
    margin-top: 34px;
    padding: 0 36px;
    border-radius: 999px;
    background: #ffea00;
    color: #111;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 700;
    text-decoration: none;
}

.consult_kakao_btn img  {
    display: block;
    width: 22px;
}

.consult_notice {
    margin: auto 0 0;
    color: #aaa;
    font-size: 17px;
    line-height: 1.7;
    text-align: left;
}

.consult_time_table {
    width: 100%;
    height: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.consult_time_table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.consult_time_table th,
.consult_time_table td {
    border-bottom: 1px solid #bcbcbc;
    border-left: 1px solid #bcbcbc;
    font-size: 24px;
    line-height: 1.55;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
}

.consult_time_table tr:first-child th {
    height: 100px;
    border-left: 0;
    background: #f8f9fe;
    font-size: 24px;
    font-weight: 500;
}

.consult_time_table th[scope="row"] {
    width: 34%;
    border-left: 0;
}
.consult_time_day_col {
    width: 34%;
}

.consult_time_desc_col {
    width: 66%;
}

.consult_time_table th[scope="row"] {
    border-left: 0;
}

.consult_time_table td {
    width: 66%;
    padding: 24px 20px;
    text-align: left;
    padding-left: 56px;
}

.consult_time_table td span {
    display: block;
    font-size: 20px;
    line-height: 1.4;
}

.consult_time_table tr:last-child th,
.consult_time_table tr:last-child td {
    border-bottom: 0;
}

.consult_closed {
    color: #ff1f1f;
}

@media (max-width: 768px) {
    .consult_time_section {
        padding: 12rem 3rem;
    }

    .consult_time_inner {
        grid-template-columns: 1fr;
        gap: 5rem;
    }

    .consult_card {
        border-radius: 2rem;
    }

    .consult_contact_card {
        min-height: auto;
        padding: 7rem 3rem;
    }

    .consult_intro {
        font-size: 2.4rem;
    }

    .consult_phone_area {
        margin-top: 5rem;
    }

    .consult_phone_title {
        font-size: 3rem;
    }

    .consult_phone {
        margin-top: 1.4rem;
        font-size: 5rem;
    }

    .consult_kakao_btn {
        min-width: 0;
        width: 100%;
        height: 8rem;
        margin-top: 4rem;
        font-size: 2.6rem;
    }

    .consult_kakao_btn img {
        width: 3rem;
    }

    .consult_notice {
        margin-top: 6rem;
        font-size: 2rem;
    }

    .consult_time_table th,
    .consult_time_table td {
        font-size: 2.4rem;
    }

    .consult_time_table tr:first-child th {
        height: 8rem;
        font-size: 3rem;
    }

    .consult_time_table td {
        padding: 2.4rem 2rem;
    }

    .consult_time_table td span {
        font-size: 2rem;
    }
}

.reservation_info_section {
    padding: 120px 20px;
    background: #fff;
    color: #111;
}

.reservation_info_inner {
    max-width: 1500px;
    margin: 0 auto;
}

.reservation_info_title {
    margin: 0;
    font-size: 46px;
    line-height: 1.7;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.reservation_info_title span {
    color: #27aee4;
}

.reservation_info_desc {
    margin: 21px 0 0;
    font-size: 24px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.reservation_info_img {
    overflow: hidden;
    margin-top: 72px;
    border-radius: 28px;
}

.reservation_info_img img {
    display: block;
    width: 100%;
}

@media (max-width: 768px) {
    .reservation_info_section {
        padding: 10rem 3rem;
    }

    .reservation_info_title {
        font-size: 4rem;
    }

    .reservation_info_desc {
        margin-top: 4rem;
        font-size: 2.4rem;
    }

    .reservation_info_img {
        margin-top: 6rem;
        border-radius: 2.8rem;
    }
}


.location_link_section {

}

.location_link_inner {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1500px;
    margin: 0 auto;
}

.location_link_item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-height: 120px;
    color: #111;
    text-decoration: none;
    overflow: hidden;
    padding: 60px 20px;
}

.location_link_item:nth-child(2) img {
    border-radius: 10px;
    box-shadow: 1px 1px 5px 0px rgba(0, 0, 0, 0.25);
}

.location_link_item + .location_link_item {
    border-left: 1px solid #d9d9d9;
}

.location_link_item img {
    display: block;
    width: 70px;
}

.location_link_item span {
    font-size: 36px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: -0.04em;
}

@media (max-width: 768px) {
    .location_link_section {
        padding: 6rem 3rem;
    }

    .location_link_inner {
        grid-template-columns: 1fr;
    }

    .location_link_item {
        justify-content: flex-start;
        min-height: 12rem;
        padding: 0 2rem;
        gap: 2rem;
    }

    .location_link_item + .location_link_item {
        border-top: 0.1rem solid #d9d9d9;
        border-left: 0;
    }

    .location_link_item img {
        width: 6rem;
    }

    .location_link_item span {
        font-size: 3rem;
    }
}


.clinic_time_section {
    padding: 150px 20px;
    background: #fff;
    color: #111;
}

.clinic_time_inner {
    max-width: 1640px;
    margin: 0 auto;
}

.clinic_time_title {
    margin: 0;
    font-size: 36px;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}

.clinic_time_list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 100px 0 0;
    padding: 0;
    list-style: none;
}

.clinic_time_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 230px;
    padding: 30px 24px;
    border-radius: 20px;
    background: rgba(247, 248, 252, 1);
    text-align: center;
}

.clinic_time_day {
    display: block;
    font-size: 28px;
    line-height: 2.2;
    font-weight: 500;
}

.clinic_time_hour {
    display: block;
    margin-top: 14px;
    font-size: 36px;
    line-height: 1.35;
    font-weight: 700;
}

.clinic_time_lunch {
    display: block;
    margin-top: 14px;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 500;
}

.clinic_time_notice {
    margin-top: 80px;
    text-align: center;
}

.clinic_time_notice_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #25aee4;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 700;
}

.clinic_time_notice p {
    margin: 12px 0 0;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 600;
}

@media (max-width: 1200px) {
    .clinic_time_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .clinic_time_section {
        padding: 10rem 3rem;
    }

    .clinic_time_title {
        font-size: 5rem;
    }

    .clinic_time_list {
        grid-template-columns: 1fr;
        gap: 2rem;
        margin-top: 7rem;
    }

    .clinic_time_item {
        min-height: 22rem;
        padding: 4rem 2.4rem;
        border-radius: 1.8rem;
    }

    .clinic_time_day {
        font-size: 3rem;
    }

    .clinic_time_hour {
        margin-top: 1.4rem;
        font-size: 4rem;
    }

    .clinic_time_lunch {
        margin-top: 1.4rem;
        font-size: 2.4rem;
    }

    .clinic_time_notice {
        margin-top: 6rem;
    }

    .clinic_time_notice_icon {
        width: 3.4rem;
        height: 3.4rem;
        font-size: 2.2rem;
    }

    .clinic_time_notice p {
        margin-top: 2.2rem;
        font-size: 2.4rem;
    }
}


.map_section {
    background: #fff;
}

.map_area {
    position: relative;
    overflow: hidden;
    background-color: #eee;
}

.map_area iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#map {
    overflow: hidden;
    width: 100%;
    height: 720px;
}

.map_info_box {
    position: absolute;
    top: 0;
    right: 9.5%;
    width: 390px;
    padding: 40px;
    background: rgba(15, 67, 101, 0.9);
    color: #fff;
    z-index: 10;
}

.map_info_title {
    margin: 0;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
    font-family: var(--font-family);
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
}

.map_info_list {
    margin: 12px 0 0;
}

.map_info_list div + div {
    margin-top: 22px;
}

.map_info_list dt {
    margin: 0 0 6px;
    font-size: 12px;
    line-height: 1.4;
}

.map_info_list dd {
    margin: 0;
    font-size: 18px;
    line-height: 1.45;
}

@media (max-width: 768px) {
    #map {
        height: 50rem;
    }

    .map_info_box {
        position: static;
        width: auto;
        padding: 4rem 3rem;
    }

    .map_info_title {
        padding-bottom: 2.4rem;
        font-size: 3rem;
    }

    .map_info_list {
        margin-top: 2.8rem;
    }

    .map_info_list dt {
        margin-bottom: 0.6rem;
        font-size: 2rem;
    }

    .map_info_list dd {
        font-size: 2.4rem;
    }
}

.tour_section {
    padding: 150px 0;
    overflow: hidden;
}

.tour_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
}

.tour_swiper {
    margin: 100px auto 0;
    width: 790px;
    max-width: 100%;
    overflow: visible;
}

.tour_swiper .swiper-slide:not(:last-child) {
    margin-right: 67px;
}   

.tour_item {
    display: flex;
    flex-direction: column;
}

.tour_thumb {
    overflow: hidden;
    border-radius: 30px;
}

.tour_thumb img {
    display: block;
    width: 100%;
}

.tour_item_title {
    margin-top: 40px;
    color: #111;
    font-family: var(--font-family);
    font-size: 36px;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.tour_item_desc {
    margin: 24px 0 0;
    color: #444;
    font-size: 20px;
    line-height: 1.7;
    font-weight: 500;
    letter-spacing: -0.04em;
}

.tour_control {
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    margin-top: 80px;
    max-width: 790px;
}

.tour_progress {
    position: relative;
    flex:1;
    height: 6px;
    padding-right: 90px;
}

.tour_progress .swiper-pagination-progressbar {
    position: static;
    height: 6px;
    border-radius: 999px;
    background: rgba(217, 217, 217, 1);
}

.tour_progress .swiper-pagination-progressbar-fill {
    border-radius: 999px;
    background: #000;
}

.tour_navigation {
    display: flex;
    gap: 10px;
}

.tour_fraction {
    min-width: 64px;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
}

.tour_fraction .swiper-pagination-current,
.tour_fraction .swiper-pagination-total {
    padding: 0 8px;
}

.tour_prev,
.tour_next {
    width: 64px;
    height: 64px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 5px;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
}
.tour_prev:hover,
.tour_next:hover {
    background-color: #f1f1f1;
}

@media (max-width: 1024px) {
    .tour_section {
        padding: 100px 0;
    }

    .tour_title {
        font-size: 40px;
    }

    .tour_swiper {
        margin-top: 60px;
    }

    .tour_swiper .swiper-slide {
        width: calc((100% - 30px) / 2);
    }

    .tour_item_title {
        margin-top: 24px;
        font-size: 32px;
    }

    .tour_item_desc {
        margin-top: 16px;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .tour_section {
        padding: 12rem 0;
    }

    .tour_title {
        font-size: 4.8rem;
    }

    .tour_swiper {
        margin-top: 6rem;
        overflow: hidden;
    }

    .tour_swiper .swiper-slide {
        width: 100%;
    }

    .tour_thumb {
        border-radius: 2rem;
    }

    .tour_item_title {
        margin-top: 3rem;
        font-size: 4rem;
    }

    .tour_item_desc {
        margin-top: 2rem;
        font-size: 2.6rem;
    }

    .tour_control {
        gap: 2rem;
        margin-top: 6rem;
    }

    .tour_progress {
        height: 0.5rem;
        padding-right: 0;
    }
    .tour_fraction {
        font-size: 2.4rem;
    }
    .tour_navigation {
        display: none;
        gap: 1rem;
    }

    .tour_prev,
    .tour_next {
        width: 6rem;
        height: 6rem;
    }
}

.equipment_section {
    padding: 150px 0;
}

.equipment_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.equipment_item {
    display: block;
    overflow: hidden;
    height: 100%;
    border: 1px solid #e5e5e5;
    border-radius: 24px;
    background: #f8f9fc;
    text-decoration: none;
}

.equipment_thumb {
    overflow: hidden;
    aspect-ratio: 1 / 0.72;
    background-color: #fff;
}

.equipment_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.equipment_content {
    padding: 26px 24px 30px;
    background: #f8f9fc;
}

.equipment_label {
    display: block;
    color: #27a7f7;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
}

.equipment_title {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    overflow: hidden;
    margin-top: 12px;
    color: #111;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.04em;
    gap: 12px;
}

.equipment_title:after {
    flex-shrink: 0;
    content: "";
    width: 38px;
    height: 38px;
    background-image: url(../img/icon/icon_next.png);
    background-size: contain;
    transition: all 0.5s;
    -webkit-transition: all 0.5s;
}

.equipment_item:hover .equipment_title:after {
    transform: translate3d(10px, 0, 0);
    -webkit-transform: translate3d(10px, 0, 0);
}

.equipment_arrow {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-left: 12px;
    vertical-align: middle;
    background: url('../img/icon_arrow_right.svg') no-repeat center center;
    background-size: contain;
}

@media (max-width: 1024px) {
    .equipment_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .equipment_title {
        font-size: 24px;
    }
}

@media (max-width: 768px) {
    .equipment_section {
        padding: 12rem 0;
    }

    .equipment_list {
        grid-template-columns: 1fr;
        gap: 3rem;
    }

    .equipment_item {
        border-radius: 2rem;
    }

    .equipment_content {
        padding: 3rem;
    }

    .equipment_label {
        font-size: 1.8rem;
    }

    .equipment_title {
        margin-top: 1.4rem;
        font-size: 3.2rem;
    }

    .equipment_arrow {
        width: 3rem;
        height: 3rem;
        margin-left: 1rem;
    }
}

/* equipment popup */
.equipment_popup {
    position: fixed;
    inset: 0;
    z-index: 9000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
    visibility: hidden;
    opacity: 0;
    transition: all 0.3s;
}

.equipment_popup.is_open {
    visibility: visible;
    opacity: 1;
}

.equipment_popup .dim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}

.equipment_popup_content {
    position: relative;
    z-index: 1;
    overflow: hidden;
    width: min(100%, 640px);
    max-height: calc(100vh - 40px);
    border-radius: 20px;
    background: #fff;
}

.equipment_popup_inner {
    overflow-y: auto;
    max-height: calc(100vh - 40px);
    background: #f7f8fc;
    padding-bottom: 45px;
}

.equipment_popup_inner > *:not(.equipment_popup_thumb) {
    padding: 0 45px;
}

.equipment_popup_close {
    position: absolute;
    right: 36px;
    top: 34px;
    z-index: 2;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    background: transparent;
}

.equipment_popup_close::before,
.equipment_popup_close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 48px;
    height: 2px;
    background: #111;
}

.equipment_popup_close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.equipment_popup_close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.equipment_popup_thumb {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 48px;
    background: #fff;
    overflow: hidden;
}

.equipment_popup_thumb img {
    width: 100%;
    max-width: 100%;
    object-fit: contain;
    vertical-align: top;
}

.equipment_popup_label {
    display: block;
    color: var(--primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.equipment_popup_title {
    display: block;
    margin-top: 18px;
    color: #111;
    font-size: 30px;
    font-weight: 700;
    line-height: 1.45;
}

.equipment_popup_desc {
    margin: 36px 0 0;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.75;
}

@media (max-width: 768px) {
    .equipment_popup {
        padding: 3rem;
    }

    .equipment_popup_content {
        width: 100%;
        max-height: calc(100vh - 6rem);
        border-radius: 2rem;
    }

    .equipment_popup_inner {
        max-height: calc(100vh - 6rem);
        padding:0 0 5rem;
    }
    .equipment_popup_inner > *:not(.equipment_popup_thumb) {
        padding: 0 4rem;
    }
    .equipment_popup_close {
        right: 3rem;
        top: 3rem;
        width: 4rem;
        height: 4rem;
    }

    .equipment_popup_close::before,
    .equipment_popup_close::after {
        width: 4.8rem;
        height: 0.25rem;
    }

    .equipment_popup_thumb {
        margin-bottom: 4.8rem;
    }

    .equipment_popup_label {
        font-size: 2.4rem;
    }

    .equipment_popup_title {
        margin-top: 1.6rem;
        font-size: 3.2rem;
    }

    .equipment_popup_desc {
        margin-top: 5rem;
        font-size: 2.4rem;
    }
}

.philosophy_section {
    display: flex;
    align-items: stretch;
}

.philosophy_side {
    flex: 0 0 20%;
    display: flex;
    flex-direction: column;
    gap: 28px;
    max-width: 320px;
}

.philosophy_thumb {
    overflow: hidden;
    flex: 1;
}

.philosophy_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.philosophy_content {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px;
}

.philosophy_title {
    margin: 0;
    color: #111;
    font-size: clamp(24px, 3vw, 58px);
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-align: center;
}

@media (max-width: 1480px) {
    .philosophy_side {
        flex-basis: 220px;
    }
}

@media (max-width: 1024px) {
    .philosophy_section {
        display: block;
        padding: 12rem 0;
    }

    .philosophy_side {
        max-width: 100%;
        flex-direction: row;

        flex-basis: 180px;
        gap: 20px;
    }

    .philosophy_content {
        padding: 100px 40px;
    }

    .philosophy_title {
        font-size: 42px;
    }
}

@media (max-width: 768px) {
    .philosophy_section {
        display: block;
        padding: 12rem 0;
    }

    .philosophy_content {
        padding: 0 3rem;
    }

    .philosophy_title {
        font-size: 5rem;
        padding: 6rem 0;
    }

    .philosophy_side {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 3rem;
        padding: 0 3rem;
    }

    .philosophy_side_left {
        order: 2;
    }

    .philosophy_side_right {
        
    }

    .philosophy_thumb {
        aspect-ratio: 1 / 1;
    }
}

.team_section {
    padding: 150px 0 160px;
    background: #fff;
}

.team_header {
    text-align: center;
}

.team_header p {
    margin: 0 0 48px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.6em;
}

.team_header h2 {
    margin: 0;
    font-size: 48px;
    font-weight: 700;
    line-height: 1.35;
}

.team_header h2 span {
    color: var(--primary);
}

.team_tab {
    display: flex;
    justify-content: center;
    margin-top: 90px;
    background: #252525;
}

.team_tab button {
    width: 260px;
    height: 74px;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 25px;
    font-weight: 700;
    cursor: pointer;
}

.team_tab button.active {
    color: var(--primary);
}

.team_panel {
    display: none;
}

.team_panel.active {
    display: block;
}

.team_doctor {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    
    gap: 95px;
    max-width: 1560px;
    margin: 120px auto 0;
}

.team_photo {
    flex-shrink: 0;
    width: 36.4%;
    overflow: hidden;
    border-radius: 22px;
    background: rgba(247, 248, 252, 1);
}

.team_photo img {
    display: block;
    width: 100%;
}

.team_position {
    margin: 0;
    color: #0e3a60;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;
}

.team_info h3 {
    margin: 60px 0 0;
    font-size: 55px;
    font-weight: 400;
    line-height: 1.3;
    font-family: var(--font-family);
}

.team_info h3 strong {
    font-weight: 700;
    font-family: var(--font-family);
}

.team_message {
    margin: 68px 0 0;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.7;
}

.team_history {
    margin-top: 64px;
    padding-top: 56px;
    border-top: 1px solid #ddd;
}

.team_history + .team_history {
    border-top: 0;
    padding-top: 0;
    margin-top: 120px;
}

.team_history h4 {
    margin: 0 0 28px;
    font-size: 38px;
    font-weight: 600;
    line-height: 1.4;
    font-family: var(--font-family);
}

.team_history ul {
    margin: 0;
}

.team_history li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.75;
}
.team_history li:before {
    content: "·";
    flex-shrink: 0;
    font-weight: 900;
    margin: 0 0.8em;
}

@media (max-width: 1024px) {
    .team_doctor {
        flex-direction: column;
        align-items: center;
        gap: 50px;
    }
    .team_photo {
        width: 525px;
        max-width: 100%;
    }
    .team_info {
        width: 100%;
    }

    .team_tab button {
        width: 220px;
    }
    .team_history + .team_history {
        margin-top: 80px;
    }
}

@media (max-width: 768px) {
    .team_section {
        padding: 8rem 0 12rem;
    }

    .team_header p {
        margin-bottom: 3rem;
        font-size: 1.8rem;
    }

    .team_header h2 {
        font-size: 5rem;
    }

    .team_tab {
        overflow-x: auto;
        justify-content: flex-start;
        margin-top: 6rem;
    }

    .team_tab button {
        flex: 0 0 auto;
        width: 24rem;
        height: 7rem;
        font-size: 2.4rem;
    }

    .team_doctor {
        grid-template-columns: 1fr;
        gap: 5rem;
        margin-top: 10rem;
    }

    .team_photo {
        max-width: 46rem;
        margin: 0 auto;
        border-radius: 2rem;
    }

    .team_position {
        font-size: 2.2rem;
    }

    .team_info h3 {
        margin-top: 3rem;
        font-size: 4rem;
    }

    .team_message {
        margin-top: 3rem;
        font-size: 2.4rem;
    }

    .team_history {
        margin-top: 5rem;
        padding-top: 4rem;
    }

    .team_history h4 {
        font-size: 3rem;
    }

    .team_history li {
        font-size: 2.2rem;
    }
    .team_history + .team_history {
        margin-top: 8rem;
    }
}

.joint_disease_section {
    padding: 160px 20px;
    background: #fff;
}

.joint_disease_inner {
    max-width: 1260px;
    margin: 0 auto;
}

.joint_disease_title_area {
    text-align: center;
}

.joint_disease_title {
    margin: 0;
    color: #111;
    font-family: var(--font-family-tit);
    font-size: 50px;
    line-height: 1.35;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.joint_disease_desc {
    margin: 50px 0 0;
    color: #111;
    font-size: 23px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.joint_disease_visual {
    min-height: 480px;
    margin-top: 150px;
    padding: 252px 40px 44px;
    border-radius: 18px;
    background: url("../img/sub/joint_disease_bg.jpg") center center / cover no-repeat;
}
.joint_disease_visual + .nerve_block_effect_section { 
    padding-top: 0;
}

.joint_disease_list {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.joint_disease_list li {
    min-width: 0;
}

.joint_disease_thumb {
    overflow: hidden;
    border-radius: 14px;
}

.joint_disease_thumb img {
    display: block;
    width: 100%;
    aspect-ratio: 216 / 142;
    object-fit: cover;
}

.joint_disease_name {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.2em;
    position: relative;
    margin: 16px 0 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.35;
    font-weight: 500;
    letter-spacing: -0.04em;
    text-align: center;
}

.joint_disease_name::before {
    content: "!";
    left: 0;
    top: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 2px solid #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 15px;
    line-height: 1;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .joint_disease_section {
        padding: 12rem 2.4rem;
    }

    .joint_disease_title {
        font-size: 3rem;
    }

    .joint_disease_desc {
        margin-top: 3rem;
        font-size: 1.8rem;
    }

    .joint_disease_visual {
        position: relative;
        z-index: 10;
        min-height: auto;
        margin-top: 8rem;
        padding: 8rem 3rem;
        border-radius: 1.8rem;
        overflow: hidden;
    }
    
    .joint_disease_visual:before {
        content: "";
        position: absolute;
        inset:0;
        z-index: -1;
        background-color: rgba(0,0,0,0.5);
    }

    .joint_disease_list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2rem 1.2rem;
    }

    .joint_disease_thumb {
        border-radius: 1.2rem;
    }

    .joint_disease_name {
        margin-top: 1.2rem;
        font-size: 1.5rem;
    }

    .joint_disease_name::before {
        width: 2rem;
        height: 2rem;
        font-size: 1.3rem;
    }
}

@media (max-width: 768px) {
    .joint_disease_section {
        padding: 12rem 4rem;
    }

    .joint_disease_title {
        font-size: 4rem;
    }

    .joint_disease_desc {
        margin-top: 2.4rem;
        font-size: 2.5rem;
    }

    .joint_disease_visual {
        margin-top: 5rem;
        padding: 8rem 3rem;
        border-radius: 2rem;
    }

    .joint_disease_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.8rem 1rem;
    }

    .joint_disease_name {
        padding-left: 2.4rem;
        font-size: 2.5rem;
    }

    .joint_disease_name::before {
        top: 0;
        width: 1.8rem;
        height: 1.8rem;
        border-width: 0.1rem;
        font-size: 1.2rem;
    }
}


.implant_choice_section {
    padding: 190px 20px 250px;
    background: #f5f7fc;
}

.implant_choice_inner {
    max-width: 1300px;
    margin: 0 auto;
}

.implant_choice_title_area {
    text-align: center;
}

.implant_choice_title {
    margin: 0;
    color: #111;
    font-family: var(--font-family-tit);
    font-size: 46px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.05em;
}

.implant_choice_desc {
    margin: 38px 0 0;
    color: #111;
    font-size: 24px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.implant_choice_content {
    display: grid;
    grid-template-columns: 50% minmax(0, 1fr);
    align-items: flex-start;
    gap: 80px;
    margin-top: 78px;
}

.implant_choice_img {
    overflow: hidden;
    border-radius: 12px;
}

.implant_choice_img img {
    display: block;
    width: 100%;
    aspect-ratio: 500 / 537;
    object-fit: cover;
}

.implant_choice_list {
    flex-shrink: 0;
    display: grid;
    gap: 46px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.implant_choice_list li {
    position: relative;
    padding-left: 50px;
}

.implant_choice_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 33px;
    height: 33px;
    background-image: url(../img/sub/sub_03_icon.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

.implant_choice_list h3 {
    margin: 0;
    color: #111;
    font-size: 28px;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: -0.04em;
    font-family: var(--font-family);
}

.implant_choice_list p {
    margin: 20px 0 0;
    color: #111;
    font-size: 24px;
    line-height: 1.65;
    font-weight: 400;
    letter-spacing: -0.04em;
}

@media (max-width: 1024px) {
    .implant_choice_section {
        padding: 8rem 2.4rem 9rem;
    }

    .implant_choice_title {
        font-size: 3.6rem;
    }

    .implant_choice_desc {
        margin-top: 3rem;
        font-size: 1.7rem;
    }

    .implant_choice_content {
        grid-template-columns: 1fr;
        align-items: center;
        gap: 5rem;
        margin-top: 6rem;
    }

    .implant_choice_img {
        margin: 0 auto;
        max-width: 50rem;
        border-radius: 1.2rem;
    }

    .implant_choice_list {
        gap: 3.6rem;
    }

    .implant_choice_list li {
        padding-left: 4rem;
    }

    .implant_choice_list li::before {
        width: 2.4rem;
        height: 2.4rem;
    }

    .implant_choice_list h3 {
        font-size: 2.1rem;
    }

    .implant_choice_list p {
        margin-top: 1.4rem;
        font-size: 1.6rem;
    }
}

@media (max-width: 768px) {
    .implant_choice_section {
        padding: 6rem 2rem 7rem;
    }

    .implant_choice_title {
        font-size: 5rem;
    }

    .implant_choice_desc {
        margin-top: 2.4rem;
        font-size: 2.5rem;
    }

    .implant_choice_content {
        gap: 4rem;
        margin-top: 4.5rem;
    }

    .implant_choice_img {
        max-width: 100%;
        width: 100%;
        border-radius: 1rem;
    }

    .implant_choice_list {
        gap: 3rem;
    }

    .implant_choice_list li {
        padding-left: 5rem;
    }

    .implant_choice_list li::before {
        width: 3rem;
        height: 3rem;
        background-size: cover;
    }


    .implant_choice_list h3 {
        font-size: 3rem;
    }

    .implant_choice_list p {
        margin-top: 1rem;
        font-size: 2.5rem;
    }
}

.line_bg_banner { position: relative; }
.line_bg_img { height: 500px; }
.line_bg_img img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.line_bg_text { 
    position: absolute;
    inset: 0;
    z-index: 1;

    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 0 4rem;
}
.line_bg_text h2 {
    font-size: 46px;
    line-height: 1.5;
} 

@media (max-width: 768px) {
    .line_bg_img { height: 40rem; }
    .line_bg_text h2 { font-size: 4rem; line-height: 1.7; }
    .line_bg_text span { display: block; }
}


.case_section {
    padding: 180px 20px 180px;
    background: #fff;
    color: #111;
}

.case_inner {
    max-width: 1240px;
    margin: 0 auto;

    & + .case_inner {
        margin-top: 200px;
    }
}

.case_title_area {
    text-align: center;

    & + .case_title_area {
        margin-top: 120px;
    }
}


.case_title {
    margin: 0;
    font-size: 42px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: -0.04em;
}

.case_desc {
    margin: 28px 0 0;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.case_desc2 {
    font-size: 26px;
    line-height: 3em;

    & b {
        font-weight: 600;
        text-decoration: underline;
        text-underline-position: under;
    }
}

.case_desc3 {
    font-size: 26px;
    line-height: 1.3;

    & .primary2_bg {
        display: inline;
    }
}

.case_top {
    display: flex;
    align-items: center;
    gap: 90px;
    margin-top: 150px;

    &:has(.case_circle) {
        justify-content: center;
    }
}

.case_top_auto {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;

    .case_content_pre {
        text-align: left;
    }

    &:first-child {
        margin-top: 0;
    }

    &:has(.case_content_pre) {
        width: max-content;

        .case_figure {
            right: 0%;
        }
    }
}

.case_figure {
    position: relative;
    flex: 0 0 350px;
    right: 50%;

    &:has( + .case_content) {
        right: 0;
    }
}
.case_figure_400 {
    flex: 0 0 400px;
}
.case_figure_460 {
    flex: 0 0 460px;
}
.case_figure_500 {
    flex: 0 0 500px;
}
.case_figure_640 {
    flex: 0 0 640px;
    max-width: 90vw !important;
    
    img {
        border-radius: 0 !important;
        width: 100%;
    }
}
.case_figure_auto {
    flex: inherit;

    & + .flex_text {
        max-width: inherit;
    }
}

.case_figure_right {
    right: 0 !important;
}


.case_circle {
    flex: 0 0 280px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: linear-gradient(138.95deg, #2FB2E8 16%, #0078AA 86.92%);
    color: #fff;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.8em;
    text-align: center;

    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;

    & + .case_content {
        flex: inherit;
        min-width: 40%;
    }
}

.case_figure img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.case_content {
    flex: 1;
    min-width: 0;

    &:has(.case_content_pre) {
        text-align: left;

        .case_sub_title {
            font-family: var(--font-family-tit);
            font-size: 46px;
            margin-bottom: 30px;

            * {
                font-family: var(--font-family-tit);
            }
        }
    }
}

.case_content_pre {
    flex: 1;
    text-align: center;
    white-space: pre-line;
    line-height: 1.7;
    font-size: 26px;
}

.case_sub_title {
    margin: 0;
    font-family: var(--font-family);
    font-size: 36px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -0.04em;

    & + .case_check_list {
        margin-top: 40px;
    }
}

.case_check_list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    padding: 0;
    list-style: none;


    &.check_icon_2 li {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        padding-left: 0;
        gap: 16px;

        font-size: 26px;
        color:#000;

        & > div > b {
            display: block;
            margin-bottom: 0.5em;
        }
    }
    &.check_icon_2 li::before {
        flex-shrink: 0;
        position: static;
        content: "";
        margin-top: 4px;
        width: 25px;
        height: 25px;
        border-radius: 0;
        background-image: url("../img/icon/icon_check.svg");
        background-color: transparent;
    }

    &.case_check_box {
        padding: 50px;
        background-color: #F9F9F9;

        & + .case_check_bottom_text {
            padding-left: 0;
        }
    }
}

.case_check_text {
    margin-top: 72px;
    font-size: 22px;
    line-height: 1.5;
    white-space: nowrap;
}
.case_check_text_box {
    background-color: #fff;
    font-size: 26px;
    line-height: 1.3;
    padding: 40px 20px;
    text-align: center;
    margin-top: 58px;
}

.case_check_list li {
    position: relative;
    min-height: 34px;
    padding-left: 54px;
    font-size: 24px;
    line-height: 1.45;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.case_check_list li::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: #20aee5;
    background-image: url(../img/icon/icon_check_circle.jpg);
    background-size: contain;
    color: #fff;
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
}

.case_line {
    width: 210px;
    height: 1px;
    margin: 150px auto 0;
    background: #d8d8d8;
}

section + .case_line {
    margin-top: 0;
}

.case_image_grid {
    margin-top: 130px;
}

.case_image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 12px;
}

.case_bottom {
    margin-top: 72px;
}

.case_check_bottom_text {
    padding-left: 40px;
    margin-top: 80px;
    font-size: 22px;
    line-height: 1.5;
}

.case_figure3 {
    flex: inherit;
    border-radius: 0;
    width: 621px;
    aspect-ratio: inherit;
    right: 0;
}
.case_figure3 img {
    border-radius: 0;
}
.case_text_1833018 {
    text-align: center;
    p {
        font-size: 46px;
        font-weight: 500;
        margin-bottom: 25px;
    }
    h5 {
        font-size: 80px;
        font-family: var(--font-family);
        line-height: 1;
        margin-bottom: 40px;
        color: #0E3A60;
    }
    span {
        color: #0E3A60;
        height: 75px;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        font-size: 32px;
        font-weight: 500;
        padding: 0 80px;
        border: 3px solid currentColor;
        border-radius: 50px;
    }
}

@media (max-width: 1024px) {
    .case_section {
        padding: 100px 20px 120px;
    }

    .case_title {
        font-size: 42px;
    }

    .case_desc {
        font-size: 18px;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .case_desc2 {
        font-size: 20px;
    }

    .case_top {
        gap: 50px;
        margin-top: 100px;
    }
    .case_top_auto {
        
    }

    .case_figure {
        flex-basis: 280px;       
    }
    .case_figure3 {
        flex-basis: 500px;
    }

    .case_sub_title {
        font-size: 30px;
    }

    .case_check_list li {
        font-size: 20px;
    }

    .case_line {
        margin-top: 110px;
    }

    .case_image_grid {
        margin-top: 90px;
    }

    .case_content_pre {
        font-size: 2.4rem;
    }
}
@media (max-width: 768px) {

    .case_section {
        padding: 12rem 3rem;
    }
    .case_title_area {
        & + .case_title_area {
            margin-top: 8rem;;
        }
    }

    .case_inner {

        & + .case_inner {
            margin-top: 12rem;
        }
    }

    .case_title {
        font-size: 4.5rem;
    }


    .case_desc {
        margin-top: 3rem;
        font-size: 2.5rem;
    }

    .case_desc2 {
        margin-top: 3rem;
        font-size: 3rem;
        line-height: 1.5;
    }

    .case_top {
        flex-direction: column;
        align-items: flex-start;
        gap: 5rem;
        margin-top: 4.375rem;

        &:has(.opacity) {
            flex-direction: row;
            width: 100%;
        }
    }

    .case_figure {
        flex: none;
        width: 100%;
        max-width: 34rem;
        margin: 0 auto;
        right: 0;

         &.opacity {
            flex-basis: 22rem;
        }
    }

    .case_figure3 {
        max-width: 100%;
    }

    .case_text_1833018  {
        width: 100%;
        padding: 4rem 0;
        p {
            font-size: 4rem;
            margin-bottom: 2rem;
        }
        h5 {
            font-size: 6rem;
            margin-bottom: 4rem;
        }
        span {
            height: 7rem;
            padding: 0 5rem;
            font-size: 3rem;
            border-width: 0.3rem;
        }
    }

    .case_circle {
        flex: 0 0 34rem;
        margin: 0 auto;
        font-size: 4rem;;
    }

    .case_sub_title {
        font-size: 3rem !important;
        margin-bottom: 3rem !important;

        & + .case_check_list {
            margin-top: 1.75rem;
        }
    }

    .case_check_list {
        gap: 1.5rem;
        margin-top: 1.75rem;
    }

    .case_check_list li {
        min-height: inherit;
        padding-left: 4rem;
        font-size: 2.5rem;
    }

    .case_check_list li::before {
        width: 3rem;
        height: 3rem;
        font-size: 3rem;
    }

    .case_line {
        width: 7.5rem;
        margin-top: 5rem;
    }

    .case_image_grid {
        margin-top: 4.375rem;
    }

    .case_bottom {
        margin-top: 2.875rem;
    }
}
.treatment_case_section {
    padding: 200px 20px 200px;
    background: #fff;
    color: #111;
}

.treatment_case_inner {
    max-width: 1180px;
    margin: 0 auto;
}

.treatment_case_title_area {
    text-align: center;
}

.treatment_case_title {
    margin: 0;
    font-size: 42px;
    line-height: 1.5;
    font-weight: 600;
    letter-spacing: -0.04em;
}

.treatment_case_title span {
    display: inline-block;
    padding: 0.4em 0.5em 0.3em;
    background-color: rgba(37, 188, 255, 1);
    line-height: inherit;
    color: #fff;
}

.treatment_case_desc {
    margin: 54px 0 0;
    font-size: 20px;
    line-height: 1.6;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.treatment_case_desc span {
    color: #20aee5;
}

.treatment_case_list {
    display: flex;
    flex-direction: column;
    gap: 90px;
    margin-top: 135px;
}

.treatment_case_section_black .treatment_case_list {
    gap: 170px;
    margin-top: 0;
}

.treatment_case_item {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 90px;

    &:has(.carpal_surgery_open_mri) {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 0;

        .treatment_case_badge {
            top: 1em;
            transform: translateX(-50%);
        }
    } 
}
.treatment_case_item3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.treatment_case_item.type_vertical {
    display: block;
}

.treatment_case_compare {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 940px;
    margin: 120px auto 0;
}

.treatment_case_row {
    display: block;
    max-width: 860px;
    margin: 0 auto;
}

.treatment_case_card {
    position: relative;
    /* overflow: hidden; */

    .treatment_case_badge {
        left: 100%;
        width: 62px;
        height: 62px;
        background-color: #1972A5;

        img {
            width: 16px;
        }
    }
}

.treatment_case_card img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 0.4em;
}

.treatment_case_card p {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    margin: 0;
    color: #fff;
    font-size: 28px;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.treatment_case_status {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    margin: 0;
    color: #fff;
    font-size: 22px;
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.treatment_case_status.center {
    background-color: rgba(11, 36, 52, 1);
}

.treatment_case_status.before {
    background: #a2a2a2;
}

.treatment_case_status.after {
    background: #27b7ec;
}

.treatment_case_badge {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 146px;
    height: 146px;
    border-radius: 50%;
    background: #1f294b;
    color: #fff;
    font-size: 32px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -0.04em;
    transform: translate(-50%, -50%);
    text-align: center;

}

.treatment_case_badge img {
    width: 24px;
}

.treatment_case_card.before p {
    background: #70706f;
}

.treatment_case_card.after p {
    background: #27b7ec;
}

.treatment_case_card.center p {
    background-color: rgba(11, 36, 52, 1);
}

.treatment_case_notice {
    margin: 95px 0 0;
    text-align: center;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.treatment_case_section_fusion {
    background: #f5f6fb;
}

.treatment_case_section_fusion .treatment_case_compare {
    max-width: 860px;
    margin-top: 110px;
}

.treatment_case_section_fusion .treatment_case_card p {
    height: 58px;
    font-size: 22px;
    font-weight: 500;
}


.treatment_case_fusion_desc {
    margin-top: 90px;
    text-align: center;
    color: #111;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: -0.04em;
}

.treatment_case_fusion_desc p {
    margin: 0;
}

.treatment_case_fusion_desc p + p {
    margin-top: 10px;
}

.treatment_case_fusion_desc span {
    color: #20aee5;
    font-weight: 800;
}

@media (max-width: 1024px) {
    .treatment_case_section {
        padding: 100px 20px 70px;
    }

    .treatment_case_section_black {
        padding: 100px 20px 130px;
    }

    .treatment_case_title {
        font-size: 42px;
    }

    .treatment_case_desc {
        margin-top: 40px;
        font-size: 18px;
    }

    .treatment_case_list {
        gap: 70px;
        margin-top: 100px;
    }

    .treatment_case_section_black .treatment_case_list {
        gap: 130px;
        margin-top: 0;
    }

    .treatment_case_item {
        gap: 50px;
    }

    .treatment_case_badge {
        width: 120px;
        height: 120px;
        font-size: 28px;
    }

    .treatment_case_card p {
        height: 78px;
        font-size: 24px;
    }

    .treatment_case_compare {
        margin-top: 100px;
    }

    .treatment_case_section_fusion .treatment_case_compare {
        margin-top: 90px;
    }

    .treatment_case_fusion_desc {
        margin-top: 70px;
        font-size: 18px;
    }
}

@media (max-width: 768px) {
    .treatment_case_section {
        padding: 12rem 3rem;
    }

    .treatment_case_section_black {
        padding: 12rem 3rem;
    }

    .treatment_case_title {
        font-size: 4.5rem;
    }

    .treatment_case_desc {
        margin-top: 3rem;
        font-size: 2.5rem;
    }

    .treatment_case_list {
        gap: 8rem;
        margin-top: 8rem;
    }

    .treatment_case_section_black .treatment_case_list {
        gap: 13rem;
        margin-top: 0;
    }

    .treatment_case_item {
        gap: 3rem;
    }

    .treatment_case_item3  {
        display: flex;
        flex-direction: column;
        
    }
    .treatment_case_card {
        & + .treatment_case_card {
            /* margin-top: 5rem; */
        }
        .treatment_case_badge {
            left: 50%;
            top: 100%;
            width: 8rem;
            height: 8rem;
            margin-top: 5rem;

            img {
                transform: rotate(90deg);
                width: 2rem;
            }
        }
    }

    .treatment_case_compare {
        gap: 4rem;
        margin-top: 8rem;
    }

    .treatment_case_status {
        height: 6rem;
        font-size: 2.4rem;
    }

    .treatment_case_badge {
        top: 50%;
        width: 10rem;
        height: 10rem;
        font-size: 2.5rem;
    }
    .treatment_case_badge img {
        width: 2.4rem;
    }

    .treatment_case_card p {
        height: 7rem;
        font-size: 2.6rem;
    }

    .treatment_case_notice {
        margin-top: 7rem;
        font-size: 2.2rem;
    }

    .treatment_case_section_fusion .treatment_case_compare {
        margin-top: 7rem;
    }

    .treatment_case_section_fusion .treatment_case_card p {
        height: 7rem;
        font-size: 2.4rem;
    }

    .treatment_case_fusion_desc {
        margin-top: 7rem;
        font-size: 2.4rem;
        line-height: 1.7;
    }

    .treatment_case_fusion_desc p + p {
        margin-top: 1.6rem;
    }
}

.treatment_case_item.type_3col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px;
}

.treatment_case_card.middle p {
    background: #082b3b;
}

@media (max-width: 1024px) {
    .treatment_case_item.type_3col {
        gap: 6px;
        overflow: auto;
    }
}

@media (max-width: 768px) {
    .treatment_case_item.type_3col {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        gap: 3rem;
    }
    .treatment_case_item.type_3col .treatment_case_card {
        flex-shrink: 0;
        width: 48rem;
    }
}

.treatment_case_info {
    margin-top: 90px;
    text-align: center;
}
.treatment_case_info.type_large {
    margin-bottom: 2em;
}

.treatment_case_info_title {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 360px;
    height: 44px;
    margin: 0;
    padding: 0 34px;
    background: #27b7ec;
    color: #fff;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 400;
    letter-spacing: -0.04em;
}

.treatment_case_info_desc {
    margin: 34px 0 0;
    color: #111;
    font-size: 20px;
    line-height: 1.8;
    font-weight: 400;
    letter-spacing: -0.04em;
}
.treatment_case_info_desc span {
    color: #27b7ec;
    font-weight: 700;
}

.carpal_surgery_open_micro_scope {
    display: grid;
    grid-template-columns: minmax(50%, 583px) minmax(0, 1fr);
    align-items: center;
    gap: 52px;
    margin: 0 auto 82px;
}

.carpal_surgery_open_micro_scope_img {
    overflow: hidden;
}

.carpal_surgery_open_micro_scope_img img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
}

.carpal_surgery_open_micro_scope p {
    margin: 0;
    color: #111;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.9;
    letter-spacing: -0.04em;
    text-align: left;
}

@media (max-width: 1024px) {
    .treatment_case_info {
        margin-top: 70px;
    }

    .treatment_case_info_title {
        font-size: 16px;
    }

    .treatment_case_info_desc {
        font-size: 16px;
        text-wrap: balance;
    }

    .carpal_surgery_open_micro_scope {
        gap: 36px;
        margin-bottom: 70px;
    }

    .carpal_surgery_open_micro_scope p {
        font-size: 18px;
        line-height: 1.7;
    }
}

@media (max-width: 768px) {
    .treatment_case_info {
        margin-top: 7rem;
    }

    .treatment_case_info_title {
        width: 100%;
        min-width: 0;
        height: auto;
        padding: 1.4rem 2rem;
        font-size: 2.2rem;
    }

    .treatment_case_info_desc {
        margin-top: 3rem;
        font-size: 2.5rem;
        line-height: 1.7;
    }

    .carpal_surgery_open_micro_scope {
        grid-template-columns: 1fr;
        gap: 4rem;
        margin-bottom: 7rem;
    }

    .carpal_surgery_open_micro_scope_img {
        border-radius: 1.5rem;
    }

    .carpal_surgery_open_micro_scope_img img {
        border-radius: 2rem;
    }

    .carpal_surgery_open_micro_scope p {
        font-size: 2.5rem;
        line-height: 1.7;
        text-align: center;
    }
}


.haki_case_section {
    padding: 120px 20px;
}

.haki_case_inner {
    max-width: 1500px;
    margin: 0 auto;
}

.haki_case_title_area {
    text-align: center;
}

.haki_case_title {
    margin: 0;
    font-size: 48px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: -0.04em;
}

.haki_case_title span {
    display: inline-block;
    padding: 0.4em 0.5em 0.3em;
    background: #27b7ec;
    color: #fff;
}

.haki_case_desc {
    margin: 54px 0 0;
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: -0.04em;
}

.haki_case_desc span {
    color: #27b7ec;
}

.haki_case_list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 44px;
    margin-top: 110px;
}

.haki_case_image img {
    display: block;
    width: 100%;
    height: auto;
}

.haki_case_caption {
    padding: 18px 15px 20px;
    text-align: center;
    color: #fff;
}

.haki_case_caption.before {
    background: #70706f;
}

.haki_case_caption.progress {
    background: #032b45;
}

.haki_case_caption.after {
    background: #27b7ec;
}

.haki_case_caption strong {
    display: block;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 600;
}

.haki_case_caption p {
    margin: 10px 0 0;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 400;
}

.haki_case_notice {
    margin: 90px 0 0;
    text-align: center;
    font-size: 20px;
    line-height: 1.5;
}

@media (max-width: 1024px) {
    .haki_case_list {
        gap: 20px;
        margin-top: 80px;
    }

    .haki_case_caption strong {
        font-size: 24px;
    }

    .haki_case_caption p {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .haki_case_section {
        padding: 12rem 3rem;
    }

    .haki_case_title {
        font-size: 4.5rem;
    }

    .haki_case_desc {
        margin-top: 3rem;
        font-size: 2.5rem;
    }

    .haki_case_list {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        overflow: auto;
        gap: 2rem;
        margin-top: 8rem;
    }

    .haki_case_item {
        min-width: 50rem;
    }

    .haki_case_caption {
        padding: 2rem;
    }

    .haki_case_caption strong {
        font-size: 3rem;
    }

    .haki_case_caption p {
        margin-top: 1rem;
        font-size: 2.1rem;
    }

    .haki_case_notice {
        margin-top: 6rem;
        font-size: 2.2rem;
    }
}


.case_content {
    flex: 1;
}

.case_desc_group {
    display: flex;
    flex-direction: column;
    gap: 42px;
}

.case_desc_group p {
    margin: 0;
    font-size: 20px;
    line-height: 1.75;
    font-weight: 400;
    letter-spacing: -0.04em;
    word-break: keep-all;
}

.case_desc_group strong {
    color: #25bcff;
    font-weight: 600;
}

@media (max-width: 768px) {
    .case_desc_group {
        gap: 3rem;
    }

    .case_desc_group p {
        font-size: 2.5rem;
        line-height: 1.7;
    }
}

.inspection + .step_section,
.inspection + .treatment_case_section  {
    margin-top: 150px;
}
.step_section {

}
.step_section {
    position: relative;
    z-index: 10;
    overflow: hidden;
    padding: 150px 0 140px;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../img/sub/symptom_bg.jpg");
}
.step_section_bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    overflow: hidden;
}
.step_section_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.step_section .inner {
    position: relative;
    z-index: 1;
    max-width: 1540px;
}

.step_section_title {
    margin: 0 0 90px;
    text-align: center;
    
    & h2 {
        font-size: 42px;
        line-height: 1.7;
        letter-spacing: -0.04em;
    }

    & p {
        font-size: 24px;
        font-weight: 600;
        line-height: 3;
    }
}


.step_section_list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    text-align: center;
    gap: 65px;

    counter-reset: list-counter;

    & > li {
        flex: 1;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        flex-direction: column;
        max-width: 400px;
        counter-increment: list-counter;

        &:before {
            content: "0"counter(list-counter);
            display: block;
            font-size: 32px;
            line-height: 3;
            color: var(--primary2);
        }

        &:nth-child(2) {
            & > p {
                background-color: #0078AA;
            }
        }

        & > b {
            display: block;
            font-size: 42px;
            font-weight: 600;
            line-height: 1.5;
            min-height: 2.5em;
            margin-bottom: 20px;
        }

        & > p {
            padding: 40px 0;
            margin-top: auto;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;

            font-size: 36px;
            font-weight: 600;
            line-height: 1.3;

            aspect-ratio: 1/1;
            background-color: var(--primary2);
            border-radius: 50%;

            &:before {
                flex-shrink: 0;
                content: "";
            }

            & span {
                line-height: 1.5;
                margin: auto;
            }
        }
    }
}

.step_section__row_list {

    &  li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 70px;
    }
    &  li + li {
        margin-top: 100px;
    }
}

.step_section__row_circle {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    border-radius: 50%;    
    background-color: var(--primary2);
    color: #fff;

    width: 310px;
    aspect-ratio: 1/1;

    font-size: 46px;
    font-weight: 700;
    line-height: 1.5;

    & span {
        font-weight: 400;
        font-size: 40px;
    }
}

.step_section__row_text {
    flex: 1;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    gap: 26px;

    & p {
        padding: 11px 65px;
        background-color: #D9D9D9;
        color: #000;
        font-size: 32px;
        line-height: 2;
        border-radius: 45px;
    }
}

@media (max-width: 1280px) {
    .step_section_list {
        gap: 20px;

        & > li {
            &:before {
                content: "0" counter(list-counter);
                display: block;
                font-size: 24px;
                line-height: 3;
                color: var(--primary2);
            }

            & > b {
                display: block;
                font-size: 24px;
                font-weight: 600;
                line-height: 1.5;
            }

            & > p {
                padding: 20px 0;
                margin-top: 20px;
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;

                font-size: 24px;
                font-weight: 600;
                line-height: 1.5;

                aspect-ratio: 1/1;
                background-color: var(--primary2);
                border-radius: 50%;

                &:before {
                    flex-shrink: 0;
                    content: "";
                }

                & span {
                    margin: auto;
                }
            }
        }
    }

    .step_section__row_list {

        &  li {
            gap: 30px;
        }
        &  li + li {
            margin-top: 50px;
        }
    }

    .step_section__row_circle {
        width: 200px;
        aspect-ratio: 1/1;
        font-size: 26px;

        & span {
            font-weight: 400;
            font-size: 0.8em;
        }
    }

    .step_section__row_text {
        gap: 15px;

        & p {
            padding: 11px 22px;
            font-size: 16px;
        }
    }

}

@media (max-width: 768px) {
    .step_section {
        padding: 12rem 0;
    }

    .step_section_title {
        margin-bottom: 15rem;
        
        & h2 {
            font-size: 5rem;
        }
        & p { 
            font-size: 3rem;
            line-height: 1.5;
        }
    }

    .step_section_list {
        flex-direction: column;
                
        gap: 8rem;

        & > li {
            margin: 0 auto;
            width: 80%;
            
            &:before {
                line-height: 1em;
                font-size: 4rem;;
                margin-bottom: 2rem;;
            }

            & > b { 
                font-size: 5rem;
                min-height: inherit;
            }

            & > p {
                padding: 4rem 0;
                font-size: 4rem;
                margin-top: 0rem;
                border-radius: 2rem;
                aspect-ratio: auto;

                & span {
                    margin: auto;
                    padding-bottom: 0rem;
                }
            }
        }
    }


    .step_section__row_list {

        &  li {
            flex-direction: column;
            gap: 3rem
        }
        &  li + li {
            margin-top: 8rem;
        }
    }

    .step_section__row_circle {
    
        width: 30rem;
        font-size: 4rem;
    }

    .step_section__row_text {
        gap: 2rem;
        width: 100%;

        & p {
            padding: 1rem 2rem;;
            font-size: 2.4rem;
            line-height: 1.5;
            text-align: center;
        }
    }
}


section {
    &:has(.section_bg) {
        position: relative;
    }
}

.section_bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;

    & > img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}


.section_head2 {
    text-align: center;
    margin-bottom: 85px;

    .section_desc {
        margin-top: 50px;
    }

    h2 {
        font-size: 42px;
        font-weight: 700;
        font-family: var(--font-family);
        line-height: 1.5;
    }

    & > p {
        font-size: 24px;
        line-height: 1.5;
    }
    
    & + .caution_list {
        margin-top: 0;
    }
}

.section_head3 {
    
    & .inner {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        max-width: fit-content;
        padding: 0;
        margin: 0 auto;
        gap: 50px;

        min-height: 300px;

        &.cln {
            flex-direction: column;
            align-items: stretch;
            text-align: left;
            min-height: inherit;

            &.text_center {
                text-align: center;
                justify-content: center;
                align-items: center;
                gap: 1em;
            }
        }
    }


    margin-bottom: 85px;

    h2 {
        width: max-content;
        max-width: 100%;
        font-size: 46px;
        font-weight: 700;
        line-height: 1.5;
    }

    & p {
        flex-grow: 1;
        font-size: 22px;
        line-height: 1.5;
    }

    & + .flex_content {
        margin-top: 185px;
    }
}
.order2 {
    order: 2;
}
.opacity {
    opacity: 0 !important;
}
.g0 {
    gap: 0px !important;
}
.g15 {
    gap: 15px;
}
.g20 {
    gap: 20px !important;
}
.g30 {
    gap: 30px;
}
.g40 {
    gap: 40px;
}
.g56 {
    gap: 56px;
}
.word_space {
    display: inline-block;
}
.flex_list {
    margin-top: 130px;

    ul {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        text-align: center;
    }

    .case_check_list  {
        margin: 80px auto 0;
        max-width: fit-content;
        li {
            color: #fff;
        }
    }
}
.flex_list_3 {
    ul {
        flex-wrap: wrap;
        align-items: stretch;
    }
    li {
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        flex-direction: column;
    }
    .flex_list_text {
        flex-grow: 1;
    }
    .flex_list_text_box {
        padding-top: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100%;
    }
    .flex_list_text_round {
        width: 70%;
    }
}

.flex_list_img {

}
.flex_list_img_r {
    border-radius: 20px;
    overflow: hidden;
}
.flex_list_text_box {
    border: 1px solid #C0C0C0;
    padding: 50px 0;
    margin-top: -24px;
    line-height: 1.45;
    color: #000;
}

.flex_list_text {
    padding-top: 15px;
    font-size: 32px;
    line-height: 2;
    color: #525252;

    &:has(.flex_list_text_box) {
        padding-top: 0;
        margin-top: 0;
    }
}
.flex_list_text_round {
    font-size: 28px;
    font-weight: 700;
    padding: 0 11px;
    border-radius: 50px;
    background-color: #A1A1A1;
    color: #fff;
    max-width: 300px;
    margin: 0 auto;
}
.flex_list_text_under {
    position: relative;
    z-index: 10;
    margin-top: -45px;
}
.flex_content {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 5%;

    &.vt_center {
        align-items: center;
    }

    &.flex_content_col {
        flex-direction: column;
        align-items: center;
        gap: 4em;
    }
}
.flex_text {
    flex-grow: 1;
    max-width: 600px;
}
.flex_text_a {
    flex-grow: inherit;
}
.flex_text2 {
    max-width: 700px;
}
.flex_text3 {
    max-width: 760px;
}
.flex_text_h3 {
    font-size: 46px;
    line-height: 1.5;
    margin-bottom: 55px;

    & + .case_check_bottom_text {
        padding-left: 0;
    }

}
.flex_text_h3_p {
    font-size: 36px;
    line-height: 2;
    color: #A2A2A2;
}

.flex_img {
    text-align: center;
    width: 50%;
    max-width: 554px;
}

@media (max-width: 1023px) {
    .section_bg {
        & > img {
            height: auto;
            opacity: 0.65;
        }
    }

    .flex_m_col {
        flex-direction: column;
        align-items: center;
        gap: 0px;

        & .flex_text { 
            order: 2 !important;
        }
        & .flex_img {
            width: 100%;
        }
    }
}



.surgery_solution_list {
    display: flex;
    flex-direction: column;
    gap: 74px;
    margin: 0;
    padding: 0;
    list-style: none;
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
    margin-top: 150px;
}

.surgery_solution_item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
    min-height: 220px;
    background-color: #fff;
}

.surgery_solution_img {
    min-height: 220px;
    overflow: hidden;
}

.surgery_solution_img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.surgery_solution_cont {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0px 52px;
}

.surgery_solution_pre {
    padding: 32px 0;
    margin: auto 0;
    white-space: pre-line;
    font-size: 24px;
    font-weight: 500;
    line-height: 1.7;
}

.surgery_solution_cont h3 {
    margin: 0;
    color: #111;
    font-family: var(--font-family);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -0.06em;
    margin-bottom: 8px;
}

.surgery_solution_cont p {
    color: #525252;
    font-size: 24px;
    line-height: 1.5;
    letter-spacing: -0.04em;
}

.surgery_solution_item:nth-child(even) .surgery_solution_img {
    order: 2;
}

.surgery_solution_item:nth-child(even) .surgery_solution_cont {
    order: 1;
    text-align: right;
}


.sibrw_item {
    position: relative;
    z-index: 1;
    max-width: 1164px;
    margin: 0 auto;

    & .inner_bg {
        position: absolute;
        inset: 0;
        z-index: -1;
        overflow: hidden;
        border-radius: 20px;

        & img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
    }
}

.sibrw_content {
    color: #fff;
    text-align: center;
    padding: 83px 32px;
    margin-left: auto;
    width: fit-content;

    & h5 {
        font-size: 26px;
        margin-bottom: 60px;
    }
}   

.sibrw_item_list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;

    & li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        flex-direction: column;
        text-align: center;
        border-radius: 50%;
        width: 206px;
        aspect-ratio: 1/1;
        padding: 27px 10px;

        &:before {
            content: "";    
            width: 20px;
            aspect-ratio: 1/1;
            background-image: url(../img/sub/sub_02_05_0014.png);
        }

        & p {
            margin: auto;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.5;
        }

        &:nth-child(odd) {
            background-color: #0078AA;
        }
        &:nth-child(even) {
            background-color: #1AA1DD;
        }
        & + li {
            margin-left: -20px;
        }
    }

    li:nth-child(1) {
    z-index: 4;
    }

    li:nth-child(2) {
    z-index: 3;
    }

    li:nth-child(3) {
    z-index: 2;
    }

    li:nth-child(4) {
    z-index: 1;
    }
}

@media(max-width: 1023px) {
    .sibrw_item_list {
        & li {
            width: 150px;
            aspect-ratio: 1/1;
            padding: 20px 10px;

            &:before {
                width: 15px;
                background-size: contain;
            }

            & p {
                font-size: 16px;
            }
        }
    }
}

.underline {
    text-decoration: underline;
    text-underline-position: under;
}



.section_cmp {
    position: relative;
    padding: 260px 0;

    & + .section_cmp,
    & + .nerve_block_effect_section {
        padding-top: 0;

        &:is(.bg_gray) {
            padding-top: 260px;
            & + .section_cmp {
                padding-top: 260px;
            }
        }
    }
    & + .symptom_section {
        margin-top: 0;
    }

    & > .inner + .inner {
        margin-top: 200px;
    }
}
.bg_gray,
.bg_gray2 {
    & + .symptom_section {
        margin-top: 0;
    }
}

.section_head {
    text-align: center;
    font-size: 46px;
    font-weight: 700;
    margin-bottom: 80px;

    h2 {
        line-height: 1.5;
    }

    & > p {
        margin-top: 1em;
        font-size: 22px;
        font-weight: 400;
        line-height: 1.3;
    }
}
.section_desc {
    font-size: 22px;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 50px;

    pre {
        white-space: pre-line;
    }

    & +  .img_list {
        margin-top: 100px;;
    }
}

.img_sq {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    text-align: center;

    & + .img_list {
        margin-top: 135px;
    }
}
.img_sq > div {
    width: fit-content;
    margin: 0 auto
}
.img_sq_text {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}

.img_sq_text span {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;

    color: #Fff;
    background-color: #0E3A60;
    font-size: 26px;
    font-weight: 700;
    padding: 20PX;

    &:first-child {
        background-color: #25BCFF;
    }
}


.img_cc {
    border-radius: 50%;
    width: 390px;
    max-width: 100%;

    img {
        width: 100%;
        aspect-ratio: 1/1;
    }
}
.img_list {
    width: fit-content;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 auto;
    text-align: center;
    gap: 33px;

    li {
        flex: 1;
    }

    strong {
        display: block;
        font-size: 24px;
        color: var(--primary2);
        margin: 40px 0 32px;
    }
    p {
        font-size: 22px;
    }
}

.text_pre {
    margin-top: 100px;
    font-size: 22px;
    line-height: 1.7;
    text-align: center;
    
    pre {
        white-space: pre-line;
    }
}
.text_box {
    width: fit-content;
    background-color: #fff;
    margin-left: auto;
    margin-right: auto;
    padding: 70px 130px;
    font-size: 26px;
}


.cartilage_table {
    width: 100%;
    max-width: 1480px;
    margin: 0 auto;
    border-top: 1px solid #9e9e9e;
    border-collapse: collapse;
    color: #111;
    margin-top: 80px;
}

.cartilage_table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.cartilage_table th,
.cartilage_table td {
    border-bottom: 1px solid #9e9e9e;
    vertical-align: middle;
}

.cartilage_table th {
    width: 397px;
    padding: 44px 40px;
    background: #f7f8fc;
    border-right: 1px solid #9e9e9e;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
}

.cartilage_table td {
    padding: 32px 56px;
    background: #fff;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.45;
}

.cartilage_table th:first-child,
.cartilage_table td:first-child {
    width: 27%;
}
.cartilage_table td strong {
    font-weight: 700;
}

.cartilage_table .is_blue th {
    background: var(--primary2, #25BCFF);
    color: #fff;
}

.cartilage_table .cartilage_table_space td {
    font-size: 28px;
    line-height: 1.5;
    text-align: center;
}

@media (max-width: 1024px) {
    .cartilage_table th {
        width: 300px;
        padding: 36px 28px;
        font-size: 22px;
    }

    .cartilage_table td {
        padding: 28px 36px;
        font-size: 22px;
    }
}

@media (max-width: 768px) {
    .cartilage_table,
    .cartilage_table tbody,
    .cartilage_table tr,
    .cartilage_table th,
    .cartilage_table td {
        display: block;
        width: 100%;
    }

    .cartilage_table {
        border-top: 0;
        margin-top: 8rem;
    }

    .cartilage_table tr {
        border-top: 0.1rem solid #9e9e9e;
    }

    .cartilage_table th {
        padding: 3rem 2.4rem;
        border-right: 0;
        border-bottom: 0.1rem solid #9e9e9e;
        font-size: 2.8rem;
    }

    .cartilage_table td {
        padding: 3.4rem 3rem;
        font-size: 2.4rem;
    }

    .cartilage_table th:first-child, 
    .cartilage_table td:first-child {
        width: 100%;
    }

    .cartilage_table .cartilage_table_space {
        border-top: 0;
    }

    .cartilage_table .cartilage_table_space td {
        font-size: 3rem;
    }
}

.knee_flow {
    width: 100%;
    max-width: 1150px;
    margin: 0 auto;
    color: #111;
    margin-top: 150px;
}

.knee_flow_canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 1120 / 1343;
}

.knee_flow_line {
    position: absolute;
    z-index: 1;
    background: linear-gradient(90deg, #37b8d9 0%, #315fc1 100%);
}

.knee_flow_line.is_vertical {
    width: 4px;
    background: linear-gradient(180deg, #37b8d9 0%, #315fc1 100%);
}

.knee_flow_node {
    position: absolute;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.knee_flow_circle {
    width: 29.82%;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    padding: 4.8% 4.8%;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 2.15;
    text-align: left;
}

.knee_flow_circle p {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0;
    white-space: nowrap;
}
.knee_flow_circle p:before {
    content: "";
    flex-shrink: 0;
}


.knee_flow_box {
    width: 30.35%;
    min-height: 108px;
    padding: 10px 24px;
    border: 4px solid transparent;
    border-radius: 500px;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(90deg, #37b8d9 0%, #315fc1 100%) border-box;
    font-size: 20px;
    font-weight: 600;
    line-height: 2.05;
    text-align: left;
}

.knee_flow_box p {
    margin: 0;
}

.knee_flow_box p + p {
    margin-top: 2px;
}

.knee_flow_result {
    z-index: 1;
    width: 21.25%;
    aspect-ratio: 1 / 1;
    flex-direction: column;
    border: 4px solid transparent;
    border-radius: 50%;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, #37b8d9 0%, #315fc1 100%) border-box;
    overflow: hidden;
}

.knee_flow_result img {
    position: absolute;
    inset: -4px;
    z-index: -1;
    max-width: calc(100% + 8px);
    width: calc(100% + 8px);
    margin-bottom: 8px;
}

.knee_flow_result strong {
    display: block;
    color: #2f6ecf;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    margin-top: auto;
    margin-bottom: 20%;
}

.knee_flow_badge {
    position: absolute;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 21.25%;
    height: 48px;
    border-radius: 24px;
    background: linear-gradient(
        90deg,
        #3164BF 0%,
        #172F59 100%
    );
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}

.knee_flow_top01 {
    left: 0;
    top: 0;
    background: var(--primary2, #25bcff);
}

.knee_flow_top02 {
    left: 35.26%;
    top: 0;
    background: #34b5c7;
}

.knee_flow_top03 {
    right: 0;
    top: 0;
    background: #3158bd;
}

.knee_flow_box01 {
    left: 0;
    top: 41.1%;
}

.knee_flow_box02 {
    left: 35%;
    top: 41.1%;
}

.knee_flow_box03 {
    right: 0;
    top: 41.1%;
}

.knee_flow_box04 {
    right: 0;
    top: 29.35%;
    width: 30.35%;
    min-height: 96px;
    text-align: center;
}

.knee_flow_result01 {
    left: 0.35%;
    bottom: 0;
}

.knee_flow_result02 {
    left: 25.1%;
    bottom: 0;
}

.knee_flow_result03 {
    left: 50%;
    bottom: 0;
}

.knee_flow_result04 {
    right: 4.6%;
    bottom: 0;
}

.knee_flow_result05 {
    right: 4.6%;
    top: 57.85%;
}

.knee_flow_badge01 {
    left: 0;
    bottom: 0;
}

.knee_flow_badge02 {
    left: 24.75%;
    bottom: 0;
}

.knee_flow_badge03 {
    left: 50%;
    bottom: 0;
}

.knee_flow_badge04 {
    right: 4.6%;
    bottom: 0;
}

.knee_flow_badge05 {
    right: 4.6%;
    top: 72.55%;
}

.knee_flow_line01 {
    left: 14.65%;
    top: 24.8%;
    height: 16.5%;
}

.knee_flow_line02 {
    left: 14.65%;
    top: 52.4%;
    height: 26.4%;
}

.knee_flow_line03 {
    left: 14.65%;
    top: 78.8%;
    width: 20.65%;
    height: 4px;
}

.knee_flow_line04 {
    left: 35.1%;
    top: 78.8%;
    height: 10.2%;
}

.knee_flow_line05 {
    left: 14.65%;
    top: 32.55%;
    width: 35.8%;
    height: 4px;
}

.knee_flow_line06 {
    left: 50.25%;
    top: 24.8%;
    height: 16.5%;
}

.knee_flow_line07 {
    left: 50%;
    top: 52.4%;
    height: 26.4%;
}

.knee_flow_line08 {
    left: 50%;
    top: 78.8%;
    width: 35.2%;
    height: 4px;
}

.knee_flow_line09 {
    left: 59.6%;
    top: 78.8%;
    height: 10.2%;
}

.knee_flow_line10 {
    left: 85.2%;
    top: 78.8%;
    height: 10.2%;
}

.knee_flow_line11 {
    left: 50.5%;
    top: 38.8%;
    width: 35%;
    height: 4px;
}

.knee_flow_line12 {
    left: 85.2%;
    top: 24.8%;
    height: 62.9%;
}

.knee_flow_line13 {
    left: 85.2%;
    top: 57.5%;
    height: 15.2%;
}
@media (max-width: 1200px) {
    .knee_flow {
		overflow-x: auto;
    }
    .knee_flow_canvas {
        min-width: 1150px;
    }
}

@media (max-width: 768px) {
	.knee_flow {
		overflow-x: auto;
		padding: 0 3rem 1rem;
		-webkit-overflow-scrolling: touch;
        margin-top: 12rem;
	}

	.knee_flow_canvas {
		min-width: 96rem;
		aspect-ratio: 1120 / 1343;
	}

	.knee_flow_circle {
		font-size: 1.7rem;
		line-height: 2.15;
	}

	.knee_flow_box {
		min-height: 9.2rem;
		padding: 0.8rem 2rem;
		font-size: 1.75rem;
		line-height: 2.05;
	}

	.knee_flow_box04 {
		min-height: 8.4rem;
	}

	.knee_flow_result strong {
		font-size: 1.55rem;
		margin-bottom: 20%;
	}

	.knee_flow_badge {
		height: 4.4rem;
		border-radius: 4.4rem;
		font-size: 1.75rem;
	}

    .knee_flow_line.is_vertical {
		width: 0.4rem;
	}

	.knee_flow_line:not(.is_vertical) {
		height: 0.4rem;
	}

	.knee_flow_box,
	.knee_flow_result {
		border-width: 0.4rem;
	}

	.knee_flow_result img {
		inset: -0.4rem;
		max-width: calc(100% + 0.8rem);
		width: calc(100% + 0.8rem);
	}

    .knee_flow_line02,
    .knee_flow_line07 {
        top: 52.4%;
    }
}
@media (max-width: 1024px) {
    .section_head .inner ,
    .section_head2 .inner ,
    .section_head3 .inner {
        flex-direction: column;
        align-items: stretch;
    }
}
@media (max-width: 768px) {
    .section_cmp {
        padding: 12rem 0;

        & + .symptom_section {
            margin-top: 0;
        }
        & + .section_cmp,
        & + .nerve_block_effect_section {

            &:is(.bg_gray) {
                padding-top: 12rem;
                 & + .section_cmp {
                    padding-top: 12rem;
                 }
            }
        }

        & > .inner + .inner {
            margin-top: 15rem;
        }
        
    }

    .section_head,
    .section_head2,
    .section_head3 {
        margin-bottom: 5rem;
    }

    .section_head {
        font-size: 4.6rem;

        p {
            font-size: 2.4rem;

            br {
                display: none;
            }
        }
    }

    .section_head2 h2,
    .section_head3 h2 {
        width: 100%;
        font-size: 4.6rem;
    }

    .section_head2 > p,
    .section_head3 p,
    .section_desc {
        font-size: 2.4rem;
        line-height: 1.7;
    }
    .section_desc {
        pre {
            white-space: normal;

            .darkgray { 
                margin: 2em 0 0;
            }
        }
    }

    .section_head2 .section_desc,
    .section_head3 + .flex_content,
    .section_desc + .img_list,
    .img_sq + .img_list {
        margin-top: 6rem;
    }

    .img_sq_text span {
        font-size: 3rem;
        padding: 2rem;
        line-height: 1.5;
    }

    .section_head3 .inner {
        flex-direction: column;
        gap: 3rem;
        padding: 0rem;
    }

    .g0 {
        gap: 0 !important;
    }
    .g15 {
        gap: 1.5rem;
    }
    .g20 {
        gap: 2rem !important;
    }
    .g30 {
        gap: 3rem;
    }

    .g40 {
        gap: 4rem;
    }

    .g56 {
        gap: 5.6rem;
    }

    .flex_content {
        flex-direction: column;
        align-items: center;
        gap: 5rem;

        &.flex_content_col {
            gap: 5rem;
        }
    }

    .flex_text,
    .flex_text2,
    .flex_text3,
    .flex_img {
        width: 100%;
        max-width: 100%;
    }

    .flex_text_h3 {
        margin-bottom: 3.5rem;
        font-size: 4rem;
    }

    .flex_text_h3_p {
        font-size: 2.8rem;
        line-height: 1.7;
    }

    .flex_list {
        margin-top: 7rem;
        overflow-x: visible;
        padding: 0;

        .case_check_list {
            text-align: left;
            margin-top: 5rem;
        }
    }

    .flex_list ul {
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        min-width: 0;
        gap: 3rem;
    }

    .flex_list_mo {

        ul { 
            flex-direction: row;
            flex-wrap: wrap;
        }

        li {
            width: calc(50% - 1.5rem);
        }

        .flex_list_text_box {
            padding-top: 6rem;
        }
    }

    .flex_list_img_r {
        border-radius: 2rem;
    }

    .flex_list_img img {
        width: 100%;
    }
    .flex_list_text_box {
        padding: 5rem 0;
        margin-top: -3.4rem;
    }
    
    .flex_list_text {
        margin-top: 2rem;
        font-size: 3rem;
        line-height: 1.6;
        
        &:has(.flex_list_text_box) {
            padding-top: 0;
            margin-top: 0;

            .flex_list_text_round {
                font-size: 3rem;
            }
    
            .flex_list_text_under {
                margin-top: -1em;
            }
        }
    }

    .flex_list_text_round {
        max-width: 80%;
        padding: 0.8rem 2rem;
        border-radius: 5rem;
        font-size: 4rem;
    }

    .flex_list_text_under {
        margin-top: -1em;
    }

    .case_check_list.check_icon_2 {
        gap: 2.4rem;
    }

    .case_check_list.check_icon_2 li {
        gap: 1.6rem;
        font-size: 3rem;
        line-height: 1.6;
    }

    .case_check_list.check_icon_2 li::before {
        width: 3rem;
        height: 3rem;
        margin-top: 1rem;
        background-size: contain;
    }

    .case_check_list.case_check_box {
        padding: 4rem 3rem;
    }

    .case_check_text {
        margin-top: 5rem;
        font-size: 2.4rem;
        line-height: 1.7;
        white-space: normal;
    }

    .case_check_text_box {
        margin-top: 4rem;
        padding: 3rem 2rem;
        font-size: 2.6rem;
        line-height: 1.5;
    }

    .case_check_bottom_text {
        padding-left: 0;
        margin-top: 5rem;
        font-size: 2.4rem;
        line-height: 1.7;
        .primary_bg {
            padding: 0.2em 0.4em;
        }
    }

    .text_pre {
        margin-top: 7rem;
        font-size: 2.5rem;
        line-height: 1.7;

        .darkgray {
            white-space: normal;
        }
    }

    .text_box {
        padding: 5rem;
    }

    .surgery_solution_list {
        gap: 4rem;
        margin-top: 7rem;
        padding: 0 3rem;
    }

    .surgery_solution_item {
        grid-template-columns: 1fr;
        min-height: 0;
        border-radius: 2rem;
    }

    .surgery_solution_item:nth-child(even) .surgery_solution_img,
    .surgery_solution_item:nth-child(even) .surgery_solution_cont {
        order: initial;
        text-align: left;
    }

    .surgery_solution_img {
        min-height: 28rem;
    }

    .surgery_solution_cont {
        padding: 4rem 3rem;
    }

    .surgery_solution_pre,
    .surgery_solution_cont p {
        font-size: 2.4rem;
        line-height: 1.7;
    }

    .surgery_solution_cont h3 {
        margin-bottom: 1.5rem;
        font-size: 4rem;
    }

    .sibrw_content {
        width: 100%;
        padding: 6rem 3rem;
    }

    .sibrw_content h5 {
        margin-bottom: 4rem;
        font-size: 3rem;
        line-height: 1.5;
    }

    .sibrw_item_list {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.5rem;
    }

    .sibrw_item_list li {
        width: 25rem;
        padding: 2.4rem 1rem;
    }

    .sibrw_item_list li + li {
        margin-left: 0;
    }

    .sibrw_item_list li::before {
        width: 3rem;
    }

    .sibrw_item_list li p {
        font-size: 2.4rem;
    }

    .sibrw_item {
        background-color: #01135d;
        border-radius: 1.5rem;
        & .inner_bg {
            border-radius: 1.5rem;
        }
    }

    .img_cc {
        width: 34rem;
    }

    .img_list {
        width: 100%;
        overflow-x: auto;
        padding: 0 3rem 1rem;
        -webkit-overflow-scrolling: touch;
    }

    .img_list > * {
        flex: 0 0 auto;
        max-width: 80vw;
    }

    .team_tab {
        overflow-x: auto;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
    }

    .team_tab button {
        flex: 0 0 auto;
        width: 24rem;
        height: 7.4rem;
        font-size: 2.5rem;
    }

    .inspection + .step_section, 
    .inspection + .treatment_case_section {
        margin-top: 8rem;
    }
}

.spine-benefit {
	overflow: hidden;
	padding: 80px 20px;
	background: transparent;
}

.spine-benefit__inner {
	position: relative;
	width: min(100%, 1360px);
	height: 505px;
	margin: 0 auto;
}

.spine-benefit__visual {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
	overflow: hidden;
	width: 505px;
	height: 505px;
	border-radius: 50%;
	background: #fff;
	transform: translateX(-50%);
}

.spine-benefit__visual img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.spine-benefit__list {
	position: relative;
	z-index: 3;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.spine-benefit__item {
	position: absolute;
}

.spine-benefit__item span {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 310px;
	height: 76px;
	padding: 0 36px;
	border-radius: 76px;
	background: #103f65;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	white-space: nowrap;
}

.spine-benefit__item--pain {
	top: 60px;
	left: 75px;
}

.spine-benefit__item--fracture {
	top: 99px;
	right: 0;
}

.spine-benefit__item--disease {
	top: 292px;
	left: 0;
}

.spine-benefit__item--prevent {
	top: 357px;
	right: 60px;
}

.spine-benefit__line {
	position: absolute;
	z-index: 2;
	display: block;
	height: 0;
	border-top: 3px dashed #103f65;
	transform-origin: left center;
}

.spine-benefit__line--pain-horizontal {
	top: 98px;
	left: 385px;
	width: 255px;
}

.spine-benefit__line--pain-diagonal {
	top: 98px;
	left: 640px;
	width: 72px;
	transform: rotate(38deg);
}

.spine-benefit__line--fracture-horizontal {
	top: 137px;
	left: 786px;
	width: 266px;
}

.spine-benefit__line--fracture-diagonal {
	top: 224px;
	left: 690px;
	width: 134px;
	transform: rotate(-42deg);
}

.spine-benefit__line--disease {
	top: 330px;
	left: 310px;
	width: 370px;
}

.spine-benefit__line--prevent {
	top: 394px;
	left: 710px;
	width: 282px;
}

.spine-benefit__dot {
	position: absolute;
	z-index: 4;
	width: 26px;
	height: 26px;
	border: 5px solid #fff;
	border-radius: 50%;
	background: #0e4268;
}

.spine-benefit__dot--pain {
	top: 130px;
	left: calc(50% + 2px);
}

.spine-benefit__dot--fracture {
	top: 211px;
	left: calc(50% - 3px);
}

.spine-benefit__dot--disease {
	top: 318px;
	left: calc(50% - 13px);
}

.spine-benefit__dot--prevent {
	top: 381px;
	left: calc(50% + 15px);
}

@media (max-width: 1024px) {
	.spine-benefit {
		padding: 8rem 3rem;
	}

	.spine-benefit__inner {
		display: flex;
		flex-direction: column;
		height: auto;
	}

	.spine-benefit__visual {
		position: relative;
		top: auto;
		left: auto;
		width: 50.5rem;
		max-width: 100%;
		height: auto;
		aspect-ratio: 1 / 1;
		margin: 0 auto;
		border-width: 0.5rem;
		transform: none;
	}

	.spine-benefit__line,
	.spine-benefit__dot {
		display: none;
	}

	.spine-benefit__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
		height: auto;
		margin-top: 4rem;
	}

	.spine-benefit__item {
		position: static;
	}

	.spine-benefit__item span {
		width: 100%;
		height: 7.6rem;
		padding: 0 3rem;
		border-radius: 7.6rem;
		font-size: 3rem;
	}
}

@media (max-width: 768px) {
	.spine-benefit__list {
		grid-template-columns: 1fr;
		gap: 1.8rem;
		margin-top: 5rem;
	}
}

.fracture-process {
	width: 100%;
	max-width: 100%;
}

.fracture-process__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-areas:
		"step1 step2"
		"step4 step3";
	gap: 24px 20px;
	width: 100%;
	max-width: 1192px;
	margin: 0 auto;
}

.fracture-process__card {
	position: relative;
	overflow: visible;
	min-width: 0;
	border-radius: 28px;
	background: #F7F8FC;
}

.fracture-process__card::after {
	content: "";
	position: absolute;
	z-index: 3;
	display: block;
	width: 62px;
	height: 62px;
	background: url(../img/sub/sub_06_05_0012.png) no-repeat center / contain;
	pointer-events: none;
}

.fracture-process__card--step1 {
	grid-area: step1;
}

.fracture-process__card--step1::after {
	top: 190px;
	right: -41px;
}

.fracture-process__card--step2 {
	grid-area: step2;
}

.fracture-process__card--step2::after {
	right: 50%;
	bottom: -43px;
	transform: translateX(50%) rotate(90deg);
}

.fracture-process__card--step3 {
	grid-area: step3;
}

.fracture-process__card--step3::after {
	top: 190px;
	left: -41px;
	transform: rotate(180deg);
}

.fracture-process__card--step4 {
	grid-area: step4;
}

.fracture-process__card--step4::after {
	content: none;
}

.fracture-process__image {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 586 / 296;
	border-radius: 28px 28px 0 0;
    border-radius: 30px;
}

.fracture-process__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fracture-process__body {
	min-height: 148px;
	padding: 28px 36px 30px;
}

.fracture-process__body h3 {
	margin: 0;
	color: #303030;
	font-size: 42px;
    font-family: var(--font-family);
	line-height: 1.2;
	letter-spacing: 0;
}

.fracture-process__body p {
	margin: 16px 0 0;
	color: #111;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: 0;
}

@media (max-width: 768px) {
	.fracture-process__grid {
		display: flex;
		flex-direction: column;
		gap: 3.8rem;
		max-width: 100%;
	}

	.fracture-process__card {
		border-radius: 2.4rem;
	}

	.fracture-process__card::after {
		top: auto;
		right: 50%;
		bottom: -5rem;
		left: auto;
		width: 6.2rem;
		height: 6.2rem;
		transform: translateX(50%) rotate(90deg);
	}

	.fracture-process__card--step4::after {
		content: none;
	}

	.fracture-process__image {
		aspect-ratio: 586 / 296;
		border-radius: 2.4rem 2.4rem 0 0;
        border-radius: 3rem;
	}

	.fracture-process__body {
		min-height: 0;
		padding: 2.8rem 3rem 3.2rem;
	}

	.fracture-process__body h3 {
		font-size: 4rem;
		line-height: 1.2;
	}

	.fracture-process__body p {
		margin-top: 1.4rem;
		font-size: 2rem;
		line-height: 1.45;
	}
}

@media (max-width: 480px) {
	.fracture-process__grid {
		gap: 3.2rem;
	}

	.fracture-process__card::after {
		bottom: -4.2rem;
		width: 5.2rem;
		height: 5.2rem;
	}

	.fracture-process__body {
		padding: 2.4rem 2.2rem 2.8rem;
	}

	.fracture-process__body h3 {
		font-size: 3.2rem;
	}

	.fracture-process__body p {
		font-size: 1.7rem;
	}
}

.circle-process {
	width: 100%;
	max-width: 100%;
	overflow: hidden;
}

.circle-process__list {
	display: flex;
	align-items: center;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.circle-process__item {
	position: relative;
	display: flex;
	flex: 0 0 27.7%;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	margin-left: -3.8%;
	border-radius: 50%;
	color: #fff;
	text-align: center;
}

.circle-process__item:first-child {
	margin-left: 0;
}

.circle-process__item--01 {
	background: #45b7d8;
}

.circle-process__item--02 {
	background: #2496b3;
}

.circle-process__item--03 {
	background: #244d9c;
}

.circle-process__item--04 {
	background: #30306e;
}

.circle-process__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	width: 78%;
	height: 78%;
}

.circle-process__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	margin-top: 34px;
}

.circle-process__icon img {
	display: block;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.circle-process__item p {
	margin: 0;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0;
	word-break: keep-all;
    margin: auto;
}

.circle-process__item p span {
	display: block;
}

@media (max-width: 1024px) {
	.circle-process__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2rem;
	}

	.circle-process__item {
		flex: none;
		width: 100%;
		margin-left: 0;
	}

	.circle-process__icon {
		width: 7.6rem;
		height: 7.6rem;
		margin-bottom: 2.8rem;
	}

	.circle-process__item p {
		font-size: 2.2rem;
	}
}

@media (max-width: 768px) {
    .circle-process {
        overflow: visible;
    }

	.circle-process__list {
		grid-template-columns: 1fr;
		gap: 1.6rem;
	}

	.circle-process__item {
		max-width: 40rem;
		margin: 0 auto;
        margin-bottom: -4rem;
	}
    .circle-process__item:first-child {
        margin-left: auto;
    }

	.circle-process__inner {
        justify-content: center;
		width: 80%;
		height: 80%;
	}

	.circle-process__icon {
		width: 9rem;
		height: 9rem;
        margin: 0;
		margin-bottom: 2.4rem;
	}

	.circle-process__item p {
		font-size: 2.5rem;
		line-height: 1.55;
        margin: 0;
	}
}

.disc-benefit {
	width: 100%;
	max-width: 100%;
	background: transparent;
}

.disc-benefit__inner {
	width: 100%;
	max-width: 1060px;
	margin: 0 auto;
	padding: 126px 0 136px;
}

.disc-benefit__title {
	margin: 0 0 72px;
	color: #000;
	font-size: 46px;
	font-weight: 500;
	line-height: 1.25;
	text-align: center;
	letter-spacing: 0;
}

.disc-benefit__title span {
	color: #24b7f0;
}

.disc-benefit__list {
	display: flex;
	flex-direction: column;
	gap: 15px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;

    margin-top: 120px;
}

.disc-benefit__list li {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 82px;
	border: 2px solid #24b7f0;
	background: #fff;
}

.disc-benefit__check {
	position: relative;
	flex: 0 0 90px;
	background: #24b7f0;
}

.disc-benefit__check::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 20px;
	border-bottom: 6px solid #fff;
	border-left: 6px solid #fff;
	transform: translate(-50%, -62%) rotate(-45deg);
}

.disc-benefit__list p {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 18px 36px;
	color: #202020;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0;
	word-break: keep-all;
}

.disc-benefit__photo-list {
	display: flex;
	justify-content: center;
	gap: 70px;
	margin-top: 94px;
}

.disc-benefit__photo-item {
	position: relative;
	width: 360px;
	margin: 0;
	padding-bottom: 39px;
}

.disc-benefit__photo {
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: #ddd;
}

.disc-benefit__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.disc-benefit__photo-item figcaption {
	position: absolute;
	right: 40px;
	bottom: 0;
	left: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 78px;
	margin: 0;
	border-radius: 8px;
	background: #24b7f0;
	color: #fff;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	letter-spacing: 0;
}

.disc-benefit__caption {
	margin: 82px 0 0;
	color: #000;
	font-size: 25px;
	font-weight: 500;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0;
}

@media (max-width: 1200px) {
	.disc-benefit__inner {
		max-width: 920px;
		padding: 100px 24px 116px;
	}

	.disc-benefit__title {
		margin-bottom: 58px;
		font-size: 42px;
	}

	.disc-benefit__list p {
		font-size: 23px;
	}

	.disc-benefit__photo-list {
		gap: 52px;
	}

	.disc-benefit__photo-item {
		width: 330px;
	}
}

@media (max-width: 1023px) {
	.disc-benefit__inner {
		max-width: 760px;
		padding: 82px 24px 96px;
	}

	.disc-benefit__title {
		margin-bottom: 46px;
		font-size: 38px;
	}

	.disc-benefit__list li {
		min-height: 74px;
	}

	.disc-benefit__check {
		flex-basis: 78px;
	}

	.disc-benefit__list p {
		padding: 16px 28px;
		font-size: 21px;
	}

	.disc-benefit__photo-list {
		gap: 36px;
		margin-top: 74px;
	}

	.disc-benefit__photo-item {
		width: 300px;
	}

	.disc-benefit__photo-item figcaption {
		right: 28px;
		left: 28px;
		min-height: 68px;
		font-size: 23px;
	}

	.disc-benefit__caption {
		margin-top: 68px;
		font-size: 23px;
	}
}

@media (max-width: 768px) {
	.disc-benefit__inner {
		max-width: 100%;
		padding: 6.4rem 3rem 7.2rem;
	}

	.disc-benefit__title {
		margin-bottom: 3.6rem;
		font-size: 3.2rem;
		line-height: 1.3;
	}

	.disc-benefit__list {
		gap: 1.2rem;
        margin-top: 8rem;
	}

	.disc-benefit__list li {
		min-height: 6.8rem;
		border-width: 0.2rem;
	}

	.disc-benefit__check {
		flex: 0 0 5.8rem;
	}

	.disc-benefit__check::before {
		width: 2.6rem;
		height: 1.6rem;
		border-bottom-width: 0.45rem;
		border-left-width: 0.45rem;
	}

	.disc-benefit__list p {
		padding: 1.4rem 1.8rem;
		font-size: 1.8rem;
		line-height: 1.45;
	}

	.disc-benefit__photo-list {
		align-items: center;
		gap: 4rem;
		margin-top: 5.6rem;
	}

	.disc-benefit__photo-item {
		width: min(100%, 34rem);
		padding-bottom: 3.4rem;
	}

	.disc-benefit__photo-item figcaption {
		right: 3rem;
		left: 3rem;
		min-height: 6.4rem;
		border-radius: 0.8rem;
		font-size: 2rem;
	}

	.disc-benefit__caption {
		margin-top: 5.4rem;
		font-size: 1.9rem;
		line-height: 1.45;
	}
}

.bus-table-wrap {
	width: 100%;
	max-width: 1016px;
	margin: 0 auto;
    margin-top: 100px;
}

.bus-table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fff;
}

.bus-table caption {
	overflow: hidden;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	clip: rect(0, 0, 0, 0);
}

.bus-table__type {
	width: 17.7%;
}

.bus-table__number {
	width: 18.8%;
}

.bus-table__stop {
	width: 44.6%;
}

.bus-table__stop-number {
	width: 18.9%;
}

.bus-table th,
.bus-table td {
	border: 1px solid #999999;
	color: #000;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.45;
	text-align: center;
	vertical-align: middle;
	letter-spacing: 0;
	word-break: keep-all;
}

.bus-table th {
	height: 55px;
	background: #e9f8ff;
    border-bottom: 0;
}
.bus-table th:first-child,
.bus-table td:first-child {
    border-left: 0;
}

.bus-table th:last-child,
.bus-table td:last-child {
    border-right: 0;
}

.bus-table td {
	height: 56px;
	padding: 13px 18px;
}

.bus-table td:nth-child(3) {
	text-align: left;
	padding-left: 30px;
}

.bus-table td p {
	margin: 0;
}

.bus-table td p + p {
	margin-top: 6px;
}

@media (max-width: 1200px) {
	.bus-table th,
	.bus-table td {
		font-size: 1.9rem;
	}

	.bus-table td {
		padding: 1.2rem 1.6rem;
	}

	.bus-table td:nth-child(3) {
		padding-left: 2.4rem;
	}
}

@media (max-width: 1023px) {
	.bus-table {
		min-width: 72rem;
	}

	.bus-table th,
	.bus-table td {
		font-size: 1.8rem;
	}

	.bus-table th {
		height: 5.2rem;
	}

	.bus-table td {
		height: 5.4rem;
	}
}

@media (max-width: 768px) {
    .bus-table-wrap {
        margin-top: 7rem;
    }
	.bus-table {
		min-width: 68rem;
	}

	.bus-table th,
	.bus-table td {
		font-size: 1.6rem;
		line-height: 1.45;
	}

	.bus-table th {
		height: 4.8rem;
	}

	.bus-table td {
		height: 5.2rem;
		padding: 1rem 1.2rem;
	}

	.bus-table td:nth-child(3) {
		padding-left: 1.4rem;
	}
}

.pt_item_card {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-direction: column;
    padding: 75px 94px;
    border: 1px solid var(--primary2);
    border-radius: 10px;
    max-width: 970px;
    margin: 140px auto 0;

    & + .pt_item_card {
        margin-top: 95px;
    }


    & > strong {
        position: absolute;
        font-size: 26px;
        font-weight: 700;
        padding: 22px 44px;
        border-radius: 10px;
        background-color: var(--primary2);
        color: #fff;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
    }

    li {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 24px;

        font-size: 26px;

        &:before {
            flex-shrink: 0;
            content: "";
            width: 50px;
            aspect-ratio: 1/1;
            background-image: url(../img/sub/sub_check_001.png);
        }
    }
}

 .marker--p {
    font-size: inherit;
    line-height: 1.5;
    color:#000;
    padding-left: 0.5em;
    text-indent: -0.5em;
}


@media (max-width: 768px) {
    .pt_item_card { 
        margin-top: 15rem; 
        padding: 8rem 3rem 5rem;
        & + .pt_item_card {
            margin-top: 8rem;
        }

        & > strong {
            font-size: 3rem;
            padding: 3rem;
            border-radius: 2rem;
            top: -5rem;
        }

         li {
            gap: 2rem;
            font-size: 2.5rem;

            &:before {
                width: 3rem;
                background-size: contain;
            }

            & + li {
                margin-top: 1rem;
            }
        }
    }
    
}

.check-list-box {
	display: flex;
	flex-direction: column;
	gap: 25px;
	width: 100%;
	max-width: 379px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.check-list-box li {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 81px;
	border: 2px solid #24b7f0;
	background: #fff;
}

.check-list-box__icon {
	position: relative;
	flex: 0 0 87px;
	background: #24b7f0;
}

.check-list-box__icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 35px;
	height: 21px;
	border-bottom: 6px solid #fff;
	border-left: 6px solid #fff;
	transform: translate(-50%, -62%) rotate(-45deg);
}

.check-list-box p {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0;
	padding: 14px 34px;
	color: #000;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.35;
	letter-spacing: 0;
	word-break: keep-all;
}

@media (max-width: 1200px) {
	.check-list-box {
		max-width: 36rem;
		gap: 2.2rem;
	}

	.check-list-box li {
		min-height: 7.8rem;
	}

	.check-list-box__icon {
		flex-basis: 8rem;
	}

	.check-list-box p {
		padding: 1.3rem 3rem;
		font-size: 2.4rem;
	}
}

@media (max-width: 1023px) {
	.check-list-box {
		max-width: 34rem;
		gap: 2rem;
	}

	.check-list-box li {
		min-height: 7.2rem;
	}

	.check-list-box__icon {
		flex-basis: 7.4rem;
	}

	.check-list-box p {
		padding: 1.2rem 2.6rem;
		font-size: 2.2rem;
	}
}

@media (max-width: 768px) {
	.check-list-box {
		max-width: 100%;
		gap: 1.4rem;
	}

	.check-list-box li {
		min-height: 6.4rem;
		border-width: 0.2rem;
	}

	.check-list-box__icon {
		flex: 0 0 6.4rem;
	}

	.check-list-box__icon::before {
		width: 2.8rem;
		height: 1.7rem;
		border-bottom-width: 0.45rem;
		border-left-width: 0.45rem;
	}

	.check-list-box p {
		padding: 1.2rem 2rem;
		font-size: 3rem;
		line-height: 1.4;
	}
}