@charset "UTF-8";

.first-message {
    text-align: center;
    padding: 0 20px 60px;
}

.first-message h2 {
    font-size: 18px;
    margin-bottom: 20px;
}

.first-message p {
    font-size: 14px;
    line-height: 2;
}

.menu-preview {
    padding-bottom: 100px;
    margin-bottom: 100px;
}

.menu-preview .section-title-h {
    margin-bottom: 20px;
}

.menu-preview .menu-preview-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-bottom: 40px;
}

.menu-preview .menu-preview-list li:first-child {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}

.menu-preview .btn {
    margin: 0 auto;
}

/* ========= メニュー画像のホバー演出 ========= */
.menu-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.menu-card img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.5s ease;
}

.menu-card .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    transition: opacity 0.5s ease;
}

.menu-card .overlay-text {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    /* リンクの下線消す */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 1.0s ease, transform 1.0s ease;
}

.menu-card:hover img {
    transform: scale(1.1);
}

.menu-card:hover .overlay {
    opacity: 1;
}

.menu-card:hover .overlay-text {
    opacity: 1;
    transform: translate(-50%, -60%);
}

.concept-preview {
    padding: 100px 0;
    background-color: #F3F0E7;
}

.concept-preview .concept-inner {
    display: flex;
    justify-content: flex-end;
}

.concept-preview .text {
    max-width: 460px;
    display: flex;
    flex-direction: column;
    justify-content: end;
    margin-right: auto;
}

.concept-preview .text .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 30px;
}

.concept-preview .text .detail {
    font-size: 14px;
    line-height: 2;
    margin-bottom: 40px;
    text-align: justify;
}

.concept-preview .img {
    max-width: 400px;
    margin: 0 40px;
}

.news-preview {
    margin: 100px 0;
}

.news-preview .inner {
    display: flex;
    margin-bottom: 40px;
}

.news-preview .section-title-v {
    margin-right: 40px;
}

.news-preview .news-item {
    display: flex;
}

.news-preview .news-item a {
    color: #4D4D4D;
}

.news-preview .news-item time {
    font-size: 12px;
}

.news-preview .news-item .title {
    font-size: 14px;
    margin-top: 10px;
}

.news-preview .news-item .item-left {
    width: 100%;
    max-width: 450px;
    padding-right: 40px;
}

.news-preview .news-item .item-left .img {
    margin-bottom: 10px;
}

.news-preview .news-item .item-right {
    border-left: solid 1px #305D6E;
    padding-left: 40px;
}

.news-preview .news-item .item-right .img {
    margin-right: 20px;
}

.news-preview .news-item .item-right .item-top {
    margin-bottom: 40px;
}

.news-preview .news-item .item-right .item-top a,
.news-preview .news-item .item-right .item-bottom a {
    display: flex;
}

.news-preview .news-item .item-right .item-top .img,
.news-preview .news-item .item-right .item-bottom .img {
    width: 100%;
    max-width: 220px;
}

.news-preview .btn {
    margin: 0 auto;
}

@media screen and (max-width:767px) {

    /*======max-width:767px======*/

    .menu-preview {
        padding-bottom: 60px;
        margin-bottom: 60px;
    }

    .menu-preview .menu-preview-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .concept-preview .concept-inner {
        flex-direction: column-reverse;
        margin-bottom: 60px;
    }

    .concept-preview .concept-inner .img {
        margin: 0 auto 40px;
    }

    .concept-preview .concept-inner .btn {
        margin: 0 auto;
    }

    .news-preview {
        margin-bottom: 60px;
    }

    .news-preview .inner {
        flex-direction: column;
    }

    .news-preview .section-title-v {
        margin-right: 0;
    }

    .news-preview .news-item {
        flex-direction: column;
    }

    .news-preview .news-item .item-left {
        max-width: 100%;
        padding: 0 0 40px;
    }

    .news-preview .news-item .item-right {
        border-left: none;
        padding-left: 0;
    }

    .news-preview .news-item .item-right .item-top a,
    .news-preview .news-item .item-right .item-bottom a {
        flex-direction: column;
    }

    .news-preview .news-item .item-right .item-top img,
    .news-preview .news-item .item-right .item-bottom img {
        max-width: 100%;
        margin: 0 0 10px;
    }

}