@charset "UTF-8";
/* ---------------------------
	color
--------------------------- */
.single-kinenkan_letter .entry-content.post-content {
  max-width: 100%;
  margin: 0 auto;
}
.single-kinenkan_letter .entry-content.post-content p {
  text-align: justify;
  text-indent: 1em;
  font-size: 1.1rem;
  line-height: 1.8 !important;
}
.single-kinenkan_letter .entry-content.post-content p.has-text-align-center {
  text-align: center;
  text-indent: 0;
}
.single-kinenkan_letter .entry-content.post-content p.has-text-align-right {
  text-align: right;
  text-indent: 0;
}
@media (max-width: 576px) {
  .single-kinenkan_letter .entry-content.post-content p {
    font-size: 0.95rem;
  }
}
.single-kinenkan_letter .entry-content.post-content h2:not(:first-child) {
  margin-top: 2em;
}
.single-kinenkan_letter .entry-content.post-content h3 {
  margin-top: 1em;
}
.single-kinenkan_letter .entry-content.post-content h3::before {
  content: "\f101";
  font-family: "Font Awesome 5 Free";
  margin-right: 1rem;
  font-weight: bold;
  color: #567970;
}
.single-kinenkan_letter .entry-content.post-content figcaption {
  text-align: unset;
}
.single-kinenkan_letter .entry-content.post-content .wp-block-group {
  margin: 2rem inherit;
}
.single-kinenkan_letter .entry-content.post-content .wp-block-media-text {
  margin-bottom: 2rem;
}

/* 親：右→左に横並び。折り返しなし。余白は gap のみ。 */
.entry-content.post-content .letter-in-tanka-list ul {
  padding: 1.5em 0 0 !important;
  margin: 0 !important;
  font-family: "Sawarabi", serif;
}

.entry-content.post-content .letter-in-tanka-list-horizontal ul {
  padding: 0 1.5rem 0 !important;
  margin: 0 !important;
  font-family: "Sawarabi", serif;
}

.entry-content.post-content .letter-in-tanka-list h3 {
  padding: 0 0 0 2em !important;
  margin: 0 !important;
  font-family: "Sawarabi", serif;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
}
@media (max-width: 576px) {
  .entry-content.post-content .letter-in-tanka-list h3 {
    padding: 0 0 0 1em !important;
  }
}
.entry-content.post-content .letter-in-tanka-list h3::before {
  content: "";
  margin-right: 0;
  font-weight: normal;
  color: none;
}
.entry-content.post-content .letter-in-tanka-list.letter-in-tanka-list-horizontal h3 {
  padding: 0 0 0 0 !important;
}
.entry-content.post-content .letter-in-tanka-list.letter-in-tanka-list-horizontal h3::before {
  content: "\f101";
  font-family: "Font Awesome 5 Free";
  margin-right: 1rem;
  font-weight: bold;
  color: #567970;
}

.letter-in-tanka-list {
  display: flex;
  flex-direction: row-reverse; /* 右→左に並べる */
  flex-wrap: nowrap; /* 常に1行（縦2段にならない） */
  gap: var(--gap, 1.5rem); /* 余白はここだけで調整 */
  justify-content: flex-start; /* row-reverse の start = 右端合わせ */
  align-items: stretch;
  margin: 3rem auto;
  width: fit-content;
  overflow-x: auto; /* 収まり切らない場合は横スクロール */
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 576px) {
  .letter-in-tanka-list {
    gap: var(--gap, 0.5rem); /* 余白はここだけで調整 */
  }
}

/* 子：見出しと各ULは“縦書きの列”。幅はコンテンツに任せる（余白なし） */
.letter-in-tanka-list > .wp-block-heading,
.letter-in-tanka-list > ul.wp-block-list {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  flex: 0 0 auto; /* 列幅＝内容に応じた自然幅 */
  margin: 0; /* 余白は持たせない（gapのみ） */
  padding: 0;
}

/* 横書きの設定 */
.letter-in-tanka-list-horizontal {
  display: flex;
  flex-direction: column; /* 右→左に並べる */
  flex-wrap: nowrap; /* 常に1行（縦2段にならない） */
  gap: var(--gap, 1.5rem); /* 余白はここだけで調整 */
  justify-content: flex-start; /* row-reverse の start = 右端合わせ */
  align-items: stretch;
  margin: 3rem auto;
  width: 100%;
  overflow-y: auto; /* 収まり切らない場合は縦スクロール */
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 576px) {
  .letter-in-tanka-list-horizontal {
    gap: var(--gap, 0.5rem); /* 余白はここだけで調整 */
  }
}

