.home-body .wp-block-columns {
    margin: 0;
}

.header.home-header {
    height: 170px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    position: absolute;
}

.header.home-header .header-logo-wrp {
    width: 100%;
}

.header.home-header .logo {
    width: 190px;
    padding: 10px;
    margin: 0 auto;
}

.header.home-header .tagline {
    display: block;
    font-size: .8em;
    color: #4f6378;
    margin-top: 5px;
}

.header.home-header .logo img {
    width: 100%;
    height: auto;
}

/*--------------- mainimg ---------------*/
.home .contents {
    padding-top: 0;
}

.home-body .mainimg {
    width: 100%;
    min-height: 570px;
    max-height: 100vh;
    overflow: hidden;
    position: relative;
    background-image: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-color: #f9f9f9;
}

.home-body .slide figure.forPC {
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 50%;
    position: relative;
    overflow: hidden;
}

.home-body .mainimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.home-body .maintitle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - 40px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding-top: 120px;
}

.home-body .maintitle .maintitle-wrp {
    width: 100%;
    padding-top: 2em;
    min-height: 15em;
    text-align: center;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.home-body .maintitle .name.first {
    display: block;
    text-align: center;
    font-size: 4em;
    line-height: 1.4;
    font-weight: 300;
    letter-spacing: 0.1em;
}

.home-body .maintitle .name-jp.first {
    font-size: 1.8em;
}

.home-body .maintitle .name-jp {
    display: block;
    text-align: center;
    font-size: 1.15em;
    line-height: 2em;
    margin: .5em auto 1em;
    letter-spacing: 0.1em;
}

.home-body .maintitle.slide-title1 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title2 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title3 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title4 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title5 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title6 .maintitle-wrp .name-jp {
    font-size: 2.2vw;
    line-height: 1.8;
    margin: 0 auto 1em;
    letter-spacing: 0.1em;
    display: inline-block;
    padding: .5em 1em;
    font-feature-settings: "palt";
    text-shadow: 0 0 4px rgba(255, 255, 255, .8);
    transform: translateY(.5em);
}

.home-body .maintitle.slide-title3 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title5 .maintitle-wrp .name-jp {
    color: #fff;
    text-shadow: 0 0 4px rgba(0, 0, 0, .8);
}

.home-body .maintitle.slide-title1 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title5 .maintitle-wrp .name-jp,
.home-body .maintitle.slide-title6 .maintitle-wrp .name-jp {
    font-size: 1.8vw;
    line-height: 2;
}

.home-body .maintitle.slide-title6 .maintitle-wrp .name-jp .large {
    font-size: 1.3em
}

.home-body .maintitle .name.black,
.home-body .maintitle .name-jp.black {
    color: #000;
}

.home-body .slide .btn {
    margin: 2em auto 0;
}

.home-body .slide .btn a {
    margin: 0;
    background-color: rgba(255, 255, 255, 0.5);
    font-size: 1.2em;
}

.home-body .title {
    padding: 1em 0 0;
}

.home-body .contents {
    position: relative;
}

.home-body .slick-dots {
    position: absolute;
    bottom: 20px;
    left: 0;
    z-index: 20;
}

.todays_recipe {
    position: absolute;
    top: 89px;
    left: 0;
    width: 100%;
    padding: .4em 1em;
    background: #1b4a98;
    z-index: 9;
    text-align: left;
}

.todays_recipe .recipe {
    display: flex;
    justify-content: flex-start;
}

.todays_recipe a {
    display: block;
    font-size: .8em;
    color: #fff;
    position: relative;
    padding-left: 1.2em;
    margin-left: 1em;
}

.todays_recipe a::after {
    content: '';
    display: block;
    width: .5em;
    height: .5em;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - .25em);
    left: 0;
}

.todays_recipe .new a::before {
    content: 'NEW';
    display: inline-block;
    background-color: #e34b4b;
    color: #fff;
    font-size: .8em;
    padding: .2em .75em;
    margin-right: .75em
}

@media screen and (max-width:768px) {
    .todays_recipe {
        top: 70px;
    }

    .todays_recipe a {
        font-size: .9em
    }
}

.home-body .contents-title {
    font-size: 2.4em;
    line-height: 1.2;
    font-weight: 500;
    padding-bottom: .3em;
    display: block;
    color: #222;
}

.home-body .contents-title::after {
    content: '';
    width: 4em;
    height: 1px;
    display: block;
    margin: .25em auto 0;
    background-color: #ccc;
}

.home-body .title-jp {
    font-size: 1.2em;
    display: block;
    color: #222;
    margin-bottom: 3em;
}

