/* --------------------
 News Detail
-------------------- */
.news {
    margin: 0 0 100px;
    padding: 60px 0 0;
}

@media (min-width: 768px) {
    .news {
        padding: 70px 0 0;
    }
}

.news-container {
    margin: 0 auto;
    max-width: 1020px;
    padding: 0 20px;
    width: 100%;
}

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

.news__meta {
    align-items: center;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    gap: 12px;
    justify-content: flex-start;
    margin: 0 0 15px;
}

.news__meta__category {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    flex-grow: 0;
    flex-shrink: 0;
    font-size: var(--fs12);
    gap: 6px;
    justify-content: flex-end;
    width: auto;
}

@media (min-width: 768px) {
    .news__meta__category {
        gap: 10px;
    }
}

.news__meta__category .com-news-cat {
    font-size: var(--fs12);
    width: auto;
}

.news__meta__date {
    display: block;
    flex-grow: 0;
    flex-shrink: 0;
    font-size: var(--fs14);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.2;
    margin: 0;
}

.news__title {
    border-bottom: 1px solid rgba(var(--color-theme-rgb), 0.4);
    font-size: var(--fs18);
    font-weight: 700;
    letter-spacing: 0.15em;
    line-height: 1.4;
    margin: 0 0 22px;
    padding: 0 0 16px;
}

@media (min-width: 768px) {
    .news__title {
        font-size: var(--fs20);
    }
}

.news__main {
    font-size: var(--fs14);
    font-weight: 300;
    letter-spacing: 0.15em;
    line-height: 1.8;
    margin: 0 0 30px;
}

@media (min-width: 768px) {
    .news__main {
        font-size: var(--fs16);
        margin: 0 0 40px;
    }
}

.news__main p {
    font-size: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 1.85em 0;
}

.news__main p:first-child {
    margin-top: 0;
}

.news__main p:last-child {
    margin-bottom: 0;
}

.news__main a {
    color: inherit;
    text-decoration: underline;
}

.news__main a:focus {
    text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
    .news__main a:hover {
        text-decoration: none;
    }
}

.news__main b, .news__main strong {
    font-weight: 700;
}

.news__main img {
    display: block;
    margin: 0 auto;
    max-width: 550px;
    width: 100%;
}

.news__main iframe {
    aspect-ratio: 16/9;
    border: none;
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 550px;
    width: 100%;
}

.news__fig {
    margin: 0 0 40px;
}

.news__fig__item {
    margin: 0 0 30px;
    text-align: center;
}

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

.news__action {
    margin: 60px 0 0;
}

.news__action .com-button {
    margin: 0 auto;
}