.mv {
    position: relative;
    height: 100vh;
    width: 100%;
}

.mv img {
    user-select: none;
    -webkit-user-drag: none;
    pointer-events: none;

}

.mv_bg {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-image: url("../../images/mv/foggy-birds.png");
    background-repeat: repeat;
    opacity: 0.4;
}

.mv_img__01 {
    position: absolute;
    width: 44.791667vw;
    /* 86rem → 860px → 44.791667vw */
    top: 8.333333vw;
    /* 16rem → 160px → 8.333333vw */
    left: 4.166667vw;
    /* 8rem  →  80px → 4.166667vw */
    z-index: 10;
}

.mv_img__02 {
    position: absolute;
    width: 47.916667vw;
    /* 92rem → 920px → 47.916667vw */
    top: 5.208333vw;
    /* 10rem → 100px → 5.208333vw */
    right: 5.729167vw;
    /* 11rem → 110px → 5.729167vw */
}

.mv_asset01 {
    position: absolute;
    width: 8.333333vw;
    /* 16rem → 160px → 8.333333vw */
    top: 8.333333vw;
    /* 16rem → 160px → 8.333333vw */
    left: 2.604167vw;
    /* 5rem  →  50px → 2.604167vw */
    z-index: 12;
}

.mv_asset02 {
    position: absolute;
    width: 7.291667vw;
    /* 14rem   → 140px → 7.291667vw */
    top: 29.895833vw;
    /* 57.4rem → 574px → 29.895833vw */
    right: 42.1875vw;
    /* 81rem   → 810px → 42.1875vw */
    z-index: 12;
}

.mv_asset03 {
    position: absolute;
    width: 6.25vw;
    /* 12rem → 120px → 6.25vw */
    top: 19.791667vw;
    /* 38rem → 380px → 19.791667vw */
    right: 3.645833vw;
    /* 7rem  →  70px → 3.645833vw */
    z-index: 12;
}

.mv_ill-family {
    position: absolute;
    width: 19.270833vw;
    bottom: 2rem;
    right: 67.2rem;
    z-index: 11;
}

.mv_bg01 {
    position: absolute;
    bottom: -1px;
    right: 0;
    width: 100%;
    pointer-events: none;
}

.mv_card {
    position: absolute;
    bottom: 0;
    right: 0.9rem;
    width: 58.2rem;
    border-radius: 0 0 0 1.2rem;
}

.mv_card__head {
    background-color: #94BA36;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1.6rem 4rem;
    grid-gap: 1.6rem;
    border-radius: 1.2rem 0 0 0;
}

.mv_card__head>* {
    color: #FFFFFF;
}

.mv_card__ttl {
    font-size: 1.8rem;
    font-weight: bold;
}

.mv_card__head .allnav_info__tel {
    font-size: 4.4rem;
    display: flex;
    align-items: center;
}

.mv_card__head .allnav_info__tel img {
    width: 3.6rem;
    margin-right: 1.2rem;
    margin-top: 0.8rem;
}

.mv_card .time-table {
    padding: 2.3rem 5rem 0;
    width: calc(100% - 5rem);
    margin: 2.3rem auto 0;
}

.mv_card .time-table__note {
    padding: 0 4rem 2.3rem;
}

.mv_news {
    position: absolute;
    bottom: 4rem;
    left: 0;
    background-color: #FFF;
    padding: 2rem 12rem;
    border-radius: 0 4rem 4rem 0;
}

.mv_news__ttl {
    position: absolute;
    bottom: 100%;
    left: 10rem;
    color: #94BA36;
    font-size: 3.2rem;
    font-family: "Ubuntu", sans-serif;
    line-height: 0.8em;
}

.mv_news__icon {
    position: absolute;
    top: -1.4rem;
    left: 7rem;
    width: 2.4rem;
}

.mv_news__item {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    transition: all 0.3s ease;
}

.mv_news__item+.mv_news__item {
    margin-top: 1.2rem;
}

.mv_news__item:hover {
    transform: translateX(0.8rem);
}

.mv_news__date {
    color: #94BA36;
    margin-right: 2.4rem;
    font-weight: bold;
}

.mv_news__text {
    margin-right: 1.6rem;
    transition: color 0.3s ease;
}

.mv_news__item:hover .mv_news__text {
    color: #94BA36;
}

.mv_news__arrow {
    filter: invert(71%) sepia(30%) saturate(876%) hue-rotate(35deg) brightness(91%) contrast(87%);

}

.sp_mv {
    display: none;
}

