@page {
    size: A4;
    margin: 5mm;
}

* {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
}

body {
    background: #ffffff !important; /* 白背景を強制（任意） */
}

.top
{
    height: 40vh;
}

section
{
    font-size: 0.95em;
    width: 95%;
}

.card,
.lf-card
{
    grid-column: span 4;
}

.meta,
.lf-meta
{
    font-size: 0.8em;
    line-height: 1.1;
}

.card__title,
.lf-title
{
    font-size: 1.3vw;
}

.bn-list
{
    grid-template-columns: repeat(4, 1fr);
}

.btn
{
    font-size: 1.2em;
    padding: 5px 10px;
    width: auto;
    word-break: keep-all;
}


.lf-modal__grid
{
    flex-direction: row;
}
.lf-img-bg
{
    aspect-ratio: 500 / 707;
    align-items: center;
    background-color: #F7F6F2;
    border-radius: 10px;
    justify-content: center;
    width: 41%;
}
.js-m-title
{
    font-size: 1.6vw;
}
.lf-modal__body,
.js-m-desc
{
    font-size: 1.2vw;
}
.lf-modal
{
    max-width: auto;
    min-width: auto;
}

footer
{
    margin-top: 60px;
}