@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/
.archive-categories-tags {
	display: flex;
	margin-bottom: 1rem;
	flex-wrap: wrap;
	gap: 5px;
}
.entry-card-thumb,
.wp-block-image {
	border-radius: 4px;
	overflow: hidden;
}
.tag-link-46 {
  background: #ffeaea;
  border-color: #ff4d4d;
  color: #d60000;
}

/* ========================================
   トップページ用
   記事ごとのカードを独立させる
   ======================================== */
:root {
  --main-bg-color: #4ea7ad;
}

a,
.entry-card-title{
	color: var(--main-bg-color);
}
.top-feed-list{
  display: grid;
  gap: 28px;
}
.top-feed-body p {
	margin-top: 1rem;
}

.top-feed-card{
  padding: 36px 20px;
  border: 1px solid transparent;
  border-radius: var(--cocoon-basic-border-radius);
  background: #fff;
  position: relative;
  z-index: 0;
}

.top-feed-card-header{
  margin-bottom: 16px;
}

.top-feed-title{
  margin: 0 0 10px;
  font-size: 1.4em;
  line-height: 1.45;
}

.top-feed-title a{
  text-decoration: none;
}

.top-feed-date{
  margin-bottom: 12px;
  font-size: 0.9em;
  opacity: 0.8;
}

.top-feed-body{
  display: grid;
  gap: 14px;
}

.top-feed-thumb{
  overflow: hidden;
  border-radius: 10px;
}

.top-feed-thumb img{
  width: 100%;
  height: auto;
  display: block;
}

.top-feed-summary-block{
  margin: 0;
}

.top-feed-summary-block.entry-content > *:first-child,
.top-feed-full .trpg-paged-page > *:first-child{
  margin-top: 0;
}

.top-feed-summary-block.entry-content > *:last-child,
.top-feed-full .trpg-paged-page > *:last-child{
  margin-bottom: 0;
}

.top-feed-summary-block.entry-content p,
.top-feed-full .trpg-paged-page p{
  line-height: 1.9;
}

.top-feed-details{
  margin-top: 4px;

}

.top-feed-details-button{
  display: block;
	margin: 0 auto;
  padding: 0.55em 2em;
	width: 200px;
  border: 1px solid var(--main-bg-color);
  border-radius: 999px;
  cursor: pointer;
	color: var(--main-bg-color);
  list-style: none;
  user-select: none;
  background: #fff;
		text-align: center;
}

.top-feed-details-button::-webkit-details-marker{
  display: none;
}

.top-feed-details[open] .top-feed-details-button{
  margin-bottom: 14px;
}

.top-feed-full{
  padding-top: 8px;
}

.top-feed-full[hidden],
.top-feed-cushion-form[hidden]{
  display: none !important;
}

.top-feed-lock-form{
  margin-top: 14px;
}

.top-feed-cushion{
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fafafa;
}

.top-feed-cushion-message{
  margin-bottom: 12px;
  line-height: 1.8;
}

