/*フェア
-----------------------------------------*/
/* フェアカードレイアウト */
.top_fair
{
    background-image: url(../images/common/img_wood_bk_2x.jpg);
    margin-top: -240px;
    padding: 240px 0 80px;
    overflow: hidden;
}

@media (min-width: 769px)
{
    .top_fair
    {
        padding: 240px 0 246px;
    }
}

.card-list
{
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(306px, 1fr));
    /* widthを306pxをきるとカラム落ち */
    gap: 40px;
    margin: 32px auto 0;
    max-width: 1120px;

}

.card__body time
{
    color: var(--primary-700);
    font-family: "Outfit", sans-serif;
    font-size: 14px;
}

.card__body h3
{
    font-weight: 700;
    font-size: 18px;
}

.card__thmb
{
    overflow: hidden;
}

.card__thmb img
{
    width: 100%;
    height: 200px;
    object-fit: cover;
    transition: transform .3s ease;
}

.card:hover img
{
    transform: scale(1.1);
}

.card:hover .card__link
{
    color: var(--primary-700);
}

.card-item
{
    background-color: var(--white);
    padding: 20px 20px 64px 20px;
    box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.2);
    position: relative;
}

.card__body
{
    margin-top: 16px;
}

.card__link
{
    margin-top: 8px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    position: absolute;
    bottom: 24px;
    right: 32px;
    font-size: 14px;
}

.card__text
{
    margin-top: 8px;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* ブラウザがサポートしていない場合のフェールセーフ */
    max-height: 54px;
    /* テキスト３行以上で３点リーダーをつける */
}

@media (min-width: 769px)
{
    .card__body
    {
        margin-top: 0;
    }

    #page.fair .card-item
    {
        padding: 40px 40px 64px 40px;
        margin-bottom: 48px;
    }

    .card-item a
    {
        display: flex;
        gap: 32px;
    }

    .card-list
    {
        display: block;
    }

    .card__thmb
    {
        min-width: 320px;
    }
}

#page.fair
{
    background-image: url(../images/common/img_wood_bk_2x.jpg);
    padding-bottom: 92px;
    margin-bottom: -92px;
}

@media (min-width: 769px)
{
    #page.fair
    {
        padding-bottom: 220px;
        margin-bottom: -220px;
    }
}


/*記事
-----------------------------------------*/

/* タイポグラフィ */
.date
{
    font-family: "Outfit", sans-serif;
    font-weight: 400;
    line-height: 1.5;
    color: var(--primary-700);
}

.ttl-color
{
    font-size: 18px;
    color: var(--primary-700);
    line-height: 1.5;
    margin: 24px 0;
}

.p-text
{
    margin: 16px 0;
}

.img-block
{
    width: 100%;
    margin: 40px 0;
}

/* ページネーション*/
.pagenation
{
    margin: 40px auto;
    display: flex;
    column-gap: 16px;
    justify-content: center;
}

.page-list a,
.page-prev a,
.page-next a
{
    display: flex;
    line-height: 1.2;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid var(--secondary-300);
    background-color: var(--white);
}

.page-list a:hover,
.page-prev a:hover,
.page-next a:hover
{
    color: var(--primary-700);
    border: 1px solid var(--primary-700);
}

.page-prev img
{
    margin-right: 4px;
}

.page-next img
{
    margin-left: 4px;
}

.fair .single h2
{
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 1em;
}

.fair .single h3
{
    font-size: 18px;
    font-weight: 700;
    padding-bottom: 1em;
    color: var(--primary-700);
}

.fair .single .content a
{
    color: var(--primary-700);
    text-decoration: underline;
    display: block;
    margin: 1em 0;
}

@media (min-width: 769px)
{
    .fair .single h2
    {
        font-size: 20px;
    }

    .fair .single h3
    {
        font-size: 16px;
    }
}