@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

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

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

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




.episode-nav {
  position: sticky;
  top: 0;
  background: #111;
  padding: 10px;
  text-align: center;
  z-index: 999;
  font-weight: bold;
}
.episode-nav a {
  margin: 0 15px;
  color: #fff;
  text-decoration: none;
}
.episode-nav a:hover {
  text-decoration: underline;
}



/* ゲームブック用のフッター分岐ナビゲーション */
.footer-nav {
  background: #1f1f1f;
  padding: 20px;
  text-align: center;
  font-weight: bold;
  border-radius: 8px;
  border: 1px solid #444;
  margin-top: 2em;
  margin-bottom: 2em;
}
.footer-nav a {
  display: inline-block;
  margin: 10px;
  color: #fff;
  text-decoration: none;
  padding: 15px 20px;
  background-color: #333;
  border: 1px solid #555;
  border-radius: 6px;
  transition: all 0.3s ease;
  min-width: 200px;
}
.footer-nav a:hover {
  background-color: #e60033;
  border-color: #e60033;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(230,0,51,0.4);
}

/* Global Fixes for Story Content */
.story-content h2 {
  color: #f4e8e8 !important;
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid #4a2a36 !important;
  padding: 10px 0 !important;
  margin: 1.5em 0 1em 0 !important;
}

