/* 御朱印道ブログ：トップページと共通のデザイン設定 */
:root{--gb-paper:#faf7f0;--gb-ink:#25201c;--gb-red:#a21b18;--gb-gold:#bc9859;--gb-rule:#e7dac4;--gb-serif:"Yu Mincho","Hiragino Mincho ProN", "Noto Serif JP", serif;--gb-sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
html{scroll-padding-top:84px}
body{background:var(--gb-paper)!important;color:var(--gb-ink)!important;font-family:var(--gb-sans)!important;font-size:14px!important;text-align:left!important;line-height:1.85;margin:0}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 10% 18%,#e3d8be37 0,transparent 31%),radial-gradient(circle at 92% 80%,#dbcaa735 0,transparent 29%);opacity:.9}
*,*::before,*::after{box-sizing:border-box}
body #container a:link,body #container a:visited{color:inherit;text-decoration:none}
body #container a:hover{color:var(--gb-red);text-decoration:none}
#container{width:100%!important;max-width:none!important;border:0!important;background:transparent!important;overflow:visible!important}












#main{display:grid!important;grid-template-columns:minmax(0,1fr) 274px;align-items:start;gap:22px;max-width:1180px;margin:0 auto!important;padding:18px 24px 26px;text-align:left!important;float:none!important;min-width:0}
#main::after{content:none!important}
#main_left,#main_right{float:none!important;width:auto!important;min-width:0;border:0!important;text-align:left!important;box-sizing:border-box!important}
#main_left{padding:0!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#main_left>:not(.blog-card){grid-column:1/-1}
#content{width:auto!important;border:0!important;text-align:left!important;margin:0!important;min-width:0}
#content .breadcrumb{border:0;margin:0 0 14px!important;padding:0!important;font-size:12px!important;color:#8a7764}
#content .breadcrumb ol{gap:3px;align-items:center}
#main_left::before{content:"GOSHUIN JOURNAL";grid-column:1/-1;display:block;font:700 11px/1.3 Georgia,serif;color:var(--gb-gold);letter-spacing:.26em;padding-left:13px;border-left:3px solid var(--gb-gold);margin:2px 0 -8px}
#main_left::after{content:none!important}
#main_left>.article-top{display:none}
#main_left>.blog-card{grid-column:auto!important}
#main_left:has(.blog-card)>#navi{display:none!important}
.blog-card{border:1px solid #e4d5bd!important;border-radius:7px!important;background:#fffefa!important;box-shadow:0 6px 18px #452b1710!important;min-width:0;overflow:hidden;margin:0!important;display:flex!important;flex-direction:column}
.blog-card-image-link{display:block!important;width:100%;height:200px!important;overflow:hidden;background:#eae3d3}
.blog-card-image{width:100%!important;height:100%!important;object-fit:cover!important;display:block;transition:transform .25s ease}
.blog-card-image-link:hover .blog-card-image{transform:scale(1.04)}
.blog-card-body{padding:16px!important;display:flex!important;flex-direction:column;flex:1}
.blog-card-date{font-size:11px!important;color:#9f6e3a!important;font-weight:700;letter-spacing:.03em}
.blog-card-title{font:800 17px/1.6 var(--gb-serif)!important;letter-spacing:.01em;margin:6px 0 8px!important}
.blog-card-title a{color:#25201c!important}
.blog-card-excerpt{color:#5f554c!important;font-size:12px!important;line-height:1.85!important;flex:1;margin:0 0 10px!important}
.blog-card-more{border-top:1px solid #efe4d0;margin-top:auto!important;padding-top:8px!important;font-size:12px!important;color:var(--gb-red)!important}
.blog-card-more a{color:var(--gb-red)!important}
#navi{display:flex!important;align-items:center;justify-content:space-between;gap:6px;float:none!important;width:100%!important;background:#fffdf7;border:1px solid var(--gb-rule);border-radius:5px;padding:10px 12px;margin:0!important;font-size:12px}
#navi>div{float:none!important;width:auto!important;text-align:center!important;min-width:0;max-width:45%}
#navi #navi_main{white-space:nowrap}
#navi a{color:var(--gb-red)!important}
#main_left>.kiji{grid-column:1/-1;min-width:0;margin:0!important;padding:24px!important;border:1px solid #e6d8c5!important;background:#fffefa!important;box-shadow:0 5px 16px #3a2a1610;border-radius:7px}
.kiji .subject,h1.subject{font:800 22px/1.5 var(--gb-serif)!important;color:#30271e!important;margin:0 0 16px!important;padding:0 0 12px!important;border:0!important;border-bottom:2px solid #d7bb8a!important;display:block!important}
.kiji .toukou{font-size:12px!important;color:#8f7761!important;background:#faf4e9!important;border-radius:5px;padding:10px!important;margin:15px 0 0!important}
.kiji .message{min-width:0!important;width:auto!important;font-size:15px!important;line-height:1.95!important;overflow-wrap:anywhere!important;word-break:normal!important}
.kiji .message p{margin:0 0 14px!important;line-height:1.95!important}
.kiji .message img{max-width:100%!important;height:auto!important;object-fit:contain!important}
.kiji .message h2{font:800 18px/1.55 var(--gb-serif)!important;color:#29221c!important;border-left:3px solid var(--gb-gold)!important;border-bottom:1px solid #e6d7bb!important;padding:5px 10px!important;margin:21px 0 11px!important;background:#fcf8ee!important}
.kiji .message h3{font:800 16px/1.55 var(--gb-serif)!important;color:#883023!important;border-bottom:1px solid #eddfc8!important;margin:18px 0 9px!important;padding:0 0 5px!important}
.kiji .message table{max-width:100%!important;border-collapse:collapse!important;line-height:1.65;table-layout:auto}
.kiji .message th,.kiji .message td{border-color:#e2d6c3!important;padding:8px 10px!important}
.kiji .message th{background:#f4ecdb!important}
.kiji .message figure{max-width:100%;margin:14px auto}
.kiji .message figure img{display:block;margin:auto}
.kiji .message figcaption{text-align:center;color:#766d62;font-size:12px}
#page{margin-top:0!important}
ul.pagelink{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;list-style:none;margin:12px 0 0;padding:0}
ul.pagelink li{float:none!important}
ul.pagelink a,ul.pagelink li.current{display:grid!important;place-items:center;min-width:34px;height:34px;border:1px solid #e2d1ba;border-radius:4px;color:#733a2c!important;background:#fffefa;padding:0 7px;font-size:12px}
ul.pagelink li.current{background:var(--gb-red)!important;color:#fff!important;border-color:var(--gb-red)}
#main_right{padding:0!important;display:flex;flex-direction:column;gap:14px}
#main_right .sidebody{margin:0!important;padding:17px!important;font-size:12px!important;line-height:1.8!important;color:#453b32;border:1px solid #e6d7c2;background:#fffefa;border-radius:6px;overflow-wrap:anywhere}
#main_right .mi,#main_right .side-ttl{display:block!important;background:none!important;border-left:3px solid var(--gb-gold)!important;font:800 15px/1.55 var(--gb-serif)!important;padding:0 0 0 10px!important;margin:0 0 12px!important;color:#342922!important}
#main_right .sidebody .ta-c{text-align:center}
#main_right .sidebody img{max-width:100%!important;height:auto}
#main_right input[name="keyword"]{width:100%!important;max-width:100%;padding:10px 9px;border:1px solid #cdbfa9;border-radius:4px;margin-bottom:9px;font:inherit}
#main_right input[type="button"],#main_right button[type="submit"]{background:var(--gb-red)!important;border:0!important;border-radius:4px;color:#fff!important;padding:9px 13px!important;font-weight:700;cursor:pointer}
#main_right .lines{padding:5px 0!important;border-bottom:1px solid #f1e6d6;font-size:12px!important;line-height:1.65;overflow-wrap:anywhere}



#main_left,.kiji,.kiji .message, .blog-card{max-width:100%}
@media(max-width:1120px){}
@media(max-width:980px){#main{grid-template-columns:1fr;max-width:770px;padding:14px 20px 24px}#main_right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:620px){#main{padding:11px 15px 20px;gap:18px}#main_left{grid-template-columns:1fr;gap:13px}#main_left>.blog-card{grid-column:1/-1!important}.blog-card-image-link{height:195px!important}#main_left>.kiji{padding:15px!important}.kiji .message{font-size:14px!important}.kiji .message h2{font-size:18px!important;margin:18px 0 10px!important}.kiji .message h3{font-size:16px!important}#main_right{grid-template-columns:1fr}#content .breadcrumb{margin-bottom:11px!important}.kiji .message table{display:block;max-width:100%;overflow-x:auto!important;font-size:12px!important}.kiji .message th,.kiji .message td{padding:7px!important}}

/* サイト本体との連携。ヘッダー・フッターは /assets/css/home.css で統一管理。 */
body.notranslate{background:var(--paper) url('/assets/images/decor/washi-texture.png') repeat!important;padding-top:86px!important}
#container{min-height:calc(100dvh - 186px)!important}
#main{font-family:var(--sans);line-height:1.8}
#main_left{align-content:start}
#main_left .kiji .subject{display:block!important}
@media(max-width:1150px){body.notranslate{padding-top:75px!important}}
@media(max-width:900px){body.notranslate{padding-top:67px!important}}
@media(max-width:640px){body.notranslate{padding-top:65px!important}}
/* 画像・表の幅を維持し、本文が画面外へはみ出さないようにする。 */
#main .kiji .message{max-width:100%;min-width:0}
#main .kiji .message iframe{max-width:100%}
#main .kiji .message :is(pre,table){max-width:100%}
#main .kiji .message pre{overflow-x:auto}
/* 先頭へ戻るボタンはサイト共通の仕様を使用。 */
/* 旧ブログ用のグローバルリンク装飾が共通ナビへ干渉しないようにする。 */
header.site-header .site-nav a,
header.site-header .site-nav a:link,
header.site-header .site-nav a:visited{
  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  margin:0!important;
  padding:32px 0!important;
  font-weight:700!important;
  color:var(--ink)!important;
  text-decoration:none!important;
}
header.site-header .site-nav a.active,
header.site-header .site-nav a.active:visited,
header.site-header .site-nav a:hover{color:var(--red)!important}
header.site-header .site-brand,
header.site-header .site-brand:link,
header.site-header .site-brand:visited{display:flex!important;background:transparent!important;border:0!important;text-decoration:none!important}
header.site-header .header-cta,
header.site-header .header-cta:link,
header.site-header .header-cta:visited{color:#fff!important;display:inline-flex!important;background:linear-gradient(165deg,#c21b17,#94120f)!important}
footer.site-footer a,
footer.site-footer a:link,
footer.site-footer a:visited{color:var(--ink)!important;text-decoration:none!important}
footer.site-footer a:hover{color:var(--red)!important}
@media(max-width:1150px){header.site-header .site-nav a{padding:26px 0!important}}
@media(max-width:900px){
 header.site-header .site-nav a,
 header.site-header .site-nav a:link,
 header.site-header .site-nav a:visited{padding:12px 10px!important;border-bottom:1px solid #efe7db!important}
}
/* フッターのリンクもトップページ同様、枠線のない文字リンクにする。 */
footer.site-footer .footer-main nav a,
footer.site-footer .footer-main nav a:link,
footer.site-footer .footer-main nav a:visited{
  display:inline!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1.7!important;
  font-size:11px!important;
  font-weight:700!important;
}
footer.site-footer .footer-brand,
footer.site-footer .footer-brand:link,
footer.site-footer .footer-brand:visited{
  display:flex!important;
  border:0!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
}

/* 右サイドバーの各見出し：旧デザインの赤い丸を表示しない。 */
#main_right .sidebody .side-ttl::before,
#main_right .sidebody .mi::before {
  content: none !important;
  display: none !important;
}

/* PC表示：右サイドバーの先頭を記事カードの上端に揃える。 */
@media (min-width: 981px) {
  /* 一覧ページ・月別一覧：パンくずリストの下にある記事カードに合わせる。 */
  #main_right { margin-top: 90px !important; }
  /* 記事詳細：前後の記事ナビゲーションの下にある本文カードに合わせる。 */
  #main:has(#main_left > .kiji) #main_right { margin-top: 149px !important; }
}
/* 1列レイアウトでは従来どおり記事の下に続ける。 */
@media (max-width: 980px) {
  #main_right { margin-top: 0 !important; }
}

/* ブログ記事の文字リンク：見出し・本文と識別できるようにする。
   画像を開くリンクやボタンは対象から除外し、装飾を変更しない。 */
body #container #main .kiji .message a[href]:not(:has(img)):not(:has(svg)):not(.button):not(.btn):not([role="button"]):link,
body #container #main .kiji .message a[href]:not(:has(img)):not(:has(svg)):not(.button):not(.btn):not([role="button"]):visited {
  color: #8b3025 !important;
  text-decoration: underline !important;
  text-decoration-color: #b86049 !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.2em !important;
  overflow-wrap: anywhere;
}
body #container #main .kiji .message a[href]:not(:has(img)):not(:has(svg)):not(.button):not(.btn):not([role="button"]):hover {
  color: #a21b18 !important;
  background-color: #f9eee5;
  text-decoration-color: currentColor !important;
  text-decoration-thickness: 2px !important;
}
body #container #main .kiji .message a[href]:focus-visible {
  outline: 2px solid #a21b18;
  outline-offset: 3px;
  border-radius: 2px;
}
/* ブログ一覧の記事タイトル・本文へのリンクも判別しやすくする。 */
body #container .blog-card-title a:link,
body #container .blog-card-title a:visited {
  color: #443025 !important;
  text-decoration: underline !important;
  text-decoration-color: #beaa8b !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
body #container .blog-card-title a:hover,
body #container .blog-card-more a:hover {
  color: #a21b18 !important;
  text-decoration-color: currentColor !important;
}
body #container .blog-card-more a:link,
body #container .blog-card-more a:visited,
body #container #main_right .lines a:link,
body #container #main_right .lines a:visited,
body #container #navi a:link,
body #container #navi a:visited {
  color: #873327 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 2px !important;
}
body #container #main_right .lines a:hover,
body #container #navi a:hover {
  color: #a21b18 !important;
  text-decoration-thickness: 2px !important;
}