@media (max-width: 1600px) {

    .mv_card {
        width: 48rem;
    }

    .mv_card__head {
        padding: 1.2rem 3rem;
    }

    .mv_card .time-table {
        padding: 1.8rem 4rem 0;
        width: calc(100% - 4rem);
        margin: 1.8rem auto 0;
    }

    .mv_card__ttl {
        font-size: 1.6rem;
    }

    .mv_card__head .allnav_info__tel img {
        width: 2.8rem;
        margin-right: 0.8rem;
        margin-top: 0.6rem;
    }

    .mv_card__head .allnav_info__tel {
        font-size: 2.8rem;
    }

    .time-table__head {
        font-size: 1.4rem;
    }

    .time-table__time-main {
        font-size: 1.8rem;
    }

    .time-table__cell {
        padding: 0.8rem 1.2rem;
    }

    .mv_ill-family {
        width: 16rem;
        right: 56.2rem;
    }

    .mv_news {
        padding: 1.6rem 8rem;
    }

}

@media (max-width: 1279px) {
    .mv_ill-family {
        width: 14rem;
        right: 48.2rem;
        bottom: 0;
    }

    .mv_news {
        padding: 1.2rem 4rem;
        border-radius: 0 3rem 3rem 0;
        bottom: auto;
        top: 100%;
        width: 100%;
        z-index: 5;
    }

    .mv_news__item {
        font-size: 1.4rem;
    }

    .mv_news__ttl {
        font-size: 2.4rem;
    }

    .mv_card .time-table__time {
        font-size: 1.4rem;
        padding: 0.4rem 0.8rem;
    }
}

@media (max-width: 1023px) {
    .pc_mv {
        display: none;
    }

    .sp_mv {
        display: block;
    }

    .mv {
        height: auto;
        padding: 0rem 0 8rem;
    }

    .mv_img__03 {
        width: 100%;
    }

    .mv_news {
        padding: 2.4rem 1.6rem;
    }

    .mv_news__item {
        font-size: 1.8rem;
    }

    .mv_news__item+.mv_news__item {
        margin-top: 2.4rem;
    }

    .mv_ill-family {
        right: 50%;
        transform: translateX(50%);
    }

}

@media (max-width: 767px) {
    .mv {
        padding-top: 2rem;
    }

    .mv_img__03 {
        width: 114%;
    }

    .mv_news {
        border-radius: 0;
        padding: 2.2rem 2.4rem;
        top: calc(100% + 2.4rem);
    }

    .mv_news__item {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .mv_news__text {
        max-width: 90%;
        line-height: 1.5;
    }

    .mv_news__date {
        width: 100%;
    }

    .mv_news__text {
        font-weight: 500;
        margin-top: 8px;
    }

    .mv_news__arrow {
        width: 10px;
    }

    .mv_news__ttl {
        left: 5.4rem;
    }

    .mv_news__icon {
        left: 2.2rem;
        width: 20px;
    }

    .mv_ill-family {
        bottom: -35rem;
        width: 23.1rem;
    }
}

@media (min-width: 1024px) and (max-width: 1919px) and (min-aspect-ratio: 2/1.1) {
    .mv_card {
        transform-origin: bottom right;
        transform: scale(0.85);
    }
}

.treatment {
    padding-top: 8rem;
    padding-bottom: 26rem;
    background-color: #F0F5E4;
    position: relative;
}

.treatment_container::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    /* top:0; left:0; right:0; bottom:auto; */
    height: 4px;
    /* 縦の太さ。必要に応じて 2〜6px くらいで調整 */

    background-image: repeating-linear-gradient(to right,
            #94b936 0,
            #94b936 3px,
            /* 線の太さ 3px */
            transparent 1px,
            transparent 13px
            /* 3 + 10 = 13px までが1周期 → 間隔10px */
        );
    pointer-events: none;
    width: 40rem;
    margin: 0 auto;
}

.treatment_container {
    padding-top: 10rem;
    position: relative;
}

.treatment_ttl {
    text-align: center;
    margin: auto;
}

.treatment_txt {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 6rem;
    line-height: 2;
}

.treatment_btn {
    margin: 6rem auto 0;
}

.treatment_bg__bottom {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
}

.treatment_bg__bottom--asset01 {
    position: absolute;
    bottom: -8rem;
    left: 0;
    width: 16rem;
    transform: translateY(100%);
    z-index: 4;

}

.treatment_bg__bottom--asset02 {
    position: absolute;
    bottom: 0rem;
    right: 0;
    width: 16rem;
    transform: translateY(100%);
    z-index: 4;
}

@media (max-width: 1023px) {
    .treatment_container::before {
        content: none;
    }

    .treatment {
        padding-bottom: 16rem;
    }
}

