@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){
  /*必要ならばここにコードを書く*/
}

/* フッターロゴサイズ調整 */
.footer-site-logo-image {
  height: 70px !important;
  width: auto !important;
}

/* HOMEページ Elementorフッターロゴ */
.em-footer-logo img {
  height: 64px !important;
  width: auto !important;
}

/* ===== Blogページ スタイリッシュデザイン ===== */

/* ---- ヘッダー：黒背景・白テキスト ---- */
.header, #header { background-color: #000000 !important; }
.header a, .header .site-name, .header .tagline,
.navi-in a, .navi-in > ul > li > a,
.navi-in > ul > li > span { color: #ffffff !important; }
.menu-button .hamburger span,
.menu-button .hamburger::before,
.menu-button .hamburger::after { background-color: #ffffff !important; }

/* ---- フッター：黒背景・白テキスト ---- */
.footer, #footer { background-color: #000000 !important; }
.footer, .footer a, .footer-bottom, .footer-bottom a,
.footer-credit, .site-copyright { color: #ffffff !important; }

/* ---- メインカラム：黒背景（サイドバーは白のまま） ---- */
.blog .main, .main.content-area { background-color: #111111 !important; }

/* ---- サイドバー：白背景維持・テキスト読みやすく ---- */
.sidebar { background-color: #ffffff !important; }
.sidebar .wp-block-latest-posts__post-title,
.sidebar .widget_recent_entries li a,
.sidebar a { color: #111111 !important; }
.sidebar .wp-block-latest-posts__post-title:hover,
.sidebar a:hover { color: #c41230 !important; }
.sidebar h2, .sidebar h3, .sidebar h4,
.sidebar .widget-title { color: #111111 !important; }

/* ---- ブログ一覧：カードセクション（黒背景） ---- */
.ect-vertical-card-3 { background-color: #111111 !important; padding: 2rem 1.5rem !important; }

/* ---- カテゴリーセクション見出し（赤） ---- */
.em-cat-section { width: 100%; }
.em-cat-section-title {
  color: #c41230;
  font-size: 1.1rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase;
  padding: 0.5rem 0 0.8rem 0; margin: 0 0 1rem 0;
  border-bottom: 2px solid #c41230;
}
.em-cat-section + .em-cat-section { margin-top: 2.5rem; }

/* ---- カードグリッド ---- */
.em-cat-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 1.5rem !important; width: 100% !important;
}
@media screen and (max-width: 834px) { .em-cat-cards { grid-template-columns: repeat(2, 1fr) !important; } }
@media screen and (max-width: 480px) { .em-cat-cards { grid-template-columns: 1fr !important; } }

/* ---- カード：白背景・幅100%・ダークテキスト ---- */
.em-cat-cards .entry-card-wrap,
.em-cat-cards .a-wrap {
  width: 100% !important; max-width: 100% !important;
  background: #ffffff !important; border: 1px solid #e5e5e5 !important;
  border-radius: 8px !important; overflow: hidden !important;
  box-sizing: border-box !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.em-cat-cards .a-wrap:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.35) !important; border-color: #cccccc !important;
}
.em-cat-cards .entry-card-thumb { overflow: hidden !important; }
.em-cat-cards .entry-card-thumb img { transition: transform 0.4s ease !important; width: 100% !important; }
.em-cat-cards .a-wrap:hover .entry-card-thumb img { transform: scale(1.05) !important; }
.em-cat-cards .entry-card-title { color: #111111 !important; font-size: 0.95rem !important; font-weight: 600 !important; }
.em-cat-cards .entry-card-snippet { color: #555555 !important; font-size: 0.82rem !important; }
.em-cat-cards .entry-card-meta, .em-cat-cards time { color: #888888 !important; font-size: 0.75rem !important; }

/* ---- ページネーション（黒背景上で白文字） ---- */
.blog .pagination, .blog .wp-pagenavi { background: transparent !important; }
.blog .pagination .page-numbers,
.blog .wp-pagenavi a,
.blog .wp-pagenavi span {
  background: #2a2a2a !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  color: #ffffff !important;
  border-radius: 4px !important;
}
.blog .pagination .current,
.blog .pagination .page-numbers:hover,
.blog .wp-pagenavi .current,
.blog .wp-pagenavi a:hover {
  background: #c41230 !important;
  border-color: #c41230 !important;
  color: #ffffff !important;
}

/* ---- ボタン：白文字 ---- */
.elementor-button,
.elementor-widget-button .elementor-button,
.elementor-button-wrapper .elementor-button {
  color: #ffffff !important;
}
/* ---- サイドバーLinkウィジェット：ボタン白文字 ---- */
#custom_html-2 a {
  color: #ffffff !important;
}


/* ---- メンバー紹介：バイオテキスト ---- */
.em-members {
  align-items: start !important;
}
.em-member-wrap {
  display: flex;
  flex-direction: column;
}
.em-member-bio {
  background: #111111;
  padding: 20px 22px 22px;
  border-top: 2px solid #c41230;
}
.em-member-bio-text {
  color: #cccccc;
  font-size: 0.84rem;
  line-height: 1.8;
  margin: 0 0 10px 0;
}

/* スマホ対応 */
@media screen and (max-width: 834px) {
  .em-member-bio {
    padding: 16px 18px 18px;
  }
  .em-member-bio-text {
    font-size: 0.82rem;
  }
}

/* ---- TOPページ ABOUTボタン：白背景・黒文字 ---- */
.em-btn-white,
.em-about-body .em-btn-red {
  display: inline-block;
  background: #ffffff !important;
  color: #111111 !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 14px 32px;
  border-radius: 2px;
  text-decoration: none;
  transition: opacity 0.2s;
}
.em-btn-white:hover,
.em-about-body .em-btn-red:hover {
  opacity: 0.85;
  color: #111111 !important;
}

/* ================================================
   BLOG PAGE: Night Stage Design (案A)
   ================================================ */

/* メインエリア・サイドバー背景を黒統一 */
.blog .main,
.main.content-area,
body.blog {
  background-color: #0d0d0d !important;
}
.blog .sidebar,
.sidebar {
  background-color: #111111 !important;
}
.blog .sidebar a,
.sidebar a {
  color: #cccccc !important;
}
.blog .sidebar .widget-title,
.sidebar .widget-title {
  color: #ffffff !important;
  border-left: 3px solid #c41230;
  padding-left: 10px;
}

/* サイドバー内リンクウィジェット */
#custom_html-2 a {
  color: #ffffff !important;
}

/* カードグリッドレイアウト */
.em-cat-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
}
@media screen and (max-width: 834px) {
  .em-cat-cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}
@media screen and (max-width: 480px) {
  .em-cat-cards {
    grid-template-columns: 1fr !important;
  }
}

/* ダークカードスタイル */
.em-cat-cards .entry-card-wrap,
.em-cat-cards .a-wrap {
  background: #1a1a1a !important;
  border: none !important;
  border-left: 3px solid #c41230 !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  transition: box-shadow 0.25s ease, transform 0.25s ease !important;
  overflow: hidden !important;
}
.em-cat-cards .entry-card-wrap:hover,
.em-cat-cards .a-wrap:hover {
  box-shadow: 0 0 24px rgba(196, 18, 48, 0.35), 0 4px 16px rgba(0,0,0,0.6) !important;
  transform: translateY(-3px) !important;
}

/* カードタイトル */
.em-cat-cards .entry-card-title,
.em-cat-cards .card-title {
  color: #f0f0f0 !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}

/* カード本文テキスト */
.em-cat-cards .entry-card-content,
.em-cat-cards .card-content,
.em-cat-cards p {
  color: #aaaaaa !important;
  font-size: 0.8rem !important;
}

/* カードメタ情報（日付・カテゴリ） */
.em-cat-cards .entry-card-meta,
.em-cat-cards .card-meta,
.em-cat-cards .post-date,
.em-cat-cards time {
  color: #888888 !important;
  font-size: 0.75rem !important;
}

/* サムネイル上のカテゴリバッジ */
.em-cat-cards .cat-label,
.em-cat-cards .entry-card-thumb .cat-name,
.em-cat-cards .card-thumb .cat-name {
  background: #c41230 !important;
  color: #ffffff !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;
  border-radius: 2px !important;
  letter-spacing: 0.05em !important;
}

/* サムネイル画像 */
.em-cat-cards .entry-card-thumb,
.em-cat-cards .card-thumb {
  overflow: hidden !important;
}
.em-cat-cards .entry-card-thumb img,
.em-cat-cards .card-thumb img {
  transition: transform 0.4s ease !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
}
.em-cat-cards .entry-card-wrap:hover .entry-card-thumb img,
.em-cat-cards .a-wrap:hover .card-thumb img {
  transform: scale(1.05) !important;
}

/* カテゴリ見出し（セクションタイトル） */
.em-blog-section-title,
.em-cat-title {
  color: #ffffff !important;
  border-left: 4px solid #c41230 !important;
  padding-left: 14px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin-bottom: 16px !important;
}

/* ページネーション */
.blog .pagination .page-numbers,
.blog .wp-pagenavi a,
.blog .wp-pagenavi span {
  background: #2a2a2a !important;
  color: #ffffff !important;
  border: 1px solid #333333 !important;
}
.blog .pagination .page-numbers.current,
.blog .wp-pagenavi span.current {
  background: #c41230 !important;
  color: #ffffff !important;
  border-color: #c41230 !important;
}
.blog .pagination .page-numbers:hover,
.blog .wp-pagenavi a:hover {
  background: #c41230 !important;
  color: #ffffff !important;
  border-color: #c41230 !important;
}

/* ブログページ全体のテキスト */
.blog .entry-title,
.blog h1, .blog h2, .blog h3 {
  color: #f0f0f0 !important;
}
.blog .entry-content {
  color: #cccccc !important;
}




/* ================================================
   サイドバー ウィジェットタイトル修正
   白背景→透明にして白テキストが見えるように
   ================================================ */

/* ウィジェットタイトルの白背景を除去 */
.sidebar .widget-title,
.sidebar .widget-sidebar-title,
.sidebar h2,
.sidebar h3.widget-title,
.sidebar .wp-block-heading {
  background: transparent !important;
  background-color: transparent !important;
  color: #ffffff !important;
  border-left: 3px solid #c41230 !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  padding-left: 10px !important;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
  font-size: 0.88rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
}

/* サイドバー内 検索・入力フィールド */
.sidebar input[type="search"],
.sidebar input[type="text"],
.sidebar input[type="url"] {
  background: #1e1e1e !important;
  color: #cccccc !important;
  border: 1px solid #444444 !important;
  border-radius: 3px !important;
}
.sidebar input[type="search"]::placeholder,
.sidebar input[type="text"]::placeholder {
  color: #777777 !important;
}

/* 検索ボタン */
.sidebar button[type="submit"],
.sidebar .search-submit,
.sidebar input[type="submit"] {
  background: #c41230 !important;
  color: #ffffff !important;
  border: none !important;
}

/* 最近の投稿リンク */
.sidebar .wp-block-latest-posts a,
.sidebar .widget_recent_entries a {
  color: #cccccc !important;
}
.sidebar .wp-block-latest-posts a:hover,
.sidebar .widget_recent_entries a:hover {
  color: #ffffff !important;
}

/* Membership Site / YouTube ボタン改善 */
#custom_html-2 .em-btn-red,
#custom_html-2 a[style*="background:#FF0000"],
#custom_html-2 a[style*="background: #FF0000"] {
  color: #ffffff !important;
}


/* ===== NEWS CARDS: Horizontal List Layout ===== */
.em-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

.em-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  background: #111111 !important;
  border-bottom: 1px solid #222222 !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: background 0.2s ease !important;
  overflow: hidden !important;
  min-height: 80px !important;
}
.em-card:hover {
  background: #1a1a1a !important;
  border-left: 3px solid #c41230 !important;
}

.em-card-thumb {
  width: 110px !important;
  min-width: 110px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  background-color: #0d0d0d !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  filter: grayscale(70%) contrast(1.1) brightness(0.75) !important;
  transition: filter 0.3s ease !important;
}
.em-card:hover .em-card-thumb {
  filter: grayscale(25%) contrast(1.1) brightness(0.9) !important;
}

.em-card-body {
  flex: 1 !important;
  padding: 10px 14px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 4px !important;
  min-width: 0 !important;
}

.em-card-tag {
  font-size: 10px !important;
  color: #c41230 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

.em-card-ttl {
  font-size: 13px !important;
  color: #dddddd !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.em-card-date {
  font-size: 11px !important;
  color: #555555 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

@media screen and (max-width: 480px) {
  .em-card-thumb {
    width: 85px !important;
    min-width: 85px !important;
  }
  .em-card-body {
    padding: 8px 10px !important;
  }
  .em-card-ttl {
    font-size: 12px !important;
  }
}
/* ===== END NEWS CARDS ===== */

/* ===== SNS SECTION ORDER: Move SNS below About ===== */
.em-wrap {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.em-wrap > .em-nav { order: 0 !important; }
.em-wrap > .em-mobile-menu { order: 0 !important; }
section.em-hero { order: 1 !important; }
section#about { order: 2 !important; }
section[style*="text-align:center"] { order: 3 !important; }
section#info { order: 4 !important; }
section.em-bg-dark:not([style*="text-align:center"]) { order: 5 !important; }
section#members { order: 6 !important; }
.em-wrap > .em-footer { order: 100 !important; }
/* ===== END SNS SECTION ORDER ===== */

/* ===== MARBLE TEXTURE BACKGROUND ===== */
/* Body: black marble texture as fixed base */
body {
  background-image: url('https://enmusubiofficial.com/wp-content/uploads/2026/03/0329-scaled.png') !important;
  background-size: cover !important;
  background-attachment: fixed !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* em-wrap must be transparent to reveal body marble */
.em-wrap {
  background: transparent !important;
}

/* Sections: dark semi-transparent overlay — marble veins show through subtly */
section.em-bg-darker,
.em-bg-darker {
  background-color: rgba(6, 6, 6, 0.80) !important;
}
section.em-bg-dark,
.em-bg-dark {
  background-color: rgba(10, 10, 10, 0.72) !important;
}

/* Hero keeps its own image */
section.em-hero {
  background-color: transparent !important;
}

/* Footer */
.em-footer {
  background-color: rgba(4, 4, 4, 0.90) !important;
}
/* ===== END MARBLE TEXTURE ===== */

/* ===== NEWS PAGE REDESIGN ===== */

/* 背景：.mainを半透明にして大理石を透過 */
body.page-news-archive .main {
  background-color: rgba(8, 8, 8, 0.78) !important;
}

/* ページヘッダー：静謐なアーカイブ感 */
body.page-news-archive .em-cat-section-title {
  font-size: 0.65rem;
  font-weight: 400;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: #888888 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 0.6rem;
  margin-bottom: 2rem;
  background: none !important;
}

/* カード間の余白を広げる */
body.page-news-archive .em-cat-cards {
  gap: 2rem !important;
}

/* カードラッパー：デフォルトはグレーの細ボーダー */
body.page-news-archive .entry-card-wrap.a-wrap {
  border: 1px solid rgba(200, 200, 200, 0.15) !important;
  border-radius: 0 !important;
  background-color: rgba(12, 12, 12, 0.72) !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
  overflow: hidden;
}

/* ホバー：赤ボーダー＋微かなグロー */
body.page-news-archive .entry-card-wrap.a-wrap:hover {
  border-color: #cc0000 !important;
  box-shadow: 0 0 18px rgba(180, 0, 0, 0.22) !important;
}

/* サムネイル：アスペクト比統一 + ズームアニメ準備 */
body.page-news-archive .entry-card-thumb.card-thumb {
  position: relative !important;
  overflow: hidden !important;
  aspect-ratio: 16 / 9;
  display: block;
}

body.page-news-archive .entry-card-thumb-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.4s ease !important;
}

/* ホバー：画像ズームイン */
body.page-news-archive .entry-card-wrap.a-wrap:hover .entry-card-thumb-image {
  transform: scale(1.06) !important;
}

/* サムネイルのダークオーバーレイ */
body.page-news-archive .entry-card-thumb.card-thumb::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
  z-index: 1;
}

/* カテゴリラベル：赤背景なし、小さくグレー文字 */
body.page-news-archive .cat-label {
  background: transparent !important;
  color: #999999 !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.08em;
  font-weight: 400 !important;
  text-shadow: none !important;
  border: none !important;
  padding: 2px 6px !important;
  z-index: 2 !important;
}

/* カードコンテンツ */
body.page-news-archive .entry-card-content.card-content {
  padding: 0.85rem 1rem 1rem !important;
  background: transparent !important;
}

/* タイトル：白、最大2行 */
body.page-news-archive .entry-card-title {
  color: #ffffff !important;
  font-size: 0.88rem !important;
  font-weight: 500 !important;
  line-height: 1.55;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin-bottom: 0.45rem !important;
}

/* 日付：小さくグレー */
body.page-news-archive .entry-card-info .post-date,
body.page-news-archive .entry-card-info .entry-date {
  font-size: 0.68rem !important;
  color: #888888 !important;
  letter-spacing: 0.05em;
}

/* 記事抜粋を非表示 */
body.page-news-archive .entry-card-snippet {
  display: none !important;
}

/* PVカウンターを非表示 */
body.page-news-archive .admin-pv {
  display: none !important;
}

/* メタのカテゴリも小さくグレー */
body.page-news-archive .entry-card-categorys .entry-category {
  background: transparent !important;
  color: #777777 !important;
  font-size: 0.65rem !important;
  border: none !important;
}

/* ===== END NEWS PAGE REDESIGN ===== */


/* ===== SIDEBAR FIXES - NEWS PAGE ===== */

/* 最近の投稿：ホバー時テキストを黒字に */
body.page-news-archive .wp-block-latest-posts__post-title:hover {
  color: #111111 !important;
  background-color: rgba(222, 222, 222, 0.88) !important;
  padding: 1px 4px;
  border-radius: 2px;
}

/* Membershipボタン：ライトグレー背景 + ダーク文字（大理石と差別化） */
body.page-news-archive a[href*="liteview"] {
  background-color: #d0d0d0 !important;
  color: #111111 !important;
  border: none !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}
body.page-news-archive a[href*="liteview"]:hover {
  background-color: #f2f2f2 !important;
  color: #000000 !important;
}

/* ===== END SIDEBAR FIXES ===== */


/* Membershipボタン：IDセレクタ優先度対策（#custom_html-2 a !importantを上書き） */
body.page-news-archive #custom_html-2 a:first-child {
  color: #111111 !important;
  background-color: #d0d0d0 !important;
}
body.page-news-archive #custom_html-2 a:first-child:hover {
  color: #000000 !important;
  background-color: #f0f0f0 !important;
}


/* Membershipボタン文字色：最高精度セレクタで#custom_html-2 a!importantを上書き */
body.page-news-archive #custom_html-2 .textwidget div:first-child a,
body.page-news-archive #custom_html-2 .custom-html-widget div:first-child a,
body.page-news-archive #custom_html-2 div.textwidget > div:nth-child(1) a {
  color: #111111 !important;
}
body.page-news-archive #custom_html-2 .textwidget div:first-child a:hover,
body.page-news-archive #custom_html-2 .custom-html-widget div:first-child a:hover {
  color: #000000 !important;
}


/* YouTubeボタン復元：赤背景・白文字（last-childで上書き） */
body.page-news-archive #custom_html-2 .textwidget div:last-child a,
body.page-news-archive #custom_html-2 .textwidget div:nth-child(2) a,
body.page-news-archive #custom_html-2 .custom-html-widget div:last-child a {
  background-color: #FF0033 !important;
  color: #ffffff !important;
}


/* ===== BORDER RADIUS FIX ===== */
.search-submit,
.search-form button,
.wp-block-search__button {
  border-radius: 2px !important;
}
body.page-news-archive #custom_html-2 .textwidget div:last-child a,
body.page-news-archive #custom_html-2 .textwidget div:nth-child(2) a {
  border-radius: 2px !important;
}
/* ===== END BORDER RADIUS FIX ===== */

/* ===== SINGLE POST TEXT FIX ===== */
.single .entry-content,
.single .entry-content p,
.single .entry-content li,
.single .entry-content td,
.single .entry-content h1,
.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4,
.single .entry-content h5,
.single .entry-content h6,
.single article .entry-content * {
  color: #111111 !important;
}
/* ===== END SINGLE POST TEXT FIX ===== */

/* ===== SINGLE POST PAGE FIXES ===== */
/* 投稿タイトル - 白背景mainで見えるよう黒字に */
.single .entry-title,
.single h1.entry-title {
  color: #111111 !important;
}

/* 最近の投稿 ホバー時 - 黒字で視認性確保 */
.single .wp-block-latest-posts__post-title:hover {
  color: #111111 !important;
  background-color: rgba(222,222,222,0.88) !important;
  padding: 1px 4px;
  border-radius: 2px;
}

/* サイドバーボタン border-radius 縮小（TOPページに合わせ2px）*/
.single #custom_html-2 a,
.page #custom_html-2 a {
  border-radius: 2px !important;
}

/* 関連記事カードタイトル - 白背景で白文字になるため黒字に修正 */
.single .related-entry-card-title,
.single .card-title.e-card-title,
.single .related-entry-card-wrap .related-entry-card-title {
  color: #111111 !important;
}
.single .related-entry-card-wrap:hover .related-entry-card-title,
.single .related-entry-card-wrap a:hover .related-entry-card-title {
  color: #111111 !important;
}
/* ===== END SINGLE POST PAGE FIXES ===== */

/* ===== ADMIN / BLOCK EDITOR BACKGROUND RESTORE ===== */
/* WP管理画面・Gutenbergエディターは白背景に戻す */
body.wp-admin {
  background-image: none !important;
  background-color: #f0f0f1 !important;
}
.editor-styles-wrapper,
.block-editor-writing-flow,
.is-root-container {
  background-image: none !important;
  background-color: #ffffff !important;
}
/* ===== END ADMIN / BLOCK EDITOR BACKGROUND RESTORE ===== */

/* ===== DARKER BACKGROUND: 投稿・/news/ページ ===== */
/* body自体を純黒に（マーブルテクスチャが暗く見える）*/
body.single,
body.single-post {
  background-color: #000000 !important;
}
/* 暗いオーバーレイをbody背景の上に重ねる */
body.single::before {
  content: '';
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
  pointer-events: none;
}
/* コンテンツはオーバーレイより前面に */
body.single #wrapper,
body.single .wrap,
body.single #container {
  position: relative;
  z-index: 1;
}
/* /news/ page: main overlayをさらに暗く */
body.page-news-archive .main {
  background-color: rgba(4, 4, 4, 0.94) !important;
}
/* ===== END DARKER BACKGROUND ===== */

