/* カスタムスタイル */
.l-main {
    width: 100%;
    max-width: 100%;
    --screen-size: 1140px;
    --page-main-color: #2b8ac3;
    --page-sub-color: #016ba9;
    --page-bg-color: #e9f7ff;
    --page-default-font: "Zen Kaku Gothic New", "Noto Sans JP", sans-serif;
    color: #263238;
    font-size: 16px;
    line-height: 1.7;
}
.l-main *{
    font-family: var(--page-default-font);
}
/*///////////////////// font-face 読み込み ///////////////////////////*/
@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Regular.woff2);
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Medium.woff2);
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Zen Kaku Gothic New';
    src: url(/fonts/ZenKakuGothicNew-Bold.woff2);
    font-weight: 700;
    font-display: swap;
}

/*///////////////////// font-face 読み込み ///////////////////////////*/

/*  共通    */

    .sp-br {
        display: none;
    }
    .pc-br,
    .pc-br.sp-br {
        display: block;
    }

/*　メイン画像  */
.main__bg {
    padding: 0;
}
.main__bg--catch {
    height: 429px;
}
    .main__bg--catch img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

/*　見出し  */
.main__bg .section__ttl {
    font-size: 42px;
    font-weight: 700;
    line-height: 1.5;
    color: #263238;
    margin-bottom: 50px;
}
    .main__bg .section__ttl .title__highlight {
        display: inline;
        font-size: inherit;
        font-weight: inherit;
        line-height: inherit;
        letter-spacing: 0;
        margin: 0;
        color: #016ba9;
    }

/*　セクション背景  */
.main__bg [class*="section__wrapper--"] {
    background-color: #fff;
}
.main__bg .section__wrapper--case--03,
.main__bg .section__wrapper--flow--03,
.main__bg .section__wrapper--company--02 {
    background-color: #e9f7ff;
}

/*　こんな「ご不安」ありませんか？（worry01）  */
.main__bg .section__wrapper--worry--01.worry--senior {
    padding-block: 80px 0;
}
.main__bg .section__wrapper--worry--01.worry--family {
    padding-block: 40px 80px;
}
    .main__bg .content__subttl--worry--01 {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.2;
        color: #2b8ac3;
        text-align: center;
        margin-bottom: 25px;
    }
    .main__bg .content__items__inner--worry--01 {
        display: flex;
        flex-direction: column;
        align-items: center;
        height: 100%;
        padding: 30px 18px;
    }
        .main__bg .content__description--worry--01 {
            margin-block: auto;
            font-size: 16px;
            line-height: 1.6;
            color: #263238;
            text-align: center;
        }

/*　その「ご不安」一緒に解決しませんか？（read01）  */
.main__bg [class*="section__wrapper--"].section__wrapper--read--01 {
    background: #fff;
    padding-block: 0 80px;
}
    .main__bg .section__wrapper--read--01 .section__space {
        padding: 0;
    }
    .main__bg .section__wrapper--read--01 .section__ttl {
        margin-bottom: 50px;
    }
    .main__bg [class*="content__txt--read--"].content__txt--read--01 {
        font-size: 16px;
        line-height: 1.8;
        color: #263238;
    }
    .main__bg .content__txt--read--01 + .content__txt--read--01 {
        margin-top: 20px;
    }

/*　シニアライフプラス+をご紹介！（case03）  */
.main__bg .section__wrapper--case--03 {
    padding-block: 80px 40px;
}
    .main__bg .content__items__inner--case--03 {
        height: 100%;
        padding: 40px 20px;
        border: 1px solid rgba(43, 138, 195, 0.40);
    }
        .main__bg .content__items__inner--case--03 .content__subttl--case--03 {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            min-height: 60px;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.5;
            color: #2b8ac3;
            text-align: center;
        }
        .main__bg .content__items__inner--case--03 .content__description--case--03 {
            font-size: 16px;
            line-height: 1.8;
            color: #263238;
        }

/*　家族信託と任意後見契約について（flow03）  */
.main__bg .section__wrapper--flow--03 {
    padding-block: 40px 80px;
}
    .main__bg .section__wrapper--flow--03 .section__ttl .title__highlight {
        color: #2b8ac3;
    }
    .main__bg .section__wrapper--flow--03 .content__list--vertical {
        gap: 0;
        counter-reset: count;
    }
        .main__bg .content__items--flow--03 {
            gap: 35px;
            padding: 30px 0;
            border-top: 1px solid rgba(43, 138, 195, 0.40);
        }
        .main__bg .content__items--flow--03:last-child {
            border-bottom: 1px solid rgba(43, 138, 195, 0.40);
        }
            .main__bg .content__wrap--flow--03 {
                flex: 1;
            }
            .main__bg .content__subttl--flow--03 {
                align-items: center;
                gap: 10px;
                margin-bottom: 8px;
                font-size: 20px;
                font-weight: 700;
                line-height: 1.5;
                color: #2b8ac3;
            }
            .main__bg .content__subttl--flow--03::before {
                display: flex;
                align-items: center;
                justify-content: center;
                padding: 0 0 2px;
                font-size: 16px;
                font-weight: 700;
                line-height: 1.2;
                background: #2b8ac3;
                border: none;
                color: #fff;
            }
            .main__bg .content__description--flow--03 {
                font-size: 16px;
                line-height: 1.8;
                color: #263238;
            }
            .main__bg .content__img--flow--03 {
                height: auto;
            }
                .main__bg .content__img--flow--03 img {
                    height: auto;
                }

