
/* ------------------------------------------------- */
@media only screen and (max-width : 736px){
  .keni-sub { clear: both; }
  .entry_description { display: none; }
}
/* ------------------------------------------------- */
/* ------------------------------------------------- */

ul.related-entry-list.related-entry-list_style01 .related-entry_thumb { display: none; }

/* ------------------------------------------------- */
/* ----続きを読む非表示化--------------------------------------------- */
.entry_description { display: none!important; }
@media only screen and (max-width : 736px){
  .ently_read-more { display: none; }
}
/* ------------------------------------------------- */
/* スマホ幅では3列固定にする */
@media (max-width: 736px){
  .cat-grid{
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px; /* 余白を少し狭める */
  }
  .cat-thumb{ aspect-ratio: 1 / 1; }
  .cat-body{ padding: 8px; }
  .cat-title{ font-size: .9rem; }
  .cat-meta{ font-size: .75rem; }
  .cat-desc{ display:none; }
}
@media (max-width:736px){
  .category-index-page .cat-grid{ grid-template-columns:repeat(3,1fr) !重要; }
}


/* ▼デバッグ用：当たっているか確認（一時的に） */
/* .home-ranking { outline: 2px dashed red; } */

/* スマホ時に「ランキング上位作品」を3列に固定 */
@media (max-width: 767px){
  .home-ranking,
  .home-ranking .wp-block-gallery,
  .home-ranking .blocks-gallery-grid,
  .home-ranking .gallery,
  .home-ranking ul,
  .home-ranking .wp-block-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    gap: 8px !important;
    align-items: start;
  }
  .home-ranking > *,
  .home-ranking li,
  .home-ranking .wp-block-image,
  .home-ranking .wp-block-column {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    display: block !important;
  }
  .home-ranking img{
    width: 100% !important;
    height: auto !important;
    display: block;
    object-fit: cover;
    aspect-ratio: 1 / 1;
  }
  /* 列数を2にしたい場合はここだけ変更 → repeat(2,1fr) */
}
@media (max-width: 767px){
  .home-ranking{ column-count: initial !important; }
}


/* =========================================================
   reviewbox を k2_section と同じダーク調＋モバイル2列に
   ========================================================= */
