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

投稿記事のリスト表示

================================ */
.not-post-list {
    font-size: var(--txt-reg);
    font-weight: 400;
}
#index .not-post-list {
    margin-top: 2.5em;
}
/* ---------
リンク設定 */
.post__card {
  position: relative;
}
.post__card .post__ttl--link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media (any-hover: hover) {
    .post__date,
    .post__ttl {
		-webkit-transition: color .2s var(--easeInSine);
		transition: color .2s var(--easeInSine);
    }
    .post__card:not(:has(.tag a:hover)):hover .post__ttl,
    .post__card:not(:has(.tag a:hover)):focus .post__ttl,
    .post__card:not(:has(.tag a:hover)):hover .post__date,
    .post__card:not(:has(.tag a:hover)):focus .post__date {
        color: var(--color-primary);
    }
    .post__card .post__thumb img {
        -webkit-transition: -webkit-transform .15s  var(--linear);
        transition: -webkit-transform .15s  var(--linear);
        transition: transform .15s  var(--linear);
        transition: transform .15s  var(--linear), -webkit-transform .15s  var(--linear);
    }
    .post__card:not(:has(.tag a:hover)):hover .post__thumb img,
    .post__card:not(:has(.tag a:hover)):focus .post__thumb img {
        -webkit-transform: scale(1.1);
                transform: scale(1.1);
    }
}

/* ---------
コンテンツ */
.post__list-container {
    margin-top: calc(var(--section-gutter) - var(--gutter-md));
}
.post__list {
    --post-item-width: max(
        168px,
        calc(calc(100% / 4) - var(--gutter-var-sm))
    );
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 var(--gutter-var-sm);
}
.post__list::before,
.post__list::after {
    content: "";
}
.post__item:empty,
.post__list::before,
.post__list::after {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: var(--post-item-width);
    max-width: 100%;
    height: 0px;
}
.post__list::before {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}
.post__item:is(:not(.post__item:empty)) {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    width: var(--post-item-width);
    max-width: 100%;

	margin-top: var(--gutter-md);
}
.post__card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
}
@media (max-width: 959px) {
    .post__list {
        --post-item-width: max(
            168px,
            calc(calc(100% / 3) - var(--gutter-var-sm))
        );
    }
}
@media (max-width: 559px) {
    .post__list {
        --post-item-width: max(
            154px,
            calc(calc(100% / 2) - var(--gutter-var-sm))
        );
    }
}
/* ---------
画像 */
.post__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    max-height: -webkit-max-content;
    max-height: -moz-max-content;
    max-height: max-content;
    overflow: hidden;
}
.post__thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    background-color: var(--color-primary-pale);
}
/* ---------
タグ */
.tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5em;
}
body:not(.single) .tags {
    margin-top: auto;
}
.tag {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
body:not(.single) .tag {
    position: relative;
    z-index: 2;
}
.tag a {
    --tag-txt-size: clamp(0.5rem, calc(0.4rem + 0.5vw), 0.75rem); /* min: 8px, max: 12px */
    display: inline-block;
    font-size: var(--tag-txt-size);
    font-weight: 500;
    line-height: 1;
    color: var(--color-white);
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
    border-radius: 999px;

    padding: 0.5em 1.25em;
}
/* .tag a[href*="news"],
.tag a[href*="robocon"] {
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary);
} */
@media (any-hover: hover) {
    .tag a {
        -webkit-transition: color .2s var(--easeInSine),
        border-color .2s var(--easeInQuad),
        background-color .2s var(--easeInQuad);
        transition: color .2s var(--easeInSine),
        border-color .2s var(--easeInQuad),
        background-color .2s var(--easeInQuad);
    }
    .tag a:hover,
    .tag a:focus-visible {
        border-color: var(--color-secondary);
        background-color: var(--color-secondary);
    }
}
/* ---------
テキスト */
.post__desc {
    margin-top: 1.3em;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
}
.post__date {
    display: block;
    font-family: var(--alphabet);
    font-size: var(--txt-sm);
    font-weight: 400;
    line-height: 1;
    color: var(--color-primary-soft);
}
.post__ttl {
    font-size: var(--txt-reg);
    font-weight: 600;
    color: var(--color-bk);
    margin-top: 0.3em;
    margin-bottom: 1em;
}
/* ---------
ボタン */
.button__post {
    -ms-flex-item-align: end;
        align-self: flex-end;

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;

    font-family: var(--alphabet);
    font-size: var(--txt-xxs);
    font-weight: 600;
    color: var(--color-bk);
    text-align: center;

    margin-top: auto;
}
.button__post .arrow {
    margin-left: 0.3em;
    width: 0.8em;
    height: 0.8em;
    margin-top: -0.18em;
}
.post__list + .button__container {
    margin-top: var(--gutter-lg);
}
@media (max-width: 559px) {
    .post__date ,
    .post__ttl {
        font-size: var(--txt-xs);
        line-height: 1.35;
    }
}

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

タームページ設定

================================ */
.term-cat-heading {
    font-size: var(--txt-md);
    font-weight: 700;
    color: var(--color-bk);
}
.back-to-archive-link {
    font-size: var(--txt-sm);
    color: var(--color-primary-bk);
    margin-top: 0.5em;

    display: -webkit-inline-box;

    display: -ms-inline-flexbox;

    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.3em;
}
.back-to-archive-link svg {
    width: 1em;
    height: 1em;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
}