/*---▼ファーストビュー▼---*/

section.fv_top {
    margin-top: 6.25rem;
    background: #fff;
    border-bottom: 10px solid #F38AB9;
}

section.fv_top .main_fv {
    margin-right: calc(50% - 50vw);
    position: relative;
}

section.fv_top .main_fv img {
    object-fit: cover;
    height: 44.5rem;
    display: block;
    width: 100%;
}

section.fv_top .main_fv::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #ffffff, transparent, transparent);
}

section.fv_top .txt_sec {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

section.fv_top .txt_sec h1 {
    font-family: "Zen Maru Gothic", serif;
    text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
    color: #240F0F;
    font-size: 2.8125rem;
    font-weight: 500;
    line-height: 150%;
}

@media screen and (max-width: 768px) {
    section.fv_top .main_fv {
        margin-left: calc(50% - 50vw);
        height: 465px;
        background: #c5da9f;
    }
    .fv_top .wrap {
        padding: 0;
    }
    section.fv_top .main_fv::before {
        position: static;
    }
    section.fv_top .main_fv img {
        height: 21.5rem;
        object-position: -26.3rem;
        top: 8rem;
        position: absolute;
    }
    section.fv_top .txt_sec {
        top: 33%;
        transform: translateY(-95%);
        padding: 0 1rem;
    }
    section.fv_top .txt_sec h1 {
        font-size: 1.4rem;
        line-height: 120%;
    }
}


/*---▼新着情報▼---*/

.news_sec {}

.news_sec .wrap {
    padding-top: 6rem;
    border-right: 10px solid #BDD06D;
    padding-right: 0;
}

.news_sec .wrap .flex_sec {
    display: flex;
    gap: 12rem;
    padding-bottom: 2.5rem;
    padding-right: 3rem;
}

.news_sec .news_content {
    width: calc(100% - 168px - 12rem)
}

.news_sec .news_content ul {
    margin-top: 1rem;
}

.news_sec .news_content ul li a {
    display: flex;
    gap: 5.24rem;
    padding: 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #222222;
    margin-bottom: 1.19rem;
}

.news_sec .news_content ul li span.data {
    color: #000;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.05rem;
}

.news_sec .news_content ul li h3 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.0625rem;
}

.news_sec .news_content .btn_sec {
    text-align: center;
    margin-top: 2.06rem;
}

.news_sec .news_content .btn_flex a.news_btn {
    background: #D60000;
}

.news_sec .news_content .btn_flex a.blog_btn {
    background: #DEA34F;
}

.news_sec .border_btm_green {
    border-bottom: 10px solid #BDD06D;
    margin-left: calc(50% - 55vw);
}

@media screen and (max-width: 1024px) {
    .news_sec {
        padding: 0 2rem;
    }
}

@media screen and (max-width: 768px) {
    .news_sec {
        padding: 0 1rem;
    }
    .news_sec .wrap {
        padding-top: 4rem;
    }
    .news_sec .wrap .flex_sec {
        flex-direction: column;
        gap: 1rem;
        padding-right: 1rem;
    }
    .news_sec .news_content {
        width: auto;
    }
    .news_sec .news_content ul {
        margin-top: 1rem;
    }
    .news_sec .news_content ul li a {
        flex-direction: column;
        gap: 0.5rem;
    }
    .news_sec .news_content ul li h3 {
        font-size: 1rem;
    }
}


/*---▼院長挨拶▼---*/

.greeting {
    margin-top: 7.56rem;
    padding: 4.5rem 0;
    padding-bottom: 0;
}

.greeting .wrap {
    padding-left: 0;
}

.greeting .flex_sec {
    display: flex;
    gap: 2.5rem;
    padding-bottom: 5.94rem;
    padding-left: 1.5rem;
}

.greeting .flex_sec .img_sec {}

.greeting .flex_sec .img_sec img {
    width: 37.3125rem;
    height: 19.625rem;
    flex-shrink: 0;
    aspect-ratio: 597/314;
    border-radius: 1.875rem;
}

.greeting .flex_sec .text_sec {}

.greeting .flex_sec .text_sec h2 {
    color: #C86893;
    font-size: 2.1875rem;
    font-weight: 500;
    margin-bottom: 1.94rem;
}