.k2-reviewbox{
  --rb-bg: var(--bg, #1f2937);                  /* k2_sectionのCSS変数があれば継承 */
  --rb-text: var(--text, #e5e7eb);
  --rb-border: var(--border, rgba(255,255,255,.08));
  background: var(--rb-bg);
  color: var(--rb-text);
  border: 1px solid var(--rb-border);
  border-radius: 12px;
  padding: 12px 14px;
}
.k2-sec--light .k2-reviewbox{
  --rb-bg:#f8fafc; --rb-text:#0f172a; --rb-border:rgba(0,0,0,.08);
}
.k2-reviewbox__head{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  align-items: start;
  margin-bottom: 12px;
}
.k2-reviewbox__cover{ width:100%; height:auto; border-radius:8px; object-fit:cover; }
.k2-reviewbox__meta h3{ margin:0 0 8px; font-size:1rem; }
.k2-reviewbox__meta dl{ display:grid; grid-template-columns:120px 1fr; gap:4px 12px; margin:0; }
.k2-reviewbox__meta dt{ color: rgba(255,255,255,.7); }
.k2-sec--light .k2-reviewbox__meta dt{ color:#6b7280; }
.k2-reviewbox__meta dd{ margin:0; }

/* 評価グリッド：常に2列（スマホでも） */
.k2-reviewbox__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px 16px;
}

/* 各項目のボックス */
.k2-reviewbox__item{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 10px; border-radius:8px;
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.06);
}
.k2-sec--light .k2-reviewbox__item{
  background:#f3f4f6; border:1px solid rgba(0,0,0,.06);
}
.k2-reviewbox__label{ font-weight:600; display:inline-flex; gap:6px; align-items:center; }
.k2-reviewbox__stars{ letter-spacing:1px; }

@media (max-width:736px){
  .k2-reviewbox__head{ grid-template-columns: 1fr; }
  .k2-reviewbox__meta dl{ grid-template-columns: 100px 1fr; }
  .k2-reviewbox__grid{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap:8px 12px; }
}

/* 作品説明などの本文サイズ（okazurand に合わせる） */
.k2-reviewbox p,
.k2-reviewbox li,
.k2-reviewbox dd{ font-size:15px; line-height:1.9; }
@media (min-width:1024px){
  .k2-reviewbox p,
  .k2-reviewbox li,
  .k2-reviewbox dd{ font-size:16px; }
}


/* 星レーティング */
.stars{ display:inline-flex; gap:2px; font-size:1.1em; line-height:1; }
.star{ position:relative; display:inline-block; color:#d1d5db; font-size:1.2em; }
.star.full{ color:#fbbf24; }
.star.half{ color:#d1d5db; }
.star.half::before{
  content:"★"; position:absolute; left:0; top:0; width:50%;
  overflow:hidden; color:#fbbf24;
}
.star.empty{ color:#d1d5db; }


/* --- FANZA動画アニメランキング：フッター用コンパクト表示 --- */
.fanza-varf-wrap{margin:10px 0 0;padding:10px 0;border-top:1px solid #eee}
.fanza-varf-header{font-size:13px;margin-bottom:6px}

.fanza-varf-scroller{
  display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:4px;
}
.fanza-varf-card{
  min-width:100px; max-width:140px; flex:0 0 auto;
  border:1px solid #eee; border-radius:10px; background:#fff; position:relative;
  text-decoration:none; color:inherit; scroll-snap-align:start;
}
@media (min-width:600px){ .fanza-varf-card{ min-width:130px; max-width:150px; } }
@media (min-width:1024px){ .fanza-varf-card{ min-width:150px; max-width:170px; } }
.fanza-varf-card img{
  width:100%; height:auto; display:block;
  aspect-ratio:3/4; object-fit:cover; max-height:220px;
}
.fanza-varf-title{
  font-size:12px; line-height:1.35; padding:6px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
@media (min-width:1024px){ .fanza-varf-title{ font-size:13px; } }
.fanza-varf-rank{
  position:absolute; left:0; top:0; margin:6px;
  background:rgba(0,0,0,.7); color:#fff; font-size:11px; padding:1px 5px; border-radius:6px;
}
.fanza-varf-scroller::-webkit-scrollbar{height:6px}
.fanza-varf-scroller::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}


/* =========================================================
   K2 Section Box：ヘッダー帯スリム化（ベルト状）
   ========================================================= */
.k2-sec__head{
  padding: 6px 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  min-height: auto !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.k2-sec__icon{ line-height:1; display:flex; align-items:center; }
.k2-sec__icon svg{ width:1.05em; height:1.05em; fill: currentColor; opacity:.9; }
.k2-sec__title{
  font-size: 1.0rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  display: block !important;
}
.k2-sec__title::before, .k2-sec__title::after{ content:none !important; }
.k2-sec__title span{
  background: transparent !important; padding:0 !important; border:none !important; box-shadow:none !important;
}
@media (max-width:600px){
  .k2-sec__head{ padding:5px 10px !important; gap:8px !important; }
  .k2-sec__title{ font-size:.98rem !important; }
}


/* =========================================================
   K2 Section：本文テキストを小さめ＆下の余白を小さく
   ========================================================= */
.k2-sec__body{
  --k2-body-fz: 15px;        /* スマホ基準 */
  --k2-body-lh: 1.9;
  --k2-body-gap: .7em;       /* 段落間隔 */
  --k2-body-pad-bottom: 10px;/* 下パディング縮小 */
  padding: 12px 14px;
  padding-bottom: var(--k2-body-pad-bottom);
}
.k2-sec__body p,
.k2-sec__body li{
  font-size: var(--k2-body-fz);
  line-height: var(--k2-body-lh);
}
@media (min-width:1024px){
  .k2-sec__body{ --k2-body-fz: 16px; }
}
.k2-sec__body p{ margin: var(--k2-body-gap) 0; }
.k2-sec__body ul,
.k2-sec__body ol{ margin: var(--k2-body-gap) 0; }
.k2-sec__body > *:first-child{ margin-top: 0; }
.k2-sec__body > *:last-child { margin-bottom: 0; }


/* ============ 1) モバイルは評価グリッドを1列に戻す ============ */
@media (max-width:736px){
  .k2-reviewbox__grid{
    grid-template-columns: 1fr !important;  /* ← 1列 */
    gap: 10px !important;
  }
}



/* ラッパー */
.k2-preroll-wrap{ position: relative; }

/* プレロール広告オーバーレイ */
.k2-preroll{
  position:absolute; inset:0; z-index:3;
  display:flex; align-items:center; justify-content:center;
  background: rgba(0,0,0,.72);
}
.k2-preroll__link, .k2-preroll__link img{
  display:block; max-width:min(92%, 760px); height:auto; border-radius:10px;
}

/* 「CLOSE AD ×」ボタン（右上） */
.k2-preroll__close{
  position:absolute; right:8px; top:8px;
  padding:6px 10px; font-size:12px; line-height:1;
  color:#fff; background: rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.35); border-radius:6px; cursor:pointer;
}
.k2-preroll__close:hover{ background: rgba(0,0,0,.75); }

/* 非表示状態 */
.k2-preroll.is-hidden{ display:none !important; }


/* =========================================================
   スマホで記事一覧（ホーム/カテゴリ/アーカイブ/検索）を2列に
   ========================================================= */
@media (max-width:736px){

  /* 一覧ラッパーをグリッド化：賢威で想定される代表的なクラスを網羅 */
  .home  :where(.entry-list,.post-list,.posts,.archive-list,.keni-posts,.loop-list),
  .blog  :where(.entry-list,.post-list,.posts,.archive-list,.keni-posts,.loop-list),
  .archive :where(.entry-list,.post-list,.posts,.archive-list,.keni-posts,.loop-list),
  .search  :where(.entry-list,.post-list,.posts,.archive-list,.keni-posts,.loop-list){
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;       /* カード間の余白 */
    align-items: start !important;
  }

  /* 子要素（カード）をフル幅にし、floatや幅指定を殺す */
  :where(.entry-list,.post-list,.posts,.archive-list,.keni-posts,.loop-list)
    > :where(li,article,div){
      width: auto !important;
      float: none !important;
      margin: 0 !important;
      display: block !important;
  }

  /* カード内のレイアウト（高さ揃えしやすく） */
  :where(.entry-card,.entry,article.post,.hentry){
    height: 100%;
    display: flex;
    flex-direction: column;
  }

  /* サムネイルをカード幅いっぱい＆正方形or16:9でトリミング */
  :where(.entry_thumb,.thumb,.post-thumbnail) img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
    aspect-ratio: 1 / 1;        /* 正方形。横長にしたいなら 16/9 に変更 */
    object-fit: cover;
  }

  /* タイトルやメタの文字サイズを少し詰める（任意） */
  :where(.entry-title,.post-title) { font-size: .95rem; line-height: 1.35; }
  :where(.entry-meta,.post-meta)   { font-size: .78rem; }
}

/* --- 既存の3列指定を崩したくないセクションはそのまま --- */
/* 例：.home-ranking と .cat-grid は、あなたの既存CSSが優先されます */


/* 強制2列（最終手段） */
@media(max-width:520px){
  .k2rc-grid { grid-template-columns:repeat(2,1fr) !important; }
  .k2rc-card { min-width:0 !important; }
}

/* 固定文本文行間*/
.article-body p {
    line-height: 140%;
}

.simple-box {
  background-color: #FFFFE0;
  color: #000;
  padding: 16px;
  border: 1px solid #ddd;
  border-radius: 8px;
  line-height: 1.7;
  margin-bottom: 12px;  /* ← これが「隙間」になる部分 */
}

/* 小タイトル部分のデザイン */
.simple-box-title {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 6px;
  border-left: 4px solid #000; /* 黒い縦線をアクセントに */
  padding-left: 8px;
  line-height: 1.4;
}

/* 小タイトル部分のデザイン */
.simple-box2-title {
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 6px;
  border-left: 4px solid #fff; /* 黒い縦線をアクセントに */
  padding-left: 8px;
  line-height: 1.4;
}

.affiliate-notice {
  text-align: center;
  background-color: #f8f8f8;
  color: #555;
  padding: 10px;
  font-size: 14px;
  border-bottom: 1px solid #ddd;
}

/* サイドバーの人気記事カード（WPP） */
.widget .wpp-list,
.sidebar .wpp-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.wpp-list .wpp-item {
  margin: 0;
  padding: 0;
}

.wpp-overlay-card {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  text-decoration: none;
}

/* 画像をブロック化してはみ出しを防ぐ */
.wpp-overlay-card img {
  display: block;
  width: 100%;
  height: auto;
  vertical-align: middle;
  transform: scale(1.01);
  transition: transform .25s ease;
}

/* タイトルのオーバーレイ */
.wpp-overlay-title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px;
  font-size: 14px;
  line-height: 1.4;
  color: #fff;
  /* 可読性を上げるグラデーション */
  background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 100%);
  /* 2行で省略（必要なら調整） */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ホバー時の軽いズーム */
.wpp-overlay-card:hover img {
  transform: scale(1.06);
}

/* もしサイドバーが極端に狭いテーマなら文字サイズ微調整 */
@media (max-width: 360px) {
  .wpp-overlay-title { font-size: 13px; }
}

.sidebar-profile {
  background: #fff;
  border-radius: 10px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.sidebar-title {
  background: #000;
  color: #fff !important;
  padding: 5px 10px;
  font-size: 14px;
  border-radius: 5px;
  display: inline-block;
  margin-bottom: 15px;
}

.profile-image {
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: 50%;
  margin-bottom: 10px;
}

.profile-name {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}

.profile-text {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 10px;
}

.category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}
.category-card {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}
.category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
}
.category-card__thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.category-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.category-card__badge {
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: rgba(0,0,0,0.7);
  color: #fff;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
}
.category-card__body {
  padding: 12px 14px 16px;
}
.category-card__title {
  margin: 0 0 4px;
  font-size: 16px;
  color: #222;
}
.category-card__desc {
  margin: 0;
  font-size: 13px;
  color: #666;
}

.link-box {
  display: block;
  border: 2px solid #ccc;
  border-radius: 8px;
  overflow: hidden;
  text-decoration: none;
  color: #333;
  margin: 20px 0;
  transition: all 0.3s ease;
  background: #fff;
}

.link-box:hover {
  border-color: #0073aa;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.link-box-inner {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
}

.link-box-thumb img {
  width: 160px;
  height: auto;
  border-radius: 6px;
}

.link-box-text h3 {
  margin: 0 0 5px;
  font-size: 18px;
  font-weight: bold;
  color: #000;
}

.link-box-text p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .link-box-inner {
    flex-direction: column;
    text-align: center;
  }
  .link-box-thumb img {
    width: 100%;
    max-width: 300px;
  }
}
