@media (max-width: 767px) {
    .main-visual-bg {
        border-radius: 25px;
        position: relative;
        overflow: hidden;
        width: 100%;
        height: 337px;
        padding-top: 200px;
        margin-bottom: 16px;
        transform: translateZ(0);
    }

    .main-visual-links {
        position: unset;
    }

    /* SP: bỏ hiệu ứng fadeup, hiện luôn (PC vẫn giữ) */
    .main-visual-links.anim,
    .main-visual-links.anim.fadeup.is-animated {
        opacity: 1;
        animation: none;
    }

    .main-visual-inner {
        margin: 0 24px;
    }

    .main-visual-text::before {
        width: 273px;
        height: 155px;
        top: unset;
        bottom: 0;
        left: 0;
    }

    .main-visual-title {
        font-size: 4rem;
        margin-bottom: 7px;
    }

    .main-visual-desc {
        line-height: 1.65;
        letter-spacing: 0.1em;
        font-size: 1.2rem;
        text-align: center;
        padding-left: 0;
    }

    .main-visual-text {
        padding: 0 10px;
        display: flex;
        justify-content: center;
        flex-direction: column;
        align-items: center;
    }

    /* Vị trí chữ theo slide (custom.js gắn class lên .main-visual-bg) */
    .main-visual:not(.sub-visual) .main-visual-bg.mv-text-top {
        padding-top: 30px;
    }

    .main-visual:not(.sub-visual) .main-visual-bg.mv-text-top .main-visual-text::before {
        top: -30px;
        bottom: unset;
    }

    .main-visual-link-item {
        width: calc(100% - 4px);
        height: 69px;
        margin-bottom: 19px;
        border-radius: 20px;
        box-shadow: 4px 3px 0 #2A8FBC;
    }

    .main-visual-link-item.num-01 {
        background-size: auto 32px;
        background-position: 21px 18px;
    }

    .main-visual-link-item.num-02 {
        background-size: auto 28px;
        background-position: 21px 18px;
    }

    .main-visual-link-item.num-03 {
        background-size: auto 35px;
        background-position: 21px 13px;
    }

    .main-visual-link-item.num-04 {
        background-size: auto 32px;
        background-position: 11px 18px;
    }

    .main-visual-link-item::before {
        bottom: 11px;
        width: 18px;
        height: 18px;
        right: 8px;
    }

    .main-visual-link-item .link-item-title-lg {
        font-size: 1.8rem;
    }

    .link-item-title-sm {
        font-size: 1.3rem;
    }

    .main-visual-link-item {
        padding-left: 70px;
    }

    .block-title-en {
        font-size: 1.5rem;
        padding-right: 10px;
    }

    .header-logo {
        width: 163px;
        height: 50px;
    }

    .block-title-jp {
        font-size: 2rem;
    }

    .home-schedule-cont .col-inner.left {
        margin-right: 0;
        padding-right: 0;
    }

    .tbl-medical-title {
        background-color: #FFFFFF;
        border: 1px solid #2A8FBC;
        border-radius: 10px;
        box-shadow: 2px 4px 0 #ADD0D8;
        width: 100%;
        height: 54px;
        font-size: 1.8rem;
        display: flex;
        align-items: center;
        padding-left: 26px;
        padding-right: 45px;
        position: relative;
        margin-bottom: 14px;
        cursor: pointer;
        user-select: none;
    }

    .tbl-medical-title::before {
        position: absolute;
        content: "";
        background-image: url(../images/index/icon-open.svg);
        width: 25px;
        height: 25px;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), background-image 0.2s;
    }

    .tbl-medical-title.is-open::before {
        background-image: url(../images/index/icon-close.svg);
        transform: translateY(-50%) rotate(180deg);
    }

    .tbl-medical-body {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .tbl-medical-body.is-open {
        grid-template-rows: 1fr;
    }

    .tbl-medical-inner {
        overflow: hidden;
    }

    .tbl-medical-th-first {
        width: 28%;
    }

    .tbl-medical thead th {
        width: 12%;
        font-size: 1.1rem;
        height: 24px;
    }

    .tbl-medical tbody td {
        font-size: 1rem;
        height: 30px;
    }

    .tbl-dot {
        width: 9px;
        height: 9px;
    }

    .tbl-slash {
        width: 24px;
    }

    .txt-caution {
        margin: 10px 0;
        font-size: 1.3rem;
        text-align: center;
    }

    .box-announce {
        border-radius: 11px;
        padding: 17px 14px;
    }

    /* Cỡ chữ co theo màn hình để mỗi dòng (ngắt bằng <br>) luôn vừa khung như design;
       100vw - 88px = độ rộng vùng chữ trong hộp */
    .box-announce-title {
        font-size: min(1.5rem, calc((100vw - 88px) / 17.4));
        line-height: 1.36;
        margin-bottom: 15px;
    }

    .box-announce-desc {
        letter-spacing: 0.05em;
        font-size: min(1.3rem, calc((100vw - 88px) / 22.5));
        line-height: 1.73;
    }

    .block-title-center {
        font-size: 1.8rem;
    }

    .btn-cont {
        display: flex;
        justify-content: center;
    }

    a.btn.btn-arrow {
        width: 201px;
        height: 52px;
        padding: 5px 50px 7px 35px;
        font-size: 1.4rem;
    }

    a.btn.btn-arrow::before {
        width: 28px;
        height: 28px;
        right: 15px;
    }

    .card-department-name {
        font-size: 1.3rem;
        letter-spacing: 0.1em;
    }

    .card-department {
        border-radius: 16px;
        padding-left: 13px;
        padding-right: 22px;
        padding-bottom: 10px;
        width: 124px;
        height: 100px;
    }

    .card-department::before {
        width: 5px;
        height: 9px;
        right: 12px;
        bottom: 14px;
    }

    .home-department-cont .col-inner.left {
        display: flex;
        justify-content: right;
    }

    .home-department-cont .col-inner.right {
        display: flex;
        justify-content: left;
    }

    .card-department-name {
        line-height: 1.03;
    }

    .news-list-link {
        flex-wrap: wrap;
        padding: 15px 0 15px 0;
        position: relative;
    }

    .news-list-date {
        margin-left: 0;
        font-size: 1.2rem;
        margin-right: 12px;
    }

    .news-list-cat {
        width: 123px;
        height: 18px;
        font-size: 1.4rem;
        border-radius: 6px;
        margin-right: 0;
        font-size: 1.2rem;
        padding-bottom: 5px;
    }

    .news-list-title {
        width: 100%;
        margin-top: 10px;
        font-size: 1.4rem;
        margin-right: 0;
        padding-right: 25px;
        padding-bottom: 0;
        line-height: 1.4;
    }

    .news-list-link::before {
        right: 14px;
        top: unset;
        bottom: 20px;
        transform: none;
    }

    .pickup-title {
        font-size: 1.8rem;
    }

    .home-pickup-cont {
        padding-left: 0;
        padding-right: 0;
        max-width: 100%;
        overflow: hidden;
    }

    .slider-pickup-item {
        padding: 0 10px;
    }

    .slider-pickup-img img {
        height: auto;
    }

    .tbl-medical tbody td.tbl-medical-td-first {
        font-size: 1.1rem;
    }

    .home-schedule-cont .col-inner.right .tbl-medical tbody td.tbl-medical-td-first {
        font-size: 1.1rem;
    }

    .slider-pickup .slick-arrow {
        width: 29px;
        height: 29px;
        background-size: contain;
        background-repeat: no-repeat;
        top: calc(50% - 18px);
        transform: translateY(-50%);
    }

    .slider-pickup .slick-arrow.slick-prev {
        left: calc(18% - 15px);
    }

    .slider-pickup .slick-arrow.slick-next {
        right: calc(18% - 15px);
    }

    .slider-pickup .slick-dots li button {
        width: 7px;
        height: 7px;
    }

    .slider-pickup .slick-dots {
        margin-top: 15px;
    }

    .home-sec-services-cont [class*="col-"],
    .home-sec-services-cont .col-inner {
        display: block;
        height: auto;
        flex: unset;
    }

    .card-service {
        min-height: unset;
        position: relative;
        height: auto;
        margin: 0 12px;
        flex: unset;
        border-radius: 16px;
        border: 1px solid #B3C3C9;
        margin-bottom: 14px;
        z-index: 1;
        overflow: hidden;
        background-color: #EFF7F9;
        box-shadow: 2px 4px 0 #ADD0D8;
    }

    .card-service.is-open {
        background-color: #FFFFFF;
    }

    .card-service-img {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        min-height: 60px;
        padding: 12px 16px 12px 0;
        position: relative;
        cursor: pointer;
        user-select: none;
        background-color: #EFF7F9;
        border-radius: 0;
    }

    .card-service-img .card-service-img-cont {
        width: 65px;
        min-height: unset;
    }

    .card-service-img::before {
        position: absolute;
        content: "";
        background-image: url(../images/index/icon-open.svg);
        width: 25px;
        height: 25px;
        right: 16px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), background-image 0.2s;
    }

    .card-service.is-open .card-service-img::before {
        background-image: url(../images/index/icon-close.svg);
        transform: translateY(-50%) rotate(180deg);
    }

    .card-service-img img {
        margin: 0 10px;
        flex-shrink: 0;
    }

    .card-service-img.num-01 .card-service-img-cont img {
        width: 25px;
        height: 28px;
    }

    .card-service-img.num-02 .card-service-img-cont img {
        width: 28px;
        height: 27px;
    }

    .card-service-img.num-03 .card-service-img-cont img {
        width: 25px;
        height: 28px;
    }

    .card-service-img.num-04 .card-service-img-cont img {
        width: 35px;
        height: 26px;
    }

    .card-service-title {
        font-size: 1.6rem;
        font-weight: 500;
        color: #0E4D77;
        text-align: left;
        padding-top: 0;
        flex: 1;
        padding-right: 35px;
    }

    .card-service-body {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .card-service.is-open .card-service-body {
        grid-template-rows: 1fr;
    }

    .card-service-inner {
        overflow: hidden;
    }

    .card-service-list {
        padding: 0 16px 4px 16px;
        position: relative;
        z-index: 1;
        background: #fff;
        border-radius: 0 0 15px 15px;
    }

    .card-service-list li {
        padding: 10px 0;
        border-bottom: 1px solid #ECECEC;
    }

    .card-service-link {
        font-size: 1.3rem;
        margin-left: 25px;
        padding-left: 0;
        line-height: 1.4;
        padding-bottom: 0;
    }

    .card-service-link::before {
        width: 16px;
        height: 16px;
        left: -25px;
        top: 50%;
        transform: translateY(-50%);
    }

    .home-concept-cont-01 {
        overflow: hidden;
    }

    .home-concept-cont-01-01 {
        gap: 8px;
    }

    .home-concept-cont-01-01.num-01 {
        margin-left: -10px;
        margin-bottom: 8px;
    }

    .home-concept-cont-01-01.num-02 {
        margin-left: -40px;
        margin-right: 0;
    }

    .home-concept-cont-01-01 img,
    .concept-marquee-inner>div>img {
        height: 120px;
        width: auto;
        max-width: unset;
        border-radius: 15px;
        display: block;
    }

    .page-greetings .home-concept-cont-01-01.num-01,
    .page-nurse .home-concept-cont-01-01.num-01 {
        height: 120px;
        margin-left: -10px;
        margin-bottom: 0;
    }

    .page-greetings .home-concept-cont-01-01.num-01 .concept-marquee-inner,
    .page-greetings .home-concept-cont-01-01.num-01 .concept-marquee-inner>div,
    .page-nurse .home-concept-cont-01-01.num-01 .concept-marquee-inner,
    .page-nurse .home-concept-cont-01-01.num-01 .concept-marquee-inner>div {
        height: 100%;
        flex-shrink: 0;
    }

    .page-greetings .home-concept-cont-01-01.num-01 img,
    .page-greetings .home-concept-cont-01-01.num-01 .concept-marquee-inner>div>img,
    .page-nurse .home-concept-cont-01-01.num-01 img,
    .page-nurse .home-concept-cont-01-01.num-01 .concept-marquee-inner>div>img {
        height: 100%;
        width: auto;
        max-width: none;
        display: block;
        border-radius: 10px;
    }

    .concept-marquee-inner {
        gap: 8px;
    }

    .home-concept-cont-01-content {
        position: relative;
        top: unset;
        right: unset;
        left: unset;
        bottom: unset;
        transform: none;
        width: 100%;
        height: auto;
        margin: -35px auto 0 auto;
        padding: 40px 30px 65px 30px;
        z-index: 2;
        border-radius: unset;
    }

    .home-concept-cont-01-content-title {
        font-size: 3.6rem;
        text-align: center;
        margin-bottom: 20px;
        letter-spacing: 0.08em;
    }

    .home-concept-cont-01-content .cont-block-title {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .home-concept-cont-01-content-desc {
        font-size: 1.3rem;
        line-height: 1.88;
        letter-spacing: 0.15em;
        text-align: center;
        margin-bottom: 37px;
    }

    .home-concept-cont-01-content a.btn.btn-arrow {
        width: 201px;
        height: 57px;
        font-size: 1.4rem;
        padding: 5px 50px 10px 30px;
        margin: 0 auto;
    }

    .home-concept-cont-02 {
        overflow: hidden;
        z-index: 2;
    }

    .home-concept-cont-02::after {
        top: 70px;
        height: calc(100% - 40px);
    }

    .home-concept-cont-02-content {
        position: relative;
        margin-left: 0;
        padding-left: calc(50% - 100px);
        padding-top: 40px;
        padding-bottom: 30px;
        gap: 20px;
    }

    .home-concept-cont-02-content .slick-list {
        overflow: hidden;
        margin-top: -25px;
    }

    .home-concept-cont-02-content .slick-track {
        padding-top: 25px;
    }

    /* Slide hiện tại (rộng 200px) nằm giữa màn hình nhờ centerMode của slick */
    .home-concept-cont-02-content.slick-initialized {
        margin-left: 0;
        padding-left: 0;
    }

    .home-concept-cont-02-content .slick-slide {
        margin: 0 20px;
    }

    .home-concept-cont-02-content-bg {
        width: 200px;
    }

    .home-concept-cont-02-img {
        width: 200px;
        border-radius: 17px;
        overflow: hidden;
        transform: translateZ(0);
        -webkit-mask-image: -webkit-radial-gradient(white, black);
    }

    .home-concept-cont-02-content-bg img {
        width: 200px;
        height: auto;
        border-radius: 17px;
        display: block;
    }

    .home-concept-cont-02-content-bg::before {
        width: 195px;
        height: 220px;
        border-radius: 17px;
        right: -9px;
        bottom: 30px;
    }

    .home-concept-number {
        width: 34px;
        height: 30px;
        font-size: 2rem;
        top: -12px;
        left: -2px;
        border-radius: 5px;
        z-index: 2;
    }

    .home-concept-title {
        font-size: 1.5rem;
        margin-top: 21px;
        padding-right: 30px;
        line-height: 1.3;
    }

    .home-concept-title::before {
        width: 17px;
        height: 17px;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .home-concept-cont-01-content::before {
        width: 287px;
        height: 163px;
        top: 133px;
        left: calc(50% - 108px);
    }

    .header-top {
        padding-bottom: 0;
    }

    .home-recruit-cont {
        position: relative;
        padding-top: 0;
    }

    .home-recruit-bg {
        position: static;
    }

    .home-recruit-bg-01 {
        position: absolute;
        width: calc(100vw - 20px);
        height: auto;
        background-image: none;
        top: 125px;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        z-index: -2;
    }

    .home-recruit-bg-01::before,
    .home-recruit-bg-01::after {
        content: "";
        position: absolute;
    }

    .home-recruit-bg-01::before {
        inset: 0;
        padding: 3px;
        border-radius: 15px;
        background: linear-gradient(90deg, #F0666A, #F7C307);
        -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
    }

    .home-recruit-bg-01::after {
        inset: 10px;
        border-radius: 10px;
        background: linear-gradient(180deg, #9AD2BC 25%, #3FAEE4 85%);
    }

    .main-visual-link-item.num-03 .link-item-title-lg {
        font-size: 2rem;
    }

    .home-recruit-bg-02 {
        position: absolute;
        width: 300px;
        height: 201px;
        background-image: url(../images/index/img-home-recruit-01.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 12px;
        top: 0;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        z-index: -1;
    }

    .home-recruit-bg-03 {
        position: absolute;
        width: 161px;
        height: 112px;
        background-image: url(../images/index/img-home-recruit-02.png);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 15px;
        top: 155px;
        right: calc(50% - 155px);
        bottom: unset;
        left: unset;
        z-index: 0;
    }

    .home-recruit-content {
        position: relative;
        z-index: 3;
        margin: 0 auto;
        max-width: 336px;
        padding-top: 225px;
        padding-bottom: 45px;
        text-align: center;
    }

    .home-recruit-content-title-en {
        font-size: 6.9rem;
        font-weight: 500;
        text-align: left;
        padding-left: 5px;
        line-height: 1;
        letter-spacing: 0.05em;
        margin-bottom: 6px;
        color: #fff;
        margin-bottom: 10px;
    }

    .home-recruit-content-title {
        font-size: 2.2rem;
        font-weight: 500;
        text-align: center;
        letter-spacing: 0.05em;
        padding-left: 0;
        margin-bottom: 15px;
        color: #fff;
    }

    .home-recruit-content-desc {
        font-size: 1.3rem;
        font-weight: 500;
        letter-spacing: 0.15em;
        line-height: 1.65;
        text-align: center;
        padding-left: 0;
        margin-bottom: 20px;
        color: #fff;
    }

    .home-recruit-content a.btn.btn-arrow {
        width: 201px;
        height: 52px;
        font-size: 1.4rem;
        padding: 5px 50px 7px 35px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .home-aceess-cont {
        display: flex;
        gap: 0;
        flex-direction: column;
        align-items: center;
        min-height: unset;
        position: relative;
    }

    .home-aceess-content {
        display: contents;
    }

    .home-aceess-cont .block-title {
        width: 100%;
        text-align: left;
    }

    .home-aceess-map {
        flex-shrink: 0;
        order: 2;
        width: calc(100% + 34px);
        margin-left: -17px;
        margin-right: -17px;
        height: 230px !important;
        min-height: 230px !important;
        margin-bottom: 18px;
    }

    .home-aceess-map iframe {
        width: 100% !important;
        height: 230px !important;
        min-height: 230px !important;
        display: block;
        border: 0;
        pointer-events: none;
    }

    .home-aceess-map:active iframe,
    .home-aceess-map:focus-within iframe {
        pointer-events: auto;
    }

    .home-aceess-address {
        order: 3;
        width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }

    .home-aceess-address p {
        font-size: 1.4rem;
        line-height: 1.75;
        letter-spacing: 0.05em;
        text-align: center;
    }

    .home-aceess-parking {
        order: 4;
        width: 242px;
        height: 51px;
        padding: 10px;
        gap: 10px;
        margin: 0 auto 25px auto;
        border-radius: 10px;
        border: 1px solid #C7C7C7;
        background-color: #FFFFFF;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .home-aceess-parking-icon {
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .home-aceess-parking-icon .icon-1 {
        width: 32px;
        height: 32px;
    }

    .home-aceess-parking-icon .icon-2 {
        width: 32px;
        height: 24px;
    }

    .home-aceess-parking span {
        font-size: 1.3rem;
        letter-spacing: 0.05em;
    }

    .home-aceess-cont a.btn.btn-arrow {
        order: 5;
        width: 201px;
        height: 52px;
        font-size: 1.4rem;
        padding: 5px 50px 7px 35px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .footer-wrap {
        padding-top: 30px;
    }

    .footer-main {
        display: flex;
        flex-direction: column;
        align-items: center;
        border-bottom: none;
        padding-bottom: 0;
        gap: 0;
    }

    .footer-info {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 0;
        width: 100%;
    }

    .footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .footer-logo {
        margin-bottom: 15px;
        text-align: center;
    }

    .footer-logo a {
        display: inline-block;
    }

    .footer-logo img {
        width: 182px;
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        display: block;
    }

    .footer-infor {
        width: 100%;
        text-align: center;
    }

    .footer-infor .address {
        font-size: 1.4rem;
        line-height: 1.5;
        letter-spacing: 0.05em;
        margin-bottom: 15px;
        text-align: center;
    }

    .footer-hours {
        display: inline-flex;
        flex-direction: column;
        align-items: flex-start;
        width: fit-content;
        margin: 0 auto 20px auto;
        gap: 6px;
        text-align: left;
    }

    .footer-hours p {
        font-size: 1.3rem;
        line-height: 1.5;
        letter-spacing: 0.05em;
        display: flex;
        align-items: center;
        width: 100%;
        margin: 0;
        justify-content: flex-start;
    }

    .footer-hours-label {
        font-size: 1.4rem;
        width: 85px;
        flex-shrink: 0;
        text-align: left;
    }

    .footer-hours-label--red {
        width: 85px;
    }

    a.btn.btn-direc {
        width: 260px;
        height: 52px;
        font-size: 1.4rem;
        padding: 5px 40px 7px 42px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    a.btn.btn-direc::before {
        width: 16px;
        height: 23px;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    a.btn.btn-direc::after {
        width: 24px;
        height: 24px;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .footer-right {
        width: 100%;
        align-self: unset;
        display: flex;
        justify-content: center;
        margin-top: 30px;
    }

    .footer-contact-box {
        width: 100%;
        max-width: 320px;
        border: 2px solid #07779E;
        border-radius: 20px;
        padding: 20px 15px;
        margin: 0 auto;
    }

    .footer-contact-title {
        font-size: 1.8rem;
        letter-spacing: 0.08em;
        padding-bottom: 10px;
        margin-bottom: 12px;
    }

    .footer-contact-sub {
        font-size: 1.4rem;
        margin-bottom: 6px;
    }

    .footer-contact-phone {
        margin-bottom: 6px;
    }

    .footer-contact-phone a {
        font-size: 2.9rem;
        gap: 8px;
        justify-content: center;
    }

    .footer-contact-phone svg,
    .footer-contact-phone img {
        width: 24px;
        height: 24px;
    }

    .footer-contact-fax {
        font-size: 2.0rem;
        margin-bottom: 15px;
    }

    a.btn.btn-mail {
        width: 240px;
        height: 50px;
        font-size: 1.4rem;
        padding: 5px 35px 7px 45px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    a.btn.btn-mail::before {
        width: 22px;
        height: 16px;
        left: 18px;
        top: 50%;
        transform: translateY(-50%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    a.btn.btn-mail::after {
        width: 24px;
        height: 24px;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        background-size: contain;
        background-repeat: no-repeat;
    }

    .footer-wrap .container-1200>.row {
        gap: 20px 0;
    }

    .footer-wrap .col-inner {
        max-width: 260px;
        margin: 0 auto;
    }

    .footer-wrap .col-inner img,
    .footer-links-item img {
        width: 100%;
        height: auto;
        border-radius: 8px;
        display: block;
    }

    #site-footer .footer-links-item {
        border-radius: 10px;
    }

    .footer-copyright {
        padding: 10px 0;
    }

    .footer-copyright p {
        font-size: 1.1rem;
    }

    .header-inner {
        padding-top: 13px;
        padding-bottom: 22px;
        position: relative;
    }

    .header-tel-btn-sm {
        position: absolute;
        right: 88px;
        top: 13px;
        width: 59px;
        height: 59px;
        border-radius: 50%;
        border: 1.5px solid #2A8FBC;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding-top: 11.5px;
        text-decoration: none;
        background-color: #ffffff;
        z-index: 11;
        gap: 1px;
    }

    .header-tel-btn-sm img {
        width: 18px;
        height: 18px;
    }

    /* TEL thấp hơn icon như design */
    .header-tel-btn-sm span {
        margin-top: 7px;
        font-family: "Jost", sans-serif;
        font-size: 1.4rem;
        font-weight: 500;
        color: #000000;
        line-height: 1;
        letter-spacing: 0.05em;
    }

    a.menu-btn {
        background-color: #2A8FBC;
        border-radius: 0 0 0 25px;
        width: 78px;
        height: 78px;
        display: flex;
        justify-content: center;
        align-items: center;
        top: 0;
        right: 0;
        z-index: 21;
    }

    a.menu-btn::after {
        font-family: "Jost", sans-serif;
        font-size: 1.4rem;
        letter-spacing: 0.05em;
        font-weight: 500;
        top: unset;
        bottom: 15px;
        left: 50%;
        transform: translate(-50%);
        color: #FFFFFF;
    }

    a.menu-btn span {
        width: 32px;
        left: 50%;
        transform: translate(-50%);
        background-color: #fff;
    }

    a.menu-btn span:nth-child(1) {
        top: 20px;
    }

    a.menu-btn span:nth-child(2) {
        top: 28px;
    }

    a.menu-btn span:nth-child(3) {
        top: 36px;
    }

    a.menu-btn.open span:nth-child(1) {
        top: 25px;
    }

    a.menu-btn.open span:nth-child(3) {
        top: 25px;
    }

    /* Main Menu Container */
    .box-main-menu {
        width: 100% !important;
        margin-left: 0 !important;
        align-items: stretch !important;
    }

    .header-main .main-menu {
        padding-top: 78px;
        background-color: #ffffff;
        width: 100vw !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }

    .header-main .main-menu::after {
        display: none !important;
    }

    nav.navbar.nav-main,
    .nav-main {
        overflow-y: auto;
        height: calc(100vh - 78px);
        max-height: calc(100vh - 78px);
        position: relative;
        margin-top: 0;
        margin-left: 0 !important;
        padding-bottom: 0;
        width: 100% !important;
        max-width: 100% !important;
        background-color: #ffffff;
        -webkit-overflow-scrolling: touch;
    }

    .header-wrapper .header-main .main-menu .nav {
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .header-main .main-menu .nav>li.gray-dot {
        display: none !important;
    }

    .header-wrapper .header-main .main-menu .nav>li {
        width: 100%;
        margin: 0;
        padding: 0;
        text-align: left;
        border-right: none;
    }

    .header-wrapper .header-main .main-menu .nav>li>a,
    .header-wrapper .header-main .main-menu .toggle-hd {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 58px;
        padding: 13px 60px 13px 77px;
        position: relative;
        text-decoration: none;
        border-bottom: 1px solid #AEAEAE;
        box-sizing: border-box;
        background-color: #ffffff;
        text-align: left;
        justify-content: flex-start;
        cursor: pointer;
    }

    .header-wrapper .header-main .main-menu .nav>li>a span,
    .header-wrapper .header-main .main-menu .toggle-hd span {
        font-size: 1.5rem;
        letter-spacing: 0.1em;
        line-height: 1.75;
    }

    .header-wrapper .header-main .main-menu .nav>li>a::before,
    .header-wrapper .header-main .main-menu .nav>li.toggle-mb .toggle-hd::before {
        content: "";
        position: absolute;
        left: 23px;
        top: 50%;
        transform: translateY(-50%);
        width: 32px;
        height: 32px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
    }

    .header-wrapper .header-main .main-menu .nav>li.num-01>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-home>a::before {
        background-image: url("../images/index/icon-home-menu-01.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-02>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-hospital>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-hospital .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-02.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-03>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-outpatient>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-outpatient .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-03.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-04>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-admission>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-admission .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-04.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-05>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-rehabilitation>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-rehabilitation .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-05.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-06>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-homecare>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-homecare .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-06.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-07>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-recruit>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-recruit .toggle-hd::before {
        background-image: url("../images/index/icon-home-menu-07.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-08>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-nursing>a::before {
        background-image: url("../images/index/icon-home-menu-08.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-09>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-news>a::before {
        background-image: url("../images/index/icon-home-menu-09.svg");
    }

    /* Icon nhỏ hơn khung 32px như design (vẫn canh giữa trong khung) */
    .header-wrapper .header-main .main-menu .nav>li.num-01>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-home>a::before {
        background-size: 27px auto;
    }

    .header-wrapper .header-main .main-menu .nav>li.num-06>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-homecare>a::before {
        background-size: 35px auto;
    }

    .header-wrapper .header-main .main-menu .nav>li.nav-homecare .toggle-hd::before {
        left: 18px;
        width: 42px;
        height: 32px;
        background-size: contain;
    }

    .header-wrapper .header-main .main-menu .nav>li.num-08>a::before,
    .header-wrapper .header-main .main-menu .nav>li.nav-nursing>a::before {
        background-size: 19px auto;
    }

    .header-wrapper .header-main .main-menu .nav>li>a::after,
    .header-wrapper .header-main .main-menu .nav>li.toggle-mb .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-item:hover>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-item.current>a::after {
        content: "";
        position: absolute;
        right: 28px;
        top: 50%;
        transform: translateY(-50%);
        width: 23px;
        height: 23px;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        left: auto;
        bottom: auto;
        border-radius: 0;
        background-color: transparent;
    }

    .header-wrapper .header-main .main-menu .nav>li.num-01>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-home>a::after,
    .header-wrapper .header-main .main-menu .nav>li.num-08>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-nursing>a::after,
    .header-wrapper .header-main .main-menu .nav>li.num-09>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-news>a::after {
        background-image: url("../images/index/icon-bg-blue-right.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.num-02>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-hospital>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-hospital .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.num-03>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-outpatient>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-outpatient .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.num-04>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-admission>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-admission .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.num-05>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-rehabilitation>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-rehabilitation .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.num-06>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-homecare>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-homecare .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.num-07>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-recruit>a::after,
    .header-wrapper .header-main .main-menu .nav>li.nav-recruit .toggle-hd::after {
        background-image: url("../images/index/icon-open.svg");
    }

    .header-wrapper .header-main .main-menu .nav>li.is-open>a::after,
    .header-wrapper .header-main .main-menu .nav>li.active>a::after,
    .header-wrapper .header-main .main-menu .nav>li.open>a::after,
    .header-wrapper .header-main .main-menu .nav>li.toggle-mb.is-open .toggle-hd::after,
    .header-wrapper .header-main .main-menu .nav>li.toggle-mb.active .toggle-hd::after,
    .header-wrapper .header-main .main-menu .toggle-hd.active::after {
        background-image: url("../images/index/icon-close.svg") !important;
    }

    .header-wrapper .header-main .main-menu .toggle-cont {
        background-color: #EBF4F7;
        width: 100%;
    }

    .header-wrapper .header-main .main-menu .nav-sub-list {
        list-style: none;
        padding: 0;
        margin: 0;
        width: 100%;
    }

    .header-wrapper .header-main .main-menu .nav-sub-list li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #D1E5ED;
    }

    .header-wrapper .header-main .main-menu .nav-sub-list li:last-child {
        border-bottom: none;
    }

    .header-wrapper .header-main .main-menu .nav-sub-list a {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: auto;
        padding: 14px 24px 14px 47px;
        min-height: 45px;
        font-size: 1.3rem;
        color: #000000;
        text-decoration: none;
        letter-spacing: 0.05em;
        line-height: 1.4;
        box-sizing: border-box;
        border: none;
        background-color: transparent;
        position: relative;
    }

    .header-wrapper .header-main .main-menu .nav-sub-list a::before {
        position: absolute;
        content: "";
        background-image: url(../images/index/icon-arrow-blue-00.svg);
        width: 9px;
        height: 7px;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
    }

    .header-wrapper .header-main .main-menu .nav-sub-list a::after {
        display: none !important;
    }

    .nav-sub-bar {
        padding: 24px 20px;
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    .nav-sub-link {
        font-size: 1.3rem;
        color: #000000;
        letter-spacing: 0.15em;
        text-decoration: none;
        display: block;
        line-height: 1.4;
    }

    .nav-mobile-bottom {
        background-color: #EBF4F7;
        padding: 30px 30px 160px 30px;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
    }

    .nav-mobile-bottom .footer-contact-box {
        width: 100%;
        max-width: 390px;
        margin: 0 auto;
        border: 2px solid #07779E;
        border-radius: 20px;
        padding: 20px 15px;
        background-color: #ffffff;
    }

    .nav-mobile-bottom a.btn.btn-direc {
        width: 240px;
        height: 50px;
        font-size: 1.4rem;
        padding: 5px 40px 7px 42px;
        margin: 35px auto 38px auto;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .nav-mobile-links {
        display: flex;
        flex-direction: column;
        gap: 12px;
        width: 100%;
        max-width: 240px;
        margin: 0 auto;
    }

    .nav-mobile-links .footer-links-item {
        display: block;
        width: 100%;
    }

    .nav-mobile-links .footer-links-item img {
        width: 100%;
        height: auto;
        border-radius: 8px;
        display: block;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
    }

    .sub-visual-breadcrumb {
        display: none;
    }

    .title-blue-01 {
        font-size: 1.5rem;
        letter-spacing: 0.2em;
    }

    .block-title-gradient {
        font-size: 2rem;
        height: 60px;
        padding: 5px 35px;
    }

    .block-title-gradient::before {
        height: 42px;
        left: 15px;
    }

    .greetings-01-cont::before {
        width: 360px;
        height: 233px;
        left: calc(50% - 180px);
        bottom: -51px;
    }

    .greeting-doctor-box {
        display: block;
        margin: auto;
    }

    .greeting-doctor-info {
        text-align: right;
    }

    .greeting-doctor-corp {
        font-size: 1.2rem;
        margin-bottom: 3px;
    }

    .greeting-doctor-name {
        font-size: 1.5rem;
    }

    .greeting-doctor-name .title {
        font-size: 1.2rem;
        margin-right: 10px;
    }

    .text-nor {
        font-size: 1.4rem;
        line-height: 1.85;
    }

    .title-blue-02 {
        font-size: 1.4rem;
        text-align: center;
        line-height: 1.8;
    }

    .block-title-gradient-02::before {
        height: 24px;
        left: 15px;
    }

    .philosophy-content,
    .philosophy-content.num-01 {
        padding-left: 0;
        padding-right: 0;
    }

    .list-bullet-orange {
        gap: 15px;
    }

    .list-bullet-orange li {
        font-size: 1.4rem;
        padding-left: 20px;
        line-height: 1.3;
    }

    .list-bullet-orange li::before {
        width: 12px;
        height: 12px;
        top: 4px;
    }

    .list-number-cyan li {
        font-size: 1.5rem;
        line-height: 1.7;
    }

    .sub-visual .main-visual-inner {
        margin: 0;
    }

    .main-visual.sub-visual {
        margin-bottom: 0;
    }

    .sub-visual .main-visual-bg {
        height: auto;
        min-height: auto;
        padding-top: 45px;
        border-radius: 0;
        /* Nền chỉ phủ tới phía trên góc bo dưới của ảnh thumb (28px) */
        background-color: transparent;
        background-image: linear-gradient(#E6F3F7, #E6F3F7);
        background-repeat: no-repeat;
        background-position: top left;
        background-size: 100% calc(100% - 28px);
        display: flex;
        flex-direction: column;
        overflow: visible;
        margin-bottom: 0;
    }

    .sub-visual .main-visual-text {
        padding: 0 30px;
        align-items: start;
        order: 1;
        width: 100%;
        height: auto;
        padding-bottom: 50px;
        background: transparent;
        border-radius: 0;
        position: relative;
        z-index: 2;
    }

    .sub-visual .main-visual-en {
        font-size: 1.5rem;
        letter-spacing: 0.05em;
        margin-bottom: 20px;
    }

    .sub-visual .main-visual-title {
        font-size: 2rem;
        font-weight: 500;
        color: #115582;
        letter-spacing: 0.05em;
    }

    .sub-visual .main-visual-text::before {
        width: 230px;
        height: 149px;
        top: 25px;
        bottom: unset;
        right: calc(50% - 162px);
        left: unset;
    }

    .sub-visual .main-visual-thumb {
        order: 2;
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        bottom: auto !important;
        width: 100%;
        height: 195px;
        border-radius: 28px;
        overflow: hidden;
        opacity: 1;
        z-index: 2;
    }

    .sub-visual .main-visual-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        border-radius: 25px;
    }

    .sub-visual .sub-visual-breadcrumb {
        display: none;
    }

    .sub-visual-anchors {
        display: flex;
        flex-wrap: wrap;
        gap: 0 20px;
        margin-top: 30px;
    }

    .anchor-link-item {
        width: calc((100% - 20px) / 2);
        flex: 0 0 calc((100% - 20px) / 2);
        padding-left: 28px;
        height: 48px;
        min-width: 0;
        display: flex;
        padding-bottom: 8px;
    }

    .anchor-link-item::before {
        width: 12px;
        height: 12px;
        left: 8px;
        bottom: 11px;
    }

    .anchor-link-item .icon-down {
        width: 20px;
        height: 20px;
        margin-right: 10px;
        font-size: 1.1rem;
        flex-shrink: 0;
    }

    .anchor-link-item .anchor-txt {
        font-size: 1.2rem;
        font-weight: 500;
        color: #333333;
        line-height: 1.35;
    }

    .block-title-gradient-01 {
        min-height: 45px;
        font-size: 1.5rem;
        border-radius: 10px;
        padding: 12px 25px;
    }

    .block-title-gradient-01::before {
        height: 30px;
        width: 3px;
        left: 9px;
    }

    .greetings-01-cont .row {
        flex-direction: column-reverse;
    }

    .greeting-doctor-img img {
        width: 199px;
        height: 233px;
        border-radius: 10px;
    }

    .greetings-02::before {
        width: 345px;
        height: 195px;
        left: 50%;
        top: 90px;
        transform: translateX(-50%);
    }

    .block-title-gradient-02 {
        min-height: 28px;
        font-size: 1.4rem;
        padding: 5px 25px;
        border-radius: 10px;
    }

    .block-title-gradient-02::before {
        height: calc(100% - 20px);
        width: 2px;
        left: 14px;
    }

    .list-number-cyan li .num {
        font-size: 1.5rem;
        margin-right: 5px;
        padding-top: 0;
    }

    .list-number-cyan {
        gap: 12px;
    }

    .philosophy-content .list-number-cyan .text-nor {}

    .about-01-thumb img {
        border-radius: 10px;
    }

    .about-info-row {
        flex-direction: column;
        gap: 3px;
        padding: 2px 0;
    }

    .about-info-head {
        width: 100%;
        border-radius: 5px;
        min-height: 40px;
        padding: 5px 14px;
        font-size: 1.5rem;
    }

    .about-info-body {
        width: 100%;
        border-radius: 5px;
        min-height: 40px;
        padding: 5px 14px;
        font-size: 1.4rem;
        border-radius: 5px;
    }

    .about-history-wrapper {
        flex-direction: column;
        gap: 40px;
        margin-top: 0;
    }

    .about-history-left {
        width: 100%;
    }

    .about-history-list {
        gap: 15px;
    }

    .about-history-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
        font-size: 1.4rem;
        line-height: 1.5;
    }

    .about-history-date {
        width: fit-content;
        min-width: 0;
        font-size: 1.4rem;
    }

    .about-history-desc {
        width: fit-content;
        font-size: 1.4rem;
        letter-spacing: 0.1em;
        line-height: 1.296;
    }

    .about-02-cont .about-history-date,
    .about-02-cont .about-history-desc {
        width: fit-content;
    }

    .about-02-cont .about-history-date {
        font-size: 1.4rem;
    }

    .rehabilitation-center-01 .title-mincho-01 {
        font-size: 1.58rem;
    }

    .about-history-year {
        margin-right: 10px;
    }

    .about-history-right {
        width: 100%;
        min-width: 0;
    }

    .about-history-gallery {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 13px 11px;
    }

    .about-history-photo-item {
        width: calc((100% - 12px) / 2);
    }

    .about-history-photo-box {
        width: 100%;
        height: 130px;
        font-size: 1.1rem;
        line-height: 1.5;
        padding: 5px;
    }

    .about-history-caption {
        font-size: 1.2rem;
        margin-top: 6px;
        line-height: 1.13;
    }

    .about-map-address {
        margin-top: 15px;
        margin-bottom: 17px;
        font-size: 1.4rem;
        line-height: 1.6666;
    }

    a.btn.btn-link {
        width: 225px;
        height: 50px;
        font-size: 1.4rem;
    }

    a.btn.btn-link::before {
        width: 18px;
        height: 18px;
        right: 14px;
    }

    .about-access-cont {
        padding: 0;
    }

    .about-access-title {
        padding-bottom: 10px;
        padding-left: 26px;
        margin-bottom: 10px;
        font-size: 1.4rem;
    }

    .about-access-title.icon-car::before {
        width: 15px;
        height: 12px;
        top: 5px;
    }

    .about-access-title.icon-train::before {
        height: 19px;
        top: -1px;
        left: 0;
    }

    .about-access-title.icon-bus::before {
        width: 21px;
        height: 12px;
        top: 5px;
        left: 0;
    }

    .about-access-cont .list-bullet-orange {
        gap: 10px;
    }

    .about-04-thumb img {
        border-radius: 6px;
    }

    .about-floor-tabs {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px;
        padding: 6px;
        border-radius: 18px;
    }

    .floor-tab-btn {
        width: calc((100% - 12px) / 3);
        flex: 0 0 calc((100% - 12px) / 3);
        height: 34px;
        font-size: 1.4rem;
        border-radius: 17px;
        border-radius: 10px;
    }

    .about-ward-thumb img {
        border-radius: 10px;
    }

    .about-ward-legend {
        justify-content: flex-start;
        gap: 8px 16px;
        margin-top: 12px;
    }

    .about-ward-legend li {
        font-size: 1.2rem;
    }

    .about-ward-thumb .about-ward-legend img {
        height: 20px;
        border-radius: 0;
    }

    .about-01::before {
        width: 196px;
        height: 127px;
        left: calc(50% - 54px);
        top: 200px;
    }

    .about-02::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .about-03::before {
        width: 196px;
        height: 127px;
        left: calc(50% - 54px);
        top: 460px;
    }

    .about-04::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .about-05::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 55px);
        top: 0;
    }

    .health-checkup-01::before {
        width: 345px;
        height: 195px;
        left: calc(50% - 55px);
        top: -21px;
    }


    .about-access-title.icon-square::before {
        width: 12px;
        height: 10px;
        left: 1px;
        top: 5px;
    }

    .about-access-title.icon-square {
        padding-left: 16px;
    }

    .health-toggle-box {
        padding: 10px 18px;
        border-radius: 10px;
        margin-bottom: 30px;
    }

    .health-toggle-title {
        min-height: 30px;
        font-size: 1.5rem;
        padding-left: 10px;
    }

    .health-table-01 .col-item {
        font-size: 1.4rem;
    }

    .health-table-01 .col-content {
        font-size: 1.4rem;
    }

    .health-toggle-title::before {
        top: 50%;
        transform: translateY(-50%);
        left: -5px;
        height: 30px;
        width: 3px;
    }

    .health-intro-img {
        width: 165px;
        height: 123px;
    }

    .health-intro-img img {
        border-radius: 5px;
    }

    .health-intro-img-dummy {
        border-radius: 5px;
    }

    .health-toggle-btn {
        width: 25px;
        height: 25px;
        right: 16px;
    }

    .health-toggle-cont {
        margin-top: 20px;
    }

    .health-intro-row {
        flex-direction: column;
        gap: 25px;
    }

    .health-intro-img {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .health-checkup-01-cont .health-intro-img {
        flex: unset;
        max-width: unset;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .health-checkup-01-cont .health-intro-img img {
        width: 165px;
        height: 123px;
    }

    .health-table th,
    .health-table td {
        padding: 10px 12px;
        font-size: 1.3rem;
    }

    .health-table-02,
    .health-table-02 tbody,
    .health-table-02 tr,
    .health-table-02 th,
    .health-table-02 td {
        display: block;
        width: 100%;
        box-sizing: border-box;
    }

    .health-table-02 th,
    .health-table-02 .col-head-blue,
    .health-table.health-table-02 tr:not(:first-child) th.col-head-blue.col-head-blue {
        width: 100%;
        height: 40px;
        padding: 9px 10px;
        font-size: 1.4rem;
        font-weight: 500;
        text-align: center;
        background-color: #2A8FBC;
        color: #FFFFFF;
        border: none;
    }

    .health-table-02 td,
    .health-table-02 .col-desc {
        width: 100%;
        padding: 8px 10px;
        font-size: 1.4rem;
        line-height: 1.6;
        text-align: left;
        background-color: #FFFFFF;
        border: none;
    }

    .health-table-note {
        font-size: 1.2rem;
    }

    .health-table-alert {
        font-size: 1.25rem;
    }

    .health-reserve-title {
        font-size: 1.5rem;
    }

    .health-tel-link {
        gap: 10px;
    }

    .health-reserve-box {
        max-width: 300px;
        margin: 0 auto;
        padding: 12px 10px;
        border-radius: 10px;
    }

    .health-reserve-sub {
        font-size: 1.1rem;
        margin-bottom: 4px;
    }

    .health-tel-icon {
        width: 24px;
        height: 23px;
    }

    .health-tel-num {
        font-size: 2.6rem;
    }

    .health-reserve-time {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        gap: 15px;
        font-size: 1.1rem;
        line-height: 1.5;
        text-align: left;
    }

    .health-reserve-label {
        margin-right: 0;
        margin-bottom: 0;
        flex-shrink: 0;
        white-space: nowrap;
    }

    .health-reserve-hours {
        text-align: left;
    }

    .text-underline-blue {
        font-size: 1.35rem;
    }

    .health-table .col-desc .list-bullet-orange li {
        font-size: 1.3rem;
        line-height: 1.6;
        padding-left: 20px;
    }

    .health-table .col-desc .list-bullet-orange li::before {
        width: 10px;
        height: 10px;
        top: 5px;
    }

    .health-checkup-08-cont a.btn.btn-link {
        width: 100%;
    }

    .health-toggle-box::before {
        left: 4px;
        top: 5px;
        border-radius: 10px;
    }


    .hospitalization-02::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }


    .flow-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px 16px 20px 16px;
        gap: 10px;
        border-radius: 12px;
    }

    .flow-item-num {
        width: 39px;
        height: 39px;
        font-size: 2.7rem;
        left: -5px;
        top: -10px;
    }

    .flow-item-body {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .flow-item-title {
        width: 100%;
        min-width: unset;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 22px;
        border-right: none;
        border-bottom: 1px solid #0E4D77;
        font-size: 1.5rem;
    }

    .flow-item-desc {
        font-size: 1.4rem;
        line-height: 1.85;
        letter-spacing: 0.1em;
        padding: 0;
        padding-top: 13px;
    }

    .flow-arrow {
        height: 36px;
        padding-bottom: 5px;
    }

    .flow-arrow::before {
        width: 12px;
        height: 12px;
    }

    .hospitalization-03::before {
        width: 345px;
        height: 195px;
        left: calc(50% - 55px);
    }


    a.btn.btn-pdf {
        padding: 12px 18px;
        border-radius: 12px;
    }

    .btn-pdf-left {
        gap: 12px;
    }

    .btn-pdf-left .icon-pdf {
        width: 16px;
        height: 20px;
    }

    .btn-pdf-text {
        font-size: 1.5rem;
    }

    a.btn.btn-pdf .icon-download {
        width: 13px;
        height: 13px;
    }

    .hospitalization-04::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .hospitalization-room-thumb {
        display: flex;
        justify-content: center;
    }

    .hospitalization-room-thumb img {
        border-radius: 5px;
        width: 240px;
        height: 167px;
    }

    .hospitalization-room-table .about-info-head {
        width: 100%;
        height: 40px;
        font-size: 1.5rem;
        justify-content: start;
        border-radius: 5px;
    }

    .hospitalization-room-table .about-info-body {
        font-size: 1.5rem;
        padding: 5px 15px;
    }

    .btn-privacy-link {
        width: 100%;
    }

    .hospitalization-05::before {
        width: 345px;
        height: 195px;
        left: calc(50% - 55px);
    }

    .hospitalization-01::before {
        top: 36px;
        left: calc(50% - 55px);
        width: 235px;
        height: 133px;
    }

    .hospitalization-support-thumb img {
        border-radius: 5px;
        width: 240px;
        height: 167px;
    }

    .hospitalization-08-cont a.btn.btn-arrow {
        width: 261px;
    }

    .hospitalization-support-thumb {
        display: flex;
        justify-content: center;
    }

    .hospitalization-support-title {
        font-size: 1.5rem;
        font-weight: 500;
        letter-spacing: 0.2em;
        color: #07779E;
    }

    .slider-dots {
        left: -15px;
        gap: 5px;
        top: 159px;
    }

    .slider-dots li {
        width: 7px;
        height: 7px;
    }

    .footer-copyright {
        height: 35px;
    }

    .footer-copyright p {
        font-size: 1.2rem;
        letter-spacing: 0.05em;
    }

    .block-title-date {
        font-size: 1rem;
        margin-left: 3px;
    }

    /* セカンドオピニオン外来: chữ (完全予約制・保険適用外) to hơn theo yêu cầu */
    .outpatient-08 .block-title-date {
        font-size: 1.4rem;
    }

    .card-doctor {
        min-height: 250px;
        border-radius: 10px;
        padding: 17px 14px;
        margin-bottom: 20px;
    }

    .card-doctor-head {
        gap: 12px;
        padding-bottom: 15px;
        margin-bottom: 10px;
    }

    .card-doctor-thumb {
        width: 72px;
        height: 72px;
    }

    .card-doctor-role {
        height: 40px;
        font-size: 1.3rem;
        padding-bottom: 10px;
    }

    .card-doctor-name {
        font-size: 1.5rem;
    }

    .card-doctor-text {
        font-size: 1.4rem;
        line-height: 1.6;
    }

    .page-doctor .row:not(:last-child) {
        margin-bottom: 0;
    }

    .card-specialty {
        min-height: 55px;
        padding: 7px 25px 7px 10px;
        border-radius: 10px;
    }

    .card-specialty-name {
        font-size: 1.3rem;
    }

    .card-specialty::before {
        width: 7px;
        height: 4px;
        right: 10px;
    }

    .outpatient-01-cont .col-inner.left {
        display: flex;
        justify-content: right;

    }

    .outpatient-01-cont .col-12>.col-inner.left {
        justify-content: center;
    }

    .outpatient-01 .title-blue-01 {
        font-size: 1.5rem;
        letter-spacing: 0.2em;
        font-weight: 500;
        line-height: 1.5;
    }

    .outpatient-01 .tbl-medical {
        width: 740px;
    }

    .outpatient-01 .tbl-medical thead th {
        width: 58px;
        font-size: 1.7rem;
        height: 40px;
    }

    .outpatient-01 .tbl-medical thead th.tbl-medical-th-first {
        width: 250px;
    }

    .outpatient-01 .tbl-medical thead th.tbl-medical-th-time {
        width: 140px;
    }

    .outpatient-02 .tbl-medical {
        width: 740px;
    }

    .outpatient-02 .tbl-medical thead th {
        width: 89px;
    }

    .outpatient-02 .tbl-medical thead th.tbl-medical-th-first {
        width: 148px;
    }

    .outpatient-02 .tbl-medical thead th.tbl-medical-th-time {
        width: 58px;
    }

    .outpatient-01 .tbl-medical tbody td {
        font-size: 1.6rem;
        height: 48px;
    }

    .outpatient-01 .tbl-medical tbody td.tbl-medical-td-first {
        font-size: 1.8rem;
    }

    .outpatient-01 .tbl-dot {
        width: 15px;
        height: 15px;
    }

    .outpatient-01 .tbl-slash {
        width: 30px;
    }

    .outpatient-02 .tbl-medical tbody td.tbl-medical-td-time {
        font-size: 1.2rem;
    }

    .outpatient-01-cont .txt-caution {
        text-align: right;
    }

    .outpatient-04-cont .health-toggle-box.row:not(:last-child) {
        margin-bottom: 15px;
    }

    .health-toggle-hd {
        padding-right: 32px;
    }

    .health-toggle-tag {
        font-size: 1.2rem;
        padding: 3px 10px;
        margin-right: 5px;
    }

    .outpatient-01:before {
        width: 235px;
        height: 133px;
        left: calc(50% - 55px);
        top: 10px;
    }

    .outpatient-03:before {
        width: 235px;
        height: 133px;
        left: calc(50% - 55px);
        top: 10px;
    }

    .outpatient-08:before {
        width: 235px;
        height: 133px;
        left: calc(50% - 55px);
        top: 10px;
    }

    .outpatient-03-cont .health-intro-row {
        gap: 15px;
    }

    .outpatient-03-cont .health-intro-img {
        flex: unset;
        max-width: unset;
        width: 100%;
        height: 160px;
    }

    .outpatient-03-cont .health-intro-img img {
        width: 150px;
        height: auto;
    }

    .outpatient-04-cont .health-intro-img {
        flex: unset;
        max-width: unset;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .outpatient-04-cont .health-intro-img img,
    .outpatient-04-cont .health-intro-img-dummy {
        width: 165px;
        height: 123px;
    }

    .outpatient-05-cont img {
        border-radius: 10px;
    }

    .outpatient-04-cont .health-intro-row {
        flex-direction: column;
        gap: 15px;
    }

    .outpatient-06::before {
        width: 345px;
        height: 195px;
        left: calc(50% - 55px);
    }

    .slider-equipment {
        margin: 0;
    }

    .slider-equipment-item {
        padding: 0 18px;
        box-sizing: border-box;
    }

    .slider-equipment-item-img {
        max-width: 210px;
        margin: 0 auto;
    }

    .slider-equipment-item-img img {
        width: 100%;
        height: auto;
        max-height: 140px;
        object-fit: cover;
        border-radius: 5px;
    }

    .slider-equipment-item-cont {
        max-width: 210px;
        margin: 0 auto;
        padding: 7px 14px;
    }

    .slider-equipment .slick-arrow {
        width: 35px;
        height: 35px;
        background-size: contain;
        background-repeat: no-repeat;
        top: 67px;
        z-index: 2;
    }

    .slider-equipment .slick-arrow.slick-prev {
        left: calc(50% - 50vw + 55px)
    }

    .slider-equipment .slick-arrow.slick-next {
        right: calc(50% - 50vw + 55px)
    }

    .rehabilitation-center-04 .slider-equipment .slick-arrow {
        top: 67px;
    }

    .slider-equipment .slick-dots li button {
        width: 7px;
        height: 7px;
    }

    .slider-equipment .slick-dots {
        margin-top: 15px;
    }

    .slider-equipment-item-title {
        font-weight: 500;
        font-size: 1.5rem;
    }

    .slider-equipment-item-desc {
        font-size: 1.3rem;
    }

    .outpatient-08 .block-title-gradient-01 {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: start;
    }

    .outpatient-08-cont-img {
        display: flex;
        justify-content: center;
        align-items: center;
        margin-bottom: 25px;
    }

    .outpatient-08-cont-img img {
        width: 240px;
        height: 167px;
    }

    .greetings-01 {
        position: relative;
    }

    .greetings-01::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 50px);
        top: 11px;
        z-index: -1;
        opacity: 34%;
        background: url(../images/greeting/icon-bg-03.svg) no-repeat center / contain;
        content: "";
        position: absolute;
    }

    .about-map-thumb {
        height: 150px;
    }

    .about-access-caption {
        font-size: 1.4rem;
    }

    .home-medical-care-01-thumb {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .home-medical-care-01-thumb img {
        border-radius: 5px;
        width: 240px;
        height: 167px;
    }

    .home-medical-care-01-title {
        font-size: 1.5rem;
        line-height: 1.5;
        letter-spacing: 0.2em;
    }

    .home-medical-care-03-cont .health-toggle-box,
    .scholarships-02-cont .health-toggle-box {
        padding: 16px 16px 16px 16px;
        border-radius: 15px;
        margin-bottom: 20px;
    }

    .home-medical-care-03-cont .health-toggle-box::before,
    .scholarships-02-cont .health-toggle-box::before {
        border-radius: 15px;
        top: 6px;
        left: 4px;
    }

    .health-toggle-hd-qa {
        position: relative;
        padding-right: 40px;
    }

    .health-toggle-hd-qa .health-toggle-title {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        min-height: auto;
        padding-left: 14px;
        font-size: 1.5rem;
        line-height: 1.5;
        letter-spacing: 0.05em;
        margin-bottom: 10px;
    }

    .home-medical-care-03 .health-toggle-cont {
        margin-bottom: 0;
    }

    .health-toggle-hd-qa .health-toggle-title::before {
        top: 0;
        transform: none;
        left: 0;
        height: 30px;
        width: 3px;
    }

    .health-toggle-hd-qa .health-toggle-title .qa-q {
        font-size: 2.3rem;
        margin-top: 4px;
        margin-bottom: 8px;
        margin-right: 0;
        line-height: 1;
    }

    .health-toggle-hd-qa .health-toggle-btn {
        right: 0;
    }

    .home-medical-care-03-cont .health-toggle-cont,
    .scholarships-02-cont .health-toggle-cont {
        padding-top: 10px;
    }

    .qa-ans-box {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        padding-left: 10px;
        padding-bottom: 5px;
    }

    .qa-ans-box .qa-a {
        font-size: 2.3rem;
        line-height: 1;
        letter-spacing: 0.05em;
        padding-top: 6px;
    }

    .qa-ans-box .qa-ans-text {
        font-size: 1.4rem;
        line-height: 1.48;
        letter-spacing: 0.1em;
        padding-top: 0;
    }

    .home-medical-care-01::before {
        width: 245px;
        height: 133px;
        left: calc(50% - 55px);
        top: 19px;

    }

    .text-nor-50 {
        font-size: 1.4rem;
    }

    .cont-img-nor {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .home-nursing-care-agency-02::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .home-nursing-care-agency-05::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .w250-h175 {
        width: 250px;
        height: 175px;
    }

    .w260-h141 {
        width: 260px;
        height: 141px;
    }

    .w240-h167 {
        width: 240px;
        height: 167px;
    }

    .w231-h161 {
        width: 231px;
        height: 161px;
    }

    .w217-h161 {
        width: 217px;
        height: 161px;
    }

    .w220-h153 {
        width: 220px;
        height: 153px;
    }

    .home-nursing-care-agency-04::before {
        top: 36px;
        left: calc(50% - 55px);
        width: 235px;
        height: 133px;
    }

    .page-home-nursing-care-agency .title-blue-01,
    .page-day-care .title-blue-01 {
        font-size: 1.5rem;
        line-height: 1.75;
    }

    .br-sm-5 {
        border-radius: 5px;
    }

    .day-care-01 .home-medical-care-01-title {
        color: #07779E;
    }

    .day-care-02-cont .about-history-item {
        flex-direction: row;
        gap: 0;
    }

    .day-care-02-cont .about-history-date {
        width: 45px;
        margin-right: 15px;
    }

    .day-care-02-cont-01.container.container-1000 {
        padding: 0;
    }

    .day-care-03-cont .about-floor-tabs {
        padding: 15px 10px;
        gap: 10px;
    }

    .day-care-03-cont .floor-tab-btn {
        width: calc((100% - 10px) / 2);
        font-size: 1.4rem;
        letter-spacing: 0.05em;
        height: 40px;
        border-radius: 20px;
    }

    .day-care-03-title {
        font-size: 1.8rem;
    }

    .day-care-03-cont .text-nor {
        padding: 0 16px;
    }

    .day-care-04-cont .text-nor {
        font-size: 1.3rem;
    }

    .cont-border-gray {
        padding: 20px 14px;
        border-radius: 10px;
    }

    .text-nor-50.fs-sm-13 {
        font-size: 1.3rem;
    }

    .title-cont-border-gray {
        font-size: 1.8rem;
        margin-bottom: 16px;
    }

    .about-floor-tabs.num-02,
    .nurse-03-cont .about-floor-tabs {
        padding: 20px 14px;
        justify-content: start;
    }

    .about-floor-tabs.num-02 .floor-tab-btn,
    .nurse-03-cont .floor-tab-btn {
        font-size: 1.4rem;
        width: calc((100% - 6px) / 2);
        flex: 0 0 calc((100% - 6px) / 2);
        height: 40px;
        border-radius: 20px;
    }

    .nurse-03-cont .floor-tab-btn {
        min-height: 30px;
    }

    .about-floor-tabs.num-03 {
        width: 220px;
    }

    .about-floor-tabs.num-03 .floor-tab-btn {
        width: calc((100% - 6px) / 2);
        flex: 0 0 calc((100% - 6px) / 2);
    }

    .title-rehabilitation-center-04-cont {
        font-size: 1.8rem;
    }

    .title-img-row-13 {
        font-size: 1.5rem;
        margin: 12px 0;
    }

    .rehabilitation-center-05-cont a.btn.btn-arrow {
        width: 280px;
    }

    .title-mincho-01 {
        font-size: 1.8rem;
        line-height: 1.86;
    }

    .rehabilitation-center-02-cont .list-bullet-orange.list-bullet-blue.num-01 {
        border-right: none;
        margin-bottom: 15px;
    }

    .rehabilitation-center-01 .text-nor-50 {
        letter-spacing: 0.1em;
    }

    .rehabilitation-center-01 .greeting-doctor-box {
        width: 170px;
    }

    .rehabilitation-center-01 .greeting-doctor-box img {
        width: 100%;
        height: auto;
    }

    .about-01::before {
        width: 196px;
        height: 127px;
        left: calc(50% - 54px);
        top: 200px;
    }

    .cont-border-gray .text-nor-50 {
        letter-spacing: 0.1em;
    }

    .privacy-01::before {
        width: 245px;
        height: 133px;
        left: calc(50% - 55px);
        top: 21px;
    }

    .privacy-02::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .privacy-03::before {
        width: 245px;
        height: 133px;
        left: calc(50% - 55px);
        top: 21px;
    }

    .contact-01::before {
        width: 245px;
        height: 133px;
        left: calc(50% - 55px);
        top: 21px;
    }

    .notices-01::before {
        top: 20px;
        left: calc(50% - 55px);
        width: 235px;
        height: 133px;
    }

    .page-news a.news-list-link {
        padding: 15px 0;
    }

    .sub-visual .main-visual-bg.sub-visual-news {
        height: auto;
        background-image: none;
        padding-top: 0;
        border-radius: 25px;
        overflow: hidden;
    }

    .sub-visual .sub-visual-news .main-visual-text {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 40px 30px 20px;
        border-radius: 25px;
        height: 145px;
    }

    .sub-visual .sub-visual-news .main-visual-text::before {
        width: 230px;
        height: 150px;
        top: 25px;
        right: calc(50% - 175px);
        left: auto;
    }

    .sub-visual .sub-visual-news .main-visual-en {
        margin-bottom: 18px;
    }

    .sub-visual .sub-visual-news .main-visual-title {
        font-size: 2rem;
    }

    .news-filter {
        flex-direction: column;
        align-items: flex-end;
        gap: 20px;
        min-height: 0;
    }

    .news-filter-cat {
        justify-content: flex-end;
        margin-right: -5px;
    }

    .news-filter-label {
        font-size: 1.4rem;
        margin-right: 15px;
    }

    a.btn.btn-arrow.btn-select {
        width: 218px;
        height: 48px;
        font-size: 1.5rem;
        padding: 8px 44px 8px 30px;
    }

    a.btn.btn-arrow.btn-select::before {
        right: 30px;
        width: 10px;
        height: 5px;
    }

    .news-filter-year {
        position: static;
        transform: none;
    }

    .news-filter-select {
        width: 159px;
        padding: 8px 40px 8px 22px;
        font-size: 1.2rem;
        background-position: right 25px center;
        background: transparent url(../images/outpatient/icon-orange-down.svg) no-repeat right 26px center / 9px 5px;
    }

    .pagination {
        padding: 0;
    }

    .pagination-list {
        gap: 7px;
    }

    .pagination-arrow {
        width: 36px;
        height: 36px;
    }

    .pagination-item {
        width: 28px;
        height: 28px;
        font-size: 1rem;
    }

    .pagination-dots {
        padding: 0 6px;
        font-size: 1.2rem;
        letter-spacing: 0.2em;
    }

    /* ===== News detail ===== */
    .news-in-head {
        padding-bottom: 10px;
    }

    .news-in-title {
        padding: 5px 0 5px 12px;
        font-size: 1.5rem;
        letter-spacing: 0.05em;
        line-height: 1.5;
    }

    .news-in-h2 {
        padding: 10px 15px 10px 22px;
        font-size: 1.4rem;
        letter-spacing: 0.05em;
    }

    .news-in-h2::before {
        left: 10px;
        height: calc(100% - 14px);
    }

    .news-in-h4 {
        padding-bottom: 8px;
        font-size: 1.5rem;
        letter-spacing: 0.05em;
    }

    .news-in-nav {
        padding-top: 20px;
    }

    .news-in-nav .pagination-arrow {
        width: 38px;
        height: 38px;
    }

    .news-in-nav a.btn.btn-arrow {
        width: 152px;
        height: 46px;
        font-size: 1.4rem;
        padding: 5px 40px 5px 22px;
    }

    .news-in-nav a.btn.btn-arrow::before {
        width: 25px;
        height: 25px;
        right: 10px;
    }


    /* ===== Recruit sub pages ===== */
    .sub-visual .main-visual-bg.sub-visual-recruit {
        padding-top: 0;
    }

    .sub-visual .main-visual-text.main-visual-text-recruit {
        height: 260px;
        justify-content: flex-start;
        padding-top: 30px;
        padding-bottom: 0;
        background: linear-gradient(to right, #3FAEE4, #9AD2BC);
    }

    .sub-visual .sub-visual-recruit .main-visual-thumb {
        margin-top: -97px;
    }

    .sub-visual .main-visual-text-recruit .main-visual-en {
        font-size: 6.8rem;
        margin-bottom: 15px;
    }

    .sub-visual .main-visual-text-recruit .main-visual-title {
        font-size: 2rem;
        color: #FFFFFF;
    }

    .page-nurse .sub-visual .main-visual-text.main-visual-text-recruit {
        padding-top: 40px;
    }

    .page-nurse .sub-visual .main-visual-text-recruit .main-visual-en {
        font-size: 4.4rem;
    }

    .page-nurse .sub-visual .main-visual-text-recruit .main-visual-title {
        font-size: 2rem;
    }

    .scholarships-03,
    .training-04 {
        background-size: 100% calc(100% - 90px);
    }

    .scholarships-03 .home-department-cont .row>div .col-inner.left {
        justify-content: right;
    }

    .scholarships-03 .home-department-cont .row>div .col-inner.right {
        justify-content: left;
    }

    a.card-department.card-department-recruit {
        width: 140px;
        height: 110px;
        padding: 10px 22px 12px 13px;
    }

    .card-department-recruit .card-department-icon img {
        height: 38px;
        top: 14px;
    }

    .card-department-recruit .card-department-name {
        font-size: 1.3rem;
        line-height: 1.3;
    }

    .scholarships-02-cont .health-toggle-box:not(:last-child) {
        margin-bottom: 20px;
    }

    .scholarships-02-cont .health-toggle-hd-qa .health-toggle-title {
        font-size: 1.5rem;
        margin-bottom: 0;
    }

    .scholarships-03 .col-inner.right,
    .training-04 .col-inner.right {
        display: flex;
        justify-content: start;
    }

    .scholarships-03 .row.row-large.row-sm-small-16,
    .training-04 .row.row-large.row-sm-small-16 {
        gap: 20px 0;
    }

    .scholarships-01::before,
    .day-care-03::before,
    .training-01::before,
    .training-03::before {
        width: 230px;
        height: 133px;
        left: calc(50% - 50px);
        top: 20px;
    }

    .scholarships-02:before,
    .day-care-04:before,
    .training-02::before {
        width: 187px;
        height: 121px;
        right: calc(50% - 25px);
        top: 7px;

    }

    /* ===== Training ===== */
    .block-title-gradient-03 {
        min-height: 40px;
        padding: 6px 20px;
        border-radius: 20px;
        font-size: 1.5rem;
    }

    /* SP: xếp xen kẽ ảnh → nội dung theo order (bỏ khung 2 cột) */
    .training-flow .training-flow-left,
    .training-flow .training-flow-right,
    .training-flow .col-inner {
        display: contents;
    }

    /* Ảnh căn giữa, đường chấm nối ảnh ↔ nội dung bên dưới (::after) và nội dung ↔ ảnh bên trên (::before) */
    .training-flow-thumb,
    .training-flow-thumb:not(:last-child) {
        width: 260px;
        margin: 0 auto 22px;
    }

    .training-flow-thumb img {
        width: 100%;
        height: auto;
    }

    .training-flow-thumb::after,
    .training-flow-thumb:not(:last-child)::after {
        content: "";
        position: absolute;
        left: calc(50% - 4px);
        top: 100%;
        width: 8px;
        height: 22px;
        background: radial-gradient(circle, #97C3DB 1.5px, transparent 2px) center top / 8px 6px repeat-y;
    }

    .training-flow-thumb:nth-child(2)::before,
    .training-flow-thumb:nth-child(3)::before,
    .training-flow-thumb:nth-child(5)::before {
        content: "";
        position: absolute;
        left: calc(50% - 4px);
        bottom: 100%;
        width: 8px;
        height: 30px;
        background: radial-gradient(circle, #97C3DB 1.5px, transparent 2px) center bottom / 8px 6px repeat-y;
    }

    .training-flow-thumb:nth-child(1) {
        order: 1;
    }

    .training-flow-cont:nth-child(1) {
        order: 2;
    }

    .training-flow-thumb:nth-child(2) {
        order: 3;
    }

    .training-flow-cont:nth-child(2) {
        order: 4;
    }

    .training-flow-thumb:nth-child(3) {
        order: 5;
    }

    .training-flow-thumb:nth-child(4) {
        order: 6;
    }

    .training-flow-cont:nth-child(3) {
        order: 7;
    }

    .training-flow-thumb:nth-child(5) {
        order: 8;
    }

    .training-flow-thumb:nth-child(6) {
        order: 9;
    }

    .training-flow-cont:nth-child(4) {
        order: 10;
    }

    .training-flow-tag {
        top: -10px;
        left: -13px;
        z-index: 1;
        padding: 3px 14px;
        font-size: 1.4rem;
        border-radius: 10px;
    }

    .training-flow-cont {
        width: 100%;
        padding-left: 0;
        min-height: 0;
    }

    .training-flow-cont:not(:last-child) {
        margin-bottom: 52px;
    }

    .training-flow-cont .list-bullet-orange {
        margin-top: 15px;
        padding-left: 15px;
    }

    .nurse-00 {
        min-height: 180px;
        padding-top: 15px;
        background: url(../images/nurse/img-nurse-00-mb.png) no-repeat center / cover;
    }

    .nurse-00-text {
        font-size: 1.5rem;
        line-height: 1.6667;
        letter-spacing: 0.1em;
    }

    .nurse-00-en {
        font-size: 5rem;
        margin-bottom: -9px;
    }

    .nurse-01::before {
        width: 335px;
        height: 190px;
        left: calc(50%);
        transform: translate(-50%);
        bottom: 37px;
    }

    .nurse-01-cont .greeting-doctor-info .text-nor-50 {
        font-size: 1.3rem;
    }

    .nurse-01-cont .greeting-doctor-box {
        width: 170px;
    }

    .nurse-01-cont .greeting-doctor-box img {
        width: 100%;
        height: auto;
    }

    .text-oo {
        font-size: 1.6rem;
    }

    .nurse-02::before {
        width: 335px;
        height: 190px;
        left: calc(50%);
        transform: translate(-50%);
        top: 200px;
    }

    .nurse-02 .title-mincho-01 {
        font-size: 1.8rem;
        line-height: 1.86;
    }

    .nurse-03-cont .col-inner.right {
        padding-left: 0;
    }

    .nurse-03::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 45px);
        top: 18px;
    }

    .nurse-03-cont .cont-border-gray {
        padding: 20px 15px;
    }

    .nurse-03-cont .title-cont-border-gray {
        font-size: 1.8rem;
    }

    .title-dot-pink {
        padding: 0 0 8px 20px;
        font-size: 1.6rem;
    }

    .title-dot-pink::before {
        top: 6px;
        width: 12px;
        height: 12px;
    }

    .nurse-03-staff-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 15px;
    }

    .nurse-03-staff-img img {
        border-radius: 5px;
    }

    .nurse-03-staff-title {
        margin: 8px 0 5px;
        font-size: 1.5rem;
    }

    .nurse-03-staff-desc {
        font-size: 1.3rem;
        line-height: 1.7;
        letter-spacing: 0.05em;
    }

    .title-pink-01 {
        font-size: 1.5rem;
        line-height: 1.6;
    }

    .nurse-04:before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .nurse-04 .slider-equipment-item-img img {
        height: auto;
    }

    .nurse-04 .slider-equipment .slick-arrow {
        top: 67px;
    }

    .hospitalization-flow-list.nurse-form .flow-item-title {
        width: 100%;
    }

    .hospitalization-flow-list.nurse-form .list-bullet-orange {
        padding: 13px 0 0;
    }

    .hospitalization-flow-list.nurse-form .flow-arrow {
        height: 36px;
    }

    .nurse-05::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 45px);
        top: 18px;
    }

    .nurse-06:before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .nurse-06-list {
        flex-direction: column;
        align-items: center;
        gap: 75px;
    }

    .nurse-06-item {
        max-width: 100%;
    }

    .nurse-06-card {
        width: 220px;
    }

    .nurse-06-card::before,
    .nurse-06-card-img {
        border-radius: 10px;
    }

    .nurse-06-card::before {
        right: -8px;
        bottom: -8px;
    }

    .nurse-06-tag {
        top: -10px;
        left: -15px;
        gap: 12px;
        width: 90px;
        min-height: 100px;
        padding: 10px 6px;
        border-radius: 6px;
        font-size: 1.5rem;
    }

    .nurse-06-card a.btn.btn-link {
        width: 225px;
        right: -40px;
        bottom: -25px;
    }

    .nurse-07 .row.row-large.row-sm-small-16 {
        gap: 20px 0;
    }

    .nurse-06-banner a {
        border-radius: 10px;
        width: 225px;
    }

    .nurse-07::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 45px);
        top: 35px;
    }

    .rehabilitation-center-02 .list-bullet-orange li {
        font-size: 1.4rem;
    }

    .rehabilitation-center-04 a.btn.btn-arrow {
        width: 280px;
        margin: 0 auto;
    }

    .rehabilitation-center-04-cont .row.row-sm-small-16 {
        padding: 0 16px;
    }

    .rehabilitation-center-01::before {
        width: 235px;
        height: 133px;
        left: calc(50% - 55px);
        top: 12px;
    }

    .outpatient-02::before,
    .outpatient-05::before,
    .outpatient-07::before,
    .rehabilitation-center-02::before,
    .rehabilitation-center-04::before,
    .rehabilitation-center-06::before,
    .day-care-02:before {
        width: 187px;
        height: 121px;
        right: calc(50% - 23px);
        top: 7px;
    }

    .rehabilitation-center-03::before,
    .rehabilitation-center-05::before,
    .day-care-01::before {
        width: 235px;
        height: 133px;
        top: 20px;
        left: calc(50% - 55px);
    }

    .home-nursing-care-agency-01::before {
        width: 245px;
        height: 133px;
        left: calc(50% - 55px);
        top: 19px;
    }

    .nurse-00::before {
        width: 185px;
        height: 120px;
        right: calc(50% + 50px);
        bottom: -33px;
    }

    .privacy-fee-table th {
        font-size: 1.5rem
    }

    .privacy-fee-table td {
        font-size: 1.4rem
    }

    .home-recruit-cont::before {
        background: url(../images/greeting/icon-bg-01.svg) no-repeat center / contain;
        left: 50%;
        z-index: 0;
        transform: translateX(-50%);
        bottom: 20px;
        width: calc((100vw - 20px) * 0.9);
        height: auto;
        aspect-ratio: 232 / 150;
        position: absolute;
        content: "";
        opacity: 0.36;
    }

    .rehabilitation-center-01 a.btn.btn-arrow {
        width: 280px;
    }

    /* 委員会組織図 */
    /* Tràn hết bề ngang màn hình như design (bỏ padding 2 bên của container) */
    .committee-chart {
        padding: 20px 0 23px;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
    }

    .committee-chart-head {
        width: 240px;
        height: 30px;
        min-height: 0;
        border-radius: 8px;
        font-size: 1.1rem;
        letter-spacing: 0.35em;
        text-indent: 0.2em;
    }

    /* 11 cột: 11 × 6% + 10 × 2.6% = 92% → lề 4% mỗi bên */
    .committee-chart-list {
        width: 100%;
        gap: 2.6%;
        padding-top: 32px;
    }

    .committee-chart-list::before {
        height: 16px;
    }

    .committee-chart-list::after {
        top: 16px;
        left: 7%;
        right: 7%;
    }

    .committee-chart-item {
        width: 6%;
        height: 150px;
        padding: 0 0 20px;
    }

    .committee-chart-item::before {
        top: -16px;
        height: 16px;
    }

    .committee-chart-item::after {
        bottom: 6px;
        width: 4px;
        height: 7px
    }

    .committee-chart-item-label {
        font-size: 0.9rem;
        letter-spacing: 0.075em;
    }

    .modal-nor {
        padding: 20px 15px;
    }

    /* không ép width: 100% — rule gốc (width 330 + max-width 100%) đã tự co
       vừa máy hẹp, mà không bị kéo rộng hết cỡ ở viewport 400–767px */
    .modal-nor-inner {
        padding: 12px 18px 22px;
    }

    .modal-nor-close {
        width: 28px;
        height: 28px;
    }

    .modal-nor-close::before,
    .modal-nor-close::after {
        width: 14px;
    }

    .modal-nor-title {
        margin-bottom: 28px;
        font-size: 1.6rem;
    }

    .modal-nor-desc {
        font-size: 1.4rem;
    }

    .nurse-07 a.btn.btn-link {
        width: 235px;
        padding: 10px 45px 10px 15px;
    }

    .day-care-03-cont img.w231-h161 {
        width: 231px;
        height: 161px;
    }

    .privacy-03 .list-number-cyan {
        padding-left: 0;
    }

    .slider-equipment .slick-slide>div {
        flex: unset;
    }

    .outpatient-08 .box-announce-desc {
        text-align: left;
    }

    .page-news .main-visual-text,
    .page-news-in .main-visual-text {
        justify-content: start;
    }

    .news-01 .news-list-title {
        font-size: 1.4rem;
    }
}