@charset "UTF-8";
/* CSS Document */
/*-------------------------------*/

/* mainImg */

/*-------------------------------*/
#mainImg{
    width: 100%;
    height: 100vh;/* fallBack */
    height: var(--height-100vh);
}
#mainImg > picture{
    display: inline-block;
    width: 100%;
    height: 100%;
}
#mainImg > picture > img{
    display: inline-block;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}



/*-------------------------------*/

/* CONCEPT */

/*------------------------------*/
/* コンテナ */
#concept{
    max-width: calc(2000rem/16);
    margin-right: auto;
    margin-left: auto;
}

/* ======================
grid style */
.concept__inner{
    --concept-width: min(30%, calc(480rem/16));
    padding-left: var(--head-match-space);
    display: grid;
    grid-template-columns: var(--concept-width) 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
    "heading    photo"
    "txt        photo"
    ;
    gap: 0 min(8vw , calc(120rem/16));
}
.concept-header{
    grid-area: heading;
    align-self: flex-end;
}
.concept-photo__wrapper{
    grid-area: photo;
}
.concept-txt__wrapper{
    grid-area: txt;
    align-self: flex-start;
}
/* grid style end
====================== */

/*-------------------------------*/
/* 写真 */
.concept-photo__wrapper{
    width: 100%;
    height: 100%;
    position: relative;
}
.concept-photo__wrapper::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
.concept-photo__wrapper > img{
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    position: absolute;
    top: 0;
    left: 0;
}
/*-------------------------------*/
/* テキスト */
.concept-header .lead{
    margin-top: 1em;
}
.concept-txt__wrapper{
    margin-top: 3em;
}
/*==============================
ブレイクポイント
==============================*/
@media(max-width: 959px){
    /*------------------------------*/
    /* コンテナ */
    .concept__inner{
        display: block;
        padding-left: 0;
    }
    .concept-header,
    .concept-txt__wrapper{
        margin-right: var(--space-lr-reg);
        margin-left: var(--space-lr-reg);
    }
    .concept-photo__wrapper{
        margin-top: 3em;
    }
}



/*-------------------------------*/

/* CONCEPT(サービス内容) */

/*------------------------------*/
/* コンテナ */
.service-home__wrapper{
    width: var(--flexible-width);
	margin-left: auto;
	margin-right: auto;
}
/*------------------------------*/
/* リスト */
.service-home__list{
    margin-top: calc(var(--space-tb-2xl) - calc(64rem/16));
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    gap: 0 min(4vw,calc(64rem/16));
}
.service-home__list::after{
    content: "";
    display: block;
    flex-grow: 1;
    width: max(
        calc(200rem/16),
        calc(calc(100%/3) - calc(64rem/16))
        );
    max-width: 100%;
    height: 0;
}
.service-home__item{
    margin-top: calc(64rem/16);
    flex-grow: 1;
    width: max(
        calc(200rem/16),
        calc(calc(100%/3) - calc(64rem/16))
        );
    max-width: 100%;
}
/*------------------------------*/
/* タイトル */
.service-home__ttl{
    font-size: var(--txt-md--fb);
    font-size: var(--txt-md);
    font-weight: bold;
    padding-left: 1em;
    position: relative;
}
.service-home__ttl::before{
    content: "";
    display: block;
    width: 4px;
    height: calc(100% - 0.5em);
    background-color: var(--color-main-soft);

    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
/*------------------------------*/
/* 写真 */
.service-home__photo-inner{
    margin-top: calc(24rem/16);
    width: 100%;
    position: relative;
}
.service-home__photo-inner::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
.service-home__photo-inner > img{
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    position: absolute;
    top: 0;
    left: 0;
}
/*------------------------------*/
/* テキスト */
.service-home__txt-inner{
    width: 100%;
    margin-top: calc(24rem/16);
}
/*------------------------------*/
/* ボタン */
.service-home__wrapper .button{
    margin-top: calc(64rem/16);
    margin-right: auto;
    margin-left: auto;
}



/*-------------------------------*/

/* ABOUT */

/*------------------------------*/
/* コンテナ */
#about_home{
    background-color: var(--color-main-pale);
}
.about-home__wrapper{
    margin-top: var(--space-tb-2xl);
    max-width: calc(2000rem/16);
    margin-right: auto;
    margin-left: auto;
}

/* ======================
grid style */
.about-home__inner{
    --about-home-width: min(30%, calc(480rem/16));
    padding-left: var(--head-match-space);
    display: grid;
    grid-template-columns: var(--about-home-width) 1fr;
    grid-template-rows: auto auto;
    grid-template-areas: 
    "heading    photo"
    "txt        photo"
    ;
    gap: 0 min(8vw , calc(120rem/16));
}
.about-home__header{
    padding-top: calc(64rem/16);
    grid-area: heading;
    align-self: flex-end;
}
.about-home__photo-wrapper{
    grid-area: photo;
}
.about-home__txt-wrapper{
    padding-bottom: calc(64rem/16);
    grid-area: txt;
    align-self: flex-start;
}
/* grid style end
====================== */

/*-------------------------------*/
/* 写真 */
.about-home__photo-wrapper{
    width: 100%;
    height: 100%;
    position: relative;
}
.about-home__photo-wrapper::before{
    content: "";
    display: block;
    padding-top: 56.25%;
}
.about-home__photo-wrapper > img{
    display: inline-block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    position: absolute;
    top: 0;
    left: 0;
}
/*-------------------------------*/
/* テキスト */
.about-home__header .lead{
    margin-top: 1em;
}
.about-home__txt-wrapper{
    margin-top: 3em;
}
/*------------------------------*/
/* ボタン */
.about-home__txt-wrapper .button{
    margin-top: 3em;
    margin-right: auto;
}
/*==============================
ブレイクポイント
==============================*/
@media(max-width: 959px){
    /*------------------------------*/
    /* コンテナ */
    .about-home__inner{
        display: block;
        padding-left: 0;
    }
    .about-home__header,
    .about-home__txt-wrapper{
        margin-right: var(--space-lr-reg);
        margin-left: var(--space-lr-reg);
    }
    .about-home__photo-wrapper{
        margin-top: 3em;
    }
    /*------------------------------*/
    /* ボタン */
    .about-home__txt-wrapper .button{
        margin-top: 3em;
        margin-right: auto;
        margin-left: auto;
    }
}