.home-body .inner_box>.wp-block-group__inner-container {
    max-width: 1280px;
    padding: 80px 40px;
}

@media (max-width:767px) {
    .home-body .inner_box>.wp-block-group__inner-container {
        padding: 40px 1em;
    }
}

/*--------------- concept wrp ---------------*/

.home-body .gbn-concept-wrp {
    background-color: #f3f3f3;
    position: relative;
    padding-bottom: 25vw;
    overflow: hidden;
}

.home-body .gbn-concept-wrp .gbn-illus-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0 !important;
    z-index: 0;
}

.home-body .gbn-concept-wrp .philosophy {}

.home-body .gbn-concept-wrp p {
    display: block;
    font-size: min(1.1em, 4vw);
    line-height: 2;
    margin-bottom: 2em;
    position: relative;
}

.home-body .gbn-concept-wrp .wp-block-group {
    max-width: 1280px;
    margin: 0 auto;
    padding: 1.5em 3%;
    position: relative;
    z-index: 3;
}

.home-body .gbn-concept-wrp .wp-block-image {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
}

/*--------------- service wrp ---------------*/
.home-body .gbn-servicest-wrp {
    background-color: #f9f9f9;
}

.home-body .gbn-service-wrp.inner_box>.wp-block-group__inner-container {
    max-width: 1360px;
}

.home-body .gbn-servicest-wrp .wp-block-group.box {
    width: 100%;
    position: relative;
}

.home-body .gbn-servicest-wrp .wp-block-group.box figure a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.home-body .gbn-servicest-wrp .wp-block-group.box figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-body .gbn-servicest-wrp .wp-block-group.box .copyright {
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: .7em;
    font-weight: bold;
    color: #fff;
    padding: .5em;
    text-shadow: 0 0 3px #000;
    z-index: 3;
}

.home-body .gbn-servicest-wrp .wp-block-group.box figure {
    width: 100%;
    position: relative;
    aspect-ratio: 4.5/3;
}

.home-body .gbn-servicest-wrp .wp-block-group.box .box-tile-wrp {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, .2);
}

.home-body .gbn-servicest-wrp .wp-block-group.box .box-tile-wrp .title-en a {
    display: block;
    font-size: min(2em, 8vw);
    line-height: 1.05;
    margin-bottom: .5em;
    color: #fff;
    text-shadow: 0 0 3px rgba(0, 0, 0, .2);
}

.home-body .gbn-servicest-wrp .wp-block-group.box .box-tile-wrp .title-jp {
    font-size: min(1em, 4vw);
    margin-bottom: 0;
}

.home-body .gbn-servicest-wrp .wp-block-group.box .box-tile-wrp .title-jp::before {
    content: '';
    display: block;
    width: 4em;
    height: 0;
    border-top: 1px solid #fff;
    margin: .75em auto;
}

.home-body .gbn-servicest-wrp .wp-block-group.box .box-tile-wrp .title-jp a {
    color: #fff;
    text-shadow: 0 0 3px #000;
}

.home-body .gbn-servicest-wrp .wp-container-core-columns-is-layout-1,
.home-body .gbn-servicest-wrp .wp-container-core-columns-is-layout-2 {
    display: flex;
    justify-content: center;
    margin-bottom: 2em;
}

/* .home-body .gbn-service-wrp .wp-block-column .wp-block-group__inner-container {
    padding: 50px;
    text-align: left;
}

.home-body .gbn-service-wrp .wp-block-column h2 {
    font-size: 1.4em;
}

.home-body .gbn-service-wrp .wp-block-column h3 {
    font-size: 2em;
    padding: .5em 0;
}

.home-body .gbn-service-wrp .gbn-service-image {
    margin: 0;
    width: 100%;
    height: 100%;
    min-height: 500px;
    max-height: 700px;
    position: relative;
    overflow: hidden;
}

.home-body .gbn-service-wrp .gbn-service-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
}

.entry-title {
    font-size: .8em;
    text-align: left;
}

.lead {
    line-height: 2;
} */

/* news */
.news-home {
    background-color: #f9f9f9;
}

.home-body .news-home.inner_box>.wp-block-group__inner-container {
    max-width: 980px;
}

.news_for_top li {
    padding: 1em .5em;
    border-bottom: solid 1px #ddd;
    text-align: left;
}

