.top__br {
    display: block;
}

/* PC・SPのみ改行、タブレットでは非表示設定あり */

/***************************************
mv
****************************************/
.mv {
    background-image: url(/image/mv.jpg);
}

.mv::after {
    background-color: rgba(0, 24, 49, 0.4);
    z-index: 1;
}

.mv__copy {
    font-family: "Zen Old Mincho", serif;
    font-size: clamp(22px, 0.939vw + 18.47px, 32px);
    line-height: 1.8;
    letter-spacing: .23em;
    color: #ffffff;
    text-align: center;
    padding: 254px 0 295px;

    position: relative;
    z-index: 2;
}

.mv__copy p:last-child {
    font-size: clamp(15px, 0.845vw + 11.83px, 24px);
    font-weight: 700;
    letter-spacing: .15em;

    margin-top: 13px;
}


/* 文字の動き */
.mv__copy .fadeIn {
    transition:
        opacity 2.8s ease,
        transform 1.4s cubic-bezier(.215, .61, .355, 1);
}

/***************************************
わたしたちのこと
 ****************************************/
.concept {
    background-image: url(/image/concept-bg.jpg);
    padding: 130px 0 210px;
}

.concept__left {
    width: 65%;
}

.concept__img01 {
    max-width: 755px;
    width: 100%;
}

.concept__right {
    width: 35%;
}

.concept__img02 {
    width: 72%;
    margin-top: -146px;
}

.concept__text {
    margin-top: 90px;
    width: 90%;
}

@media screen and (max-width:768px) {
    .concept {
        padding: 130px 0 135px;
    }

    .concept__left {
        width: 100%;
    }

    .concept__right {
        align-items: flex-start;
    }

    .section__right {
        width: 100%;
    }

    .concept__text {
        width: 100%;
        margin-top: 40px;
        order: 1;
    }

    .button__concept {
        align-self: flex-end;
        order: 2;
    }

    .concept__img02 {
        width: 51%;
        margin-top: 45px;
        order: 3;
    }

}

/***************************************
top共通
****************************************/
.section__inner {
    display: flex;
    justify-content: space-between;
    margin-top: 70px;
}

.section__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.section__text {
    margin-top: clamp(40px, 4vw, 70px);
    max-width: 608px;
}

.button {
    margin-right: 16px;
}

@media screen and (max-width:768px) {
    .section__inner {
        flex-direction: column;
        margin-top: 45px;
    }

    .section__text {
        padding: 0 16px;
        align-self: flex-start;
    }

    .section__right {
        align-items: flex-start;
    }

    .button {
        align-self: flex-end;
    }
}

/***************************************
お料理のこと
 ****************************************/
@media screen and (max-width:1075px) {
    .top__br {
        display: none;
    }
}

@media screen and (max-width:574px) {
    .top__br {
        display: block;
    }

    .menu__img01 {
        width: 55%;
        margin-left: auto;
        display: block;
    }
}

/***************************************
海の写真
 ****************************************/
.sea-visual {
    background-image: url(/image/sea-visual.jpg);
    width: 100%;
    height: 564px;
    margin-top: 117px;
}

.sea-visual::after {
    background-color: rgba(3, 115, 181, 0.1);
    z-index: 1;
}

@media screen and (max-width:768px) {
    .sea-visual {
        margin-top: 100px;
    }
}

/***************************************
 お店のこと
 ****************************************/
.cafe {
    background-image: url(/image/cafe-bg.jpg);
    padding: 105px 0 210px;
}

.cafe__img02 {
    width: 100%;
    max-width: 751px;
    margin-top: -106px;
}

@media screen and (max-width:768px) {
    .cafe__img01 {
        width: 51%;
        display: block;
    }
}

/***************************************
お料理のこと・お店のこと 共通
****************************************/
.section__left2-3 {
    width: 29%;
}

.section__img01_2-3 {
    margin-top: 24px;
}

.section__right2-3 {
    width: 65%;
}

.section__img02_2-3 {
    width: 100%;
    max-width: 751px;
    margin-top: -156px;
}

@media screen and (max-width:768px) {
    .section__img01_2-3 {
        margin-top: 0;
        padding-left: 0;
    }

    .section__img02_2-3 {
        width: 100%;
        margin-top: 0;
    }

    .section__left2-3 {
        width: 100%;
        align-self: flex-start;
        margin-top: 40px;
        padding-left: 0;
        order: 2;
    }

    .section__right2-3 {
        width: 100%;
        padding: 0;
        order: 1;
    }

    .menu__left {
        margin-top: 50px;
    }
}


/***************************************
アクセス
 ****************************************/
.access {
    line-height: 1.6;
    background-image: url(/image/access-bg.jpg);
    padding: 77px 100px;
    gap: 4px;
    margin-bottom: 180px;
}

.access__title {
    margin-left: 20px;
}

.address,
.parking,
.schedule,
.link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 20px;
}

.address {
    margin-top: 0;
}

.parking {
    gap: 6px;
}

.access__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.access__left {
    width: 54.45%;
    display: flex;
    flex-direction: column;
}

.address__note {
    font-size: 14px;
}

/* 営業時間の表 */
.hours-table__caption {
    display: none;
}

.hours-table td {
    font-size: clamp(14px, 0.094vw + 13.64px, 15px);
}

.hours-table th {
    font-size: clamp(14px, 0.187vw + 13.28px, 16px);
}

.hours-table {
    width: 61.83%;
    border-collapse: collapse;
    margin-top: 10px;
    margin-left: 30px;
}

.hours-table tr {
    border-bottom: 1px solid #CFD8DE;
}

.hours-table tr:first-child {
    border-top: 1px solid #CFD8DE;
}

.hours-table td,
.hours-table th {
    padding: 4px;
    height: 25px;
    font-weight: 400;
}

.lunch-td,
.close-td {
    padding: 4px 5px;
}

.link p {
    font-size: clamp(10px, 0.187vw + 9.29px, 14px);
}

/* Google map 埋め込み */
.map {
    width: 45.55%;
}

.map iframe {
    width: 100%;
    height: 392px;
}

@media screen and (max-width:1120px) {
    .mid-br {
        display: block;
    }

    .address {
        align-items: flex-start;
    }
}

@media screen and (max-width:1080px) {
    .mid-br {
        display: none;
    }

    .access {
        padding: 30px 26px;
    }

    .access__inner {
        flex-direction: column;
        margin-top: 35px;
    }

    .parking,
    .schedule,
    .link {
        align-items: center;
    }

    .access__left {
        width: 92.4%;
        margin-top: 40px;
        order: 2;
    }

    .map {
        width: 100%;
        order: 1;
    }

    .material-symbols-outlined {
        margin-top: 0;
    }
}

@media screen and (max-width:670px) {
    .hours-table {
        width: 100%;
        margin-left: 0;
    }
}

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


    .access__left {
        width: 92.4%;
    }

    .access__inner {
        margin-top: 20px;
    }

    .access__left {
        margin-top: 20px;
    }

    .parking,
    .schedule,
    .link {
        margin-top: 10px;
    }

    .map iframe {
        height: 242px;
    }
}