#content {
  position: relative;
  z-index: 2;
}

@media only screen and (min-width: 981px) {
  .cta-wrap .alignfull {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}
.entry-header {
  --title-padding: 15px;
  gap: inherit;
}
.entry-header .eyecatch {
  order: -2;
  z-index: -1;
}
@media only screen and (min-width: 1100px) {
  .entry-header .eyecatch {
    margin-left: 40px;
    margin-right: -200px;
    box-shadow: 0 0 20px hsla(0, 0%, 0%, 0.5);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1099px) {
  .entry-header .eyecatch {
    margin-left: var(--stk-el-margin-rl, -4vw);
    margin-right: var(--stk-el-margin-rl, -4vw);
  }
}
.entry-header .eyecatch-caption-text {
  display: none;
}
.entry-header .entry-title {
  order: -1;
  padding: var(--title-padding);
  font-size: clamp(1.063rem, 0.705rem + 1.79vw, 1.6rem);
  margin-top: -20px;
}
.entry-header .entry-title,
.entry-header .entry-meta {
  background: var(--main-ttl-bg);
  color: var(--main-ttl-color);
}
@media only screen and (min-width: 1100px) {
  .entry-header .entry-title,
  .entry-header .entry-meta {
    transform: translateX(-80px);
  }
}
.entry-header .entry-meta {
  display: flex;
  padding: 0 var(--title-padding) var(--title-padding) var(--title-padding);
}
.entry-header .entry-meta .cat-name {
  order: 10;
  background: none;
  color: currentColor;
}
.entry-header .sns_btn__ul {
  order: 20;
}

.sns_btn__li .sns_btn__link {
  box-shadow: none !important;
  background: none !important;
  border: 1px solid;
  color: var(--main-link-color);
}
.sns_btn__li .sns_btn__link .stk_sns__svgicon {
  --svgsize: 1.2em;
  fill: var(--main-link-color);
}

.page-links {
  margin-bottom: 2em;
}

@media only screen and (min-width: 768px) {
  .page .entry-header {
    margin-bottom: 2em;
  }
}
.page .entry-header .entry-title {
  width: fit-content;
}

#area .area-map {
  margin-right: -300px;
}

.tocotoco_floating_banner[data-floating=false] {
  display: none;
  opacity: 0;
}

.tocotoco_floating_banner.close {
  display: none !important;
}
.tocotoco_floating_banner {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  width: 100vw;
  height: 100vh;
  display: flex;
}

.tocotoco_floating_banner[data-floating=true] #tocotoco_floating_banner__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  background: rgba(0, 0, 0, 0.8);
  opacity: 1;
  animation: fadeIn 0.1s ease-in 0s forwards;
}

.tocotoco_floating_banner__inner {
  animation: fadeIn 0.3s ease-in 0s forwards;
  width: 500px;
  max-width: calc(100% - 70px);
  height: auto;
  margin: auto;
}

.tocotoco_floating_banner__imagewrap {
  position: relative;
}

.tocotoco_floating_banner__img {
  height: auto;
}

.close_btn_ui {
  --size: 40px;
  position: absolute;
  right: -25px;
  top: -25px;
  z-index: 99;
  background: #fff;
  width: var(--size);
  height: var(--size);
  border-radius: 50%;
  border: none;
  box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.close_btn_ui i {
  font-size: calc(var(--size) - 20px);
  color: #111;
}

.tocotoco_floating_banner__subtext {
  font-size: 95%;
  margin-bottom: 10px !important;
  text-align: center;
  color: #fff;
}

.main-map {
  width: 100%;
  height: clamp(480px, 5.8vw, 70vh);
}

@media (min-width: 981px) and (max-width: 1335px) {
  .sns-fix .sns_btn__li {
    width: 38px;
  }
}
.sns-fix .sns_btn__li .stk_sns__svgicon {
  --svgsize: 1.4em;
}

#toc_container {
  font-size: 0.9em;
  border-width: 1px;
  border-color: var(--header-bg);
  padding: 1.2em 1.4em;
}
#toc_container .toc_list {
  max-width: inherit;
}

.more_ads_section {
  margin-bottom: var(--stk-margin);
}

@media only screen and (min-width: 1300px) {
  #area > .wp-block-group__inner-container {
    width: 95%;
    max-width: 1800px;
  }
}
@media only screen and (max-width: 1299px) {
  #area > .wp-block-group__inner-container .wp-block-columns {
    flex-direction: column !important;
  }
}