/* ===== PREV/NEXT POST NAVIGATION: 文字を黒に ===== */
.single .prev-post-title,
.single .next-post-title,
.single .prev-post .a-wrap-title,
.single .next-post .a-wrap-title {
  color: #111111 !important;
}
.single .prev-post,
.single .next-post {
  color: #111111 !important;
}
/* ===== END PREV/NEXT POST NAVIGATION ===== */

/* ===== FIXED PAGE (page) TEXT FIXES ===== */
/* ページタイトル */
.page .entry-title,
.page h1.entry-title {
  color: #111111 !important;
}

/* 日付 */
.page .post-date,
.page .entry-date,
.page time.entry-date {
  color: #888888 !important;
}

/* 本文テキスト要素（ボタン・ウィジェットは除外、テキスト要素のみ対象）*/
.page .entry-content p,
.page .entry-content h1,
.page .entry-content h2,
.page .entry-content h3,
.page .entry-content h4,
.page .entry-content h5,
.page .entry-content h6,
.page .entry-content li,
.page .entry-content td,
.page .entry-content th,
.page .entry-content blockquote,
.page .entry-content dt,
.page .entry-content dd,
.page .entry-content span:not([class*="btn"]):not([class*="button"]) {
  color: #111111 !important;
}

/* 目次(TOC) - Cocoon独自クラス */
.page .toc_title,
.page .toc_list,
.page .toc_list li,
.page .toc_list a,
.page .toc a {
  color: #111111 !important;
}

