/* 國相寺ブログ装飾 — 本文の見た目（表示側） */
.ksj-content{
  --ksj-fg:#2a2825; --ksj-muted:#6b665d; --ksj-rule:#e3ded4;
  --ksj-main:#2f4a66; --ksj-accent:#b08d4a; --ksj-accent-soft:#f1e7cf;
  --ksj-paper:#f7f4ee; --ksj-box-border:#d9d2c3; --ksj-radius:4px; --ksj-radius-img:3px;
  --ksj-serif:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
  --ksj-sans:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--ksj-fg); font-family:var(--ksj-serif); font-size:16px; line-height:1.95; letter-spacing:.02em;
}
.ksj-terayome .ksj-content, .ksj-content.ksj-terayome{
  --ksj-main:#9a5a68; --ksj-accent:#d9a06b; --ksj-accent-soft:#fbe9e0; --ksj-paper:#fbf6f2; --ksj-box-border:#eacfc6; --ksj-rule:#eee3dd; --ksj-radius:14px; --ksj-radius-img:14px;
}
.ksj-content p{margin:0 0 1.6em; line-height:1.95}
.ksj-content a{color:var(--ksj-main); text-decoration:underline; text-decoration-color:var(--ksj-box-border); text-underline-offset:3px}
.ksj-content a:hover{text-decoration-color:var(--ksj-main)}
.ksj-content strong{font-weight:700}
.ksj-content mark{background:linear-gradient(transparent 55%,var(--ksj-accent-soft) 55%); color:inherit; padding:0 .1em}
.ksj-content em{font-style:normal}

/* 導入文 */
.ksj-content p.is-style-ksj-lead{font-size:17px; line-height:2.05; letter-spacing:.04em; margin:0 0 28px; padding-left:14px; border-left:3px solid var(--ksj-accent)}
.ksj-terayome .ksj-content, .ksj-content.ksj-terayome p.is-style-ksj-lead{border-left:none; padding:16px 18px; background:var(--ksj-paper); border-radius:12px}

/* 見出し */
.ksj-content h2{font-family:var(--ksj-serif); font-size:21px; line-height:1.5; font-weight:700; color:var(--ksj-fg); margin:52px 0 22px; padding:6px 0 6px 16px; border-left:5px solid var(--ksj-main); border-bottom:1px solid var(--ksj-rule); letter-spacing:.04em}
.ksj-terayome .ksj-content, .ksj-content.ksj-terayome h2{border-left:none; border-bottom:none; background:var(--ksj-paper); border-radius:10px; padding:10px 16px}
.ksj-terayome .ksj-content, .ksj-content.ksj-terayome h2::before{content:""; display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--ksj-main); margin-right:10px; vertical-align:middle}
.ksj-content h3{font-family:var(--ksj-serif); font-size:17.5px; line-height:1.6; font-weight:700; color:var(--ksj-fg); margin:36px 0 14px; padding-left:14px; border:none; position:relative; letter-spacing:.03em}
.ksj-content h3::before{content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; background:var(--ksj-accent)}
.ksj-terayome .ksj-content, .ksj-content.ksj-terayome h3::before{border-radius:50%}
.ksj-content h2:first-child{margin-top:0}

/* 箇条書き・表 */
.ksj-content ul,.ksj-content ol{margin:0 0 1.6em; padding-left:1.5em; line-height:1.9}
.ksj-content ul{list-style:disc} .ksj-content ol{list-style:decimal}
.ksj-content ul > li{list-style:disc; display:list-item} .ksj-content ol > li{list-style:decimal; display:list-item}
.ksj-content li{margin:0 0 .35em}
.ksj-content li::marker{color:var(--ksj-accent)}
.ksj-content .wp-block-table{margin:0 0 1.8em}
.ksj-content table{width:100%; border-collapse:collapse; font-size:15px; line-height:1.7}
.ksj-content th,.ksj-content td{border:1px solid var(--ksj-rule); padding:8px 10px; text-align:left; vertical-align:top}
.ksj-content th{background:var(--ksj-paper); font-family:var(--ksj-sans); font-weight:500; font-size:13.5px; color:var(--ksj-muted)}

