@charset "UTF-8";
/* 共通パンくず：コンテンツ終了後、フッター直前 */
.breadcrumb {
    box-sizing: border-box;
    width: 100%;
    border: none;
    background: #fff;
    margin-top: 120px;
    font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
}
/* 現在地 */
.breadcrumb [aria-current="page"] {
    color: #961414;
}
.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    box-sizing: border-box;
    width: min(100% - (80px * 2), 1500px);
    margin: 0 auto 20px;
    padding: 0;
    list-style: none;
}
.breadcrumb__item {
    display: inline-flex;
    align-items: baseline;
    min-width: 0;
    color: #808080;
    font-family: "Inter", "Zen Kaku Gothic New", sans-serif;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.8;
    overflow-wrap: anywhere;
}
.breadcrumb__item a {
    color: inherit;
    text-decoration: none;
}
.breadcrumb__item a:hover {
    text-decoration: underline;
}
/* 区切りを直前の項目に付け、折り返し行頭に残さない */
.breadcrumb__separator {
    display: none;
}
.breadcrumb__item:not(:last-child)::after {
    content: "›";
    flex: none;
    margin: 0 12px;
    color: #9d9d9d;
}
@media (max-width: 1023px) {
    .breadcrumb__list {
        width: 100%;
        padding: 0 24px;
    }
}

/* パンくずのあるページは、本文末尾から120pxを共通の余白として確保する。 */
body:has(> .breadcrumb) > main {
    padding-bottom: 0;
}

/* フッター上の従来の50px余白をなくし、パンくず下20pxに統一。 */
.breadcrumb ~ .footer {
    margin-top: 0;
}

/* Voicesは一覧セクション内に末尾余白があるため、二重にしない。 */
body:has(> .breadcrumb) .voices__archive {
    padding-bottom: 0;
}