@media only screen and (min-width: 768px) {
  #kurashiki-map:hover .map-link {
    filter: grayscale(100%);
  }
  #kurashiki-map .map-link {
    position: relative;
    z-index: 1;
  }
  #kurashiki-map .map-link:hover {
    z-index: 99;
    opacity: 1;
    transform: translateY(-5px);
    filter: grayscale(0%);
  }
  #kurashiki-map .map-link:hover::before {
    position: absolute;
    top: -35px;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.3rem 0.7rem;
    background-color: #369BEE;
    content: attr(data-title);
  }
}
.page-id-166100 {
  background-color: var(--main-ttl-bg) !important;
}
.page-id-166100 #container,
.page-id-166100 #inner-content {
  background-color: transparent !important;
  overflow: visible !important;
  clip-path: none !important;
}
.page-id-166100 .entry-content {
  line-height: 2;
}
.page-id-166100 .entry-content p {
  line-height: 2;
  margin-bottom: calc(var(--stk-margin) * 1.5);
}

.fixed-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  z-index: -1;
  background-color: var(--header-bg);
  pointer-events: none;
}
.fixed-background .bg-layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}
.fixed-background .bg-layer.is-active {
  opacity: 0.3;
}

.js-crossfade-cover {
  background: transparent !important;
  overflow: visible !important;
  clip-path: none !important;
}
.js-crossfade-cover .wp-block-cover__image-background,
.js-crossfade-cover .wp-block-cover__background {
  display: none !important;
}
.js-crossfade-cover .wp-block-cover__inner-container,
.js-crossfade-cover .wp-block-columns,
.js-crossfade-cover .wp-block-column {
  overflow: visible !important;
  clip-path: none !important;
}
.js-crossfade-cover p,
.js-crossfade-cover li,
.js-crossfade-cover table {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 0 15px rgba(0, 0, 0, 0.7) !important;
}
.js-crossfade-cover h4 {
  border-color: #fff !important;
}

.hedding-sticky .wp-block-column:first-child {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 8em !important;
  z-index: 10 !important;
  align-self: flex-start !important;
  height: max-content !important;
}
@media only screen and (max-width: 480px) {
  .hedding-sticky .wp-block-column:first-child {
    flex-basis: 1.5em !important;
  }
}

#container .tatemoji {
  writing-mode: vertical-rl !important;
  -webkit-writing-mode: vertical-rl !important;
  letter-spacing: 0.1em !important;
  text-orientation: upright !important;
  margin-top: 0;
  margin-left: auto;
  margin-right: auto;
}
#container .tatemoji em {
  text-combine-upright: all !important;
  -webkit-text-combine: horizontal !important;
  font-style: normal !important;
}

.tocotoco-map-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid #d8dde6;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.tocotoco-map-bar:hover {
  border-color: #3a58a5;
  background: #fafbfe;
}
.tocotoco-map-bar__icon {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #eaf0fb;
}
.tocotoco-map-bar__icon svg {
  width: 20px;
  height: 20px;
  fill: #3a58a5;
}
.tocotoco-map-bar__body {
  flex: 1;
  min-width: 0;
}
.tocotoco-map-bar__title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #0f192a;
}
.tocotoco-map-bar__note {
  display: block;
  margin-top: 2px;
  font-size: 12px;
  color: #6a7280;
}
.tocotoco-map-bar__arrow {
  flex: none;
  font-size: 18px;
  line-height: 1;
  color: #3a58a5;
}
@media only screen and (max-width: 480px) {
  .tocotoco-map-bar {
    gap: 10px;
    padding: 14px;
  }
  .tocotoco-map-bar__title {
    font-size: 15px;
  }
}

.textwidget .reporter-name {
  margin: 0 0 10px;
  font-size: 13px;
  line-height: 1.6;
  color: #6a7280;
}
.textwidget .reporter-name .bold {
  font-weight: 700;
  color: #0f192a;
}

.tocotoco-reporter-box {
  margin-top: 14px;
  padding: 18px 20px;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  background: #fff;
}
.tocotoco-reporter-box p {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.85;
}
.tocotoco-reporter-box .wp-block-buttons {
  margin: 0;
}
.tocotoco-reporter-box .wp-block-button__link {
  padding: 8px 24px 8px 14px;
  font-size: 13px;
}

