h1 {
    font-size: 10px;
    line-height: 1.5em;
    font-weight: bold;

}

h2 {
    font-size: 4.5vw;
    /* font-weight: bold; */
}

h3 {
    font-size: 14px;
    /* font-weight: bold; */

}

header p {
    font-size: 15px;
}

.about p {
    font-size: 12px;
    font-weight: bold;
}

.container {
    /* max-width: 400px; */
    padding: 0 20px;
    margin-inline: auto;
}

p {
    line-height: 1.5em;
}

a:hover {
    opacity: 0.7;
}

header {
    width: 100%;
    height: 100%;
    margin-bottom: 30px;
}

img {
    max-width: 100%;
    height: auto;
    /* overflow: hidden; */
}

body {
    background-image: url(../img/1x/back-ground.png);
    /* width: 100%; */
    background-size: cover;
    /* background-repeat: no-repeat; */
    font-family: 'メイリオ', 'Meiryo', sans-serif;
}

.kv1,
.kv2 {
    width: 100%;
    height: auto;
}

.kv2 {
    position: relative;
    text-align: center;
}

.kv2 p {
    margin-bottom: 45px;
    color: white;
    font-size: 3.5vw;
}

.kv-2 {
    width: 100%;
    height: auto;
}

.name-logo {
    display: flex;
    width: 70%;
    margin-inline: auto;
    justify-content: center;
    gap: 0 6%;
    margin-bottom: 11vw;
}

.name-logo-in img {
    display: block;
    width: 100%;
    margin-inline: auto;

}

.name-logo-in h1 {
    margin-bottom: 30px;
    color: white;
    font-size: 2vw;
}

.Resarved {
    width: 200px;
    background-color: orange;
    border-radius: 10px;
    height: 60px;
    display: grid;
    text-align: center;
    align-items: center;
    margin-inline: auto;
    color: white;
    font-size: 18px;
    margin-bottom: 6%;
}

.kv-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: auto;
    padding: 10px;
}

.about-header {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: end;
    margin-bottom: 7vw;
    vertical-align: top;
}

.about-header img {
    width: 13vw;
    height: auto;
}

.about-header h2 {
    padding: 0 2em;
    letter-spacing: .5em;
    margin-left: .5em;
}

.about1,
.about5 {
    width: 100%;
    /* padding: 20px; */
    margin-bottom: 20px;
}

.about p {
    font-size: 20px;
    margin-bottom: 30px;
    align-items: center;
    margin-inline: auto;
    text-align: center;
}

.about-img {
    justify-content: space-between;
    display: flex;
    margin-bottom: 40px;
}

.about2,
.about3,
.about4 {
    width: 30%;
}

.menu-ttl {
    /* display: flex; */
    position: relative;
    color: white;
    font-size: 4vw;
    letter-spacing: 10px;
    margin-bottom: 30px;
    margin-left: -10px;
}

.menu-logo-all {
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 80%;
}

.menu-logo {
    display: block;
    position: absolute;
    /* text-align: center; */
    /* margin-inline: auto; */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    letter-spacing: 20px;
    margin-left: 10px;
}

.menu-frame {
    width: 100%;
    position: relative;
    /* top: 82%;
    left: 50%;
    transform: translate(-50%); */
    /* margin-inline: auto; */
    display: block;
    text-align: center;
}

.menu-frame img {
    width: 100%;
}

.menu-logo img {
    display: block;
    margin-inline: auto;
}

.menu1 {
    width: 100%;
    /* height: 30vh; */
}

.menu p {
    width: 100%;
    /* white-space: no-wrap; */
    font-size: 20px;
    /* display: flex; */
    /* flex-shrink: 0; */
    width: 100%;
    justify-content: space-between;
    margin-inline: auto;
    text-align: center;
    line-height: 20px;
    font-weight: bold;
}

.lunch-ttl {
    justify-content: center;
    display: flex;
    position: relative;
    font-size: 5vw;
    margin-bottom: 30px;
}

.lunch-ttl img {
    position: absolute;
    width: 45%;
    height: 100%;
}

.lunch-img {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px;
}

