@charset "UTF-8";
@media screen and (max-width: 767px) {

.l-main {
    min-width: 100vw;
}


/* -------------------------
    ページタイトル（ヒーロー）
------------------------- */

.future-hero {
    width: 100vw;
    max-width: none;
    min-width: 0;
    height: auto;
    overflow: visible;
    background: none;
    border-radius: 0;
}

.future-hero::before {
    display: none;
}

.future-hero__sp-photo {
    display: block;
    max-width: none;
    width: 100vw;
    height: auto;
    filter: url(#future-hero-ripple);
}

@media (prefers-reduced-motion: reduce) {
    .future-hero__sp-photo {
        filter: none;
    }
}

.future-hero__inner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
}

.future-hero__title {
    left: 9.1265vw;
    top: 41.9817vw;
    height: 11.0821vw;
    padding: 0 7.8227vw;
    font-size: 6vw;
    letter-spacing: 5px;
}


/* -------------------------
    共通：見出し・本文
------------------------- */

.vision__title,
.network__title,
.guideline__title {
    font-size: 5.3vw;
    line-height: 1.5;
}

.points__title {
    margin-bottom: 6.5vw;
    font-size: 4.8vw;
    letter-spacing: 1.75px;
}

.point__title {
    margin-top: 5vw;
    font-size: 4.3vw;
    line-height: 1.5;
}

.network__text,
.guideline__text,
.point__text {
    max-width: none;
    margin-top: 8vw;
    font-size: 3.8vw;
    line-height: 1.8;
}


/* -------------------------
    ビジョン
------------------------- */

.vision {
    padding: 7.8227vw 0;
}

.vision::after {
    width: 84.7458vw;
    margin-top: 7.8227vw;
}

.vision__inner {
    max-width: none;
    padding: 0 2.6076vw;
}

.vision__lead {
    max-width: 85vw;
    margin-top: 8vw;
    font-size: 3.8vw;
    line-height: 2;
    text-align: left;
}

.ecosystem {
    margin-top: 10vw;
}

.ecosystem__diagram-img {
    width: 100%;
    max-width: 85vw;
    margin: 0 auto 15vw;
}

.ecosystem__label {
    font-size: 4.2vw;
    margin-bottom: 5vw;
}


/* -------------------------
    「面」で支える地域まるごとケア
------------------------- */

.network {
    padding: 7.8227vw 0;
}

.network::after {
    width: 85vw;
    margin-top: 15vw;
}

.network__inner {
    max-width: none;
    padding: 0 7.5vw;
}

.network__illust {
    max-width: 70vw;
    margin-top: 15vw;
}

.network__callout {
    max-width: none;
    margin: 5vw auto;
    font-size: 3.8vw;
    line-height: 1.6;
}

.network__catch {
    max-width: none;
    width: 100%;
}


/* -------------------------
    「みらい福祉」その指針
------------------------- */

.guideline {
    padding: 10vw 0 15vw;
}

.guideline__inner {
    max-width: none;
    padding: 0 7.5vw;
}

.pillars {
    margin-top: 5.2151vw;
}

.pillars__img {
    max-width: 93.6114vw;
}


/* -------------------------
    3つのPOINT
------------------------- */

.points {
    padding-bottom: 40vw;
}

.points__transition-photo-mask {
    min-width: 0;
    height: 50vw;
    margin-bottom: 10vw;
}

.points__inner {
    max-width: none;
    padding: 0 7.5vw;
}

.point {
    margin-bottom: 20vw;
}

.point__label {
    width: 45vw;
    height: 10vw;
    font-size: 5vw;
    line-height: 9.5vw;
}

.point__illust,
.point__photo {
    max-width: none;
    margin-top: 5vw;
    border-radius: 4vw;
}

.point__illust {
    margin-top: 10vw;
}

.point__pill {
    max-width: none;
    margin-top: 10vw;
    padding: 3vw;
    font-size: 4.5vw;
    letter-spacing: 1.8px;
    line-height: 1.2;
}

.care-cards {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 4vw;
    max-width: none;
    margin-top: 7vw;
}

.care-cards__item {
    width: auto;
    padding: 5vw;
}

.care-cards__title {
    font-size: 4.5vw;
}

.care-cards__heading {
    margin-top: 2vw;
    font-size: 3.8vw;
}

.care-cards__text {
    margin-top: 2vw;
    font-size: 3.8vw;
    letter-spacing: 0;
}


/* -------------------------
    CTAボタン
------------------------- */

.future-cta {
    flex-direction: column;
    align-items: center;
    gap: 1.9557vw;
    margin-top: 3.9113vw;
}

}