@media (max-width: 767px) {
    .treatment {
        padding-top: 30rem;
        padding-bottom: 12rem;
    }

    .treatment_txt {
        margin-top: 3.2rem;
        text-align: left;
        margin-bottom: 4rem;
    }

    .treatment_btn {
        margin-top: 4rem;
    }

    .treatment_bg__bottom--asset01,
    .treatment_bg__bottom--asset02 {
        display: none;
    }
}

.features {
    background-color: #FDF4EF;
    padding-top: 2rem;
    position: relative;
    padding-bottom: 24rem;
}

.features_ttl {
    text-align: center;
    margin: auto;
}

.features_ttl .ttl_asset-01--en {
    color: #EAA264;
}

.features_txt {
    text-align: center;
    line-height: 2;
    margin-top: 4rem;
}

.features_wrap {
    margin-top: 6.4rem;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

/* 各段のグリッドレイアウト */
.features_box {
    display: grid;
    gap: 2.4rem;
}

/* 01：1カラム（横並びカード） */
.features_box.box_01 {
    grid-template-columns: minmax(0, 1fr);
}

.features_box.box_01 .features_item {
    padding: 5.6rem 8rem 6.4rem 8rem;
    gap: 9rem;
}

/* 02：3カラム */
.features_box.box_02 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 03：2カラム */
.features_box.box_03 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* 04：1カラム（横並びカード） */
.features_box.box_04 {
    grid-template-columns: minmax(0, 1fr);
}

.features_box.box_04 .features_item {
    padding: 6.5rem 8rem;
    gap: 9rem;
}

/* 共通カード */
.features_item {
    background-color: #fff;
    border-radius: 2rem;
    /* カード角丸 2rem */
    display: flex;
    flex-direction: column;
    height: 100%;
    box-shadow: 0 0.4rem 1.4rem rgba(0, 0, 0, 0.01);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    position: relative;
}

.features_box.box_02 .features_item {
    padding: 2.8rem 5rem 4rem;
}

.features_box.box_03 .features_item {
    padding: 4rem 5rem;
    flex-wrap: wrap;
    flex-direction: row;
}

.features_item__img {
    width: 100%;
    overflow: hidden;
    border-radius: 2rem;
}

.features_box.box_03 .features_item__img {
    width: 32rem;
    margin-right: 2.4rem;
}

.features_item__img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* テキスト部分 */
.features_item__bottom {
    position: relative;
    flex: 1 1 auto;
}

.features_item__bottom-wrap {
    position: relative;
    text-align: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    margin: auto;
}

.features_box.box_03 .features_item__bottom {
    display: contents;
}

/* 下側の飾り画像（PCのみ表示） */
.features_wrap .features_item__bottom-img,
.features_wrap .features_item__bottom-img--02 {
    position: absolute;
    inset: 0 -3rem auto auto;
    width: 100%;
    pointer-events: none;
    z-index: 0;
    width: 24.8rem;
}

.features_wrap .features_item__bottom-img--02 {
    top: 0;
    left: -3rem;
}

/* 番号 01〜07 */
.features_item_num {
    font-size: 3.2rem;
    letter-spacing: 0.05em;
    color: #EAA264;
    /* ピンク */
    margin-bottom: 1.2rem;
    position: relative;
    z-index: 1;
    font-family: "Ubuntu", sans-serif;
}

.features_box.box_01 .features_item_num,
.features_box.box_04 .features_item_num {
    font-size: 4rem;
}

.features_box.box_02 .features_item_num {
    text-align: center;
    margin-top: 2rem;
}

.features_box.box_03 .features_item_num {
    margin-bottom: 2.4rem;
}

/* タイトル */
.features_item__ttl {
    line-height: 1.75;
    padding-bottom: 2.4rem;
    margin-bottom: 2.4rem;
    position: relative;
    z-index: 1;
    letter-spacing: 0.05em;
}

.features_box.box_02 .features_item__ttl,
.features_box.box_03 .features_item__ttl {
    text-align: center;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.features_item__ttl span {
    color: #EAA264;
    font-weight: 500;
}

/* 01・07 は少し大きめ */
.features_box.box_01 .features_item__ttl,
.features_box.box_04 .features_item__ttl {
    font-size: 2.4rem;
}

.features_item__ttl::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 10rem;
    height: 1px;
    background-color: #DBDBDB;
}

.features_box.box_02 .features_item__ttl::after,
.features_box.box_03 .features_item__ttl::after {
    left: 50%;
    transform: translateX(-50%);
    width: 6rem;
}

.features_box.box_04 .features_item__ttl::after {
    right: 0;
    left: auto;
}

.features_item__txt {
    line-height: 1.8;
    position: relative;
    z-index: 1;
}

.features_box.box_03 .features_item__txt {
    margin-top: 2rem;
}

/* ================================
   当院の特徴：マーカー（本文のみ）
   ================================ */

/* 本文マーカー */
.features .features_item__txt span {
    /* デフォルトはピンクマーカー */
    --marker-color: #FDF6EF;
    /* #EAA264 10% */

    display: inline;
    padding: 0 1rem;
    /* 左右の余白（1rem=10px） */

    /* 下半分だけ塗る＋角丸（pタグのサンプルをspan用に調整） */
    background:
        radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),
            var(--marker-color) 7px,
            transparent 7px),
        radial-gradient(circle at 7px calc(100% - 7px),
            var(--marker-color) 7px,
            transparent 7px),
        /* 上側をカード背景(#fff)で塗りつぶす */
        linear-gradient(to bottom,
            #fff calc(100% - 14px),
            transparent calc(100% - 14px)),
        /* 下側の横長帯＋左右の立ち上がり部分 */
        linear-gradient(to right,
            transparent 7px,
            var(--marker-color) 7px,
            var(--marker-color) calc(100% - 7px),
            transparent calc(100% - 7px));

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* 黄緑マーカー用：<span class="features_marker--green">〜</span> */
.features .features_item__txt span.features_marker--green {
    --marker-color: rgba(148, 186, 54, 0.1);
    /* #94BA36 10% */
}

