
.cf-body.c-spot-sonota_container {
    margin-top: 30px;
}

.cf-empty-message {
    margin-top: 30px;
    border: 2px solid #ddd;
    background: #efefef;
    color: #808080;
    padding: .25lh 1em;
    border-radius: .3em;
}

.cf-card-meta__label {
    &.--status {
        background: #efefef;
        color: #606060;
        &.--status-0101,
        &.--status-0201,
        &.--status-0401 {
            border: 2px solid orange;
            color: #fff;
            background: orange;
        }
    }
}

.c-spot__details {
    --base-clr: #2c4197;
    border-block-start: 1px solid var(--base-clr);
    margin-block-end: 1.72lh;
    dl {
        border-block-end: 1px solid var(--base-clr);
        display: grid;
        line-height: 1.32;

        padding-block: 1lh;
        column-gap: 1em;;
        @media screen and (min-width: 768px) {
            grid-template-columns: min(18vw, 160px) 1fr;
        }

        dt {
            color: var(--base-clr);
            font-weight: bold;
        }

        dd {
            .check_lists {
                display: flex;
                flex-wrap: wrap;
                gap: .5lh 1em;

                > li {
                    display: grid inline;
                    grid-template-columns: auto 1fr;
                    column-gap: .24em;
                    &::before {
                        content: '✅';
                    }
                }
            }
        }
    }
}

.c-spot-adide__list {
    border-block-start: 1px solid #ddd;
    margin-block-start: .5lh;
    dl {
        display: grid;
        grid-template-columns: max-content 1fr;
        dt {
            font-weight: bold;
            color: #2c4197;
            padding-right: 1em
        }

        :is(dt, dd) {
            border-block-end: 1px solid #ddd;
        }
    }
}

.c-spot-container {
    margin-block-start: 30px;
}

.c-spot-payment__list {
    display: flex;
    flex-wrap: wrap;
    gap: .5lh .5em;
    :is(li) {
        background: #ddd;
        color: #808080;
        padding: .24lh 1em;
        border-radius: .25em;
        line-height: 1.32;

        &.--state-ok {
            background: #ec8824;
            color: #fff;
        }
    }
}

.c-spot-biz-section-heading {
    font-size: clamp(20px, 2.4vw, 27px);
    max-inline-size: fit-content;
    margin-inline: auto;
    margin-block: .72lh .32lh;
    font-weight: bold;
}

.c-spot-biz_calendar {
    margin-block-end: 2.2lh;
}

.c-spot-links__calendar {
    margin: 0 0 24px;
    @media (width <= 1024px) {
        margin: 0;
    }
}

.c-spot-links__calendar::before {
    content: '';
    content: "";
    display: block;
    width: 22px;
    height: 19px;
    background: url(../img/icon/ic_calendar.png) no-repeat center / contain;
    margin-right: 8px;
}

@media (width <= 1024px) {
    .c-spot-button {
        width: 100%;
    }
}

.c-spot-biz-attention {
    color: #666;
    margin-block-end: 2.2lh;
    text-align: center;
    font-size: .9em;
}

.c-spot-calendar-note {
    margin-block-start: 1lh;
    position: relative;
    border: 1px solid #F00;
    padding: .56lh 2.24em;

    dt {
        position: absolute;
        top: 0;
        left: 2em;
        transform: translateY(-50%);
        background: #fff;
        inline-size: fit-content;
        padding-inline: .24em;
        font-weight: bold;
        display: grid;
        grid-template-columns: min(4.8vw, 24px) 1fr;
        column-gap: .72em;
        align-items: center;
        &::before {
            content: '';
            aspect-ratio: 1;
            background: url(fukidashi.svg) no-repeat center center / contain;
        }
    }
}