.greeting .flex_sec .text_sec p {
    line-height: 140%;
    margin-bottom: 2rem;
    font-size: 1.25rem;
}

.greeting .flex_sec .text_sec p:last-child {
    margin-bottom: 0;
}

.greeting .border_btm_green {
    border-bottom: 10px solid #BDD06D;
    margin-right: calc(50% - 55vw);
}

@media screen and (max-width: 1024px) {
    .greeting {
        margin-top: 2.56rem;
    }
    .greeting .flex_sec .img_sec img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    .greeting .flex_sec {
        flex-direction: column;
    }
    .greeting {
        margin-top: 0rem;
        padding: 2rem 0;
        padding-bottom: 0;
    }
    .greeting .flex_sec .img_sec {
        top: 0;
        position: relative;
    }
    .greeting .flex_sec .img_sec img {
        height: auto;
        width: 100%;
    }
    .greeting .flex_sec .text_sec {
        position: static;
        right: 0;
        width: auto;
        transform: none;
        border-radius: 1.5rem;
    }
    .greeting .flex_sec .text_sec h2 {
        font-size: 1.3rem;
        margin-bottom: 1.5rem;
    }
    .greeting .flex_sec .text_sec p {
        margin-bottom: 1.2rem;
        font-size: 1rem;
    }
}


/*---▼院内バリアフリー▼---*/

.barrier_free {}

.barrier_free .wrap {
    padding: 0;
    padding-top: 8rem;
    border-left: 10px solid #BDD06D;
}

.barrier_free h2 {
    font-size: 2.8125rem;
    color: #C86893;
    text-align: center;
}

.barrier_free h3 {
    text-align: center;
    font-size: 1.875rem;
    font-weight: 400;
    line-height: 120%;
    margin-top: 0.94rem;
}

.barrier_free .flex_sec {
    gap: 1.72rem;
    display: flex;
    margin-top: 3.44rem;
    justify-content: space-around;
    padding: 1.5rem;
    padding-bottom: 8rem;
    border-bottom: 10px solid #F38AB9;
}

.barrier_free .flex_sec>img {
    width: 24.375rem;
    height: 20.3125rem;
    flex-shrink: 0;
    aspect-ratio: 6/5;
    border-radius: 1.875rem;
}

@media screen and (max-width: 1024px) {
    .barrier_free .flex_sec {
        gap: 1.5rem;
        justify-content: space-between;
    }
    .barrier_free .flex_sec>img {
        width: calc(100% / 3 - 1.5rem);
        height: auto;
        flex-shrink: 0;
        aspect-ratio: auto;
    }
    .barrier_free .wrap {
        padding-top: 6rem;
    }
}

@media screen and (max-width: 768px) {
    .barrier_free {
        padding: 0rem 0;
    }
    .barrier_free h2 {
        font-size: 1.5rem;
    }
    .barrier_free h3 {
        font-size: 1.3rem;
    }
    .barrier_free .flex_sec {
        flex-direction: column;
        gap: 2rem;
        margin-top: 0;
        padding-bottom: 4rem;
    }
    .barrier_free .flex_sec>img {
        width: 75%;
        height: auto;
        margin: auto;
    }
    .barrier_free .wrap {
        padding-top: 4rem;
    }
}


/*---▼3つの特徴▼---*/

.point {}

.point .wrap {
    padding-top: 4.5rem;
    padding-right: 0;
    border-right: 10px solid #F38AB9;
}

.point h2 {
    text-align: center;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.125rem;
    color: #240F0F;
}

.point p.sub {
    color: #C86893;
    text-align: center;
    font-family: "EB Garamond";
    font-size: 2.8125rem;
    font-weight: 500;
    line-height: 150%;
    font-variant: all-small-caps;
    display: block;
    margin-bottom: -9rem;
}

.point h2 span.point {
    color: #C86893;
    font-family: "Zen Maru Gothic";
    font-size: 5rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.25rem;
    display: inline-block;
}

.point h2 span.point_2 {
    color: #C86893;
    font-family: "Zen Maru Gothic";
    font-size: 3.125rem;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.15625rem;
    display: inline-block;
}

.point .point_box {
    display: flex;
    gap: 2rem;
    justify-content: space-between;
    margin-bottom: 2.92rem;
    align-items: center;
    padding: 1.5rem;
}

