#top {
    background-image: url(/assets/img/concept/bg_01.png);
}

header a.active {
    opacity: .5;
}

section#menu {
    padding-top: clamp(8rem, 10vw, 18rem);
}

#menu .flex {
    flex-wrap: wrap;
    row-gap: 6rem;
}

#menu li {
    width: 47%;
    box-shadow: var(--shadow);
}

#menu figcaption {
    background-color: var(--c-bg-card);
    padding: 2rem var(--padding-card) 4rem;
}

#menu h3 span {
    font-size: 1.5rem;
    display: block;
    border-top: 1px solid var(--c-font);
    margin-top: .5em;
    font-family: "Alice", serif;
    font-weight: 500;
}

#menu p {
    margin-top: 1rem;
}

#menu .btn {
    margin-top: 3rem;
}

section#price {
    padding-top: calc(var(--padding-top) * 0.75);
}

#price ul {
    background-color: var(--c-card);
    box-shadow: var(--shadow);
}

#price .flex {
    flex-wrap: wrap;
    row-gap: 4rem;
}

#price .menu-content {
    width: 47%;
}

#price h3 {
    margin-bottom: .2em;
    color: var(--c-sub);
    font-weight: 600;
    border-bottom: 2px solid var(--c-sub);
    margin-bottom: 1rem;
    padding-left: var(--padding-card);
}

#price h3 span {
    font-size: 1.5rem;
    margin-left: 1rem;
        font-family: "Alice", serif;
    font-weight: 500;
}

#price li {
    display: flex;
    justify-content: space-between;
    padding-inline: var(--padding-card);
    border-top: 1px solid var(--c-sub);
    column-gap: 1rem;
}

#price li:first-child {
    border-top: none;
}

#price li span {
    padding-block: 1.5rem;
}

#price li span:first-child {
    flex: 1;
}

#price li span:last-child {
    border-left: 1px dashed var(--c-sub);
    width: min(17vw, 10rem);
    text-align: end;
}

.remark {
    margin-top: .5rem;
}

@media screen and (max-width:992px) {
    #menu li {
        width: 100%;
    }

    #price .menu-content {
    width: 100%;
}
}