/* ===== END FIXED PAGE TEXT FIXES ===== */

/* ===== RELATED ARTICLE SNIPPET TEXT FIX ===== */
/* 関連記事のスニペット・詳細テキスト → 黒字 */
.single .related-entry-card-content,
.single .related-entry-card-content p,
.single .related-entry-card-snippet,
.single .card-content.e-card-content {
  color: #111111 !important;
}
/* ===== END RELATED ARTICLE SNIPPET TEXT FIX ===== */

/* ===== SIDEBAR LINK BUTTON OVERHAUL ===== */
/* Membership Site: 白背景・黒文字・2px 丸み（投稿ページ）*/
.single #custom_html-2 div:first-child a {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-radius: 2px !important;
  border: 1px solid #cccccc !important;
}
.single #custom_html-2 div:first-child a:hover {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
}

/* YouTube Channel: 検索ボタンと同じ #c41230（投稿ページ）*/
.single #custom_html-2 div:last-child a {
  background-color: #c41230 !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}
.single #custom_html-2 div:last-child a:hover {
  background-color: #a3102a !important;
}

/* Membership Site: 白背景・黒文字・2px（/news/ページ）*/
body.page-news-archive #custom_html-2 div:first-child a,
body.page-news-archive #custom_html-2 .textwidget div:first-child a,
body.page-news-archive #custom_html-2 .custom-html-widget div:first-child a {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-radius: 2px !important;
  border: 1px solid #cccccc !important;
}
body.page-news-archive #custom_html-2 div:first-child a:hover,
body.page-news-archive #custom_html-2 .textwidget div:first-child a:hover {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
}