/*　シニアの住まいと暮らしについて相談する（contact01）  */
.main__bg .section__wrapper--contact--01 {
    background-color: #2b8ac3;
    padding-block: 60px;
    margin: 80px auto;
}
    .main__bg .section__wrapper--contact--01 .section__ttl {
        color: #fff;
    }
    .main__bg .section__wrapper--contact--01 .content__wrap--contact--01:not(:last-of-type) {
        margin-bottom: 15px;
    }
    .main__bg .section__wrapper--contact--01 .content__block--contact--01 {
        align-items: center;
        gap: 8px;
    }
        .main__bg .section__wrapper--contact--01 .content__icon--tel {
            width: 26px;
            height: 26px;
            color: #fff;
        }
        .main__bg .section__wrapper--contact--01 .content__block--contact--01 .content__txt--tel {
            display: flex;
            align-items: center;
            gap: 8px;
            margin: 0;
            font-size: 40px;
            font-weight: 700;
            line-height: 1.5;
            color: #fff;
        }
    .main__bg .section__wrapper--contact--01 .content__btn--contact--mail a {
        background: #fff;
        color: #2b8ac3;
        font-size: 18px;
        font-weight: 500;
    }
        .main__bg .section__wrapper--contact--01 .content__icon--mail,
        .main__bg .section__wrapper--contact--01 .content__icon--btn--01 {
            color: #2b8ac3;
        }
    @media (hover: hover) and (pointer: fine) {
        .main__bg .section__wrapper--contact--01 .content__btn--contact--mail a:hover {
            background: #fff;
            color: #2b8ac3;
            opacity: 0.7;
        }
    }
    .main__bg .section__wrapper--contact--01 .content__txt--contact--01 {
        font-size: 13px;
        line-height: 2;
        color: #fff;
    }

/*　会社概要（company02）  */
.main__bg .section__wrapper--company--02 .content__block--company--02 {
    margin-bottom: 50px;
}
    .main__bg .content__block--company--02 .content__list--horizontal {
        align-items: center;
    }
    .main__bg .content__area--left [class*="content__img--"] {
        height: 335px;
    }
    .main__bg .content__area--left [class*="content__img--"] img {
        object-fit: contain;
    }
    .main__bg .content__block--company--02 .swiper-wrapper {
        margin-bottom: 39px;
    }
    .main__bg .section__wrapper--company--02 .swiper-button-prev,
    .main__bg .section__wrapper--company--02 .swiper-button-next {
        border-color: #7d7d7d;
        transition: opacity 0.3s ease;
    }
    @media (hover: hover) and (pointer: fine) {
        .main__bg .section__wrapper--company--02 .swiper-button-prev:hover,
        .main__bg .section__wrapper--company--02 .swiper-button-next:hover {
            opacity: 0.7;
        }
    }
    .main__bg .section__wrapper--company--02 .content__icon--slider--01 {
        color: #7d7d7d;
    }
    .main__bg .section__wrapper--company--02 .swiper__wrap--pagination .swiper-pagination-bullet {
        background: #dbdbdb;
        opacity: 1;
        border-radius: 0;
    }
    .main__bg .section__wrapper--company--02 .swiper__wrap--pagination .swiper-pagination-bullet-active {
        background: #7d7d7d;
    }
    .main__bg .content__subttl--company--02 {
        font-size: 20px;
        font-weight: 500;
        line-height: 1.2;
        color: #263238;
    }
    .main__bg .section__wrapper--company--02 .content__btn--company--02 a {
        background: #6bc1f2;
        border-color: #6bc1f2;
        color: #fff;
        font-size: 16px;
        font-weight: 400;
    }
    .main__bg .content__wrap--under .content__items--company--02 {
        align-items: flex-start;
        gap: 35px;
        padding-bottom: 15px;
        font-size: 16px;
        color: #263238;
    }
    .main__bg .content__wrap--under .content__items--company--02:not(:last-of-type) {
        margin-bottom: 15px;
    }
        .main__bg .content__wrap--under .content__items--company--02 dt {
            flex-shrink: 0;
            width: 96px;
            font-size: 16px;
            font-weight: 500;
            line-height: 1.7;
        }
        .main__bg .content__wrap--under .content__items--company--02 dd {
            font-size: 16px;
            flex: 1;
            line-height: 1.8;
        }
    .main__bg .section__wrapper--company--02 iframe {
        display: block;
        border: 0;
    }

.section__wrapper--company--02 .swiper__wrap--pagination .content__icon--slider--01 {
    width: 40px;
    height: 40px;
}
.section__wrapper--company--02 .swiper__wrap--pagination .swiper-button-prev, 
.section__wrapper--company--02 .swiper__wrap--pagination .swiper-button-next {
    border: none;
}
.section__wrapper--company--02 .content__btn--company--02 a:hover .content__icon--btn--01 {
    color: #fff;
}
.section__wrapper--company--02 .content__btn--company--02 a:hover {
    opacity: 0.7;
}
.company__map iframe {
    width: 1140px;
    height: 350px;
    border: 0;
}