/* ---------------------------------------------
   記事下エリア（2026-08-22・案A）

   検討の記録は haretoco-manage の
   開発部/開発/検討/とことこサイト/記事下エリアのUI改善の検討.md

   並び順・面積は変えない。色・文言・押せる面・動きだけを直す。
   2026-08-17 の実測で「位置と面積では動かない」ことが分かっているため。

   色は倉敷の値を直書きせず、サイト変数から引く。備後は
   --main-link-color がオレンジ（#ef862b）で、直書きすると
   主導線が本文リンクと同じ色に見えて役割が埋もれる。

   この節だけ入れ子を使わず素のCSSで書いている。.scss / .css / .min.css の
   3本を同じ内容に保つ必要があり、入れ子は手でのコンパイルでずれるため。
   --------------------------------------------- */

/* 関連記事の見出しに、何を並べているのかの一行を足す。
   親テーマが .h_ttl::after を 11px で用意しているので、それに乗せる
   （#related-box の「こちらの記事も人気です」と同じ作り）。
   疑似要素なので textContent には入らず、ga_event_tracking.php の
   見出し判定には影響しない */
.recommend_related_posts > .h_ttl,
.author_related_posts > .h_ttl {
  flex-wrap: wrap;
  gap: 0 .5em;
  padding-left: 12px;
  border-left: 4px solid var(--header-bg);
}
.recommend_related_posts > .h_ttl::after,
.author_related_posts > .h_ttl::after {
  flex-basis: 100%;
  margin-top: 4px;
  font-weight: 400;
  letter-spacing: .2px;
  color: color-mix(in srgb, var(--main-text-color) 62%, transparent);
}
.recommend_related_posts > .h_ttl::after {
  content: "本文の内容から選んでいます";
}
.author_related_posts > .h_ttl::after {
  content: "同じ書き手の記事";
}

/* カードは hover で「浮く」。親テーマは -2px と同時に opacity:.8 で減光するが、
   サイト内のボタン（.more a / .wp-block-button__link）は浮くので、
   カードだけ薄くなると「押せない」の合図に見える。
   記事下の2ブロックに限る（トップ・アーカイブのカードは対象外） */