/* YouTube Channel: 検索ボタンと同じ #c41230（/news/ページ）*/
body.page-news-archive #custom_html-2 div:last-child a,
body.page-news-archive #custom_html-2 .textwidget div:last-child a,
body.page-news-archive #custom_html-2 .textwidget div:nth-child(2) a {
  background-color: #c41230 !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}
body.page-news-archive #custom_html-2 div:last-child a:hover,
body.page-news-archive #custom_html-2 .textwidget div:last-child a:hover {
  background-color: #a3102a !important;
}
/* ===== END SIDEBAR LINK BUTTON OVERHAUL ===== */

/* ===== SIDEBAR BUTTON FIX: textwidget direct child selector ===== */
/* Membership: 白背景・黒文字（.textwidget直下のfirst-child） */
.single #custom_html-2 .textwidget > div:first-child a,
.single #custom_html-2 .custom-html-widget > div:first-child a {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-radius: 2px !important;
  border: 1px solid #cccccc !important;
}
.single #custom_html-2 .textwidget > div:first-child a:hover {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
}

/* YouTube: #c41230（.textwidget直下のlast-child） */
.single #custom_html-2 .textwidget > div:last-child a,
.single #custom_html-2 .custom-html-widget > div:last-child a {
  background-color: #c41230 !important;
  color: #ffffff !important;
  border-radius: 2px !important;
  border: none !important;
}
.single #custom_html-2 .textwidget > div:last-child a:hover {
  background-color: #a3102a !important;
}

