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

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


/* -------------------------
    ページタイトル（ヒーロー）
    実写真ヒーローのため、SPでは波形クリップを外して矩形表示にしています
------------------------- */

.service-hero {
    width: 100vw;
    min-width: 0;
    height: auto;
    overflow: visible;
}

.service-hero__sp-photo {
    display: block;
    max-width: none;
    width: 100vw;
    height: auto;
    aspect-ratio: 1500 / 1344;
    object-fit: cover;
}

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

.service-hero__title {
    left: 50%;
    top: 45vw;
    transform: translateX(-50%);
    width: max-content;
    max-width: 90vw;
    height: auto;
    min-height: 10vw;
    padding: 1.5vw 8vw;
    font-size: 6vw;
    line-height: 1.3;
    letter-spacing: 2px;
    text-align: center;
}


/* -------------------------
    高齢者/入居について
------------------------- */

.service-intro {
    padding: 15.1239vw 0 5.2151vw;
}

.service-intro__inner {
    max-width: none;
    padding: 0 10vw;
}

.service-intro__title {
    margin: 0 0 3.1291vw;
    font-size: 5.3vw;
}

.service-intro__lead {
    max-width: none;
    font-size: 3.8vw;
    line-height: 1.75;
}

.service-intro__illust {
    top: -32vw;
    right: 5vw;
    width: 24vw;
}


/* -------------------------
    入居が可能な施設
------------------------- */

.service-facilities {
        padding: 15vw 0 25vw;
}

.service-facilities__inner {
    max-width: none;
    padding: 0 5vw;
}

.service-facilities__heading {
    gap: 1.8253vw;
    width: auto;
    max-width: 70vw;
    margin: 0 auto 5.2151vw;
}

.service-facilities__heading::before,
.service-facilities__heading::after {
    height: 0.5vw;
}

.service-facilities__title {
    font-size: 5.3vw;
}

.service-facilities__grid {
    gap: 5vw;
    margin: 0 auto;
}

.service-facilities__grid > .facility-card {
    width: 85vw;
}

.service-facilities__slider.js-card-slider .facility-card {
    margin: 0;
}

.service-facilities__slider.js-card-slider .service-facilities__viewport {
    padding: 1vw 0 2vw;
}

.service-facilities__prev,
.service-facilities__next {
    width: 7.9531vw;
    height: 7.9531vw;
}

.service-facilities__prev {
    left: 1vw;
}

.service-facilities__next {
    right: 1vw;
}

.service-facilities__dots {
    gap: 1.5645vw;
    margin-top: 3.1291vw;
}

.service-facilities__dot {
    width: 1.3038vw;
    height: 1.3038vw;
}

.facility-card {
    width: 85vw;
    margin: 0 auto;
    border-radius: 6vw;
}

.facility-card a {
    padding: 3vw;
}

.facility-card__photo-wrap {
    display: block;
    overflow: hidden;
    border-radius: 6vw 6vw 0 0;
}

.facility-card__photo {
    max-width: none;
    width: 100%;
}

.facility-card__category {
    margin: 3vw 3vw 1vw;
    font-size: 3.2vw;
}

.facility-card__name {
    margin: 0 3vw 3vw;
    font-size: 5vw;
}

.facility-card__name-sub {
    font-size: 2.8vw;
}

.facility-card__area-row {
    display: flex;
    align-items: center;
    gap: 2.6076vw;
    margin: 2vw 3vw 3vw;
}

.facility-card__area-tag {
    height: 6vw;
    padding: 2vw;
    border-radius: 0.7823vw;
    font-size: 2.8vw;
}

.facility-card__area {
    margin: 0;
    font-size: 3.2vw;
}

.facility-card__arrow {
    right: 5vw;
    bottom: 5vw;
    width: 8vw;
    height: 8vw;
}

.service-facilities__staff {
    left: -6vw;
    bottom: -59vw;
    width: 33vw;
}


/* -------------------------
    ご利用者さまの声
------------------------- */

.service-voice {
        padding: 19.5567vw 0 26.0756vw;
}

