@charset "UTF-8";
/* CSS Document */

/*========================*/

/* 投稿一覧 */

/*========================*/
.post-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 var(--gutter-var-md);
}
body:is(#news-list , #report-list) .post-list {
    margin-top: calc(var(--section-gutter) - 3.8em);
}
/* ------------
コンテナ */
.post-list::before {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}
.post-list::before ,
.post-list::after {
    content: "";
    display: inline-block;
    height: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: max(
        calc(calc(100% / 4) - var(--gutter-var-md)),
        calc(168rem / 16)
    );
    max-width: 100%;
}
.post__item {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: max(
        calc(calc(100% / 4) - var(--gutter-var-md)),
        calc(168rem / 16)
    );
    max-width: 100%;

    margin-top: 3.8em;
}
.post__item a {
    display: block;
    width: 100%;
}
.post__item--empty {
    display: inline-block;
    height: 0;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: max(
        calc(calc(100% / 4) - var(--gutter-var-md)),
        calc(168rem / 16)
    );
    max-width: 100%;
}
@media (max-width: 959px) {
    body#index .post__item--empty,
    body#index .post-list::before ,
    body#index .post-list::after,
    body#index .post__item {
        width: max(
            calc(calc(100% / 2) - var(--gutter-var-md)),
            calc(168rem / 16)
        );
    }
}
/* ------------
画像 */
.post__thumb {
    display: block;
    width: 100%;
    overflow: hidden;

    aspect-ratio: 3 / 2;
}
.post__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
}
/* ------------
テキスト */
.post__time {
    display: inline-block;
    font-family: var(--number);
    font-size: var(--txt-sm);
    font-weight: 700;
    color: var(--color-main-pale);
    line-height: 1.1;
    margin-top: 1em;
}
.post__heading-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-column-gap: min(1em, 10vw);
       -moz-column-gap: min(1em, 10vw);
            column-gap: min(1em, 10vw);
    margin-top: 0.2em;
}
.post__heading {
    font-size: var(--txt-reg);
    line-height: 1.35;
}
.post__heading-container svg {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 1em;
    height: 1em;
}
@media (any-hover: hover) {
    .post__thumb img {
        -webkit-transition: -webkit-transform .25s var(--linear);
        transition: -webkit-transform .25s var(--linear);
        transition: transform .25s var(--linear);
        transition: transform .25s var(--linear), -webkit-transform .25s var(--linear);
    }
    .post__item a:hover .post__thumb img ,
    .post__item a:focus-visible .post__thumb img {
        -webkit-transform: scale(1.1);
                transform: scale(1.1);
    }
    .post__heading,
    .post__time {
        -webkit-transition: color .2s var(--easeInQuad);
        transition: color .2s var(--easeInQuad);
    }
    .post__item a:hover .post__heading,
    .post__item a:focus-visible .post__heading,
    .post__item a:hover .post__time,
    .post__item a:focus-visible .post__time {
        color: var(--color-main);
    }
}