/* Scoped editorial presentation on the existing AFFINGER document shell. */
body.bon-editorial-site { background:#fbfbfc; color:#202329; }
.bon-editorial-site #wrapper,.bon-editorial-site #wrapper-in { max-width:none; width:auto; background:transparent; }
.bon-editorial-site #header-full,.bon-editorial-site #headbox-bg,.bon-editorial-site #s-navi,.bon-editorial-site #st-header-under-widgets-box { display:none; }
.bon-editorial-site #footer { background:transparent; }
.bon-mag-nav,.bon-magazine { max-width:1160px; margin:0 auto; padding:0 32px; box-sizing:border-box; }
.bon-mag-nav { display:flex; justify-content:space-between; align-items:center; min-height:96px; border-bottom:1px solid #dde0e6; gap:24px; }
.bon-mag-nav a { color:#263e34; text-decoration:none; font-size:13px; letter-spacing:.06em; }
.bon-mag-nav > a:first-child { font-family:Georgia,serif; font-size:26px; letter-spacing:.08em; font-weight:bold; }
.bon-mag-nav > a:first-child span { font-family:serif; font-size:12px; padding-left:14px; font-weight:400; }
.bon-magazine * { box-sizing:border-box; }
.bon-magazine a { color:inherit; }
.bon-magazine a:focus-visible,.bon-mag-nav a:focus-visible { outline:3px solid #627d6b; outline-offset:5px; }
.bon-magazine p { font-size:15px; line-height:1.95; margin:0 0 20px; color:#555c66; }
.bon-magazine h1,.bon-magazine h2,.bon-magazine h3 { background:none; border:0; padding:0; color:#17191d; font-weight:600; line-height:1.6; box-shadow:none; }
.bon-magazine h1:before,.bon-magazine h2:before,.bon-magazine h3:before,.bon-magazine h2:after { display:none; }
.bon-magazine .bon-eyebrow { font-family:Arial,sans-serif; font-size:11px; letter-spacing:.16em; color:#69717f; font-weight:600; margin:0 0 16px; }
.bon-issue { display:flex; justify-content:space-between; padding:28px 0; font-size:11px; letter-spacing:.14em; color:#6b786d; }
.bon-feature { display:grid; grid-template-columns: .9fr 1.1fr; background:#edeee8; min-height:470px; }
.bon-feature-copy { padding:46px 40px; align-self:center; }
.bon-magazine .bon-feature h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:clamp(25px,3vw,38px); margin:0 0 24px; letter-spacing:.02em; }
.bon-feature-image { min-width:0; display:block; }
.bon-feature-image img { width:100%; height:100%; object-fit:cover; display:block; }
.bon-magazine .bon-button { display:flex; width:180px; background:#284837; color:white; justify-content:space-between; padding:14px 20px; text-decoration:none; font-size:13px; }
.bon-section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin:70px 0 30px; }
.bon-section-heading h2 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:27px; margin:0; }
.bon-section-heading p { margin:0; font-size:13px; }
.bon-section-heading .bon-eyebrow { margin-bottom:10px; }
.bon-story-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:42px 32px; }
.bon-story-card { min-width:0; }
.bon-story-card a { display:block; height:100%; text-decoration:none; background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 1px 2px rgb(16 24 40 / .05),0 6px 18px rgb(16 24 40 / .07); transition:transform .2s ease,box-shadow .2s ease; }
.bon-story-card a:hover { transform:translateY(-2px); box-shadow:0 2px 4px rgb(16 24 40 / .06),0 12px 28px rgb(16 24 40 / .1); }
.bon-story-card a:focus-visible { outline:2px solid #17191d; outline-offset:3px; }
.bon-story-card .bon-card-media { position:relative; display:block; }
.bon-story-card img { width:100%; aspect-ratio:3 / 2; object-fit:cover; display:block; transition:filter .2s; }
.bon-card-type { position:absolute; top:10px; left:10px; padding:3px 8px; border-radius:3px; background:rgb(236 238 242 / .92); color:#434a56; font-size:11px; line-height:1.5; letter-spacing:.04em; }
.bon-story-card a:hover img { filter:brightness(.94); }
.bon-story-card h3,.bon-story-card h2 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:17px; line-height:1.6; margin:12px 16px 16px; padding:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.bon-read-link { display:flex; justify-content:space-between; font-size:12px; padding:12px 0; border-bottom:1px solid #dde0e6; }
.bon-about { margin:70px 0 50px; padding:44px; text-align:center; border-top:1px solid #dde0e6; border-bottom:1px solid #dde0e6; }
.bon-about h2 { font-family:serif; font-size:28px; }
.bon-about small { font-size:11px; color:#737b75; }
.bon-breadcrumb { font-size:11px; color:#69717f; margin:24px 0 40px; }
.bon-article-header { max-width:810px; margin:0 auto 32px; text-align:center; }
.bon-magazine .bon-article-header h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:clamp(27px,3.2vw,41px); line-height:1.6; letter-spacing:.035em; margin:12px 0 24px; }
.bon-magazine .bon-deck { max-width:650px; font-size:16px; margin:0 auto 22px; }
.bon-magazine .bon-byline { color:#717985; font-size:11px; }
.bon-byline span { margin-left:18px; }
.bon-cover { margin:0 0 50px; }
.bon-cover img { display:block; width:100%; max-height:560px; object-fit:cover; }
.bon-cover figcaption { text-align:right; color:#717985; font-size:10px; margin-top:8px; }
.bon-reading-layout { max-width:700px; margin:0 auto; }
.bon-index { margin:0 0 24px; border-top:1px solid #dde0e6; border-bottom:1px solid #dde0e6; }
.bon-index summary { cursor:pointer; padding:12px 0; font-size:13px; color:#535c69; }
.bon-index summary::after { content:"＋"; float:right; }
.bon-index[open] summary::after { content:"−"; }
.bon-index summary:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
.bon-index nav { padding:4px 0 12px; }
.bon-index ol { padding-left:20px; margin:0; }
.bon-index li { font-size:12px; line-height:1.9; margin-bottom:15px; color:#626a76; }
.bon-index a { text-decoration:none; }
.bon-index a:hover { text-decoration:underline; }
.bon-takeaways { padding:28px 32px; background:#f2f3f6; border-left:3px solid #202329; margin-bottom:48px; }
.bon-takeaways ul { padding-left:20px; margin:0; }
.bon-takeaways li { font-size:15px; line-height:1.9; margin-bottom:8px; }
.bon-prose section { margin-bottom:48px; }
.bon-section-number { color:#939aa5; font-size:13px; letter-spacing:.14em; margin-bottom:8px; }
.bon-prose h2 { font-size:25px; margin:0 0 24px; scroll-margin-top:30px; }
.bon-prose p { font-size:16px; line-height:2.15; color:#30343b; margin-bottom:22px; overflow-wrap:anywhere; }
.bon-prose .bon-source-links { font-size:11px; color:#69717f; }
.bon-table-wrap { overflow-x:auto; margin:28px 0; }
.bon-magazine table { width:100%; border-collapse:collapse; font-size:13px; line-height:1.8; border:0; }
.bon-magazine table caption { text-align:left; font-size:11px; color:#69717f; padding:0 0 12px; }
.bon-magazine th,.bon-magazine td { border:0; border-bottom:1px solid #dde0e6; padding:16px; vertical-align:top; text-align:left; background:transparent; }
.bon-magazine thead th { background:#eceef2; color:#30343b; }
.bon-magazine tbody th { width:30%; font-weight:500; }
.bon-bibliography { border-top:1px solid #dde0e6; padding-top:32px; }
.bon-bibliography h2 { font-size:20px; }
.bon-bibliography ol { padding-left:20px; }
.bon-bibliography li { font-size:12px; margin-bottom:18px; overflow-wrap:anywhere; }
.bon-bibliography li span { display:block; color:#717985; font-size:11px; margin-top:5px; }
.bon-prose .bon-editor-note { font-size:12px; color:#717985; padding:20px; background:#f2f3f6; }
.bon-related { border-top:1px solid #dde0e6; margin:30px 0 70px; }
.bon-related .bon-section-heading { margin-top:35px; }
.bon-related .bon-section-heading > a { font-size:12px; white-space:nowrap; }
@media(max-width:800px) {
 .bon-mag-nav,.bon-magazine { padding-left:22px; padding-right:22px; }
 .bon-feature { grid-template-columns:1fr; }
 .bon-feature-copy { padding:32px; }
 .bon-feature-image { order:-1; }
 .bon-feature-image img { max-height:400px; aspect-ratio:3/2; }
 .bon-index ol { columns:2; column-gap:32px; }
 .bon-index li { break-inside:avoid; }
 .bon-cover { margin-bottom:24px; }
 .bon-section-heading { align-items:start; }
}
@media(max-width:520px) {
 .bon-mag-nav { min-height:76px; gap:10px; }
 .bon-mag-nav > a:first-child { font-size:20px; }
 .bon-mag-nav > a:first-child span { display:block; font-size:9px; padding:4px 0 0; }
 .bon-mag-nav > a:last-child { font-size:11px; }
 .bon-issue { font-size:9px; letter-spacing:.04em; padding:22px 0; }
 .bon-feature-copy { padding:26px; }
 .bon-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 12px; }
 .bon-section-heading { display:block; margin-top:44px; }
 .bon-section-heading h2 { font-size:23px; }
 .bon-section-heading > p { margin-top:12px; }
 .bon-story-card h3,.bon-story-card h2 { font-size:14px; line-height:1.55; margin:8px 10px 12px; -webkit-line-clamp:3; }
 .bon-story-card a { border-radius:10px; }
 .bon-card-type { top:6px; left:6px; padding:2px 6px; font-size:10px; }
 .bon-about { padding:28px 8px; margin-top:44px; }
 .bon-about br { display:none; }
 .bon-breadcrumb { margin-bottom:28px; }
 .bon-article-header { text-align:left; }
 .bon-magazine .bon-deck { font-size:15px; }
 .bon-byline span { display:block; margin-left:0; }
 .bon-cover img { aspect-ratio:3/2; }
 .bon-cover figcaption { text-align:left; }
 .bon-index ol { columns:1; }
 .bon-takeaways { padding:22px; }
 .bon-prose h2 { font-size:23px; }
 .bon-prose p { font-size:16px; line-height:2.05; }
 .bon-magazine th,.bon-magazine td { padding:12px 8px; font-size:12px; }
 .bon-related .bon-section-heading > a { display:block; margin-top:14px; }
}

/* Reading pages share the current homepage identity. */
.bon-reading { font-family:-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif; }
.bon-article-header { max-width:760px; text-align:left; margin:0 auto 32px; }
.bon-magazine .bon-article-header h1 { font-family:inherit; font-weight:700; font-size:clamp(28px,3.4vw,44px); line-height:1.45; letter-spacing:-.025em; }
.bon-magazine .bon-deck { margin:0 0 22px; }
.bon-cover { max-width:960px; margin-left:auto; margin-right:auto; }
.bon-takeaways { border-left:0; border-radius:8px; padding:24px 28px; }
.bon-takeaways .bon-eyebrow { letter-spacing:.04em; color:#353b45; }
.bon-section-number { font:11px/1.5 Arial,sans-serif; }
.bon-prose h2 { font-weight:700; letter-spacing:-.02em; }
.bon-reading .bon-story-card h3,.bon-reading .bon-section-heading h2 { font-family:inherit; }
.bon-reading .bon-story-card img { border-radius:0; }
@media(max-width:520px) { .bon-magazine { padding-left:20px; padding-right:20px; } .bon-takeaways { padding:20px; } }

@media(max-width:700px) {
 .bon-reading .bon-cover { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
 .bon-reading .bon-cover img { width:100%; max-width:none; border-radius:0; }
 .bon-reading .bon-cover figcaption { padding:0 20px; text-align:left; }
}

.bon-inline-image { margin:0 0 28px; }
.bon-inline-image img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.bon-inline-image figcaption { margin-top:8px; font-size:10px; line-height:1.7; color:#858c96; }
@media(max-width:700px) {
 .bon-reading .bon-inline-image { width:100vw; max-width:none; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
 .bon-inline-image figcaption { padding:0 20px; }
}

.bon-inline-related { margin:30px 0 8px; }
.bon-prose .bon-inline-context { font-size:12px; line-height:1.8; margin:0 0 10px; color:#727a86; }

/* Native AFFINGER breadcrumb: retain ListItem microdata and taxonomy ancestry. */
.bon-breadcrumb ol { display:flex; flex-wrap:wrap; gap:6px; list-style:none; padding:0; margin:0; }
.bon-breadcrumb li { list-style:none; margin:0; padding:0; font-size:11px; }
.bon-manifesto { padding-bottom:80px; }
.bon-manifesto > article > header { max-width:700px; margin:50px auto; }
.bon-manifesto h1 { font-family:'Hiragino Mincho ProN','Yu Mincho',serif; font-size:clamp(32px,5vw,58px); line-height:1.5; letter-spacing:-.03em; }
.bon-manifesto .bon-manifesto-lead { font-size:clamp(18px,2.5vw,23px); line-height:1.9; }
.bon-manifesto .bon-reading-layout section { margin-top:56px; padding-top:28px; border-top:1px solid #dde0e6; }
.bon-manifesto h2 { font-size:clamp(22px,3vw,30px); }
.bon-manifesto p { line-height:2; }

/* Service pages share the reading layout and native form semantics. */
.bon-service .bon-prose {max-width:720px;margin:0 auto;}
.bon-service label {display:block;margin:1.4rem 0 .5rem;font-weight:600;}
.bon-service input:not([type=checkbox]):not([type=submit]),.bon-service select,.bon-service textarea {box-sizing:border-box;width:100%;max-width:100%;margin-top:.5rem;border:1px solid #aaa;border-radius:4px;padding:.8rem;background:#fff;color:#111;font:inherit;}
.bon-service input[type=submit] {background:#111;color:#fff;border:0;padding:1rem 2rem;cursor:pointer;font:inherit;}
.bon-service :focus-visible {outline:2px solid #146c7c;outline-offset:3px;}
.bon-contact-honey {position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden;}
.bon-contact-notice {border-left:3px solid #888;padding:1rem;background:#f4f4f4;}

.bon-service article > header {max-width:720px;margin:0 auto 2rem;}
.bon-service article > header h1 {font-size:clamp(26px,4vw,38px);line-height:1.5;text-align:left;}

/* Image attribution: required for CC sources, kept deliberately quiet. */
.bon-image-credit{display:block;margin-top:.35em;font-size:.72em;line-height:1.5;opacity:.62;letter-spacing:.01em}

/* AFFINGERの「上に戻る」ボタンは使わない。st-smartfooter-menu.php が出力する。 */
#page-top { display:none !important; }
.bon-shelf-page .bon-eyebrow a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; }
.bon-shelf-section { margin:0 0 56px; }
.bon-shelf-head { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 20px; padding-bottom:12px; border-bottom:1px solid #d6dbe2; }
.bon-magazine .bon-shelf-head h2,#main-content .bon-shelf-head h2 { font-size:22px; line-height:1.4; margin:0; padding:0; background:none; border:0; }
.bon-magazine .bon-shelf-head h2:before,.bon-magazine .bon-shelf-head h2:after { display:none; }
.bon-shelf-head a { flex:none; font-size:13px; color:#434a56; text-decoration:none; }
.bon-shelf-head a:hover { text-decoration:underline; }
.bon-shelf-page .bon-story-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px 20px; }
.bon-shelf-page .bon-story-card h2,.bon-shelf-page .bon-story-card h3 { font-size:15px; margin:10px 14px 14px; }
@media(max-width:860px) { .bon-shelf-page .bon-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .bon-shelf-page .bon-story-grid { gap:16px 12px; } .bon-shelf-page .bon-story-card h2,.bon-shelf-page .bon-story-card h3 { font-size:14px; margin:8px 10px 12px; } .bon-shelf-section { margin-bottom:40px; } #main-content .bon-shelf-head h2 { font-size:18px; } .bon-shelf-head a { font-size:12px; } }
.bon-role-filter { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.bon-role-filter button { font:inherit; font-size:13px; padding:7px 14px; border:0; border-radius:999px; background:#eef0f4; color:#434a56; cursor:pointer; transition:background .2s; }
.bon-role-filter button:hover { background:#dfe3ea; }
.bon-role-filter button[aria-pressed=true] { background:#15191f; color:#fff; }
.bon-role-item[hidden] { display:none; }
.bon-role-item > .bon-story-card { height:100%; }
@media(max-width:520px) { .bon-role-filter { gap:6px; margin-bottom:18px; } .bon-role-filter button { font-size:12px; padding:6px 11px; } }