.news_for_top li .entry-meta {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.news_for_top .date-wrp {
    width: 10em;
    text-align: left;
}

@media screen and (max-width:767px) {
    .news_for_top .date-wrp {
        width: 5.5em;
        text-align: left;
    }
}

.news_for_top li .cat {
    width: 10em;
    margin: 0;
    margin-right: 2em;
}

.news_for_top .entry-title {
    width: calc(100% - 18em);
}

.recipe-home {
    background-color: #fff;
}

.wp-block-image.recipe-logo {
    display: block;
    width: 200px;
    height: auto;
    margin: 0 auto 2.5em;
}

.wp-block-image.recipe-logo img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 1024px) {
    .home-body .gbn-concept-wrp .wp-block-columns {
        justify-content: center;
    }

    .home-body .gbn-concept-wrp .wp-block-column {
        width: 33%;
        margin: 0;
        padding: 5% 0;
        flex-basis: auto !important;
        font-size: .9em;
    }

    .todays_recipe {
        top: 70px;
    }
}

@media screen and (max-width: 768px) {
    .home-body .mainimg {
        margin-top: 70px;
        height: 70vh;
        min-height: calc(70vh - 70px);
        background-image: none;
    }

    .home-body .slide figure {
        height: calc(70vh - 70px);
    }

    .home-body .slide figure.forPC {
        display: none;
    }

    @media screen and (max-width: 767px) and (orientation: landscape) {
        .home-body .mainimg {
            margin-top: 70px;
            height: 100vh;
            min-height: calc(100vh - 70px);
            background-image: none;
        }

        .home-body .slide figure {
            height: calc(100vh - 70px);
        }
    }

    .home-body .maintitle .maintitle-wrp {
        padding-top: 0;
        min-height: 10em;
    }

    .home-body .maintitle {
        width: 100%;
        font-size: 1em;
        text-align: center;
        left: 0;
    }

    .home-body .maintitle.slide-title1 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title2 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title3 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title4 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title5 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title6 .maintitle-wrp .name-jp {
        font-size: 1.3em;
        line-height: 1.8;
    }

    .home-body .maintitle.slide-title2 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title3 .maintitle-wrp .name-jp,
    .home-body .maintitle.slide-title4 .maintitle-wrp .name-jp {
        font-size: 1.4em;
        line-height: 1.8;
    }

    .home-body .maintitle.slide-title6 .maintitle-wrp .name-jp .large {
        font-size: 1.3em
    }


    .home-body .maintitle .name.first {
        font-size: 1.8em;
    }

    .home-body .maintitle .name-jp.first {
        font-size: 1.5em;
    }

    .home-body .maintitle .name-jp {
        font-size: 1.05em;
        margin-top: .6em;
    }

    /* concept */
    /* .home-body .gbn-concept-wrp h2 strong {
        font-size: 3em;
        display: block;
        color: #222;
    } */

    .home-body .gbn-concept-wrp .wp-block-group {
        padding: 0;
    }

    .home-body .gbn-concept-wrp .wp-block-group__inner-container {
        padding: 3vw 1em 5vw;
        text-align: left;
    }

    .home-body .gbn-concept-wrp .wp-block-group__inner-container br {
        display: none;
    }

    @media (max-width: 599px) {
        .home-body .gbn-concept-wrp .wp-block-column {
            width: 50%;
        }
    }

    .home-body .title {
        font-size: 1.2em;
    }

    /* service */
    .home-body .gbn-service-wrp:nth-of-type(even) .wp-block-column {
        order: 2;
    }

    .home-body .gbn-service-wrp:nth-of-type(even) .wp-block-column:nth-child(2) {
        order: 1;
    }

    .home-body .gbn-service-wrp .gbn-service-image {
        min-height: 62vw;
    }

    .wp-block-group__inner-container {
        padding: 0;
    }

    .home-body .gbn-service-wrp .wp-block-group__inner-container {}

    /* news */
    .news_for_top li .entry-meta {
        flex-wrap: wrap;
    }

    .news_for_top .entry-title {
        width: 100%;
        text-align: left;
    }

    /* entry-list */

    .wp-block-image.recipe-logo {
        width: 55%;
        max-width: 200px;
    }

    .entry-list .entry-meta-wrp {
        width: 100%;
        padding: 1em 0 0;
    }

    li .entry-meta-wrp {
        width: 65%;
        font-size: 0.9em;
    }
}

/* title color*/
.title-color-white {
    color: #fff !important;
    text-shadow: 0 0 4px rgba(0, 0, 0, .8) !important;
}

.hataraku-banner-wrp {
    /* padding: 4em 1em; */
}

.hataraku-banner {
    width: 100%;
    max-width: 980px;
    margin: 2em auto;
    padding: 0;
}