/* /news/: Membership */
body.page-news-archive #custom_html-2 .textwidget > div:first-child a,
body.page-news-archive #custom_html-2 .custom-html-widget > div:first-child a {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-radius: 2px !important;
  border: 1px solid #cccccc !important;
}
body.page-news-archive #custom_html-2 .textwidget > div:first-child a:hover {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
}

/* /news/: YouTube */
body.page-news-archive #custom_html-2 .textwidget > div:last-child a,
body.page-news-archive #custom_html-2 .custom-html-widget > div:last-child a {
  background-color: #c41230 !important;
  color: #ffffff !important;
  border-radius: 2px !important;
  border: none !important;
}
body.page-news-archive #custom_html-2 .textwidget > div:last-child a:hover {
  background-color: #a3102a !important;
}
/* ===== END SIDEBAR BUTTON FIX ===== */

/* ===== SIDEBAR BUTTON FIX: 固定ページ (page) ===== */
.page #custom_html-2 .textwidget > div:first-child a,
.page #custom_html-2 .custom-html-widget > div:first-child a {
  background-color: #ffffff !important;
  color: #111111 !important;
  border-radius: 2px !important;
  border: 1px solid #cccccc !important;
}
.page #custom_html-2 .textwidget > div:first-child a:hover,
.page #custom_html-2 .custom-html-widget > div:first-child a:hover {
  background-color: #f0f0f0 !important;
  color: #000000 !important;
}
.page #custom_html-2 .textwidget > div:last-child a,
.page #custom_html-2 .custom-html-widget > div:last-child a {
  background-color: #c41230 !important;
  color: #ffffff !important;
  border-radius: 2px !important;
  border: none !important;
}
.page #custom_html-2 .textwidget > div:last-child a:hover,
.page #custom_html-2 .custom-html-widget > div:last-child a:hover {
  background-color: #a3102a !important;
}
/* ===== END SIDEBAR BUTTON FIX: 固定ページ ===== */