/* ================================
   01・07 の横並びレイアウト（PC）
   ================================ */

/* 01・07 共通：画像＋テキストの2カラム */
.features_box.box_01 .features_item,
.features_box.box_04 .features_item {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.1fr);
    align-items: stretch;
}

/* 01：テキスト左 / 画像右 */
.features_box.box_01 .features_item__bottom {
    order: 1;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.features_box.box_01 .features_item__img {
    order: 2;
}

/* 07：画像左 / テキスト右 */
.features_box.box_04 .features_item__img {
    order: 1;
}

.features_box.box_04 .features_item__bottom {
    order: 2;
    text-align: end;
    padding-top: 18.3rem;
}

.features_box.box_04 .features_item__bottom .features_item__txt {
    text-align: left;
}

.features_box.box_03 .features_item_num,
.features_box.box_03 .features_item__ttl span,
.features_box.box_04 .features_item_num,
.features_box.box_04 .features_item__ttl span {
    color: #94BA36;
}

.features_box.box_03 .features_item__txt span,
.features_box.box_04 .features_item__txt span {
    --marker-color: #F4F8EA;

}

.features_box.box_01 .features_item::after {
    content: "";
    width: 10rem;
    height: 0.4rem;
    left: 8rem;
    top: 0;
    background-color: #EAA264;
    position: absolute;
    transform: translateY(-100%);
}

.features_box.box_01 .features_item::before {
    content: "Treatment";
    position: absolute;
    left: 8rem;
    top: 1.2rem;
    color: #EAA264;
    font-size: 1.4rem;
    font-family: "Ubuntu", sans-serif;
    letter-spacing: 0.1em;
}

.features_box.box_02 .features_item::after {
    content: "";
    width: 6rem;
    height: 0.4rem;
    left: 50%;
    top: 0;
    background-color: #EAA264;
    position: absolute;
    transform: translateX(-50%);
}

.features_box.box_03 .features_item::after {
    content: "";
    width: 6rem;
    height: 0.4rem;
    right: 15.2rem;
    top: 0;
    background-color: #94BA36;
    position: absolute;
}

.features_box.box_04 .features_item::after {
    content: "";
    width: 10rem;
    height: 0.4rem;
    right: 8rem;
    top: 0;
    background-color: #94BA36;
    position: absolute;
}

.features_box.box_04 .features_item::before {
    content: "About clinic";
    position: absolute;
    right: 8rem;
    top: 1.2rem;
    color: #94BA36;
    font-size: 1.4rem;
    font-family: "Ubuntu", sans-serif;
    letter-spacing: 0.1em;
}

@media (max-width: 1600px) {
    .features_wrap .features_item__bottom-img {
        width: 14rem;
        inset: -2rem -3.5rem auto auto;
    }

    .features_box.box_01 .features_item {
        padding: 4rem 5rem 5rem 5rem;
        gap: 6rem;
    }

    .features_box.box_02 .features_item {
        padding: 2rem 2rem 3rem;
    }

    .features_box.box_03 .features_item {
        padding: 3rem 4rem;
    }

    .features_box.box_03 .features_item__img {
        width: 45%;
    }

    .features_box.box_04 .features_item {
        padding: 5rem 5rem;
    }

    .features_wrap .features_item__bottom-img--02 {
        width: 14rem;
    }

    .features_item.item_07 .features_item__img img {
        object-fit: contain;
    }

    .features_box.box_04 .features_item__bottom {
        padding-top: 4rem;
    }

}

@media (max-width: 1023px) {

    .features {
        padding-bottom: 16rem;
    }

    .features_container {
        max-width: 600px;
    }

    .features_wrap {
        margin-top: 4rem;
        gap: 4rem;
        margin: 4rem auto 0;
    }

    .features_box {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 4rem;
    }

    .features_item {
        display: flex;
        flex-direction: column;
        box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.06);
        padding: 4rem 4rem !important;
        gap: 0 !important;

    }

    .features_item::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 6rem !important;
    }

    .features_item::before {
        left: 50% !important;
        transform: translateX(-50%) !important;
        right: auto !important;
    }

    .features_box.box_01 .features_item,
    .features_box.box_04 .features_item {
        display: flex;
    }

    .features_box.box_01 .features_item {
        flex-direction: column-reverse;
    }

    .features_item__bottom {
        padding: 2.4rem 2.4rem 2.8rem !important;
        text-align: center !important;
        display: block !important;
    }

    .features_item__img {
        width: 80% !important;
        border-radius: 1.6rem;
        flex-shrink: 0 !important;
        margin: auto !important;
        aspect-ratio: 416 / 277;
    }

    .features_item__img img {
        object-fit: cover !important;
    }

    .features_item__txt,
    .features_txt {
        font-size: 1.8rem;
        line-height: 1.8;
        text-align: left;
    }

    .features_item_num {
        font-size: 2.4rem !important;
        margin: 0 !important;
    }

    .features_item__ttl {
        font-size: 2rem !important;
    }

    .features_item__ttl::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 10rem !important;
    }

    /* 飾り画像は SP では非表示 */
    .features_wrap .features_item__bottom-img,
    .features_wrap .features_item__bottom-img--02 {
        display: none;
    }

    /* すべて縦並びレイアウトに統一 */
    .box_01 .features_item,
    .box_02 .features_item,
    .box_03 .features_item,
    .box_04 .features_item {
        grid-template-columns: none;
    }


}