.service-voice::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: url("../images/service-detail/bg_voice_wave_top.webp"), url("../images/service-detail/bg_voice_wave_bottom.webp");
    background-repeat: no-repeat, no-repeat;
    background-position: top center, bottom center;
    background-size: 100% 19.5567vw, 100% 26.0756vw;
    pointer-events: none;
}

.service-voice__inner {
    max-width: none;
    padding: 0;
    background-color: #fff8aa;
}

.service-voice__deco-photo {
    display: none;
}

.service-voice__viewport {
    padding: 0 21.1946vw;
    margin: 0;
}

.service-voice__list {
    gap: 3.9113vw;
}

.service-voice__item {
    padding: 10vw 5vw;
    border-radius: 3.9113vw;
}

.service-voice__slider:not(.js-card-slider) .service-voice__item {
    width: 100%;
}

.service-voice__prev,
.service-voice__next {
    width: 7.9531vw;
    height: 7.9531vw;
}

.service-voice__prev {
    left: 1vw;
}

.service-voice__next {
    right: 1vw;
}

.service-voice__avatar {
    width: 15.6454vw;
    height: 15.6454vw;
    margin: 0 auto 1.5645vw;
}

.service-voice__name {
    margin: 0 0 2.6076vw;
    font-size: 2.8vw;
}

.service-voice__text {
    font-size: 3.8vw;
    line-height: 1.7;
}


/* -------------------------
    CTA
------------------------- */

.service-cta {
    padding: 15vw 0 40vw;
}

.service-cta__inner {
    flex-direction: column;
    align-items: center;
    gap: 2.6076vw;
}

.service-cta__btn--multiline {
    font-size: 3.8vw;
    line-height: 1.3;
}


/* =========================================================
    lecture-detail.html（08_サービスを探す_下層2）専用
========================================================= */


/* -------------------------
    開催の様子（写真ギャラリー）
------------------------- */

.lecture-gallery {
    padding: 5.2151vw 0 13.0378vw;
}

.lecture-gallery__inner {
    max-width: none;
    padding: 0 5vw;
}

.lecture-gallery__nav {
    width: 7.9531vw;
    height: 7.9531vw;
}

.lecture-gallery__nav--prev {
    left: 2vw;
}

.lecture-gallery__nav--next {
    right: 2vw;
}

.lecture-gallery__thumbs {
    width: 100%;
    margin: 2.6076vw auto 0;
    gap: 2.6076vw;
}

.lecture-gallery__thumb-btn img {
    border-radius: 1.3038vw;
}


/* -------------------------
    講座一覧
------------------------- */

.lecture-list {
    padding: 5.2151vw 0 13.0378vw;
}

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

.service-hero__deco-drawing {
    right: 7.5vw;
    bottom: 8vw;
    width: 19.5567vw;
}

.lecture-list__card {
    max-width: none;
    width: 85vw;
    height: auto;
    min-height: 109.3872vw;
    padding: 5vw 5vw 10vw;
    border-radius: 4vw;
}

.lecture-list__group {
    margin: 0;
    padding: 0;
    list-style: none;
}

.lecture-list__item + .lecture-list__item {
    border-top: 1px solid #DBDBB0;
}

.lecture-list__accordion {
    padding: 4vw 0;
}

.lecture-list__summary {
    display: flex;
    align-items: center;
    gap: 2.086vw;
    cursor: pointer;
    list-style: none;
}

.lecture-list__summary::-webkit-details-marker {
    display: none;
}

.lecture-list__num {
    flex-shrink: 0;
    width: 7.5vw;
    font-size: 5vw;
}

.lecture-list__question {
    font-size: 3.8vw;
    line-height: 1.5;
}

.lecture-list__toggle {
    width: 5vw;
    height: 5vw;
}

.lecture-list__body {
    gap: 1.5645vw;
    margin-top: 2.086vw;
}

.lecture-list__answer {
    font-size: 3.1291vw;
    line-height: 1.7;
}

.lecture-list__card-btn {
    width: 100%;
    margin: 8vw auto 0;
}

}