/* 写真 */
.ksj-content figure.wp-block-image{margin:30px 0}
.ksj-content figure.wp-block-image img{display:block; width:100%; height:auto; border-radius:var(--ksj-radius-img)}
.ksj-content figure.wp-block-image figcaption{font-family:var(--ksj-sans); font-size:12.5px; color:var(--ksj-muted); text-align:center; margin-top:8px; line-height:1.7}

/* 箱（ポイント・ことば・アクセス・参考） */
.ksj-content .is-style-ksj-point,.ksj-content .is-style-ksj-term,.ksj-content .is-style-ksj-access,.ksj-content .is-style-ksj-ref{
  border:1px solid var(--ksj-box-border); background:var(--ksj-paper); padding:20px 22px 8px; margin:30px 0; border-radius:var(--ksj-radius); position:relative}
.ksj-content .is-style-ksj-term{background:transparent; border-style:dashed}
.ksj-content .is-style-ksj-ref{padding:16px 18px 4px; border-radius:2px}
.ksj-content :is(.is-style-ksj-point,.is-style-ksj-term,.is-style-ksj-access,.is-style-ksj-ref) .ksj-box__title{
  position:absolute; top:-11px; left:16px; background:#fff; color:var(--ksj-main); font-family:var(--ksj-sans); font-size:12.5px; letter-spacing:.12em; padding:0 8px; font-weight:700; margin:0; line-height:1.6}
.ksj-content .is-style-ksj-point p,.ksj-content .is-style-ksj-term p,.ksj-content .is-style-ksj-access p{font-size:15.5px; margin-bottom:1em}
.ksj-content .is-style-ksj-point ul,.ksj-content .is-style-ksj-point ol{margin-bottom:1em; font-size:15.5px}
.ksj-content .is-style-ksj-access p strong{display:inline-block; min-width:4.5em; font-family:var(--ksj-sans); font-weight:500; font-size:13px; color:var(--ksj-muted); margin-right:.4em}
.ksj-content .is-style-ksj-ref p{font-family:var(--ksj-sans); font-size:13px; color:var(--ksj-muted); line-height:1.8; margin-bottom:.8em}

/* 吹き出し */
.ksj-content .is-style-ksj-talk{margin:30px 0}
.ksj-content .is-style-ksj-talk > .wp-block-group__inner-container{display:flex; gap:14px; align-items:flex-start}
.ksj-content .is-style-ksj-talk > .wp-block-group__inner-container > *{margin:0}
.ksj-content .is-style-ksj-talk p:first-of-type{flex:0 0 56px; width:56px; height:56px; margin:0; border-radius:50%; background:var(--ksj-paper); border:1px solid var(--ksj-box-border); display:grid; place-items:center; font-family:var(--ksj-sans); font-size:12px; color:var(--ksj-muted); text-align:center; line-height:1.2}
.ksj-content .is-style-ksj-talk p:last-of-type{position:relative; flex:1 1 auto; min-width:0; margin:0; background:var(--ksj-paper); border:1px solid var(--ksj-box-border); border-radius:12px; padding:12px 16px; font-size:15.5px; line-height:1.9}
.ksj-content .is-style-ksj-talk p:last-of-type::before{content:""; position:absolute; left:-9px; top:20px; border:8px solid transparent; border-right-color:var(--ksj-box-border); border-left:0}
.ksj-content .is-style-ksj-talk p:last-of-type::after{content:""; position:absolute; left:-7px; top:21px; border:7px solid transparent; border-right-color:var(--ksj-paper); border-left:0}

/* 史料の引用 */
.ksj-content blockquote.is-style-ksj-quote{margin:30px 0; padding:4px 0 4px 20px; border-left:2px solid var(--ksj-accent); color:var(--ksj-muted); font-size:15.5px; background:none}
.ksj-content blockquote.is-style-ksj-quote p{margin:0 0 .4em}
.ksj-content blockquote.is-style-ksj-quote cite{display:block; font-family:var(--ksj-sans); font-size:12.5px; margin-top:4px; font-style:normal; color:var(--ksj-muted)}

/* 目次 */
.ksj-content .is-style-ksj-toc{border:1px solid var(--ksj-box-border); background:var(--ksj-paper); padding:16px 22px 10px; margin:26px 0 38px; border-radius:var(--ksj-radius)}
.ksj-content .is-style-ksj-toc .ksj-box__title{position:static; font-family:var(--ksj-sans); font-size:12.5px; letter-spacing:.14em; color:var(--ksj-muted); margin:0 0 6px}
.ksj-content .is-style-ksj-toc ol{margin:0; font-size:15px; line-height:2; padding-left:1.4em}
.ksj-content .is-style-ksj-toc li{margin:0; list-style:decimal}
.ksj-content .is-style-ksj-toc a{text-decoration:none}

/* 関連記事（サムネイル付きカード） */
.ksj-content .is-style-ksj-rel{margin:40px 0 36px}
.ksj-content .is-style-ksj-rel .ksj-box__title{position:static; font-family:var(--ksj-sans); font-size:12.5px; letter-spacing:.14em; color:var(--ksj-muted); margin:0 0 12px}
.ksj-content .is-style-ksj-rel ul{list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:16px}
.ksj-content .is-style-ksj-rel li{margin:0; list-style:none; display:flex}
.ksj-content .is-style-ksj-rel li a{flex:1 1 auto; display:flex; gap:14px; align-items:stretch; border:1px solid var(--ksj-box-border); border-radius:var(--ksj-radius); padding:12px; text-decoration:none; color:var(--ksj-fg); background:#fff; min-width:0}
.ksj-content .is-style-ksj-rel li a:hover{border-color:var(--ksj-main); background:var(--ksj-paper)}
.ksj-content .ksj-card__thumb{flex:0 0 112px; width:112px}
.ksj-content .ksj-card__img{display:block; width:112px; height:84px; object-fit:cover; border-radius:calc(var(--ksj-radius) - 1px); background:var(--ksj-paper)}
.ksj-content .ksj-card__img--none{background:var(--ksj-paper) repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.04) 6px 7px)}
.ksj-content .ksj-card__body{display:flex; flex-direction:column; justify-content:center; gap:4px; min-width:0}
.ksj-content .ksj-card__meta{font-family:var(--ksj-sans); font-size:11.5px; letter-spacing:.08em; color:var(--ksj-main)}
.ksj-content .ksj-card__title{font-size:14.5px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
@media (max-width:420px){ .ksj-content .ksj-card__thumb{flex-basis:92px; width:92px} .ksj-content .ksj-card__img{width:92px; height:69px} }


/* 記事カード（1枚・本文中） */
.ksj-content .ksj-rel--single{margin:22px 0 34px}
.ksj-content .ksj-rel--single ul{grid-template-columns:1fr}
.ksj-content .ksj-rel--single li a{padding:14px}
.ksj-content .ksj-rel--single .ksj-card__thumb{flex-basis:160px; width:160px}
.ksj-content .ksj-rel--single .ksj-card__img{width:160px; height:112px}
.ksj-content .ksj-rel--single .ksj-card__title{font-size:15.5px; -webkit-line-clamp:2}
@media (max-width:420px){ .ksj-content .ksj-rel--single .ksj-card__thumb{flex-basis:104px; width:104px} .ksj-content .ksj-rel--single .ksj-card__img{width:104px; height:78px} }

/* 下書きメモ（公開前に消す） */
.ksj-content .ksj-memo{color:#8a5a00; font-style:italic}

/* 区切り */
.ksj-content hr{border:0; height:1px; background:var(--ksj-rule); margin:48px 0}

@media (max-width:600px){
  .ksj-content h2{font-size:19px; margin-top:44px}
  .ksj-content p.is-style-ksj-lead{font-size:16.5px}
  .ksj-content .is-style-ksj-access p strong{display:block; min-width:0; margin:0}
}

.ksj-content :is(.is-style-ksj-point,.is-style-ksj-term,.is-style-ksj-access,.is-style-ksj-ref) > .wp-block-group__inner-container > :last-child{margin-bottom:.6em}
.ksj-content .is-style-ksj-point ul{margin-bottom:.6em}

/* ---------- 記事ページのサイドバー ---------- */
.ksj-pv{display:inline-block;margin-left:1em;font-size:.85em;color:#6b665d;white-space:nowrap}
.ksj-pv::before{content:"\f177";font-family:dashicons;font-size:1.1em;vertical-align:-2px;margin-right:.15em}
.ksj-side{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#2a2825}
.ksj-side__box{margin:0 0 2.4em}
.ksj-side__h{font-size:.95rem;font-weight:700;letter-spacing:.1em;color:#2f4a66;margin:0 0 .9em;padding:0 0 .5em .6em;border-left:3px solid #b08d4a;border-bottom:1px solid #e3ded4}
.ksj-side__list{list-style:none;margin:0;padding:0}
.ksj-side__list li{margin:0 0 .85em}
.ksj-side__list a{display:flex;gap:.75em;align-items:flex-start;text-decoration:none;color:#2a2825}
.ksj-side__list a:hover .ksj-side__title{color:#e23830}
.ksj-side__thumb{flex:0 0 64px;width:64px;height:64px;border-radius:4px;background:#efece6 center/cover no-repeat}
.ksj-side__text{min-width:0}
.ksj-side__title{display:block;font-size:.88rem;line-height:1.55}
.ksj-side__date{display:block;font-size:.74rem;color:#8a857b;margin-top:.25em}
.ksj-side__cats,.ksj-side__arch{list-style:none;margin:0;padding:0;font-size:.88rem}
.ksj-side__cats li,.ksj-side__arch li{padding:.4em .2em;border-bottom:1px dotted #e3ded4}
.ksj-side__cats a,.ksj-side__arch a{color:#2a2825;text-decoration:none}
.ksj-side__cats a:hover,.ksj-side__arch a:hover{color:#e23830}
.ksj-side__count{color:#8a857b;font-size:.82em;margin-left:.35em}
.ksj-side__empty{font-size:.85rem;color:#8a857b;margin:0}
@media (min-width:992px){
  html body .content-wrap .inner-s.ksj-has-sidebar{width:1100px;display:flex;align-items:flex-start;gap:60px}
  .ksj-has-sidebar .article-detail{flex:0 0 730px;width:730px;min-width:0}
  .ksj-has-sidebar .ksj-side{flex:0 0 310px;width:310px}
}
@media (max-width:991px){
  .ksj-has-sidebar .ksj-side{margin-top:3em;padding-top:1.5em;border-top:1px solid #e3ded4}
}
html body .content-wrap .ksj-side{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.6}
html body .content-wrap .ksj-side .ksj-side__arch li,html body .content-wrap .ksj-side .ksj-side__arch a,html body .content-wrap .ksj-side .ksj-side__cats li,html body .content-wrap .ksj-side .ksj-side__cats a{font-size:.88rem}
@media (min-width:992px){
  .ksj-has-sidebar .news-list{flex:0 0 730px;width:730px;min-width:0}
}
/* ---------- スマホ対策：はみ出し防止 ---------- */
.ksj-content img,.artcle img{max-width:100%;height:auto}
.ksj-content iframe,.artcle iframe{max-width:100%}
.ksj-content table,.artcle table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.ksj-content pre,.artcle pre{white-space:pre-wrap;word-break:break-word}
.ksj-content a,.artcle a{word-break:break-all}
/* パンくず：スマホで「>」が折り返して記事名の途中に入るのを防ぐ */
html body .breadcrumb-wrap ul li:not(:last-child){flex-shrink:0;white-space:nowrap}
html body .breadcrumb-wrap ul li:last-child{min-width:0;overflow-wrap:anywhere}