@media (max-width: 767px) {
    .features {
        padding-top: 6rem;
        padding-bottom: 12rem;
    }

    .features_txt {
        margin-top: 3.2rem;
    }

    .features_wrap {
        margin-top: 6rem;
    }

    .features_item {
        padding: 2.2rem 1.6rem 4rem !important;
    }

    .features_box.box_01 .features_item,
    .features_box.box_04 .features_item {
        padding-top: 4rem !important;
    }

    .features_item::before {
        font-size: 1.2rem !important;
    }

    .features_item__img {
        aspect-ratio: auto !important;
        width: 100% !important;
    }

    .features_item__bottom {
        padding: 2rem 0 0 !important;
    }
}

.features_bg__bottom {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    pointer-events: none;
    user-select: none;
}

.features_bg__bottom--asset {
    position: absolute;
    bottom: 0rem;
    width: 16rem;
    right: 36.2rem;
    z-index: 4;
    pointer-events: none;
    user-select: none;
}

@media (max-width: 767px) {
    .features_bg__bottom--asset {
        display: none;
    }
}

.message {
    padding-top: 8rem;
    margin-bottom: 12rem;
}

.message_container {
    margin-top: 6rem;
    display: flex;
    gap: 14rem;
}

.message_img {
    max-width: 47rem;
    flex-shrink: 0;
}

.message_img img {
    width: 100%;
}

.message_txt {
    position: relative;
}

.message_head {
    position: relative;
    width: fit-content;
    margin-top: 4rem;
    line-height: 2;
    font-size: 2.4rem;
    font-weight: 500;
}

.message_head p {
    position: relative;
    z-index: 2;
}

.message_head p span {
    color: #E65D40;
}