/* ===== 固定ページ(page-template-default): 黒背景・白文字 ===== */
/* メインコンテンツ背景を黒に */
.page-template-default #main,
.page-template-default .main {
  background-color: #111111 !important;
}
/* タイトル: 白に (以前の .page #111111 を上書き) */
.page-template-default .entry-title,
.page-template-default h1.entry-title {
  color: #ffffff !important;
}
/* 投稿日 */
.page-template-default .post-date,
.page-template-default .entry-date,
.page-template-default time.entry-date {
  color: #aaaaaa !important;
}
/* 本文テキスト */
.page-template-default .entry-content,
.page-template-default .entry-content p,
.page-template-default .entry-content h1,
.page-template-default .entry-content h2,
.page-template-default .entry-content h3,
.page-template-default .entry-content h4,
.page-template-default .entry-content h5,
.page-template-default .entry-content h6,
.page-template-default .entry-content li,
.page-template-default .entry-content td,
.page-template-default .entry-content th,
.page-template-default .entry-content blockquote,
.page-template-default .entry-content dt,
.page-template-default .entry-content dd,
.page-template-default .entry-content span:not([class*="btn"]):not([class*="button"]) {
  color: #eeeeee !important;
}
/* リンク (ボタン・SNS除く) */
.page-template-default .entry-content a:not([class*="btn"]):not([class*="button"]):not([class*="share"]):not([class*="sns"]) {
  color: #aac4ff !important;
}
/* 目次 */
.page-template-default .toc_title,
.page-template-default .toc_list,
.page-template-default .toc_list li,
.page-template-default .toc_list a,
.page-template-default .toc a {
  color: #eeeeee !important;
}
/* SNSシェア footer を暗く */
.page-template-default .article-footer,
.page-template-default .entry-footer {
  background-color: #1a1a1a !important;
}
.page-template-default .sns-share-message {
  color: #cccccc !important;
}
.page-template-default .author-info,
.page-template-default .author-info a {
  color: #cccccc !important;
}
/* ===== END 固定ページ: 黒背景・白文字 ===== */

