@charset "UTF-8";

/* PAGE.md に基づく介護・障がい福祉の施設本文共通ルール。 */
body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .hero-title > p {
    font-weight: 700;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) main h2.section-title {
    font-size: clamp(20px, 1.32vw, 26px);
    font-weight: 700;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .facility-facts,
body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .short-stay-note {
    font-size: clamp(14px, .99vw, 19px);
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .introduction > p {
    font-size: clamp(16px, 1.14vw, 22px);
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .features ul {
    display: grid;
    grid-template-columns: minmax(0, max-content);
    justify-content: center;
    padding-inline: 28px;
    text-align: left;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .overview-panel {
    margin-inline: auto;
}

@media (min-width: 768px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .section-sidebar nav a {
        font-size: clamp(14px, .95vw, 18px);
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .short-stay-note {
        width: calc(100% - 8vw);
        margin-inline: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .introduction > p,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .overview > .section-title,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .section-title,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .access > .section-title,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .facility-access-content {
        width: 85%;
        margin-inline: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .gallery > .section-title {
        width: calc(85% - 12.75vw);
        margin-inline: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content {
        margin-left: calc(7.5% - var(--bs-gutter-x) / 2);
    }
}

/* 各施設固有の補足欄も、見出しと同じ左位置に配置する。 */
@media (min-width: 768px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .daily-introduction,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .schedule-note,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .bathing-hours,
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .support-schedules {
        width: 85%;
        margin-inline: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .facility-details {
        width: calc(85% - 12.75vw);
        margin-inline: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life > .support-photo {
        margin-left: 7.5%;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .access > .row {
        width: calc(85% + var(--bs-gutter-x));
        margin-inline: calc(7.5% - var(--bs-gutter-x) / 2);
    }
}

/* 1日の流れ：時間表の数に関係なく写真の表示枠を統一する。 */
body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-life {
    container-name: daily-layout;
    container-type: inline-size;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: 85%;
    margin: 0 auto;
    align-items: start;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content > div {
    align-self: start;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content .meal-photo {
    width: 400px;
    max-width: 100%;
    padding: 16px;
    margin: 0;
    border-radius: 20px;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content .meal-photo img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border-radius: 12px;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content .timeline li {
    white-space: normal;
}

body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content .timeline li > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

@media (min-width: 768px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair > div:last-child {
        grid-column: 1 / -1;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair > div:not(:last-child) {
        align-self: start;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair .timeline li {
        gap: 12px;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair h3 {
        font-size: clamp(18px, 1.2vw, 23px);
        margin-bottom: 16px;
    }
}

@container daily-layout (min-width: 800px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content:not(.daily-content-pair):has(.meal-photo) {
        grid-template-columns: minmax(0, 1fr) 400px;
    }
}

@container daily-layout (min-width: 1150px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr)) 400px;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair > div:last-child {
        grid-column: auto;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair h3 {
        line-height: 1.2;
    }

    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content-pair .meal-photo {
        margin-top: calc(clamp(21.6px, 1.44vw, 27.6px) + 16px);
    }
}

@media (max-width: 767.98px) {
    body.front-size-standard:is(.care-izumi-page, .barrier-harukaze-page) .daily-content {
        width: 100%;
    }
}

/* 介護・障がい福祉の施設ページ共通のパンくず。 */
body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb,
body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb a,
body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb > span:not(:last-child),
body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb > span:last-child {
    color: #fff;
    text-shadow: none;
}

body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb::before {
    content: '';
    position: absolute;
    z-index: -1;
    top: -6px;
    right: -24px;
    left: -20.8vw;
    height: calc(1.5em + 12px);
    background: rgba(80, 80, 80, 0.3);
    pointer-events: none;
}

@media (min-width: 992px) {
    body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb {
        top: 6px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body:is(.care-izumi-page, .barrier-harukaze-page) .front-breadcrumb::before {
        top: 64px;
        right: 0;
        left: 0;
    }
}