.message_head .marker {
    --marker-color: rgba(234, 162, 100, 0.1);
    display: inline;
    padding: 0 1rem;
    background:
        radial-gradient(circle at calc(100% - 7px) calc(100% - 7px),
            var(--marker-color) 7px,
            transparent 7px),
        radial-gradient(circle at 7px calc(100% - 7px),
            var(--marker-color) 7px,
            transparent 7px),
        /* 上側をカード背景(#fff)で塗りつぶす */
        linear-gradient(to bottom,
            #fff calc(100% - 14px),
            transparent calc(100% - 14px)),
        /* 下側の横長帯＋左右の立ち上がり部分 */
        linear-gradient(to right,
            transparent 7px,
            var(--marker-color) 7px,
            var(--marker-color) calc(100% - 7px),
            transparent calc(100% - 7px));

    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.message_head--img {
    position: absolute;
    top: -4rem;
    right: -1.1rem;
    width: 13rem;
}

.message_body {
    margin-top: 4rem;
    font-size: 1.8rem;
    line-height: 1.7777;
}

.message_body p:not(:last-child) {
    margin-bottom: 1.7777em;
}

.message_signature {
    text-align: right;
    font-size: 2.4rem;
    font-weight: 500;
    margin-top: 4rem;
}

.message_signature span {
    font-size: 2rem;
    font-weight: normal;
    margin-right: 2rem;
    display: inline-block;
}

@media (max-width: 1600px) {
    .message_container {
        gap: 8rem;
    }

    .message_img {
        max-width: 36rem;
    }

    .message_head {
        font-size: 2rem;
    }

    .message_body {
        font-size: 1.6rem;
    }

    .message_signature {
        font-size: 2rem;
    }

    .message_signature span {
        font-size: 1.6rem;
    }

}

@media (max-width: 1023px) {
    .message_container {
        flex-direction: column;
        gap: 4rem;
    }

    .message_img {
        max-width: 50rem;
        width: 100%;
        margin: auto;
        aspect-ratio: 1 / 1;
        border-radius: 2rem;
        overflow: hidden;
    }

    .message_img img {
        object-fit: cover;
        height: 100%;
    }

    .message_txt {
        margin-top: 2rem;
    }

    .message_head--img {
        width: 10rem;
    }

    .message_head {
        text-align: center;
        margin: auto;
    }

    .message_body {
        font-size: 1.8rem;
    }

    .message_signature {
        font-size: 2.4rem;
        text-align: center;
    }

    .message_signature span {
        font-size: 2rem;
    }
}

@media (max-width: 767px) {
    .message {
        padding-top: 6rem;
        margin-bottom: 8rem;
    }

    .message_ttl {
        text-align: center;
        margin: auto;
    }

    .message_container {
        margin-top: 4rem;
    }

    .message_head--img {
        top: -3.4rem;
        right: -23px;
    }

    .message_signature {
        text-align: right;
    }
}

/* 当院について */
.about {
    padding-top: 12rem;
    padding-bottom: 22rem;
    background-color: #FDF4EF;
    position: relative;
}

.about_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10rem;
}

.about_ttl .ttl_asset-01--en {
    color: #EAA264;
}

.about_txt {
    margin-top: 10rem;
}

.about_txt__body {
    margin-top: 4rem;
    line-height: 2;
}

.about_txt__img {
    width: 41rem;
    margin: 8rem auto 0;
    max-width: 100%;
    display: block;
}

.about_img img {
    width: 100%;
    object-fit: contain;
}

.about_asset {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 6rem;
}

.about_asset .grid_asset01__item::before {
    background-color: #EAA264;
}

@media (max-width: 1600px) {
    .about_wrap {
        gap: 6rem;
    }

    .about_txt {
        margin-top: 6rem;
    }

    .about_txt__img {
        width: 32rem;
        margin: 6rem auto 0;
    }

    .about_asset {
        margin-top: 4rem;
    }

    .about .grid_asset01__img {
        width: 10rem;
    }

    .about .grid_asset01__item {
        padding: 2rem 1.5rem 5rem;
    }

    .about .grid_asset01__item::before {
        width: 3rem;
        bottom: 15px;
    }

    .about .grid_asset01__item::after {
        width: 1.3rem;
        right: 28px;
        bottom: 27.6px;
    }

    .about .grid_asset01__ttl {
        font-size: 1.6rem;
    }

}

@media (max-width: 1023px) {
    .about {
        padding-top: 4rem;
        padding-bottom: 16rem;
    }

    .about_wrap {
        grid-template-columns: minmax(0, 1fr);
    }

    .about_ttl {
        margin-top: 6rem;
    }

    .about_txt {
        margin-top: 0rem;
        display: flex;
        flex-direction: column;
    }

    .about_txt__img {
        order: -1;
        margin: 0 auto;

    }

    .about_img {
        max-width: 44rem;
        margin: auto;
    }

    .about_asset {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 4.6rem;
    }
}

@media (max-width: 767px) {
    .about {
        padding-bottom: 12rem;
    }

    .about_txt__img {
        width: 23.1rem;
    }

    .about_txt__body {
        margin-top: 2.5rem;
    }

    .about_wrap {
        gap: 8rem;
    }

    .about .grid_asset01__item {
        padding: 2rem 1.2rem 6.4rem;
    }

    .about .grid_asset01__item::after {
        width: 1.631rem;
        right: 50%;
        transform: translateX(50%);
        bottom: 31.4px;
    }

    .about .grid_asset01__item::before {
        bottom: 20px;
    }

    .about .grid_asset01__img {
        width: 6rem;
    }
}

/* news */
.news {
    padding-top: 8rem;
    padding-bottom: 12rem;
}

.news_container {
    display: flex;
    gap: 14.6rem;
}