/* ===== SNSシェア欄メールアドレス: 投稿ページ footer を暗く ===== */
.single .article-footer,
.single .entry-footer {
  background-color: #1a1a1a !important;
}
.single .sns-share-message {
  color: #cccccc !important;
}
.single .author-info,
.single .author-info a {
  color: #cccccc !important;
}
/* ===== END SNSシェア欄メールアドレス ===== */

/* ===== メンバーカラー: ラインとホバーフィルター ===== */
/* Ria: 緑ライン */
.em-members .em-member-wrap:nth-child(1) .em-member-bio {
  border-top-color: #22c55e !important;
}
/* HiroK: 青ライン (HiiNAの赤は変更なし) */
.em-members .em-member-wrap:nth-child(3) .em-member-bio {
  border-top-color: #3b82f6 !important;
}

/* ホバー時カラーフィルター共通設定 */
/* em-member-info は z-index:1 なので ::after は写真上・テキスト下に入る */
.em-members .em-member-wrap .em-member::after {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
  mix-blend-mode: color;
}
/* Ria: 緑フィルター */
.em-members .em-member-wrap:nth-child(1) .em-member::after {
  background: #22c55e;
}
/* HiiNA: 赤フィルター */
.em-members .em-member-wrap:nth-child(2) .em-member::after {
  background: #c41230;
}
/* HiroK: 青フィルター */
.em-members .em-member-wrap:nth-child(3) .em-member::after {
  background: #3b82f6;
}
/* ホバー時に表示 */
.em-members .em-member-wrap:hover .em-member::after {
  opacity: 0.45;
}
/* ===== END メンバーカラー ===== */

