/* --------------------
 News
-------------------- */
.layout {
    padding: 7.8125rem 0 0;
}

@media (min-width: 768px) {
    .layout {
        padding: 10.625rem 0 0;
    }
}

.news {
    margin: 0 0 5rem;
}

.news-container {
    align-items: stretch;
    display: flex;
    flex-flow: row wrap;
    gap: 3.125rem 0;
    margin: 0 auto 3.75rem;
    max-width: 81.25rem;
    padding: 0 2.1875rem;
    width: 100%;
}

@media (min-width: 768px) {
    .news-container {
        flex-wrap: nowrap;
        padding: 0;
    }
}

.news__title {
    flex: 0 0 100%;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .news__title {
        flex: 0 0 20.625rem;
        text-align: left;
    }
}

.news__title__ja {
    color: var(--color-black);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 0 0.5rem;
}

@media (min-width: 768px) {
    .news__title__ja {
        font-size: 3.375rem;
    }
}

.news__title__en {
    color: var(--color-ruby-red);
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    margin: 0;
}

@media (min-width: 768px) {
    .news__title__en {
        font-size: 1rem;
        padding: 0 0 0 0.5em;
    }
}

.news__title__cat {
    font-size: 0.625rem;
    font-weight: 700;
    line-height: 1;
    margin: 0.625rem 0 0;
}

@media (min-width: 768px) {
    .news__title__cat {
        font-size: 1rem;
        padding: 0 0 0 0.5em;
    }
}

.news__list {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .news__list {
        flex: 1 1 auto;
        padding: 0.5rem 0 0;
    }
}

.news__list__item {
    margin: 0 0 3.75rem;
}

@media (min-width: 768px) {
    .news__list__item {
        margin: 0 0 3.375rem;
    }
}

.news__list__item:last-child {
    margin-bottom: 0;
}

.news__list__item__link {
    color: inherit;
    display: block;
    text-decoration: none;
}

.news__list__item__link__title {
    font-size: 1rem;
    line-height: 1.37;
    margin: 0 0 0.625rem;
    padding: 0 1.875rem 0 0;
    position: relative;
    transition: color var(--duration) var(--cubic) 0s;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 768px) {
    .news__list__item__link__title {
        font-size: 1.0625rem;
        line-height: 1.29;
        margin: 0 0 0.375rem;
    }
}

.news__list__item__link__title .com-circle {
    display: none;
}

@media (min-width: 768px) {
    .news__list__item__link__title .com-circle {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
    }
}

.news__list__item__link__meta {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 0 0.625rem;
    justify-content: flex-start;
    position: relative;
}

.news__list__item__link__meta .com-circle {
    height: 1.25rem;
    position: absolute;
    right: -0.125rem;
    top: 0;
    transform: translateX(100%);
    width: 1.25rem;
}

@media (min-width: 768px) {
    .news__list__item__link__meta .com-circle {
        display: none;
    }
}

.news__list__item__link__meta .com-circle:before {
    height: 0.3125rem;
    width: 0.9375rem;
}

.news__list__item__link__meta__date {
    display: block;
    flex: 0 0 auto;
    font-size: 0.6875rem;
    line-height: 1;
    margin: 0;
}

.news__list__item__link__meta__category {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    flex-flow: row wrap;
    gap: 0 0.625rem;
    justify-content: flex-start;
}

.news__list__item__link__meta__category span {
    background-color: var(--color-very-light-gray);
    border-radius: 0.3125rem;
    display: block;
    font-size: 0.6875rem;
    line-height: 1;
    padding: 0.25rem 0.75rem 0.25rem;
    text-align: center;
    text-box: trim-both cap alphabetic;
}

@media (min-width: 768px) {
    .news__list__item__link__meta__category span {
        padding: 0.3125rem 0.75rem 0.3125rem;
    }
}

.news__list__item__link:focus .news__list__item__link__title {
    color: var(--color-crimson);
}

.news__list__item__link:focus .news__list__item__link__title .com-circle {
    background-color: var(--color-black);
}

@media (hover: hover) and (pointer: fine) {
    .news__list__item__link:hover .news__list__item__link__title {
        color: var(--color-crimson);
    }

    .news__list__item__link:hover .news__list__item__link__title .com-circle {
        background-color: var(--color-black);
    }
}

.news__no-posts {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .news__no-posts {
        flex: 1 1 auto;
        padding: 0.5rem 0 0;
    }
}

.news__no-posts p {
    font-size: 1rem;
    line-height: 1.87;
    margin: 0;
}

.news__pager {
    margin: 0 auto;
    max-width: 81.25rem;
}