.news_ill-people {
    margin-top: 9.35rem;
    width: 34.2rem;
    max-width: 100%;
}

.news_right {
    flex-grow: 1;
    margin-top: 2.3rem;
}

.news_item {
    display: flex;
    align-items: center;
    padding-bottom: 2rem;
    border-bottom: 1px solid #DBDBDB;
    transition: all 0.3s ease;
}

.news_item:not(:first-child) {
    padding-top: 3.2rem;
}

.news_item__date {
    margin-right: 2.4rem;
    color: #94BA36;
    font-weight: bold;
}

.news_item__category {
    margin-right: 2rem;
    color: #94BA36;
    font-weight: 500;
    font-size: 1.8rem;
    background-color: #F0F5E4;
    border-radius: 4px;
    padding: 0.4rem 1.2rem;
}

.news_item__text {
    transition: all 0.3s ease;
    margin-right: 2rem;
}

.news_item__arrow {
    filter: invert(71%) sepia(30%) saturate(876%) hue-rotate(35deg) brightness(91%) contrast(87%);
}

.news_item:hover .news_item__text {
    color: #94BA36;
}

.news_item:hover {
    padding-left: 1.2rem;
    border-bottom: 1px solid #94BA36;
}

.news_more {
    margin-top: 6rem;
    margin-left: auto;
}

@media (max-width: 1600px) {
    .news_container {
        gap: 8rem;
    }

    .news_ill-people {
        width: 24.2rem;
        margin-top: 6rem;
    }

    .news_item__date {
        font-size: 1.4rem;
        margin-right: 1.6rem;
    }

    .news_item__category {
        font-size: 1.4rem;
        margin-right: 1.2rem;
        padding: 0.2rem 0.8rem;
    }

    .news_item__text {
        font-size: 1.6rem;
        margin-right: 1.2rem;
    }
}

@media (max-width: 1023px) {
    .news {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }

    .news_container {
        flex-direction: column;
        gap: 4rem;
    }

    .news_ill-people {
        margin: 0 0 0 auto;
        display: block;
        width: 18rem;
    }

    .news_right {
        margin-top: 0;
    }


    .news_more {
        margin-top: 4rem;
    }
}

@media (max-width: 767px) {
    .news {
        padding-top: 6rem;
    }

    .news_item {
        flex-wrap: wrap;
        row-gap: 1.6rem;
    }

    .news_item__date {
        font-size: 1.8rem;
    }

    .news_item__text {
        width: 90%;
        font-weight: 500;
        line-height: 1.5;
        font-size: 1.8rem;
    }

    .news_item__category {
        font-size: 1.6rem;
    }
}

/* front_map */
.front_map {
    position: relative;
    border: 1px solid #94BA36;
    padding: 12rem 0 12rem;
}

.front_map__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.front_map__logo {
    width: 40rem;
    margin-left: 8rem;
}

.front_map__logo img {
    width: 100%;
}

.front_map__address {
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 2;
}

.front_map__btn {
    padding: 1.5rem 5rem 1.5rem 5rem;
    background-color: #A38F79;
    max-width: 28rem;
    height: fit-content;
    position: relative;
}

.front_map__btn img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(79deg) brightness(102%) contrast(102%);
    width: 2rem;
    margin-right: 1.2rem;
}

.front_map__btn .btn_asset02__arrow {
    background-color: inherit;
    width: auto;
}

.front_map__btn .btn_asset02__arrow::before {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(79deg) brightness(102%) contrast(102%);
}

.front_map__btn.btn_asset02:hover .btn_asset02__arrow::before {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(79deg) brightness(102%) contrast(102%);
}

.front_map__middle {
    margin-top: 5rem;
    display: flex;
}

.front_map__map {
    flex-grow: 1;
}

.front_map__map iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.front_map__exterior {
    width: 58.6rem;
    border-radius: 2rem 0 0 2rem;
    overflow: hidden;
}

.front_map__bottom {
    display: flex;
    margin-top: 5rem;
    width: 100%;
    justify-content: space-between;
    gap: 2.4rem;
}

.front_map__bottom-left {
    width: 58.6rem;
}

.front_map__bottom-txt {
    line-height: 2;
    text-align: center;
}

.front_map__bottom-txt span {
    color: #94BA36;
    font-weight: 500;
}

.front_map__bottom .allnav_info__tel {
    margin-top: 2rem;
    margin-left: 4rem;
    text-align: left;
}

.front_map__bottom .allnav_info__btn .logo_icon {
    filter: none;
    position: absolute;
    bottom: 86%;
    right: -0rem;
    width: 7.4rem;
    z-index: 2;
    margin-right: 0;
    object-fit: contain;
}

.front_map__bottom .allnav_info__btn {
    margin-top: 2rem;
}