.letter-in-tanka-list-horizontal > .wp-block-heading,
.letter-in-tanka-list-horizontal > ul.wp-block-list {
  writing-mode: horizontal-tb;
  text-orientation: mixed;
  flex: 0 0 auto; /* 列幅＝内容に応じた自然幅 */
  margin: 0; /* 余白は持たせない（gapのみ） */
  padding: 0;
}

/* 見出し（右端の列） */
.letter-in-tanka-list > .wp-block-heading {
  font-weight: 700;
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  letter-spacing: 0.05em;
}

/* リストのデフォルト装飾を完全にoff（列内余白なし） */
.letter-in-tanka-list > ul.wp-block-list,
.letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list,
.letter-in-tanka-list-horizontal > ul.wp-block-list,
.letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list {
  list-style: none;
  margin: 0;
  padding: 0;
  font-weight: bold;
}
@media (max-width: 576px) {
  .letter-in-tanka-list > ul.wp-block-list,
  .letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list,
  .letter-in-tanka-list-horizontal > ul.wp-block-list,
  .letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list {
    font-size: 0.8rem;
  }
}

.letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list li {
  text-align: end;
  font-weight: normal;
}

/* 短歌本文（列内の上下余白もゼロに統一） */
.letter-in-tanka-list > ul.wp-block-list > li {
  margin: 0;
  line-height: 1.9; /* 可読性のための行間のみ */
  letter-spacing: 0.03em;
  hanging-punctuation: allow-end;
}

.letter-in-tanka-list.letter-in-tanka-list-single > ul.wp-block-list > li {
  margin: 0 2rem;
  line-height: 1.9; /* 可読性のための行間のみ */
  letter-spacing: 0.03em;
  hanging-punctuation: allow-end;
}

.letter-in-tanka-list.letter-in-tanka-list-horizontal > ul.wp-block-list > li {
  margin: 2rem 0;
  line-height: 1.9; /* 可読性のための行間のみ */
  letter-spacing: 0.03em;
  hanging-punctuation: allow-end;
}

/* 出典（入れ子UL）も余白ゼロ。必要ならここだけ微調整可 */
/* .letter-in-tanka-list > ul.wp-block-list > li > ul.wp-block-list{ } */
/* 1) ルビの基本：漢字の字間は広げない／右側に配置 */
.letter-in-tanka-list ruby {
  ruby-position: over; /* vertical-rl では“右側”が over */
  ruby-align: center; /* ベースの字間を広げない */
  position: relative; /* 絶対配置の基準にする */
  overflow: visible; /* ルビが外側へ出ても見えるように */
  --ruby-gap: 0.25em; /* すき間（調整用）*/
}

/* 2) アウトボード：rt をフローから外し、右外側へ固定 */
.letter-in-tanka-list rt {
  position: absolute;
  left: calc(100% + var(--ruby-gap));
  top: 50%; /* ベース中央に揃える */
  transform: translateY(-50%);
  font-size: 0.6em;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none; /* 選択の邪魔をしない（任意） */
}

/*.横書きのルビ */
.letter-in-tanka-list-horizontal ruby {
  ruby-position: over; /* vertical-rl では“右側”が over */
  ruby-align: center; /* ベースの字間を広げない */
  position: relative; /* 絶対配置の基準にする */
  overflow: visible; /* ルビが外側へ出ても見えるように */
  --ruby-gap: 0.25em; /* すき間（調整用）*/
}

/* 2) アウトボード：rt をフローから外し、右外側へ固定 */
.letter-in-tanka-list-horizontal rt {
  position: absolute;
  top: calc(0% - var(--ruby-gap) * 5);
  left: 50%; /* ベース中央に揃える */
  transform: translateX(-50%);
  font-size: 0.6em;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none; /* 選択の邪魔をしない（任意） */
}

/* 任意：長いルビだけ微調整（前に付けた .is-long 等があれば） */
/* .letter-in-tanka-list rt.is-long{ font-size:.55em; } */
.border-list-bottom {
  border-bottom: 2px dashed #567970;
}

