@charset "UTF-8";
/* CSS Document */
.loading {
    width: 100vw;
    height: 100vh;
    transition: all 1s;
    background-color: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    opacity: 1;
    visibility: visible;
}
.loading.is-active {
    opacity: 0;
    visibility: hidden;
}
.loading-animation {
    width: 100vw;
    height: 100vh;
    position: relative;
    transition: all 1s;
    z-index: 990;
    opacity: 0;
    visibility: hidden;
}
.loading-animation img {
    width: 250px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.loading-animation.is-active {
    opacity: 1;
    visibility: visible;
}
@media screen and (min-width:767px) {
    .loading-animation img {
        width: 300px;
    }
}
/* body */
.contents-top {
    background: url("../images/lead.webp") no-repeat 28% 20%/ cover;
}
.lead {
    width: auto;
    height: auto;
    position: absolute;
    top: 200px;
    left: 28%;
    transform: translatex(-28%);
    z-index: -10;
    opacity: 1;
    animation: leadblur 8s forwards;
}
@keyframes leadblur {
    0% {
        filter: blur(0);
        opacity: 1;
    }
    50% {
        filter: blur(0);
        opacity: 1;
    }
    100% {
        filter: blur(10px);
        opacity: 0;
    }
}
.lead h4 {
    font-weight: 100;
    font-size: 30px;
    line-height: 1.4em;
    padding-bottom: 30px;
}
.message {
    width: 100vw;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0;
    background: url("../images/message.webp") no-repeat 28% 20%/ cover;
    z-index: 5;
    opacity: 0;
    animation: messagefadein 4s forwards;
    animation-delay: 5s;
}
@keyframes messagefadein {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
.menu {
    width: 100%;
    height: auto;
    margin-bottom: 80px;
    padding-left: 30%;
    text-align: right;
}
.menu-box1 {
    width: 100%;
    height: auto;
    position: relative;
}
.menu-box1-img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 24px 0 0 24px;
}
.menu-box1-img:hover, .menu-box2 a:hover {
    filter: blur(2px);
}
.menu-box1 span {
    position: absolute;
    top: 50%;
    left: -40px;
    transform: translateY(-50%);
    text-align: left;
}
.menu-box2 {
    width: 100%;
    margin: 0;
    padding-left: 20%;
}
.menu-box2 li {
    width: 100%;
    margin-top: 16px;
    position: relative;
}
.menu-box2 img {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 1;
    object-fit: cover;
    border-radius: 24px 0 0 24px;
}
.menu-box2 li::after {
    width: 80px;
    height: 20px;
    display: block;
    color: #ffffff;
    font-size: 24px;
    position: absolute;
    top: 50%;
    right: 24px;
    transform: translateY(-50%);
}
.menu-box2 li:first-child::after {
    content: "LUNCH";
}
.menu-box2 li:nth-child(2)::after {
    content: "CAKE";
}
.menu-box2 li:last-child::after {
    content: "DRINKS";
}
@media screen and (min-width: 767px) {
    .menu {
        margin-bottom: 160px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
        column-gap: 32px;
    }
    .menu-box1 {
        width: 100%;
        height: auto;
        position: relative;
        flex: 3;
        max-width: 580px;
    }
    .menu-box1-img {
        border-radius: 24px;
    }
    .menu-box2 {
        padding-left: 0;
        flex: 2;
        max-width: 400px;
    }
    .menu-box2 li {
        margin-top: 32px;
    }
    .menu-box2 li:first-child {
        margin-top: 0;
    }
    .menu-box2 img {
        aspect-ratio: 3 / 2;
    }
}
.guide {
    width: 92%;
    max-width: 1080px;
    margin: 0 auto;
}
.details {
    margin-top: 16px;
    background-color: #ffffff;
    border-radius: 24px;
}
.details-summary {
    position: relative;
    display: block;
    padding: 24px 0 18px 40px;
}
.details-summary:hover {
    cursor: pointer;
    opacity: 0.8;
}
.guide_btn {
    position: absolute;
    top: 26px;
    left: 16px;
    width: 12px;
    height: 12px;
    transform-origin: center center;
    transition-duration: 0.2s;
}
.guide_btn:before, .guide_btn:after {
    content: "";
    background-color: #A51A1A;
    border-radius: 10px;
    width: 12px;
    height: 2px;
    position: absolute;
    top: 5px;
    left: 0;
    transform-origin: center center;
}
.guide_btn:before {
    width: 2px;
    height: 12px;
    top: 0;
    left: 5px;
}
.details-summary.is-active .guide_btn {
    -webkit-transform: rotate(-180deg);
    transform: rotate(-180deg);
}
.details-summary.is-active .guide_btn:before {
    content: none;
}
.details-summary::-webkit-details-marker {
    display: none;
}
.details-content {
    padding-bottom: 32px;
}
.details-content img {
    width: 92%;
    height: auto;
    margin: 0 auto;
    border-radius: 16px;
}
.guide_p {
    width: 92%;
    margin: 0 auto;
    margin-top: 24px;
}
.guide_3F {
    width: 84%;
    height: 80px;
    margin-top: 16px;
    margin-left: 16%;
    border-radius: 16px 0 0 16px;
    text-align: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: #634E42;
}
.guide_3F p {
    font-size: 14px;
    color: #ffffff;
}
.guide_3F-link:hover .material-icons, .guide_3F-link:hover p {
    color: #A51A1A;
    transition: all .6s ease;
}
.guide_2F {
    width: 84%;
    margin: 24px auto 0;
    padding-left: 16px;
    position: relative;
}
.guide_2F::before {
    content: "";
    width: 2px;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #333333;
}
.guide_2F li {
    padding-top: 8px;
}
@media screen and (min-width: 767px) {
    .guide-box {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .guide_bildding {
        width: 50%;
    }
    .guide_details {
        width: 50%;
    }
}