.front_map__bottom-right {
    flex-grow: 1;
}

.front_map .allnav_info__box {
    width: auto;
    border: #DBDBDB 1px solid;
    padding: 2.5rem 5rem 2.4rem 5rem;
}

.front_map .time-table__head {
    font-size: 2rem;
}

.front_map .time-table__time {
    font-size: 2.4rem;
    width: 24rem;
}

.front_map .time-table__time-main {
    display: inline-block;
}

.front_map .time-table__time-sub {
    display: inline-block;
}

.front_map .time-table tbody tr {
    border-top: 0.1rem solid #F0F5E4;
}

.front_map .time-table tbody tr+tr {
    border-bottom: 0.1rem solid #F0F5E4;
}


@media (max-width: 1600px) {
    .front_map__logo {
        width: 30rem;
        margin-left: 4rem;
    }

    .front_map__address {
        font-size: 2rem;
    }

    .front_map__btn {
        max-width: 22rem;
        padding: 1.2rem 4rem 1.2rem 4rem;
    }

    .front_map__exterior {
        width: 42.6rem;
    }

    .front_map__bottom-left {
        width: 42.6rem;
    }

    .front_map .time-table__head {
        font-size: 1.6rem;
    }

    .front_map .time-table__time {
        font-size: 1.8rem;
        width: 20rem;
    }

    .front_map__bottom .allnav_info__tel {
        margin-left: 2rem;
    }

}

@media (max-width: 1023px) {
    .front_map {
        padding: 8rem 0 8rem;
    }

    .front_map__top {
        flex-direction: column;
        align-items: center;
        gap: 4rem;
    }

    .front_map__logo {
        width: 28rem;
        margin: 0;
    }

    .front_map__address {
        text-align: center;
        font-size: 2rem;
    }

    .front_map__btn {
        margin: 0;
    }

    .front_map__middle {
        flex-direction: column;
    }

    .front_map__map {
        width: 100%;
        aspect-ratio: 1 / 1;
    }

    .front_map__exterior {
        width: 100%;
        border-radius: 2rem 2rem 0 0;
    }

    .front_map__bottom {
        flex-direction: column;
        gap: 4rem;
    }

    .front_map__bottom-left {
        width: 100%;
    }

    .front_map__bottom .allnav_info__tel {
        margin: 2rem 0 0;
        text-align: center;
    }

    .front_map__bottom .allnav_info__btn {
        margin-top: 4rem;
    }
}

@media (max-width: 767px) {
    .front_map__top {
        align-items: start;
        gap: 2rem;
    }

    .front_map__address {
        text-align: left;
        font-size: 1.8rem;
    }

    .front_map__btn {
        margin: auto;
        margin-top: 2rem;
    }

    .front_map__middle {
        margin-top: 4rem;
    }

    .front_map__bottom-txt {
        font-size: 2rem;
        text-align: left;
    }

    .front_map__bottom .allnav_info__tel {
        font-size: 4rem;
    }

    .front_map__bottom .allnav_info__btn {
        margin-top: 4.7rem;
    }

    .front_map__bottom .allnav_info__btn .logo_icon {
        width: 4rem;
        bottom: 92%;
    }

    .front_map .time-table__time-sub {
        display: none;
    }

    .front_map .allnav_info__box {
        padding: 0 0rem 2rem;
        border: none;
    }

    .front_map .time-table__time {
        font-size: 1.6rem;
        padding-left: 0;
    }

}

/* banners */
.banners {
    margin: 12rem auto;
}

.banners__link {
    position: relative;
    display: block;
    transition: all 0.3s ease;
    border: #ef845d00 2px solid;
    border-radius: 2.4rem;
}

.banners img {
    width: 100%;
    border-radius: 2.2rem;
    user-select: none;
    pointer-events: none;
}

.banners_arrow {
    position: absolute;
    right: -0px;
    bottom: -0px;
    width: 6.8rem;
    aspect-ratio: 1 / 1;
    border-radius: 2rem 0 2rem 0;
    background-color: #EF845D;
    display: flex;
    align-items: center;
}

.banners_arrow img {
    filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(79deg) brightness(102%) contrast(102%);
    width: 1.63rem;
    aspect-ratio: 16.31 / 7.05;
    display: block;
    margin: auto;
    transition: all 0.3s ease;
}

.banners__link:hover {
    border: #EF845D 2px solid;
    transform: translateY(-8px);
}

.banners__link:hover .banners_arrow img {
    transform: translateX(0.4rem);
}

@media (max-width: 1023px) {
    .banners {
        margin: 8rem auto;
        max-width: 600px;
    }

    .banners__link {
        border: none;
    }

    .banners__link:hover {
        border: none;
        transform: none;
    }

}