/* Story Content 本文スタイル（旧・各記事インライン<style>から集約） */
.story-content {
  background-color: #1a1016; /* 深い紫黒 */
  color: #e0d8d8;
  font-family: "Noto Serif JP", "游明朝", serif;
  padding: 20px;
  line-height: 2.0;
}
.female-dialogue { color: #ff6b8b; font-weight: bold; }
.inner-voice { color: #b3a5b3; font-size: 0.95em; }
.ero-word-pink { color: #ff6b8b; }
.ero-word-red { color: #e53935; text-shadow: 0 0 5px rgba(229,57,53,0.3); }


/* ===== トップLP（build_toppage.py 用） ===== */
.lp-wrap{max-width:1000px;margin:0 auto;color:#e7dde0;font-family:"Noto Sans JP",sans-serif;}
.lp-hero{background:linear-gradient(160deg,#1a1016,#2a1420);border:1px solid #4a2a36;border-radius:14px;padding:38px 24px;text-align:center;margin-bottom:28px;}
.lp-hero h1{color:#ffdce6 !important;font-family:"Noto Serif JP",serif;font-size:1.7em;line-height:1.5;margin:0 0 10px;border:none !important;background:none !important;}
.lp-sub{color:#c9b9c2;font-size:1.0em;line-height:1.9;margin:0 auto 22px;max-width:640px;}
.lp-cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.lp-btn{display:inline-block;padding:13px 22px;border-radius:8px;font-weight:bold;text-decoration:none;border:1px solid #6a3a4a;color:#ffd0dd;background:#2a1622;transition:.25s;}
.lp-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(230,0,80,.3);}
.lp-btn-primary{background:#e0396a;border-color:#e0396a;color:#fff;}
.lp-concept{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 34px;}
.lp-concept-item{background:#1d1218;border:1px solid #3c2530;border-radius:10px;padding:18px;text-align:center;}
.lp-concept-item .ic{font-size:1.6em;}
.lp-concept-item h3{color:#ff8fab !important;margin:8px 0 6px;border:none !important;background:none !important;font-size:1.05em;}
.lp-concept-item p{color:#c1b2bb;font-size:.9em;line-height:1.7;margin:0;}
.lp-lane{margin:0 0 34px;}
.lp-lane h2{color:#f4e8ee !important;border:none !important;border-bottom:1px solid #4a2a36 !important;background:none !important;padding:0 0 8px !important;margin:0 0 16px !important;font-size:1.25em;}
.lp-lane .lane-note{color:#a99;font-size:.85em;margin:-10px 0 14px;}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;}
.lp-card{background:#1d1218;border:1px solid #3c2530;border-radius:12px;padding:18px;display:flex;flex-direction:column;}
.lp-card h3{color:#ffb3c6 !important;margin:0 0 6px;border:none !important;background:none !important;font-size:1.12em;}
.lp-card .cnt{color:#9a8791;font-size:.82em;margin:0 0 8px;}
.lp-card .desc{color:#cabcc4;font-size:.9em;line-height:1.7;flex:1;margin:0 0 12px;}
.lp-tags{margin:0 0 14px;}
.lp-tag{display:inline-block;background:#2a1622;border:1px solid #5a3444;color:#e59ab3;border-radius:999px;padding:3px 10px;font-size:.75em;margin:0 6px 6px 0;}
.lp-card-cta{display:flex;gap:8px;}
.lp-card-cta a{flex:1;text-align:center;}
.lp-reco{background:#160c11;border:1px dashed #4a2a36;border-radius:12px;padding:20px;margin:0 0 30px;}
.lp-reco h2{color:#f4e8ee !important;border:none !important;background:none !important;font-size:1.1em;margin:0 0 6px;}
.lp-reco p{color:#a99;font-size:.85em;margin:0;}
.lp-footer{border-top:1px solid #3c2530;padding:22px 0;text-align:center;color:#a99;font-size:.85em;line-height:1.9;}
.lp-footer a{color:#ff8fab;text-decoration:none;}
#lp-resume{display:none;}

/* LPトップ: 投稿者・日付を非表示（フロントのみ） */
.home .date-tags, .home .post-author { display:none !important; }

/* LP おすすめ作品カード */
.lp-reco-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:14px;}
.lp-reco-card{display:block;background:#1d1218;border:1px solid #3c2530;border-radius:10px;padding:10px;text-decoration:none;transition:.25s;}
.lp-reco-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(230,0,80,.25);}
.lp-reco-card img{width:100%;height:auto;border-radius:6px;display:block;margin:0 0 8px;}
.lp-reco-card .t{display:block;color:#e0cdd6;font-size:.78em;line-height:1.5;}

/* LP シリーズカード・サムネ枠（AI自作アイキャッチ／二次創作はシンボル） */
.lp-card-thumb{display:block;overflow:hidden;border-radius:10px;margin:-4px -4px 12px;aspect-ratio:16/10;background:#0f0710;position:relative;}
.lp-card-thumb img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.9) brightness(.88);transition:.4s;}
.lp-card:hover .lp-card-thumb img{filter:saturate(1) brightness(1);transform:scale(1.03);}
.lp-card-thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(26,16,22,.85) 100%);pointer-events:none;}
.lp-card-thumb-empty{display:flex;align-items:center;justify-content:center;color:#ff8fab;font-size:2.2em;background:radial-gradient(circle at 50% 50%,#2a1420,#0f0710 70%);}

/* LP ヒーロー背景：控えめな抽象演出（画像なし・軽量） */
.lp-hero{position:relative;overflow:hidden;}
.lp-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:520px;height:520px;background:radial-gradient(circle at 30% 30%,rgba(255,107,139,.28),rgba(224,57,106,0) 65%);filter:blur(20px);pointer-events:none;z-index:0;}
.lp-hero::after{content:"";position:absolute;inset:auto auto -20% -10%;width:460px;height:460px;background:radial-gradient(circle at 70% 70%,rgba(76,29,49,.55),rgba(76,29,49,0) 68%);filter:blur(18px);pointer-events:none;z-index:0;}
.lp-hero > *{position:relative;z-index:1;}

/* 二次創作用・空サムネの見た目改善（1枚しか無い時の間延び対策込み） */
.lp-card-thumb-empty{aspect-ratio:auto;min-height:120px;font-size:3.4em;position:relative;overflow:hidden;}
.lp-card-thumb-empty::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(255,143,171,.35),rgba(255,143,171,0) 55%);pointer-events:none;}
.lp-card-thumb-empty::after{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,143,171,.35);border-radius:8px;pointer-events:none;}


/* ===== LP 追加パーツ（新着 / カテゴリ / バッジ） ===== */
.lp-badge{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:999px;background:rgba(224,57,106,.18);border:1px solid rgba(224,57,106,.5);color:#ff9ab5;font-size:.72em;line-height:1.5;white-space:nowrap;}

/* 新着・更新リスト */
.lp-new-list{display:grid;gap:8px;}
.lp-new-item{display:flex;align-items:baseline;gap:12px;padding:11px 14px;
  background:#1d1218;border:1px solid #3c2530;border-radius:8px;
  text-decoration:none;transition:.2s;}
.lp-new-item:hover{background:#251721;border-color:#6a3a4a;transform:translateX(3px);}
.lp-new-item .d{color:#8a7680;font-size:.76em;flex:none;font-variant-numeric:tabular-nums;}
.lp-new-item .t{color:#e0cdd6;font-size:.9em;line-height:1.6;}

/* シチュエーション別カテゴリチップ */
.lp-cats{display:flex;flex-wrap:wrap;gap:10px;}
.lp-cat{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;
  background:#1d1218;border:1px solid #4a2a36;color:#e5c4d1;
  text-decoration:none;font-size:.9em;transition:.2s;}
.lp-cat:hover{background:#e0396a;border-color:#e0396a;color:#fff;transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(224,57,106,.35);}
.lp-cat .n{font-size:.78em;opacity:.7;font-variant-numeric:tabular-nums;}

/* モバイル最適化 */
@media screen and (max-width:600px){
  .lp-hero{padding:26px 16px;}
  .lp-hero h1{font-size:1.28em;}
  .lp-sub{font-size:.9em;line-height:1.8;}
  .lp-btn{padding:12px 16px;font-size:.9em;}
  .lp-new-item{flex-direction:column;gap:3px;}
  .lp-new-item .d{font-size:.7em;}
}


/* LPトップ: 投稿日・更新日・著者を確実に非表示（フロントページのみ）
   ※ Cocoonは更新日を .post-update / .entry-date 等でも出すため一括で消す */
.home .date-tags,
.home .post-author,
.home .post-date,
.home .post-update,
.home .entry-date,
.home .entry-meta { display:none !important; }


/* ============================================================
   記事ページ改良（回遊・離脱回避）
   ============================================================ */

/* --- 分岐選択肢：サイトの核なので主役級に --- */
.footer-nav{
  background:linear-gradient(160deg,#241521,#1a1016) !important;
  border:1px solid #5a3444 !important;
  border-radius:14px !important;
  padding:22px 20px 20px !important;
  position:relative;
  margin-top:2.5em !important;
}
.footer-nav::before{
  content:"どうする？";
  position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:#e0396a;color:#fff;font-size:.72em;font-weight:bold;
  padding:3px 16px;border-radius:999px;letter-spacing:.08em;white-space:nowrap;
}
.footer-nav a{
  display:flex !important;align-items:center;justify-content:center;
  gap:10px;text-align:left;
  margin:9px auto !important;padding:17px 22px !important;
  background:#2a1622 !important;border:1px solid #6a3a4a !important;
  border-radius:10px !important;color:#ffd0dd !important;
  font-size:1.02em;line-height:1.6;
  max-width:560px;width:100%;box-sizing:border-box;
  transition:.25s !important;
}
.footer-nav a::before{
  content:"▶";color:#e0396a;font-size:.85em;flex:none;transition:.25s;
}
.footer-nav a:hover{
  background:#e0396a !important;border-color:#e0396a !important;
  color:#fff !important;transform:translateY(-2px) !important;
  box-shadow:0 8px 20px rgba(224,57,106,.4) !important;
}
.footer-nav a:hover::before{color:#fff;transform:translateX(3px);}

/* --- 前の話へ：控えめに --- */
.story-back{text-align:center;}
.story-back a{
  display:inline-block;color:#a08b96 !important;font-size:.88em;
  text-decoration:none;padding:8px 18px;border-radius:999px;
  border:1px solid #3c2530;transition:.2s;
}
.story-back a:hover{color:#ff9ab5 !important;border-color:#6a3a4a;background:#1d1218;}

/* --- ヘッダーナビ：sticky時の視認性を上げる --- */
.episode-nav{
  background:rgba(17,17,17,.94) !important;
  backdrop-filter:blur(6px);
  border-bottom:1px solid #3c2530;
  padding:11px 10px !important;
}
.episode-nav a{color:#ffb3c6 !important;font-size:.9em;}
.episode-nav a:hover{color:#fff !important;}

/* --- 記事下：不要ブロックを整理 --- */
.single .comment-area,
.single #comment-area,
.single .pager-post-navi{ display:none !important; }   /* コメント欄・日付順の前後ナビは物語順と無関係 */

/* --- 関連記事：ダーク基調に統一して浮かないように --- */
.single .related-entries{
  background:#160c11;border:1px solid #3c2530;border-radius:12px;
  padding:20px;margin-top:2em;
}
.single .related-entries .related-entry-heading,
.single .related-entries h2{
  color:#f4e8ee !important;background:none !important;border:none !important;
  border-bottom:1px solid #4a2a36 !important;font-size:1.05em !important;
}
.single .related-entry-card-title{color:#e0cdd6 !important;font-size:.9em !important;}
.single .related-entry-card-snippet{color:#a99 !important;font-size:.8em !important;}
.single .related-entry-card:hover .related-entry-card-title{color:#ff9ab5 !important;}

/* --- カテゴリ・タグ表示をチップ化（回遊導線として目立たせる） --- */
.single .entry-categories a,
.single .entry-tags a,
.single .cat-link,
.single .tag-link{
  display:inline-block;padding:5px 13px;margin:0 6px 7px 0;
  background:#1d1218;border:1px solid #4a2a36;border-radius:999px;
  color:#e5c4d1 !important;font-size:.8em;text-decoration:none;transition:.2s;
}
.single .entry-categories a:hover,
.single .entry-tags a:hover,
.single .cat-link:hover,
.single .tag-link:hover{
  background:#e0396a;border-color:#e0396a;color:#fff !important;
}

/* --- 読了後の回遊ブロック（functions.php で挿入） --- */
.story-outro{
  background:linear-gradient(160deg,#1d1218,#160c11);
  border:1px solid #4a2a36;border-radius:14px;
  padding:24px 20px;margin:2.5em 0 1.5em;text-align:center;
}
.story-outro h3{
  color:#ffb3c6 !important;background:none !important;border:none !important;
  font-size:1.08em !important;margin:0 0 6px !important;padding:0 !important;
}
.story-outro p{color:#a99;font-size:.87em;margin:0 0 16px;line-height:1.8;}
.story-outro-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.story-outro-btns a{
  display:inline-block;padding:12px 20px;border-radius:8px;
  text-decoration:none;font-size:.92em;font-weight:bold;transition:.25s;
  border:1px solid #6a3a4a;background:#2a1622;color:#ffd0dd;
}
.story-outro-btns a.primary{background:#e0396a;border-color:#e0396a;color:#fff;}
.story-outro-btns a:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(224,57,106,.35);}

/* --- モバイル --- */
@media screen and (max-width:600px){
  .footer-nav{padding:20px 12px 16px !important;}
  .footer-nav a{padding:15px 14px !important;font-size:.95em;}
  .story-content{padding:15px !important;}
  .story-outro{padding:20px 14px;}
  .story-outro-btns a{width:100%;box-sizing:border-box;}
}


/* ============================================================
   サイドバー（カテゴリ / タグ / 検索）の見た目統一
   ============================================================ */

/* --- ウィジェット共通 --- */
.sidebar .widget,
.sidebar .widget-sidebar{
  background:#160c11;border:1px solid #3c2530;border-radius:12px;
  padding:18px 16px;margin-bottom:18px;
}
.sidebar .widget-sidebar-title,
.sidebar .widget-title{
  color:#ffb3c6 !important;background:none !important;border:none !important;
  border-bottom:1px solid #4a2a36 !important;
  font-size:1.0em !important;font-weight:bold;
  padding:0 0 9px !important;margin:0 0 14px !important;letter-spacing:.04em;
}

/* --- カテゴリ：リストをチップ風の行に --- */
.sidebar .widget_categories ul,
.sidebar .cat-list{list-style:none;margin:0;padding:0;}
.sidebar .widget_categories li,
.sidebar .cat-list li{margin:0 0 6px;padding:0;border:none;}
.sidebar .widget_categories li a,
.sidebar .cat-list li a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px;border-radius:8px;
  background:#1d1218;border:1px solid #3c2530;
  color:#e0cdd6 !important;text-decoration:none;font-size:.9em;
  transition:.2s;
}
.sidebar .widget_categories li a:hover,
.sidebar .cat-list li a:hover{
  background:#e0396a;border-color:#e0396a;color:#fff !important;
  transform:translateX(3px);
}

/* --- タグクラウド：粒を揃えて読みやすく --- */
.sidebar .tagcloud,
.sidebar .tag-list{display:flex;flex-wrap:wrap;gap:7px;}
.sidebar .tagcloud a,
.sidebar .tag-list a,
.sidebar a.tag-cloud-link{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 12px !important;border-radius:999px;
  background:#1d1218;border:1px solid #4a2a36;
  color:#e5c4d1 !important;text-decoration:none;
  font-size:.8em !important;   /* Cocoonの可変フォントを打ち消して粒を揃える */
  transition:.2s;
}
.sidebar .tagcloud a:hover,
.sidebar .tag-list a:hover,
.sidebar a.tag-cloud-link:hover{
  background:#e0396a;border-color:#e0396a;color:#fff !important;
  transform:translateY(-2px);
}
/* タグの件数バッジ */
.sidebar .tag-link-count,
.sidebar .tagcloud .tag-link-count{
  opacity:.55;font-size:.9em;font-variant-numeric:tabular-nums;
}
/* タグアイコンは冗長なので隠す */
.sidebar .tagcloud .fa-tag,
.sidebar .tag-list .fa-tag{display:none !important;}

/* --- 検索ボックス：白浮きを解消 --- */
.sidebar .search-box,
.sidebar .search-edit,
.sidebar input[type="search"],
.sidebar input[type="text"]{
  background:#1d1218 !important;border:1px solid #4a2a36 !important;
  color:#e7dde0 !important;border-radius:8px !important;
}
.sidebar input[type="search"]::placeholder,
.sidebar input[type="text"]::placeholder{color:#8a7680 !important;}
.sidebar .search-submit{color:#ff8fab !important;}

/* --- 人気記事などのカードもダークに --- */
.sidebar .widget-entry-cards .entry-card-wrap{
  background:#1d1218;border:1px solid #3c2530;border-radius:8px;
  padding:8px;margin-bottom:8px;transition:.2s;
}
.sidebar .widget-entry-cards .entry-card-wrap:hover{border-color:#6a3a4a;}
.sidebar .widget-entry-cards .entry-card-title{color:#e0cdd6 !important;font-size:.84em !important;}
.sidebar .widget-entry-cards .entry-card-wrap:hover .entry-card-title{color:#ff9ab5 !important;}


/* --- カテゴリはブロックウィジェット(widget_block)で出力されるため個別に指定 --- */
.sidebar .widget_block ul,
.sidebar .wp-block-categories,
.sidebar .wp-block-categories-list{list-style:none;margin:0;padding:0;}
.sidebar .widget_block li,
.sidebar .wp-block-categories li{margin:0 0 6px;padding:0;border:none;list-style:none;}
.sidebar .widget_block li a,
.sidebar .wp-block-categories li a{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 14px;border-radius:8px;
  background:#1d1218;border:1px solid #3c2530;
  color:#e0cdd6 !important;text-decoration:none;font-size:.9em;
  transition:.2s;
}
.sidebar .widget_block li a:hover,
.sidebar .wp-block-categories li a:hover{
  background:#e0396a;border-color:#e0396a;color:#fff !important;
  transform:translateX(3px);
}
/* 件数表示 */
.sidebar .widget_block li a .post-count,
.sidebar .wp-block-categories li .post-count{opacity:.55;font-size:.88em;}