.top-feed-cushion-form{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.top-feed-cushion-input{
  flex: 1 1 220px;
  min-width: 0;
  padding: 0.7em 0.9em;
  border: 1px solid #bbb;
  border-radius: 8px;
  background: #fff;
}

.top-feed-cushion-button{
  padding: 0.65em 1em;
  border: 1px solid var(--main-bg-color);
  border-radius: 999px;
  background: #fff;
  color: var(--main-bg-color);
  cursor: pointer;
}

.top-feed-cushion-error{
  margin: 10px 0 0;
  color: #c33;
}

.top-feed-pagination{
  margin-top: 28px;
}

/* 独自ページャー */
.trpg-paged-page[hidden]{
  display: none !important;
}

.trpg-paged-nav{
  margin-top: 20px;
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.trpg-paged-numbers{
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
}

.trpg-paged-prev,
.trpg-paged-next,
.trpg-paged-number{
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #c7dce7;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.trpg-paged-prev[disabled],
.trpg-paged-next[disabled]{
  opacity: 0.45;
  cursor: default;
}

.trpg-paged-number.is-active{
  background: #eef5f9;
}

/* 新着一覧ショートコードのページャーをデフォルト風に整える */
.post-archive-like-wrap .pagination-next{
  margin: 24px 0;
}

.post-archive-like-wrap .pagination-next-link{
  display: block;
  width: 100%;
  padding: 18px 16px;
  border: 1px solid #b7dfe8;
  background: transparent;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}

.post-archive-like-wrap .pagination{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 16px 0 0;
}

.post-archive-like-wrap .pagination .page-numbers{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 46px;
  height: 46px;
  padding: 0 12px;
  border: 1px solid #b7dfe8;
  background: transparent;
  text-decoration: none;
  box-sizing: border-box;
}

.post-archive-like-wrap .pagination .page-numbers.current{
  background: transparent;
}

.post-archive-like-wrap .pagination .page-numbers.next{
  font-size: 18px;
}

.post-archive-like-wrap .pagination .screen-reader-text{
  display: none;
}

/* 記事ページの簡易パス */
.article-cushion{
  margin: 1.2em 0;
  padding: 16px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fafafa;
}

.article-cushion-message{
  margin-bottom: 12px;
  line-height: 1.8;
}

.article-cushion-form{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.article-cushion-input{
  flex: 1 1 220px;
  min-width: 0;
  padding: 0.7em 0.9em;
  border: 1px solid #bbb;
  border-radius: 8px;
  background: #fff;
}

.article-cushion-button{
  padding: 0.65em 1em;
  border: 1px solid #4da3d9;
  border-radius: 999px;
  background: #fff;
  color: #4da3d9;
  cursor: pointer;
}

.article-cushion-error{
  margin: 10px 0 0;
  color: #c33;
}

.article-cushion-content[hidden]{
  display: none !important;
}



/* Lightbox */
.top-feed-cushion[hidden],
.article-cushion[hidden],
.top-feed-full[hidden],
.article-cushion-content[hidden] {
  display: none !important;
}

html.trpg-lightbox-open,
body.trpg-lightbox-open {
  overflow: hidden;
}

body.trpg-lightbox-open {
  box-sizing: border-box;
}
#trpg-animated-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
}

.trpg-animated-lightbox-backdrop {
  position: absolute;
  inset: 0;
  background: #fff;
  opacity: 0;
}

.trpg-animated-lightbox-image {
  position: fixed;
  display: block;
  object-fit: contain;
  box-shadow: none;
  background: transparent;
  will-change: left, top, width, height;
}

.trpg-animated-lightbox-close {
  position: fixed;
  top: 12px;
  right: 16px;
  z-index: 1000001;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 34px;
  line-height: 1;
  padding: 4px 8px;
  cursor: pointer;
  opacity: 0;
}

.trpg-animated-lightbox-close:hover,
.trpg-animated-lightbox-close:focus {
  background: transparent;
  color: #000;
  opacity: 0.8;
}

@keyframes trpgLightboxZoomIn {
  from {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
html.trpg-lightbox-open .sidebar,
html.trpg-lightbox-open #sidebar,
html.trpg-lightbox-open .sidebar-scroll,
html.trpg-lightbox-open .sidebar-sticky,
html.trpg-lightbox-open .widget-area {
  transform: none !important;
}

html.trpg-lightbox-open .sidebar,
html.trpg-lightbox-open #sidebar {
  pointer-events: none;
}

/* レスポンシブ */
@media screen and (max-width: 1023px){
  body.home #sidebar.sidebar{
    display: none !important;
  }

  .top-feed-card{
    padding: 18px;
  }

  .top-feed-cushion{
    padding: 12px;
  }
}

@media screen and (max-width: 640px){
  .top-feed-card{
    padding: 14px;
    border-radius: 12px;
  }

  .top-feed-cushion-form,
  .article-cushion-form{
    display: block;
  }

  .top-feed-cushion-input,
  .article-cushion-input{
    width: 100%;
    margin-bottom: 8px;
  }

  .top-feed-cushion-button,
  .article-cushion-button{
    width: 100%;
  }

  .trpg-paged-nav{
    gap: 6px;
  }

  .trpg-paged-prev,
  .trpg-paged-next,
  .trpg-paged-number{
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
  }
}

.top-feed-card .entry-content{
  margin-top: 1.2em;
}
.top-feed-title{
  margin: 0 0 12px;
  font-size: 1.4em;
  line-height: 1.45;
}
.top-feed-card .archive-categories-tags{
  margin-bottom: 12px;
}
.top-feed-thumb{
  border-radius: var(--cocoon-basic-border-radius);
}
@media screen and (max-width: 1023px){
  .top-feed-card{
    padding: 28px 20px;
  }
}

@media screen and (max-width: 640px){
  .top-feed-card{
    padding: 20px 14px;
    border-radius: 12px;
  }
}

/* =========================
   トップページだけ main の余白・箱を消す
========================= */

body.home #main.main{
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* 念のため内部の余白も潰す */
body.home #main.main .content{
  padding: 0 !important;
}

body.home #main.main .entry{
  margin: 0 !important;
}

/* 本体の改ページナビを横並び */
/* 再構築した本体改ページ */
.single-post .pager-links-rebuilt{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px; /* ←ここで全体の余白調整 */
  margin: 20px auto;
}

/* 数字 */
.single-post .pager-rebuilt-numbers{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px; /* ←数字間 */
}

.single-post .pager-rebuilt-prev,
.single-post .pager-rebuilt-next,
.single-post .pager-rebuilt-number{
  min-width: 42px;
  height: 42px;
  padding: 0 12px;
  border: 1px solid #c7dce7;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
}

.single-post .pager-rebuilt-prev,
.single-post .pager-rebuilt-next{
  padding: 0;
}

.single-post .pager-rebuilt-number.is-current{
  background: #eef5f9;
}

.single-post .pager-rebuilt-prev.is-disabled,
.single-post .pager-rebuilt-next.is-disabled{
  opacity: 0.45;
  cursor: default;
}

@media screen and (max-width: 640px){
  .single-post .pager-links-rebuilt{
    grid-template-columns: 38px 1fr 38px;
    gap: 8px;
  }

  .single-post .pager-rebuilt-prev,
  .single-post .pager-rebuilt-next,
  .single-post .pager-rebuilt-number{
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
  }

  .single-post .pager-rebuilt-prev,
  .single-post .pager-rebuilt-next{
    padding: 0;
  }

  .single-post .pager-rebuilt-numbers{
    gap: 6px;
  }
}

.tag-link,
.cat-link {
	margin-bottom:5px;
}


/************************************
** メタ情報
************************************/
.session-meta-box{
  margin: 1.5em 0 2em;
  padding: 1.3em 1.4em;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
}

.session-meta-list{
  display: grid;
  gap: 0.7em;
}

.session-meta-row{
  display: grid;
  grid-template-columns: 6em 1fr;
  gap: 0.8em;
  align-items: start;
}

.session-meta-label{
  font-weight: 700;
}

.session-meta-value{
  line-height: 1.7;
}

.session-cushion-text{
  margin: 1rem 0;
  padding: 1em;
  border: 1px solid #7a000e;
	color: #7a000e;
  line-height: 1.8;
	background: #fca6b0;
	text-align: center;
	border-radius: 4px;
}

//コピーボタン
.session-copy-button{
  margin: 1em 0;
  padding: 0.6em 1em;
  border: 1px solid #ccc;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-size: 0.9em;
}

.session-copy-button:hover{
  opacity: 0.85;
}


/* =========================
   TRPG meta card
   ========================= */

.trpg-meta-card {
  margin: 0 0 1.2em;
  padding: 2%;
  border: 1px solid #dfe5e8;
	border-radius: 4px;
}

.trpg-meta-card__rows {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.trpg-meta-card__row {
  display: grid;
  grid-template-columns: 84px 1px minmax(0, 1fr);
  align-items: start;
  column-gap: 16px;
}

.trpg-meta-card__label {
  font-weight: 700;
  line-height: 1.7;
  color: #333;
}

.trpg-meta-card__divider {
  width: 1px;
  min-height: 1.7em;
  background: #d9d9d9;
  align-self: stretch;
}

.trpg-meta-card__value {
  min-width: 0;
  line-height: 1.7;
  color: #333;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.trpg-meta-card__value br {
  content: "";
}
/* 通常行 */
.trpg-meta-card__row {
  display: grid;
  grid-template-columns: 84px 1px minmax(0, 1fr);
  align-items: start;
  column-gap: 16px;
}

/* 特定項目は1カラム全幅表示 */
.trpg-meta-card__row.is-full {
  grid-template-columns: minmax(0, 1fr);
}

.trpg-meta-card__row.is-full .trpg-meta-card__value {
  width: 100%;
}

/* メモだけ少し上余白を詰めてもよければ */
.trpg-meta-card__row--memo .trpg-meta-card__value {
  line-height: 1.8;
}
@media (max-width: 768px) {
  .trpg-meta-card__row {
    grid-template-columns: 72px 1px minmax(0, 1fr);
    column-gap: 12px;
  }
  .trpg-meta-card__rows {
    gap: 12px;
  }
  .trpg-meta-card__row.is-full {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================
   session_log 一覧だけ調整
   ========================= */

.category .trpg-meta-card {
	border: none;
	padding: 0;
}

.category .trpg-meta-card__rows {
  gap: 4px;
}

.category .trpg-meta-card__row {
  grid-template-columns: 5em 1px minmax(0, 1fr);
  column-gap: 6px;
}

.category .trpg-meta-card__label {
  font-size: 11px;
  line-height: 1.4;
}

.category .trpg-meta-card__value {
  font-size: 11px;
  line-height: 1.4;
}

.category .trpg-meta-card__divider {
  min-height: 1.5em;
}

/* メモはさらに小さく */
.category-session_log .trpg-meta-card__row--memo .trpg-meta-card__value {
  font-size: 10px;
  line-height: 1.5;
}

/* スマホ */
@media (max-width: 768px) {
  .category-session_log .trpg-meta-card {
    padding: 8px 10px;
    margin: 6px 0 8px;
  }

  .category-session_log .trpg-meta-card__rows {
    gap: 6px;
  }

  .category-session_log .trpg-meta-card__row {
    grid-template-columns: 48px 1px minmax(0, 1fr);
    column-gap: 8px;
  }

  .category-session_log .trpg-meta-card__label,
  .category-session_log .trpg-meta-card__value {
    font-size: 11px;
  }
}
/************************************
** シナリオ一覧
************************************/
.played-scenarios-v2{
  margin: 2em 0 3em;
}

.played-scenarios-v2-toolbar{
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
  margin-bottom: 2em;
  padding-bottom: 1em;
}

.played-scenarios-v2-label{
  font-weight: 700;
  margin-right: 0.5em;
}

.played-scenarios-v2-filters label{
  margin-right: 1em;
}

.played-scenarios-v2-sorts{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
}

.scenario-sort-button{
  padding: 0.45em 0.9em;
  border: 1px solid #bbb;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  font-size: 0.95em;
}

.scenario-sort-button.is-active{
  background: #666;
  color: #fff;
  border-color: #666;
}

.played-system-block{
  margin-bottom: 2.5em;
}

.played-system-heading{
  margin: 0 0 1em;
  padding-bottom: 0.25em;
  font-size: 1.4em;
}

.played-count-block{
  margin-bottom: 3em;
}

.played-count-heading{
  margin: 0 0 0.8em;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #ddd;
  font-size: 1.05em;
}

.played-scenario-list{
  display: grid;
  gap: 0.4em;
}

.played-scenario-item{
  line-height: 1.8;
	padding: 0 1rem;
}

.played-scenario-title{
  font-weight: 700;
  margin-right: 0.4em;
}

.played-scenario-chip{
	display: inline-block;
    margin: 0 2px 0 0;
    padding: 4px 10px;
    border-radius: 3px;
    font-size: 0.8em;
    line-height: 1;
    vertical-align: middle;
	background: #7b7b7b;
	color: #FFF;
}
.played-scenarios-v2-filters{
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  align-items: end;
}

.played-scenarios-v2-filter-group{
  display: flex;
  flex-direction: column;
  gap: 0.35em;
}

.scenario-filter-select{
  min-width: 9em;
  padding: 0.45em 0.65em;
  border: 1px solid #bbb;
  border-radius: 8px;
  background: #fff;
}
.played-scenario-star {
  display: inline-flex;
  align-items: center;
  margin-left: 0.15em;
  line-height: 1;
}


/************************************
** 投稿一覧ページ
************************************/
.archive-description {
  margin-bottom: 1.5em;
}
/* カードタイトルを記事見出しから切り離す */
.post-archive-like-wrap h2.entry-card-title {
  font-size: 18px;
  margin: 0 0 0.4em 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  box-shadow: none;
  line-height: 1.6;
	color: var(--main-bg-color);
}
/* 固定ページの本文ヘッダーの日付だけ消す */
.page .article-header .post-date,
.page .article-header .entry-date,
.page .article-header .date-tags {
  display: none;
}

.article h3 {
	border: none;
    border-bottom: 1px solid var(--cocoon-thin-color);
    font-size: 16px;
    padding: 10px;
}


/* ウィジェット */
.sidebar h2, .sidebar h3 {
	margin: 10px auto;
	padding: 5px 10px;
}
.info-list {
	padding: 0 !important;
}
.info-list-item {
	font-size: 15px;
}
.widget_recent_entries ul li a, .widget_categories ul li a, .widget_archive ul li a, .widget_pages ul li a, .widget_meta ul li a, .widget_rss ul li a, .widget_nav_menu ul li a, .widget_block ul li a {
	padding: 5px;
}
.article h2, .article h3, .article h4, .article h5, .article h6 {
	margin-bottom: 1rem;
}
.article h2 {
	padding: 10px;
	font-size: 18px;
}

/* ===== 汎用メタテーブル ===== */
.meta-table {
  width: 100%;
  max-width: 700px;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.meta-table tbody,
.meta-table tr,
.meta-table th,
.meta-table td {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.meta-table th,
.meta-table td {
  padding: 0.4em 0.5em;
  vertical-align: top;
}

/* 左側（項目） */
.meta-table th {
  color: var(--main-bg-color);
  font-weight: 700;
  text-align: left;
  width: 22%;
  min-width: 5em;
  white-space: nowrap;
  position: relative;
}

/* 項目｜内容 の縦線 */
.meta-table th::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  width: 2px;
  height: 70%;
  background: #c1c7c6;
}

/* 右側（内容） */
.meta-table td {
  color: #333;
  padding-left: 1.2em;
}

/* ========================================
   共通メタテーブル
   セッションログ / キャラ紹介 共通
======================================== */
.meta-table {
  width: 100%;
  max-width: 700px;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin: 0 0 1.2em;
}

.meta-table tbody,
.meta-table tr,
.meta-table th,
.meta-table td {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.meta-table th,
.meta-table td {
  padding: 0.4em 0.5em;
  vertical-align: top;
}

.meta-table th {
  color: var(--main-bg-color);
  font-weight: 700;
  text-align: left;
  width: 22%;
  min-width: 5em;
  white-space: nowrap;
  position: relative;
}

.meta-table th::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  width: 1px;
  height: 60%;
  background: #c1c7c6;
}

.meta-table td {
  color: inherit;
  padding-left: 1.2em;
  line-height: 1.75;
}

/* ========================================
   セッション追加情報
======================================== */
.session-extra-box {
  margin: 0 0 1.2em;
}
.session-copy-button {
  margin-top: 0.8em;
  padding: 0.5em 0.9em;
  border: 1px solid #c1c7c6;
  background: transparent;
  cursor: pointer;
  font-size: 0.95em;
}

.session-copy-button:hover {
  opacity: 0.85;
}

/* ========================================
   キャラ紹介：参加シナリオ一覧
======================================== */
.meta-list {
  margin-top: 30px !important;
}

.meta-list h2 {
  margin: 3rem 0 0.6em;
  font-size: 1.1em;
}

.meta-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.meta-list li {
  margin: 0.45em 0;
  padding: 0;
  line-height: 1.7;
}

.meta-list a {
  text-decoration: none;
}

.meta-list a:hover {
  text-decoration: underline;
}

.meta-date {
  font-size: 0.85em;
  color: #666;
}

/* ========================================
   ホームカード内での余白調整
======================================== */
.top-feed-body .meta-table {
  margin-top: 0.8em;
  margin-bottom: 1em;
}

.top-feed-body .session-extra-box {
  margin-bottom: 1em;
}

.top-feed-body .meta-list {
  margin-top: 1em;
}

/* ========================================
   本文内での余白調整
======================================== */
.entry-content > .meta-table:first-child {
  margin-top: 0;
}

.entry-content > .session-extra-box {
  margin-top: -0.2em;
}

/* ========================================
   スマホ
======================================== */
@media (max-width: 767px) {
  .meta-table,
  .meta-table tbody,
  .meta-table tr,
  .meta-table th,
  .meta-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .meta-table tr {
    margin-bottom: 0.55em;
  }

  .meta-table th {
    padding-bottom: 0.2em;
    min-width: 0;
    width: 100%;
  }

  .meta-table th::after {
    display: none;
  }

  .meta-table td {
    padding-top: 0;
    padding-left: 0.8em;
  }

  .session-copy-button {
    width: 100%;
  }
}


/* =========================
   home.php ページャー
   ========================= */
.top-feed-pagination {
  margin: 32px 0;
  text-align: center;
}

/* ul自体はただの並び用 */
.top-feed-pagination > ul.page-numbers {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  overflow: visible !important;
}

/* liもリセット */
.top-feed-pagination > ul.page-numbers > li {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  float: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
}

/* 数字・前へ・次へ：li直下のa/spanだけ */
.top-feed-pagination > ul.page-numbers > li > a.page-numbers,
.top-feed-pagination > ul.page-numbers > li > span.page-numbers:not(.dots) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #b7dfe3 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

/* 現在ページ */
.top-feed-pagination > ul.page-numbers > li > span.page-numbers.current {
  font-weight: 700;
}

/* dotsだけ別扱い */
.top-feed-pagination > ul.page-numbers > li > span.page-numbers.dots {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 24px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

/* hover */
.top-feed-pagination > ul.page-numbers > li > a.page-numbers:hover {
  text-decoration: none !important;
  opacity: 0.85;
}

/* home.php の nextpage 記事用「次へ」ボタンを標準ページャー風にする */
.top-feed-readmore-wrap{
  display: flex;
  justify-content: center;
  margin: 12px 0 0;
}

.top-feed-readmore-button.post-page-numbers{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 30%;
  min-width: 120px;
  margin: 0 auto;
  padding: 0;
  background-color: transparent;
  text-decoration: none;
  box-sizing: border-box;
}

.top-feed-readmore-button.post-page-numbers .page-numbers.page-prev-next{
  display: block;
  width: 100%;
  text-align: center;
}

/* =========================
   Illust archive
   ========================= */
/* illustカテゴリ配下の一覧カードは正方形 */
.category-illust-family .card-thumb,
.category-illust-family .entry-card-thumb,
.category-illust-family .e-card-thumb {
  aspect-ratio: 1 / 1;
  height: auto;
}

.category-illust-family .card-thumb img,
.category-illust-family .entry-card-thumb img,
.category-illust-family .e-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 画像下のネタバレ帯 */
.illust-spoiler-bar {
    position: absolute;
    left: 10%;
    right: 0;
    bottom: 50%;
    width: 80%;
    transform: translateY(50%);
    z-index: 2;
    padding: 20px 10px;
    font-weight: bold;
    background: rgb(0 0 0 / 80%);
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    border-radius: 4px;
}

/* Cocoonの横並びカード前提を打ち消す */
.illust-entry-card-content {
  margin-left: 0 !important;
  padding-top: 0;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}

/* カテゴリ + タグを同列で折り返し */
.illust-entry-card-taxonomies {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
  min-width: 0;
  width: 100%;
}

.illust-entry-card-categories,
.illust-entry-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 0;
}

.illust-entry-card-categories .cat-link,
.illust-entry-card-tags .tag-link {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
}

/* タイトル */
.illust-entry-card-title {
  margin: 0 0 8px;
  font-size: 16px;
  line-height: 1.5;
  min-width: 0;
}

.illust-entry-card-title a {
  display: block;
  overflow-wrap: break-word;
  text-decoration: none;
}


/* 抜粋は表示する */
.illust-entry-card-snippet {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: inherit;
  opacity: 0.9;
}

/* 日付 */
.illust-entry-card-meta {
  font-size: 13px;
  opacity: 0.85;
}

.illust-entry-card .entry-card-content > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .illust-entry-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .illust-entry-card-title {
    font-size: 14px;
  }

  .illust-entry-card-snippet {
    font-size: 13px;
    line-height: 1.6;
  }
}


/************************************
** パスワード記事用
************************************/
.wp-protected-intro-box{
  margin: 0 0 24px;
}

.wp-protected-intro-box-image{
  margin-bottom: 16px;
}

.wp-protected-intro-image{
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.wp-protected-intro-box-text{
  text-align: center;
  line-height: 1.8;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

.my-reactions__received.is-empty {
  display: none;
}
.mobile-footer-menu-buttons {
		background: var(--main-bg-color);
}
.mobile-footer-menu-buttons .navi-menu-button,
.mobile-footer-menu-buttons .menu-button {
	color: #FFF;
}
.mobile-menu-buttons .menu-button > a {
	color: #fff;
}
#navi-menu-content .menu-item a {
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
}
.info-list-item {
	padding: 10px 0;
	font-size: 0.7rem;
}
.info-list-item-meta {
	color: #808080;
}
.info-list-item-content {
	margin-bottom: 5px;
}
.info-list-item-date {
	margin-right: 5px;
}
@media (max-width: 450px) {
    .illust-entry-card-wrap {
			grid-template-columns: repeat(1, minmax(0, 1fr));
			gap: 0;
    }
}