.lunch-menu {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.lunch-menu p {
    display: flex;
    /* justify-content: space-between; */
    align-items: baseline;
    gap: 15px;
    /* margin-bottom: 10px; */
}

.lunch-menu .price {
    white-space: nowrap;
    /* text-align: right; */
    order: 2;
}

.lunch-menu p::after {
    content: "";
    flex: 1;
    border-bottom: 1px dotted #777;
    order: 1;
}


.dinner-ttl {
    justify-content: center;
    display: flex;
    position: relative;
    font-size: 5vw;
    margin-bottom: 30px;
}

.dinner-ttl img {
    position: absolute;
    width: 45%;
    height: 100%;
}

.dinner-img {
    width: 100%;
    margin-top: 30px;
    margin-bottom: 30px;
}
.dinner-menu {
    width: 100%;
    max-width: 450px;
    margin: 0 auto;
}

.dinner-menu p {
    display: flex;
    /* justify-content: space-between; */
    align-items: baseline;
    gap: 15px;
    /* margin-bottom: 10px; */
}

.dinner-menu .price {
    white-space: nowrap;
    /* text-align: right; */
    order: 2;
}

.dinner-menu p::after {
    content: "";
    flex: 1;
    border-bottom: 1px dotted #777;
    order: 1;
}
.reservation-sec {
    position: relative;
    overflow: hidden;
    margin-bottom: 60px;
}

.reservation-sec img {
    width: 100%;
    /* height: 32vh; */
    /* opacity: .8; */
    filter: brightness(45%);
    opacity: .85;
    /* transform: scale(1.3); */
}

.reservation {
    position: absolute;
    z-index: 10;
    padding: 15px;
    width: 150px;
    background-color: orange;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: white;
    border-radius: 10px;

}

.bg {
    background-color: white;
    width: 100%;
}

footer h2 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 30px;
}

dl {
    display: table;
    width: 100%;
    font-size: 2vw;
    font-weight: bold;
}

dt {
    display: table-cell;
    width: 37vw;
    padding-left: 20vw;
    text-align-last: justify;
    padding-right: 30px;
}

dd {
    text-align: left;
    display: table-cell;
    padding: 0.4rem;
}

footer p {
    font-size: 6px;
    /* text-align: center; */
    margin-bottom: 30px;
    font-weight: bold;
    width: 60%;
    margin-inline: auto;
}

footer .credit {
    margin-inline: auto;
    width: 65%;
    display: block;
    margin-bottom: 30px;
}

footer {
    margin-bottom: 300px;
}

.footer {
    background-color: white;
    padding-top: 30px;

}

small {
    font-weight: bold;
    font-size: 8px;
    text-align: center;
    display: block;
    margin-top: 20px;
    margin-bottom: 20px;

}

iframe {
    width: 100%;
    /* margin-inline: auto; */
    /* text-align: center; */
    /* justify-content: center; */
    margin-bottom: 20px;
}

.sns-logo {
    text-align: center;
    margin: 30px;
}

.sns-logo img {
    width: 20px;
}

@media (min-width: 350px) {
    .menu p {
        font-size: 12px;
        line-height: 2.5em;
    }

    footer p {
        width: 40%;
    }
}

@media (min-width: 500px) {
    small {
        font-size: 10px;
    }

    footer p {
        font-size: 10px;
    }

    .menu p {
        font-size: 15px;
        line-height: 2.5em;
    }

    dd {
        font-size: 13px;
    }

    dt {
        padding-left: 17vw;
        font-size: 12px;
    }
}

@media (max-width: 600px) {
    /* dt {
        padding-left: 30vw;
        width: 45vw;
    }

    footer p {
        width: 40%;
    }

    menu p {
        font-size: 20px;
        line-height: 2.5em;
    } */
    .about p {
        font-size: 16px;
    }

    .lunch-ttl img ,.dinner-ttl img {
        width: 40%;
        height: 100%;
    }
    /* position: absolute; */
    .lunch-ttl ,.dinner-ttl {
        font-size: 4.5vw;
    }
}

@media (max-width: 450px) {
    .about p {
        font-size: 15px;
    }
    .lunch-ttl,.dinner-ttl {
        font-size: 25px;
    }
}

@media (max-width: 400px) {
    .about p {
        font-size: 12px;
    }
    .lunch-ttl,.dinner-ttl {
        font-size: 20px;
    }
}