/* ===== 固定ページ サイドバー ホバー可視性修正 ===== */
.page-template-default .widget_recent_entries ul li a:hover,
.page-template-default .widget_categories ul li a:hover,
.page-template-default .widget_archive ul li a:hover,
.page-template-default .widget_pages ul li a:hover,
.page-template-default .widget_meta ul li a:hover,
.page-template-default .widget_rss ul li a:hover,
.page-template-default .widget_nav_menu ul li a:hover,
.page-template-default .widget_block ul li a:hover {
  background-color: rgba(255,255,255,.07) !important;
  color: #ffffff !important;
}
/* ===== END サイドバー ホバー可視性修正 ===== */


/* ===== /news/ サイドバー ホバー可視性修正 (固定ページと統一) ===== */
.page-news-archive .widget_recent_entries ul li a:hover,
.page-news-archive .widget_categories ul li a:hover,
.page-news-archive .widget_archive ul li a:hover,
.page-news-archive .widget_pages ul li a:hover,
.page-news-archive .widget_meta ul li a:hover,
.page-news-archive .widget_rss ul li a:hover,
.page-news-archive .widget_nav_menu ul li a:hover,
.page-news-archive .widget_block ul li a:hover {
  background-color: rgba(255,255,255,.07) !important;
  color: #ffffff !important;
}
/* ===== END /news/ サイドバー ホバー可視性修正 ===== */


/* ===== PC ヒーローセクション 0.8倍縮小 ===== */
@media (min-width: 769px) {
  .em-hero {
    min-height: 80vh !important;
  }
}
/* ===== END PC ヒーローセクション縮小 ===== */

/* ===== /news/ スマホ ボックス左右余白縮小 ===== */
@media (max-width: 599px) {
  .ect-3-columns .entry-card-wrap,
  .ect-2-columns .entry-card-wrap {
    padding-left: 3px !important;
    padding-right: 3px !important;
  }
}
/* ===== END /news/ スマホ ボックス左右余白縮小 ===== */