.recommend_related_posts .cat_postlist__link,
.author_related_posts .cat_postlist__link {
  transition: transform .25s, box-shadow .25s;
}
.recommend_related_posts .cat_postlist__link:hover,
.author_related_posts .cat_postlist__link:hover {
  opacity: 1;
  transform: translateY(-3px);
  box-shadow: 0 3px 15px rgba(0, 0, 0, .15);
}
.recommend_related_posts .eyecatch,
.author_related_posts .eyecatch {
  overflow: hidden;
}
.recommend_related_posts .eyecatch img,
.author_related_posts .eyecatch img {
  transition: transform .35s;
}
.recommend_related_posts .cat_postlist__link:hover .eyecatch img,
.author_related_posts .cat_postlist__link:hover .eyecatch img {
  transform: scale(1.04);
}
.recommend_related_posts .ttl,
.author_related_posts .ttl {
  transition: color .2s;
}
.recommend_related_posts .cat_postlist__link:hover .ttl,
.author_related_posts .cat_postlist__link:hover .ttl {
  color: var(--main-link-color);
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* フォローボックスの暗幕を、黒（#111 / opacity .8）から
   寄付ブロックと同じネイビーにそろえる。
   アイキャッチが地色を覆うので、倉敷でも備後でも同じ見え方になる
   （--header-bg が見えるのはアイキャッチが無い記事だけ）。
   真っ白な写真という最悪ケースでも白見出し 8.27:1 ・ 補足 6.87:1 */
.fb-likebtn {
  border-radius: 10px;
  background-color: var(--header-bg);
}
.fb-likebtn::after {
  background: linear-gradient(rgba(8, 17, 31, .74), rgba(8, 17, 31, .9));
  opacity: 1;
}
.fb-likebtn .like_text::after {
  opacity: .88;
}

/* 押せる面を 44px にする。実測 29px で、サイト内でここだけ 44px を
   確保していなかった（寄付ブロックのリンクは min-height:44px が入っている） */
.fb-likebtn .stk_sns_links.--followbtns {
  gap: 8px;
}
.fb-likebtn .stk_sns_links__link.--followbtn {
  min-height: 44px;
  margin: 0;
  padding: 0 14px;
  line-height: 1.2;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 4px;
  transition: transform .2s, box-shadow .2s;
}
.fb-likebtn .stk_sns_links__link.--followbtn:hover {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 3px 12px rgba(0, 0, 0, .32);
}

/* シェア行も 44px にする（実測 PC 31px ・ スマホ 28px）。
   hover で各社の色に塗る。色の値は親テーマの塗りボタンと同じものを使う。
   見出し（カスタマイザーの sns_options_text）はまだ置かない —
   クリックが計測できていなかったため、残すかどうかを数字を見てから決める */
.sharewrap:not(.sns-fix) .sns_btn__li {
  --tcc-net: var(--main-link-color);
}
.sharewrap:not(.sns-fix) .sns_btn__li.twitter:not(.--bird) {
  --tcc-net: #2a2a2a;
}
.sharewrap:not(.sns-fix) .sns_btn__li.twitter.--bird {
  --tcc-net: #00acee;
}
.sharewrap:not(.sns-fix) .sns_btn__li.bluesky {
  --tcc-net: #2787e7;
}
.sharewrap:not(.sns-fix) .sns_btn__li.facebook {
  --tcc-net: #236ee7;
}
.sharewrap:not(.sns-fix) .sns_btn__li.hatebu {
  --tcc-net: #01a4de;
}
.sharewrap:not(.sns-fix) .sns_btn__li.line {
  --tcc-net: #25af00;
}
.sharewrap:not(.sns-fix) .sns_btn__li.pocket {
  --tcc-net: #ec2136;
}
.sharewrap:not(.sns-fix) .sns_btn__li.pinterest {
  --tcc-net: #e60023;
}
.sharewrap:not(.sns-fix) .sns_btn__li .sns_btn__link {
  min-height: 44px;
  padding: 0 .2em;
  transition: background-color .2s, border-color .2s, color .2s, transform .2s;
}
/* background の !important は、上の「SNSアイコンをborderでシンプルにする」が
   background:none!important を当てているため。hover のときだけ塗りを戻す */
.sharewrap:not(.sns-fix) .sns_btn__li .sns_btn__link:hover {
  background: var(--tcc-net) !important;
  border-color: var(--tcc-net);
  color: #fff;
  transform: translateY(-2px);
}
.sharewrap:not(.sns-fix) .sns_btn__li .sns_btn__link:hover .stk_sns__svgicon {
  fill: #fff;
}

@media only screen and (max-width: 767px) {
  /* スマホはラベルを省いてアイコンだけの正方形にし、4本を1行に収める。
     44px にするとラベル付きでは折り返して2行になり、
     効いているブロック（フォロー）を無駄に高くしてしまう。
     aria-label は <a> に残るので読み上げは変わらない */
  .fb-likebtn .stk_sns_links__link.--followbtn {
    width: 44px;
    padding: 0;
  }
  .fb-likebtn .stk_sns_links__link.--followbtn::after {
    content: none;
  }
  .fb-likebtn .stk_sns_links__link.--followbtn .stk_sns__svgicon {
    --svgsize: 1.5em;
  }
}

/* 動きを減らす設定のときは止める（目次・写真ビューア・寄付スライドインと同じ扱い） */
@media (prefers-reduced-motion: reduce) {
  .recommend_related_posts .cat_postlist__link,
  .author_related_posts .cat_postlist__link,
  .recommend_related_posts .eyecatch img,
  .author_related_posts .eyecatch img,
  .recommend_related_posts .ttl,
  .author_related_posts .ttl,
  .fb-likebtn .stk_sns_links__link.--followbtn,
  .sharewrap:not(.sns-fix) .sns_btn__li .sns_btn__link {
    transition: none;
  }
}

/* ---------------------------------------------
   記事下のライタープロフィール欄（2026-09-09）

   author_profile_box.php が [profile] の出力に足す役割表記と、
   wpautop() を通したあとの自己紹介欄の段落。ここも .scss / .css / .min.css
   の3本を同じ内容に保つ必要があるため、この節だけ入れ子を使わず素のCSSで書く。
   --------------------------------------------- */
.tocotoco-author-kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-bottom: 12px;
  color: #5b6472;
  font-size: 13px;
  letter-spacing: .03em;
}

/* 本文（.entry-content p）とは別に、この欄専用の行間・段落間隔を明示する。
   以前は <br><br> の手打ちで段落を作っており、空行1つぶんの高さ（line-height）が
   本文の段落マージンより大きく出て余白が揃わなかった（詳細は検討ファイル参照） */
.author_description p {
  margin: 0 0 0.85em;
  line-height: 1.8;
}
.author_description p:last-child {
  margin-bottom: 0;
}

/* 「◯◯の記事一覧」ボタン（tocotoco_profile_link_button()）を、
   サイト内の他のタップ領域（フォロー・シェア行）と同じ44pxに揃える */
.tocotoco-author-linkbtn .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 20px;
  font-size: 13px;
}