.point .point_box.last {
    margin-bottom: 9.69rem;
}

.point .point_box .img_sec {
    width: 45.4375rem;
    margin-left: calc(50% - 55vw);
}

.point .point_box .img_sec img {
    border-radius: 0rem 1.875rem 1.875rem 0rem;
}

.point .point_box .text_sec {
    display: flex;
    width: 65%;
}

.point .point_box .text_sec p.point_title {
    color: #C86893;
    font-family: "Zen Maru Gothic";
    font-size: 1.875rem;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.09375rem;
    text-align: center;
    width: 15%;
    border-right: 1px solid #C86893;
    margin-right: 1rem;
    display: flex;
    flex-direction: column;
}

.point .point_box .text_sec p.point_title span {
    font-size: 5.625rem;
    display: block;
    line-height: 60%;
    letter-spacing: 0.28125rem;
}

.point .point_box .text_sec .text_area {
    margin-top: 1.18rem;
}

.point .point_box .text_sec .text_area h3 {
    color: #240F0F;
    font-size: 2.1875rem;
    font-weight: 500;
    line-height: 150%;
}

.point .point_box .text_sec .text_area p {
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.05rem;
    margin-top: 1.37rem;
}

.point .point_box.reverse {
    flex-direction: row-reverse;
}

.point .point_box.reverse .img_sec {
    margin-right: calc(50% - 55vw);
    margin-left: auto;
}

.point .point_box.reverse .img_sec img {
    border-radius: 1.875rem 0rem 0rem 1.875rem;
}

.point .point_box.reverse .text_sec p.point_title {
    left: 0rem;
}

.point .border_btm_pink {
    border-bottom: 10px solid #F38AB9;
    margin-left: calc(50% - 55vw);
}

@media screen and (max-width: 1024px) {
    .point .point_box .text_sec {
        flex-direction: column;
        display: flex;
        width: 70%;
    }
    .point .point_box .text_sec p.point_title {
        flex-direction: row;
        border-right: none;
        width: auto;
        align-items: flex-end;
        gap: 1rem;
        border-bottom: 1px solid #C86893;
        padding-bottom: 2rem;
    }
}

@media screen and (max-width: 768px) {
    .point {
        padding: 0rem 0;
    }
    .point p.sub {
        font-size: 1rem;
        margin-bottom: 0;
        margin-bottom: 0.5rem;
    }
    .point h2 {
        line-height: 200%;
    }
    .point h2 span.point {
        font-weight: 700;
    }
    .point h2 span.point,
    .point h2 span.point_2 {
        font-size: 3rem;
        padding: 0;
        line-height: 0.5;
    }
    .point .point_box {
        display: flex;
        margin-top: 1rem;
        flex-direction: column;
        gap: 0;
    }
    .point .point_box.reverse {
        flex-direction: column;
    }
    .point .point_box .img_sec {
        width: 100%;
        height: auto;
        margin: auto;
        margin-bottom: 2rem;
    }
    .point .point_box .img_sec img,
    .point .point_box.reverse .img_sec img {
        border-radius: 1.875rem;
    }
    .point .point_box .text_sec p.point_title {
        font-size: 1.5rem;
        align-items: center;
        gap: 0.5rem;
        padding-bottom: 1rem;
    }
    .point .point_box .text_sec p.point_title span {
        font-size: 2rem;
    }
    .point .point_box .text_sec {
        width: auto;
    }
    .point .point_box .text_sec .text_area {
        margin-top: 0rem;
    }
    .point .point_box .text_sec .text_area h3 {
        font-size: 1.3rem;
    }
    .point .point_box.reverse .img_sec {
        margin-right: 0;
        margin-left: auto;
    }
    .point .point_box.last {
        margin-bottom: 4rem;
    }
}


/*---▼アクセス▼---*/

.access {
    padding: 9rem 0;
}

.access h2 {
    text-align: center;
    margin-bottom: 1.81rem;
}

.access p {
    font-weight: 500;
    margin-bottom: 0.87rem;
    text-align: center;
    font-size: 1.25rem;
}

.access iframe {
    height: 25.25rem;
    width: 100%;
    margin-top: 1.25rem;
}

@media screen and (max-width: 768px) {
    .access {
        padding: 6rem 0;
    }
    .access p {
        font-size: 1rem;
    }
}