a.hover-bg-brand {
  transition: background-color 0.3s;
}
a.hover-bg-brand:hover {
  background-color: rgba(86, 121, 112, 0.1);
  text-decoration: none;
}

.wp-block-group.letter-in-sentence {
  display: block;
  gap: var(--gap, 1.5rem); /* 余白はここだけで調整 */
  justify-content: flex-start; /* row-reverse の start = 右端合わせ */
  align-items: stretch;
  font-family: "Sawarabi", serif;
  border: 1px dotted #333;
  margin: 3rem auto;
  padding: 1.5rem;
  overflow-x: auto; /* 収まり切らない場合は横スクロール */
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 576px) {
  .wp-block-group.letter-in-sentence {
    gap: var(--gap, 0.5rem); /* 余白はここだけで調整 */
  }
}
.wp-block-group.letter-in-sentence ul.wp-block-list {
  list-style-type: none;
  padding: 0;
  margin: 0 auto;
  max-width: 100%;
  width: 100%;
}
.wp-block-group.letter-in-sentence ul.wp-block-list li {
  font-weight: bold;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  max-width: none;
}
.wp-block-group.letter-in-sentence ul.wp-block-list li ul {
  margin: 0.75rem 0 0;
  max-width: 100%;
}
.wp-block-group.letter-in-sentence ul.wp-block-list li ul > li {
  font-weight: normal;
  text-align: end;
}

.entry-pager {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
}

.single-kinenkan_letter .entry-content.post-content p.entry-pager__status {
  margin: 1rem 0 0.5rem;
  text-align: center;
  font-size: 0.8rem;
}

.entry-pager__numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
}

/* wp_link_pages はデフォルトで .post-page-numbers を付与（現在は .current が付く） */
.entry-pager__numbers a.post-page-numbers,
.entry-pager__numbers span.post-page-numbers {
  display: inline-flex;
  min-width: 2.25rem;
  height: 2.25rem;
  padding: 0 0.5rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  text-decoration: none;
  line-height: 1;
  font-weight: 600;
}

.entry-pager__numbers a.post-page-numbers:hover {
  background: #f5f5f5;
}

.entry-pager__numbers .post-page-numbers.current,
.entry-pager__numbers span.post-page-numbers:not(a) {
  background: #111;
  color: #fff;
  border-color: #111;
}

/* 小さめ画面でのタップ余白 */
@media (max-width: 480px) {
  .entry-pager__numbers a.post-page-numbers,
  .entry-pager__numbers span.post-page-numbers {
    min-width: 2rem;
    height: 2rem;
    border-radius: 0.375rem;
    font-weight: 600;
  }
}
.letter-list {
  font-family: "Sawarabi", serif;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
}
.letter-list a {
  color: #567970;
}

.letter-card-title {
  font-family: "Sawarabi", serif;
  font-size: clamp(1.1rem, 1.8vw, 1.75rem);
  border-bottom: 1px dashed #343a40;
  padding-bottom: 0.5rem;
}

.badge-outline {
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
  border-width: 1px;
  border-style: solid;
  border-radius: 0.3rem;
  padding: 6px 6px;
}

.letter-vol-thumb .flip-card {
  perspective: 1000px;
  display: inline-block;
  width: 100%;
}

.letter-vol-thumb .flip-card-inner {
  position: relative;
  width: 100%;
  transform-style: preserve-3d;
  transition: transform 0.6s;
}

.letter-vol-thumb .flip-card:hover .flip-card-inner,
.letter-vol-thumb .flip-card:focus-within .flip-card-inner {
  transform: rotateY(180deg);
}

.letter-vol-thumb .flip-card-front,
.letter-vol-thumb .flip-card-back {
  backface-visibility: hidden;
  position: relative;
  width: 100%;
}

.letter-vol-thumb .flip-card-front img {
  display: block;
  width: 100%;
  height: auto;
}

.letter-vol-thumb .flip-card-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transform: rotateY(180deg);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
  box-sizing: border-box;
  background-color: #567970;
  padding: 0.5rem;
  text-align: center;
}

.letter-vol-thumb .back-link,
.letter-vol-thumb .back-text {
  color: #fff;
  text-decoration: none;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
}/*# sourceMappingURL=kinenkan-letter.css.map */
