.knowledge-article-page {
    background: var(--bdb-surface, #fff);
    color: var(--bdb-text, #243147);
    padding: 28px 24px 72px;
}

.knowledge-article-breadcrumb,
.knowledge-article {
    width: 100%;
    max-width: 760px;
    margin-inline: auto;
}

.knowledge-article-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 44px;
    font-size: 14px;
    color: var(--bdb-muted, #5f6f82);
}

.knowledge-article-breadcrumb a,
.knowledge-article-meta a,
.knowledge-article-footer a {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: #b7c2cf;
}

.knowledge-article-breadcrumb a:hover,
.knowledge-article-footer a:hover {
    color: var(--bdb-brand-navy, #14233f);
    text-decoration-color: currentColor;
}

.knowledge-article-header {
    margin-bottom: 26px;
}

.knowledge-article-topic {
    margin-bottom: 14px;
    color: var(--bdb-muted, #5f6f82);
    font-size: 14px;
    font-weight: 500;
}

.knowledge-article-header h1 {
    color: var(--bdb-brand-navy, #14233f);
    font-size: clamp(27px, 3.6vw, 38px);
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: .01em;
    overflow-wrap: anywhere;
}

.knowledge-article-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin-top: 24px;
    color: var(--bdb-muted, #5f6f82);
    font-size: 13px;
    line-height: 1.65;
}

.knowledge-article-toc {
    margin-bottom: 34px;
    border-top: 1px solid var(--bdb-line, #d9e1ea);
    border-bottom: 1px solid var(--bdb-line, #d9e1ea);
}

.knowledge-article-toc summary {
    min-height: 48px;
    padding-block: 13px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
}

.knowledge-article-toc summary:focus-visible {
    outline: 3px solid var(--bdb-focus, #2563eb);
    outline-offset: 3px;
}

.knowledge-article-toc nav {
    padding: 0 0 18px;
}

.knowledge-article-toc ul,
.knowledge-article-toc ol {
    margin: 0;
    padding-left: 1.4em;
    list-style: disc;
}

.knowledge-article-toc li {
    margin-block: 8px;
    font-size: 15px;
}

.knowledge-article-toc a {
    color: var(--bdb-brand-navy, #14233f);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-color: #b7c2cf;
}

.knowledge-article-body {
    font-size: 17px;
    line-height: 1.95;
    overflow-wrap: anywhere;
}

.knowledge-article-body :where(p, li, td, th) {
    line-height: 1.95;
}

.knowledge-article-body > :first-child {
    margin-top: 0;
}

.knowledge-article-body p {
    margin-block: 22px;
}

.knowledge-article-body h2 {
    margin: 54px 0 22px;
    color: var(--bdb-brand-navy, #14233f);
    font-size: 25px;
    font-weight: 700;
    line-height: 1.65;
}

.knowledge-article-body h3 {
    margin: 34px 0 16px;
    color: var(--bdb-brand-navy, #14233f);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.65;
}

.knowledge-article-body :where(h2, h3, h4, [id]) {
    scroll-margin-top: 92px;
}

.knowledge-article-body strong {
    color: var(--bdb-brand-navy, #14233f);
    font-weight: 700;
}

.knowledge-article-body a {
    color: #215daf;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
}

.knowledge-article-body a:hover,
.knowledge-article-toc a:hover {
    color: #154380;
    text-decoration-thickness: 2px;
}

.knowledge-article-body ul,
.knowledge-article-body ol {
    margin-block: 22px;
    padding-left: 1.5em;
}

.knowledge-article-body ul { list-style: disc; }
.knowledge-article-body ol { list-style: decimal; }
.knowledge-article-body li { margin-block: 10px; padding-left: 4px; }
.knowledge-article-body > ol > li { padding-block:5px; }
.knowledge-article-body > p:last-child a[href="https://bousaidb.jp/map"] {
    display:inline-block; padding:4px 7px; margin-block:3px;
    background:#fff2b3; color:#14233f; font-weight:700;
}
.knowledge-article-body li > p { margin-block: 8px; }

.knowledge-article-body table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
    margin-block: 28px;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    font-size: 15px;
}

.knowledge-article-body th,
.knowledge-article-body td {
    min-width: 9rem;
    padding: 14px 16px;
    border: 1px solid var(--bdb-line, #d9e1ea);
    text-align: left;
    vertical-align: top;
    line-height: 1.75;
}

.knowledge-article-body th {
    background: #f5f7f9;
    font-weight: 600;
}

.knowledge-article-body td:not(:first-child) {
    min-width: 14rem;
}

.knowledge-article-body blockquote {
    margin-block: 28px;
    padding: 2px 0 2px 22px;
    border-left: 3px solid #b7c2cf;
    color: #48596b;
}

.knowledge-article-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-block: 28px;
}

.knowledge-article-body hr {
    margin-block: 40px;
    border: 0;
    border-top: 1px solid var(--bdb-line, #d9e1ea);
}

.knowledge-article-body code {
    padding: 2px 4px;
    background: #f2f5f8;
    font-size: .9em;
}

.knowledge-article-body pre {
    max-width: 100%;
    overflow-x: auto;
    margin-block: 24px;
    padding: 18px;
    background: #f2f5f8;
    white-space: pre;
}

.knowledge-article-body pre code { padding: 0; }

.knowledge-article-footer {
    margin-top: 48px;
    padding-top: 24px;
    border-top: 1px solid var(--bdb-line, #d9e1ea);
    font-size: 15px;
}

.knowledge-article-footer a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.knowledge-article-method {
    margin-bottom: 24px;
    line-height: 1.85;
}

.knowledge-article-method h2 {
    margin-bottom: 12px;
    font-size: 16px;
    font-weight: 600;
}

.knowledge-article-method p + p {
    margin-top: 12px;
    color: var(--bdb-muted, #5f6f82);
}

@media (max-width: 640px) {
    .knowledge-article-page { padding: 22px 20px 48px; }
    .knowledge-article-breadcrumb { margin-bottom: 28px; }
    .knowledge-article-topic { margin-bottom: 10px; }
    .knowledge-article-header h1 { font-size: 27px; line-height: 1.55; }
    .knowledge-article-meta { margin-top: 20px; gap: 6px 16px; }
    .knowledge-article-toc { margin-bottom: 28px; }
    .knowledge-article-body { font-size: 16px; }
    .knowledge-article-body h2 { margin-top: 40px; font-size: 22px; }
    .knowledge-article-body h3 { margin-top: 28px; font-size: 19px; }
    .knowledge-article-body th,
    .knowledge-article-body td { padding: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    .knowledge-article-page,
    .knowledge-article-page * {
        scroll-behavior: auto;
    }
}

.knowledge-article-page { font-family:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; }
.ka-byline { display:inline-flex; align-items:center; gap:9px; }
.ka-byline img { width:36px; height:36px; object-fit:cover; object-position:50% 28%; border-radius:50%; }
.knowledge-article-meta { align-items:center; }
.ka-proposal-notice { padding:15px 18px; background:#fff8d6; font-size:14px; line-height:1.8; margin-bottom:25px; }
.ka-cover { margin-bottom:30px; }
.ka-cover img { width:100%; height:auto; }
.ka-cover figcaption { color:#596576; font-size:11px; margin-top:6px; }
.ka-intro { padding:0 0 22px; }
.ka-intro > p { margin-top:0; }
.ka-sources { padding:26px 0; border-block:1px solid #dce1e6; margin:28px 0; scroll-margin-top:80px; }
.ka-sources h2 { font-size:20px; font-weight:700; }
.ka-source-date { margin-top:8px; font-size:12px; color:#596576; }
.ka-sources li { margin-top:12px; }
.ka-sources li a { display:inline-block; font-size:14px; line-height:1.8; padding:6px 0; overflow-wrap:anywhere; }
html:has(.knowledge-article-page) { scroll-behavior:smooth; }
@media(prefers-reduced-motion:reduce) { html:has(.knowledge-article-page) { scroll-behavior:auto; } }

.ka-tags { margin-top:16px; }
.ka-tags a { padding:0 10px; background:#f5f6f7; border-radius:3px; }
.knowledge-article-body h2 {
    padding: 13px 16px 14px;
    border-left: 5px solid #ffd84d;
    background: #fff9df;
}
.knowledge-article-body h3 {
    padding-left: 14px;
    border-left: 3px solid var(--bdb-brand-navy, #14233f);
}
.ka-intro strong {
    padding-inline: .08em;
    background: linear-gradient(transparent 58%, rgba(255, 216, 77, .62) 58%);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.knowledge-article-body th { background:#faf6df; }

@media (max-width: 640px) {
    .knowledge-article-body h2 {
        padding: 11px 12px 12px;
        border-left-width: 4px;
    }
    .knowledge-article-body h3 { padding-left: 11px; }
}
