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

/************************************
** ポーカージャパンリサーチ デザインv3
** Workship MAGAZINE インスパイア
** カラーシステム:
**   背景:      #ffffff
**   テキスト:  #202020
**   ダーク:    #171b1f
**   アクセント: #348377 (Workship teal)
**   グレー:    #9fa7af
**   ボーダー:  #e2e4e5
**   薄背景:    #f5f6f7
************************************/

/* ============================================
   0. ベース・リセット
   ============================================ */
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  background-color: #ffffff;
  color: #202020;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体",
               "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

#container {
  background-color: #ffffff;
}

a {
  color: #171b1f;
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: #348377;
}

/* ============================================
   1. コンテンツ幅
   ============================================ */
.wrap {
  max-width: 1100px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px;
}

.content-in.wrap {
  display: flex !important;
  gap: 48px;
  align-items: flex-start;
}

.main {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
}

.sidebar {
  flex: 0 0 280px;
  min-width: 260px;
}

.no-sidebar .main {
  max-width: 780px !important;
  margin: 0 auto !important;
}

/* ============================================
   2. ヘッダー
   ============================================ */
#header,
.header,
.header-container,
.header-container-in,
.site-header-logo,
.appeal {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e4e5 !important;
  box-shadow: none !important;
}

#header .header-in,
.header-in {
  background: transparent !important;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
}

/* サイト名 */
.site-name-text,
.logo-header .site-name-text,
#header .site-name-text,
.site-name-text a,
.site-name-text-link,
a.site-name-text-link,
h1.logo a,
.logo-header a,
#header .logo a {
  color: #171b1f !important;
  font-weight: 700;
  font-size: 1.4em;
  letter-spacing: 0.02em;
}

.site-description,
#header .site-description {
  color: #9fa7af !important;
  font-size: 0.78em;
  margin-top: 2px;
}

/* ============================================
   3. グローバルナビゲーション
   ============================================ */
#navi,
.navi,
#navi .navi-in,
.navi-in,
.mobile-menu-buttons {
  background: #ffffff !important;
  border-top: none !important;
  border-bottom: 1px solid #e2e4e5 !important;
}

#navi a,
.navi a,
.navi-in a,
.menu-header a {
  color: #171b1f !important;
  font-weight: 600;
  font-size: 0.9em;
  letter-spacing: 0.05em;
  padding: 14px 16px;
  transition: color 0.2s ease;
}

#navi a:hover,
.navi a:hover,
.navi-in a:hover,
.menu-header a:hover {
  color: #348377 !important;
  background: transparent !important;
}

#navi .current-menu-item > a,
.navi .current-menu-item > a {
  color: #348377 !important;
  border-bottom: 2px solid #348377;
}

#navi .sub-menu,
.navi .sub-menu {
  background: #ffffff !important;
  border: 1px solid #e2e4e5 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

.mobile-menu-buttons .menu-button,
.mobile-menu-buttons .menu-button > a {
  color: #171b1f !important;
}

/* ============================================
   4. パンくず
   ============================================ */
.breadcrumb,
.breadcrumb-wrap {
  font-size: 0.78em;
  color: #9fa7af;
  padding: 12px 0;
  border-bottom: 1px solid #f5f6f7;
  margin-bottom: 32px;
}

.breadcrumb a {
  color: #9fa7af;
}

.breadcrumb a:hover {
  color: #348377;
}

.breadcrumb .separator {
  margin: 0 6px;
  color: #9fa7af;
}

/* ============================================
   5. 記事カード（一覧ページ）
   ============================================ */
/* カードラッパー */
.entry-card-wrap {
  display: block;
  margin-bottom: 48px;
  text-decoration: none;
}

.entry-card-wrap:hover {
  text-decoration: none;
}

/* カード本体 */
.entry-card {
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
  transition: opacity 0.2s ease;
}

.entry-card-wrap:hover .entry-card {
  box-shadow: none;
  opacity: 0.85;
}

/* サムネイル */
.entry-card-thumb {
  position: relative;
  overflow: hidden;
  background: #f5f6f7;
  margin-bottom: 0;
}

.entry-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  aspect-ratio: 16 / 9;
}

.entry-card-wrap:hover .entry-card-thumb img {
  transform: scale(1.02);
}

/* カテゴリラベル（画像の上） */
.cat-label,
.cat-label-first,
.label-cat {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  background-color: #171b1f !important;
  color: #ffffff !important;
  font-size: 0.72em !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
  line-height: 1.4 !important;
  z-index: 2;
}

/* カードコンテンツ */
.entry-card-content {
  padding: 16px 0 0 0;
  background: #ffffff;
}

/* カードタイトル */
.entry-card-title {
  font-size: 1.05em;
  font-weight: 600;
  color: #171b1f;
  line-height: 1.6;
  margin: 8px 0 10px;
  letter-spacing: 0.01em;
}

.entry-card-wrap:hover .entry-card-title {
  color: #348377;
}

/* カード抜粋 */
.card-excerpt,
.entry-card-snippet {
  font-size: 0.82em;
  color: #9fa7af;
  line-height: 1.6;
  margin-bottom: 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* カード日付 */
.entry-date,
.entry-card .date,
.published,
.updated {
  font-size: 0.75em !important;
  color: #9fa7af !important;
  display: block;
  margin-top: 6px;
}

/* 縦並びカード（メインカラム） */
.ect-vertical-card .entry-card-wrap {
  display: flex;
  gap: 20px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #e2e4e5;
}

.ect-vertical-card .entry-card-thumb {
  flex: 0 0 220px;
  height: 140px;
}

.ect-vertical-card .entry-card-thumb img {
  aspect-ratio: auto;
  height: 140px;
  width: 220px;
}

.ect-vertical-card .entry-card-content {
  flex: 1;
  padding: 0;
}

.ect-vertical-card .entry-card-title {
  font-size: 1.05em;
}

/* カードグリッド */
.ect-tile-card .entry-cards,
.front-entry-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 32px;
}

.ect-tile-card .entry-card-wrap,
.front-entry-cards .entry-card-wrap {
  margin-bottom: 0;
}

/* ============================================
   6. 記事ページ（single）
   ============================================ */
.article {
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  max-width: 780px;
}

/* 記事タイトル */
.entry-title,
.article .entry-title {
  font-size: 1.85em;
  font-weight: 700;
  line-height: 1.5;
  color: #171b1f;
  letter-spacing: 0.02em;
  margin: 24px 0 20px;
}

/* メタ情報（日付・著者） */
.article-header,
.entry-header {
  padding: 0;
  margin-bottom: 24px;
}

.article-meta,
.entry-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.8em;
  color: #9fa7af;
  flex-wrap: wrap;
}

.article-meta .date,
.entry-meta .published,
.entry-meta .updated,
.post-date,
.post-update {
  font-size: 0.78em;
  color: #9fa7af;
}

/* アイキャッチ */
.article .entry-thumb,
.eyecatch img,
.entry-top-image img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 32px;
  border-radius: 0;
}

/* ============================================
   7. 記事本文スタイル
   ============================================ */
.entry-content {
  font-size: 16px;
  line-height: 1.85;
  color: #202020;
}

/* H2 */
.entry-content h2,
.article h2 {
  font-size: 1.3em;
  font-weight: 700;
  color: #171b1f;
  border: none;
  border-bottom: 2px solid #171b1f;
  background: transparent;
  padding: 0 0 16px 0;
  margin: 60px 0 28px;
  line-height: 1.5;
  border-radius: 0;
  letter-spacing: 0.02em;
}

/* H3 */
.entry-content h3,
.article h3 {
  font-size: 1.1em;
  font-weight: 700;
  color: #171b1f;
  border: none;
  border-left: 3px solid #348377;
  background: transparent;
  padding: 4px 0 4px 14px;
  margin: 36px 0 16px;
  line-height: 1.5;
  border-radius: 0;
}

/* H4 */
.entry-content h4,
.article h4 {
  font-size: 1em;
  font-weight: 700;
  color: #171b1f;
  border: none;
  border-bottom: 1px solid #e2e4e5;
  padding: 0 0 8px 0;
  margin: 28px 0 12px;
}

/* H5 */
.entry-content h5,
.article h5 {
  font-size: 0.95em;
  font-weight: 700;
  color: #202020;
  margin: 20px 0 8px;
}

/* 段落 */
.entry-content p {
  margin: 0 0 20px;
  line-height: 1.85;
}

/* リンク */
.entry-content a {
  color: #348377;
  text-decoration: underline;
  text-decoration-color: rgba(52, 131, 119, 0.3);
  text-underline-offset: 2px;
}

.entry-content a:hover {
  color: #2a6b62;
  text-decoration-color: #348377;
}

/* ============================================
   8. 目次 (TOC)
   ============================================ */
.toc,
.toc-content,
#toc {
  background-color: #f5f6f7 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 24px 28px !important;
  margin: 40px 0 !important;
}

.toc-title,
#toc-title {
  color: #171b1f;
  font-weight: 700;
  font-size: 0.9em;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 1px solid #e2e4e5;
  padding-bottom: 12px;
  margin-bottom: 16px;
}

.toc a,
.toc-content a {
  color: #202020 !important;
  text-decoration: none;
  font-size: 0.88em;
  line-height: 1.7;
}

.toc a:hover,
.toc-content a:hover {
  color: #348377 !important;
}

.toc li {
  padding: 2px 0;
}

/* ============================================
   9. テーブル
   ============================================ */
.entry-content table,
.article table,
table.wp-block-table,
.scrollable-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.9em;
  line-height: 1.6;
  border: 1px solid #e2e4e5;
  margin: 28px 0;
  border-radius: 0;
}

.entry-content table th,
.article table th,
table.wp-block-table th,
.scrollable-table table th {
  background-color: #171b1f !important;
  color: #ffffff !important;
  font-weight: 600;
  padding: 12px 16px;
  border: 1px solid #171b1f;
  text-align: left;
  font-size: 0.9em;
  letter-spacing: 0.02em;
}

.entry-content table td,
.article table td,
table.wp-block-table td,
.scrollable-table table td {
  padding: 10px 16px;
  border: 1px solid #e2e4e5;
  vertical-align: middle;
  color: #202020;
}

.entry-content table tr:nth-child(even) td,
.article table tr:nth-child(even) td {
  background-color: #f5f6f7;
}

.entry-content table tr:nth-child(odd) td,
.article table tr:nth-child(odd) td {
  background-color: #ffffff;
}

.entry-content table tr:hover td,
.article table tr:hover td {
  background-color: #edf4f3 !important;
}

.scrollable-table {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 20px 0;
}

.scrollable-table::-webkit-scrollbar {
  height: 4px;
}

.scrollable-table::-webkit-scrollbar-track {
  background: #f5f6f7;
}

.scrollable-table::-webkit-scrollbar-thumb {
  background: #9fa7af;
  border-radius: 2px;
}

/* ============================================
   10. サイドバー
   ============================================ */
.sidebar {
  background: transparent;
}

.widget,
aside .widget {
  background: #ffffff;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin-bottom: 40px;
}

.widget-title,
aside .widget-title,
.sidebar .widget-title {
  color: #171b1f;
  font-weight: 700;
  font-size: 0.8em;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border: none;
  border-bottom: 2px solid #171b1f;
  padding: 0 0 10px 0;
  margin-bottom: 20px;
}

/* サイドバー記事カード */
.widget .entry-card-wrap {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #e2e4e5;
}

.widget .entry-card-thumb {
  flex: 0 0 80px;
  height: 60px;
  overflow: hidden;
}

.widget .entry-card-thumb img {
  width: 80px;
  height: 60px;
  object-fit: cover;
  aspect-ratio: auto;
}

.widget .entry-card-content {
  flex: 1;
  padding: 0;
}

.widget .entry-card-title {
  font-size: 0.82em;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 4px;
}

.widget .cat-label {
  position: static !important;
  display: inline-block !important;
  font-size: 0.65em !important;
  padding: 2px 6px !important;
  margin-bottom: 4px;
}

/* ============================================
   11. フッター
   ============================================ */
#footer,
.footer,
footer {
  background: #171b1f !important;
  color: rgba(255, 255, 255, 0.6) !important;
  padding: 48px 0 24px !important;
  margin-top: 80px;
  border-top: none;
}

#footer a,
.footer a,
footer a {
  color: rgba(255, 255, 255, 0.6) !important;
  transition: color 0.2s;
}

#footer a:hover,
.footer a:hover,
footer a:hover {
  color: #348377 !important;
}

.copyright,
#footer .copyright {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 0.78em;
  margin-top: 32px;
}

/* ============================================
   12. ページネーション
   ============================================ */
.pagination {
  margin: 48px 0;
  display: flex;
  justify-content: center;
  gap: 4px;
}

.pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  font-size: 0.85em;
  color: #202020;
  border: 1px solid #e2e4e5;
  background: #ffffff;
  transition: all 0.2s;
}

.pagination .page-numbers.current {
  background-color: #171b1f;
  border-color: #171b1f;
  color: #ffffff;
}

.pagination .page-numbers:hover {
  background-color: #348377;
  border-color: #348377;
  color: #ffffff;
}

/* ============================================
   13. ボタン
   ============================================ */
.btn,
.btn-wrap a {
  border-radius: 0;
  font-weight: 600;
  letter-spacing: 0.05em;
}

/* ============================================
   14. SNSシェアボタン
   ============================================ */
.sns-share-buttons a,
.share-button {
  border-radius: 0;
}

/* ============================================
   15. ブログカード
   ============================================ */
.blogcard {
  border: 1px solid #e2e4e5;
  border-radius: 0;
  box-shadow: none;
  transition: border-color 0.2s;
}

.blogcard:hover {
  border-color: #348377;
  box-shadow: none;
}

/* ============================================
   16. 統計カード（カスタム）
   ============================================ */
.stats-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
  margin: 28px 0;
}

.stats-card .stat-item {
  background: #ffffff;
  border: 1px solid #e2e4e5;
  color: #202020;
  padding: 24px 16px;
  border-radius: 0;
  text-align: center;
  transition: border-color 0.2s;
}

.stats-card .stat-item:hover {
  border-color: #348377;
}

.stats-card .stat-number {
  font-size: 2.4em;
  font-weight: 700;
  display: block;
  line-height: 1.2;
  color: #171b1f;
}

.stats-card .stat-label {
  font-size: 0.78em;
  color: #9fa7af;
  margin-top: 8px;
  display: block;
}

/* ============================================
   17. details/summary
   ============================================ */
details {
  border: 1px solid #e2e4e5;
  border-radius: 0;
  margin: 16px 0;
  background: #ffffff;
}

details summary {
  padding: 14px 18px;
  cursor: pointer;
  font-weight: 600;
  color: #171b1f;
  background: #f5f6f7;
  transition: background 0.2s;
  list-style: none;
}

details summary::-webkit-details-marker { display: none; }

details summary::after {
  content: '+';
  float: right;
  font-weight: 300;
  font-size: 1.2em;
}

details[open] summary::after { content: '−'; }

details summary:hover {
  background: #edf4f3;
}

details[open] summary {
  border-bottom: 1px solid #e2e4e5;
}

details > *:not(summary) {
  padding: 16px 18px;
}

/* ============================================
   18. 検索フォーム
   ============================================ */
.search-edit:focus,
input[type="search"]:focus {
  border-color: #348377;
  box-shadow: 0 0 0 2px rgba(52, 131, 119, 0.15);
  outline: none;
}

/* ============================================
   19. スクロールトップ
   ============================================ */
.go-to-top-button,
#go-to-top a {
  background-color: #171b1f !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.go-to-top-button:hover,
#go-to-top a:hover {
  background-color: #348377 !important;
}

/* ============================================
   20. カテゴリページ・アーカイブ
   ============================================ */
.archive-title,
.category-title {
  font-size: 1.4em;
  font-weight: 700;
  color: #171b1f;
  padding: 0 0 16px 0;
  border-bottom: 2px solid #171b1f;
  margin-bottom: 40px;
  letter-spacing: 0.02em;
}

/* ============================================
   21. レスポンシブ
   ============================================ */
@media screen and (max-width: 1023px) {
  .content-in.wrap {
    flex-direction: column;
    align-items: stretch;
    gap: 32px;
  }

  .main {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  .sidebar {
    flex: none;
    width: 100%;
  }

  .ect-tile-card .entry-cards,
  .front-entry-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 20px;
  }
}

@media screen and (max-width: 768px) {
  .wrap {
    padding: 0 16px;
  }

  .entry-title,
  .article .entry-title {
    font-size: 1.4em;
  }

  .entry-content h2,
  .article h2 {
    font-size: 1.15em;
    margin: 40px 0 20px;
  }

  .entry-content h3,
  .article h3 {
    font-size: 1em;
  }

  .ect-tile-card .entry-cards,
  .front-entry-cards {
    grid-template-columns: 1fr;
  }

  .ect-vertical-card .entry-card-wrap {
    flex-direction: column;
  }

  .ect-vertical-card .entry-card-thumb {
    flex: none;
    width: 100%;
    height: auto;
  }

  .ect-vertical-card .entry-card-thumb img {
    width: 100%;
    height: auto;
    aspect-ratio: 16/9;
  }

  .stats-card {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .pagination .page-numbers {
    width: 32px;
    height: 32px;
    font-size: 0.78em;
  }
}

@media screen and (max-width: 480px) {
  .entry-title,
  .article .entry-title {
    font-size: 1.25em;
  }

  .entry-content {
    font-size: 15px;
  }

  .entry-content table,
  .article table {
    font-size: 0.82em;
  }

  .stats-card .stat-number {
    font-size: 1.8em;
  }
}
/* ============================================
   追加修正 v3.1 - Cocoon構造対応
   ============================================ */

/* 1. PCメニューを961px以上で強制表示 */
.menu-pc {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.menu-pc > li {
  display: block !important;
  float: none !important;
  position: relative;
}

.menu-pc > li > a {
  display: block !important;
  padding: 14px 18px !important;
  font-size: 0.88em !important;
  font-weight: 600 !important;
  color: #171b1f !important;
  letter-spacing: 0.04em !important;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color 0.2s, border-color 0.2s;
}

.menu-pc > li > a:hover,
.menu-pc > li.current-menu-item > a {
  color: #348377 !important;
  border-bottom-color: #348377 !important;
}

/* モバイルメニューはSP幅のみ */
.menu-mobile {
  display: none !important;
}

@media screen and (max-width: 767px) {
  .menu-pc { display: none !important; }
  .menu-mobile {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 8px 0 !important;
  }
}

/* 2. cat-label 高さ修正 (top:autoでstretch解消) */
.cat-label,
.cat-label-first,
span[class*="cat-label"] {
  position: absolute !important;
  top: auto !important;
  bottom: 0 !important;
  left: 0 !important;
  right: auto !important;
  height: auto !important;
  width: auto !important;
  max-width: 160px !important;
  background-color: #171b1f !important;
  color: #ffffff !important;
  font-size: 0.7em !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  padding: 4px 10px !important;
  line-height: 1.6 !important;
  z-index: 3 !important;
  border-radius: 0 !important;
  display: inline-block !important;
}

/* 3. サムネイルのアスペクト比統一 */
.entry-card-thumb,
.card-thumb,
figure.entry-card-thumb {
  position: relative !important;
  overflow: hidden !important;
  flex-shrink: 0;
}

.entry-card-thumb-image,
.card-thumb-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* 4. ヘッダー - コンパクト化 */
#header,
.header {
  padding: 0 !important;
}

#header-in,
.header-in {
  min-height: 68px !important;
  padding: 12px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.logo.logo-header {
  margin: 0 !important;
  padding: 0 !important;
}

.site-name-text {
  font-size: 1.45em !important;
  letter-spacing: 0.02em !important;
}

.tagline {
  font-size: 0.78em !important;
  color: #9fa7af !important;
  margin-bottom: 4px !important;
  order: -1;
}

/* 5. ナビゲーション - Workship風 */
#navi-in,
.navi-in {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* 6. 水平カードレイアウト強化 */
.entry-card-wrap.a-wrap,
.a-wrap {
  display: block !important;
  margin-bottom: 40px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid #e2e4e5 !important;
  border: none !important;
}

.entry-card-wrap.a-wrap:last-child {
  border-bottom: none !important;
}

.entry-card.e-card {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px !important;
  align-items: flex-start !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.entry-card-thumb.card-thumb {
  flex: 0 0 260px !important;
  width: 260px !important;
  height: 165px !important;
}

.entry-card-content.card-content {
  flex: 1 !important;
  padding: 4px 0 0 !important;
}

/* カードタイトル */
.entry-card-title.card-title {
  font-size: 1.05em !important;
  font-weight: 600 !important;
  color: #171b1f !important;
  line-height: 1.65 !important;
  margin: 6px 0 10px !important;
  letter-spacing: 0.01em !important;
}

.entry-card-wrap:hover .entry-card-title,
.a-wrap:hover .card-title {
  color: #348377 !important;
}

/* カード抜粋 */
.card-snippet,
.entry-card-snippet {
  font-size: 0.82em !important;
  color: #9fa7af !important;
  line-height: 1.65 !important;
  margin: 0 0 8px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* カード日付 */
.entry-card-date,
.card-date,
.entry-date,
.published {
  font-size: 0.75em !important;
  color: #9fa7af !important;
}

/* 7. ホバー効果 */
.a-wrap:hover {
  opacity: 1 !important;
}

.a-wrap:hover .entry-card-thumb-image {
  transform: scale(1.03);
  transition: transform 0.3s ease;
}

/* 8. ボーダー要素のリセット */
.border-element {
  border: none !important;
  box-shadow: none !important;
}

/* 9. コンテンツ区切り線 */
.entry-card-wrap + .entry-card-wrap,
.a-wrap + .a-wrap {
  padding-top: 40px;
}

/* 10. レスポンシブ - SPでカード縦積み */
@media screen and (max-width: 767px) {
  .entry-card.e-card {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .entry-card-thumb.card-thumb {
    flex: none !important;
    width: 100% !important;
    height: 200px !important;
  }

  .entry-card-content.card-content {
    padding: 0 !important;
  }
}

/* ============================================
   追加修正 v3.2 - Cocoon float/margin解消
   ============================================ */

/* Cocoonのfloat+marginをflexで完全上書き */
.entry-card-thumb.card-thumb,
.e-card-thumb {
  float: none !important;
  margin-right: 0 !important;
  flex: 0 0 240px !important;
  width: 240px !important;
  height: 152px !important;
  min-height: unset !important;
}

.entry-card-content.card-content,
.e-card-content {
  margin-left: 0 !important;
  flex: 1 1 0% !important;
  width: auto !important;
  overflow: visible !important;
}

/* flex containerを明示的に再設定 */
.entry-card.e-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 20px !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* カード全体のラッパー */
.entry-card-wrap.a-wrap,
.a-wrap.cf {
  display: block !important;
  margin-bottom: 0 !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid #e2e4e5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
}

.a-wrap:first-child { padding-top: 0 !important; }
.a-wrap:last-child { border-bottom: none !important; }

/* ホバー時 - 画像スケール */
.a-wrap:hover .entry-card-thumb-image {
  transform: scale(1.04);
  transition: transform 0.35s ease;
}
.entry-card-thumb {
  overflow: hidden !important;
}
.entry-card-thumb-image {
  transition: transform 0.35s ease;
}

/* カードタイトルの書き方調整 */
.entry-card-title.card-title {
  font-size: 1em !important;
  font-weight: 600 !important;
  color: #171b1f !important;
  line-height: 1.65 !important;
  margin: 2px 0 10px !important;
}

.a-wrap:hover .card-title {
  color: #348377 !important;
}

/* カードの抜粋テキスト */
.card-snippet {
  font-size: 0.8em !important;
  color: #9fa7af !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* サムネイル内の画像 */
.entry-card-thumb-image.card-thumb-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* mainエリアをコンパクトに */
.content-in.wrap {
  gap: 40px !important;
  padding: 32px 24px 0 !important;
}

/* SP対応 */
@media screen and (max-width: 767px) {
  .entry-card.e-card {
    flex-direction: column !important;
    gap: 12px !important;
  }
  .entry-card-thumb.card-thumb,
  .e-card-thumb {
    flex: none !important;
    width: 100% !important;
    height: 200px !important;
  }
  .entry-card-content.card-content {
    margin-left: 0 !important;
    padding: 0 !important;
  }
}

/* ============================================
   追加修正 v3.3 - ナビ文字サイズ最適化
   ============================================ */
.menu-pc > li > a {
  padding: 14px 12px !important;
  font-size: 0.82em !important;
}

/* ナビをスクロール可能に（超過時） */
#navi-in,
.navi-in {
  overflow-x: auto;
  scrollbar-width: none;
}
#navi-in::-webkit-scrollbar,
.navi-in::-webkit-scrollbar { display: none; }

/* ============================================
   追加修正 v3.4 - 抜粋テキスト優先表示
   ============================================ */
/* Cocoonが自動生成する抜粋の代わりにpost_excerptを使う場合のスタイル */
.card-snippet,
.entry-card-snippet {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 0.8em !important;
  color: #9fa7af !important;
  line-height: 1.65 !important;
  margin: 6px 0 8px !important;
}

/* ============================================
   アピールエリア (ヒーロー) スタイル v4.0
   ============================================ */
#appeal {
  position: relative !important;
  background: linear-gradient(135deg, #0f1419 0%, #171b1f 50%, #1a2535 100%) !important;
  min-height: 420px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 60px 24px !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
}

/* 背景の装飾的なスペードシンボル */
#appeal::before {
  content: '♠';
  position: absolute;
  font-size: 320px;
  color: rgba(52, 131, 119, 0.06);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -55%);
  pointer-events: none;
  line-height: 1;
}

.appeal-in,
.appeal-content {
  position: relative;
  z-index: 1;
  max-width: 720px !important;
}

/* タイトル */
.appeal-title,
#appeal h2,
#appeal .appeal-title {
  font-size: clamp(1.6rem, 4vw, 2.4rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.4 !important;
  margin-bottom: 16px !important;
  letter-spacing: 0.02em !important;
  text-shadow: none !important;
}

/* サブテキスト */
.appeal-message,
#appeal p,
#appeal .appeal-message {
  font-size: 1rem !important;
  color: rgba(255, 255, 255, 0.7) !important;
  line-height: 1.8 !important;
  margin-bottom: 32px !important;
  font-weight: 400 !important;
}

/* CTAボタン */
.appeal-btn,
#appeal .appeal-btn,
#appeal a.appeal-btn {
  display: inline-block !important;
  background-color: #348377 !important;
  color: #ffffff !important;
  padding: 14px 36px !important;
  border-radius: 4px !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
  border: none !important;
}
.appeal-btn:hover,
#appeal a.appeal-btn:hover {
  background-color: #2a6b61 !important;
  transform: translateY(-2px) !important;
  color: #ffffff !important;
}

/* ============================================
   カルーセル スタイル v4.0
   ============================================ */
#carousel {
  background: #f5f7f8 !important;
  padding: 24px 0 !important;
  margin-bottom: 0 !important;
  border-bottom: 1px solid #e8ecef !important;
}

.carousel-in,
#carousel .swiper-container {
  padding: 0 12px !important;
}

.carousel-entry-card-wrap {
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
}

.carousel-entry-card-wrap:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important;
  transform: translateY(-2px) !important;
  transition: all 0.25s ease !important;
}

.carousel-entry-card-title {
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #171b1f !important;
  line-height: 1.5 !important;
  padding: 8px !important;
}

/* Swiper navigation arrows */
.swiper-button-next,
.swiper-button-prev {
  color: #348377 !important;
}

.swiper-pagination-bullet-active {
  background: #348377 !important;
}

/* ============================================
   カスタムロゴ スタイル v4.0
   ============================================ */
.custom-logo-link img,
.custom-logo {
  height: 44px !important;
  width: auto !important;
  max-width: 280px !important;
}

/* ロゴ配置 */
#header .header-in {
  align-items: center !important;
}

.site-name-text,
.site-name {
  display: none !important;
}

/* ロゴがない場合はサイト名テキストを表示 */
.custom-logo-link ~ .site-name-text,
.custom-logo-link ~ .site-name {
  display: none !important;
}

/* ============================================
   ロゴ修正 v4.1 — site-name-text非表示を上書き
   ============================================ */
/* site-name-text は display:none を解除（ロゴ画像が内包されているため） */
.site-name-text {
  display: inline-block !important;
}
/* テキストのみの場合（ロゴ画像なし）は非表示 */
.site-name-text:not(:has(img)) {
  display: none !important;
}
/* ロゴ画像サイズ */
.site-logo-image.header-site-logo-image {
  height: 44px !important;
  width: auto !important;
  max-width: 240px !important;
  display: block !important;
}
/* ヘッダーのh1/ロゴエリア */
.logo.logo-header {
  margin: 0 !important;
  padding: 12px 0 !important;
}
/* タグラインを非表示（ロゴで代替） */
.tagline {
  display: none !important;
}

/* ============================================
   ロゴ修正 v4.2 — site-name リンクを表示に戻す
   ============================================ */
a.site-name.site-name-text-link {
  display: flex !important;
  align-items: center !important;
}
.site-name-text {
  display: inline-block !important;
}
.site-logo-image.header-site-logo-image {
  display: block !important;
  height: 44px !important;
  width: auto !important;
  max-width: 240px !important;
}

/* ============================================
   アピールエリア修正 v4.3
   ============================================ */
/* ::before の巨大スペードを削除 */
#appeal::before {
  content: none !important;
}
/* appeal-contentのデフォルト白背景を除去 */
.appeal-content {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}
/* タイトルの改行を自然に */
.appeal-title {
  white-space: normal !important;
  word-break: keep-all !important;
}

/* ============================================
   アピールエリア修正 v4.4 — 縦中央揃え
   ============================================ */
#appeal-in {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

/* ============================================
   カスタムロゴ v5.0 — インラインSVG + Google Fonts
   ============================================ */

/* 旧SVGロゴ img の完全削除 */
.site-logo-image.header-site-logo-image {
  display: none !important;
}

/* ロゴラッパー */
.pjr-logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 10px 0 8px !important;
}

/* ロゴリンク */
.pjr-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
}
.pjr-logo-link:hover {
  opacity: 0.85 !important;
  text-decoration: none !important;
}

/* ロゴ全体 */
.pjr-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 11px !important;
  line-height: 1 !important;
}

/* アイコン */
.pjr-logo__icon {
  display: block !important;
  flex-shrink: 0 !important;
  filter: drop-shadow(0 1px 3px rgba(52,131,119,0.25)) !important;
}

/* テキストブロック */
.pjr-logo__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  align-items: flex-start !important;
}

/* 英語ライン */
.pjr-logo__en {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #171b1f !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
}
.pjr-logo__accent {
  color: #348377 !important;
}

/* 日本語ライン */
.pjr-logo__ja {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic Pro', 'Yu Gothic', 'Meiryo', sans-serif !important;
  font-size: 9.5px !important;
  font-weight: 700 !important;
  color: #9fa7af !important;
  letter-spacing: 0.18em !important;
  line-height: 1 !important;
}

/* ヘッダー全体の高さ調整 */
#header-in.header-in {
  padding: 0 20px !important;
  min-height: 64px !important;
}

/* ロゴの旧 site-name テキスト非表示 (既存設定との重複回避) */
.site-name-text:not(:has(img)):not(.pjr-logo-link *) {
  display: none !important;
}

/* SP対応 */
@media screen and (max-width: 767px) {
  .pjr-logo__en { font-size: 13px !important; }
  .pjr-logo__ja { font-size: 8px !important; }
  .pjr-logo__icon { width: 32px !important; height: 32px !important; }
}

/* ============================================
   ヘッダー改善 v5.1 — ロゴ左寄せ + レイアウト調整
   ============================================ */

/* ヘッダー全体: 左寄せ */
#header-in.header-in {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 32px !important;
  min-height: 68px !important;
  max-width: 100% !important;
}

/* ロゴラッパー: 左端 */
.pjr-logo-wrap {
  justify-content: flex-start !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
}

/* タグライン (サイトキャッチフレーズ) は完全非表示 */
#header-in .tagline,
.tagline {
  display: none !important;
}

/* ナビゲーションバー: 左揃え */
#navi-in.navi-in {
  display: flex !important;
  justify-content: flex-start !important;
  padding-left: 28px !important;
}

/* ナビアクティブライン色 */
.menu-pc > .current-menu-item > a::after,
.menu-pc > .current_page_item > a::after {
  background: #348377 !important;
}

/* ナビ境界線をシャープに */
#navi {
  border-top: 1px solid #e8ecef !important;
  border-bottom: none !important;
}

/* ============================================
   ヒーロー背景写真 + オーバーレイ v6.0
   ============================================ */
#appeal {
  background-color: #0f1419 !important;
  background-image: none !important; /* Cocoonのデフォルト背景をリセット */
  position: relative !important;
}

/* 写真 + ダークオーバーレイ */
#appeal::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: url("https://pokeraianalyzer.com/wp-content/uploads/2026/04/hero-bg-poker.jpg") !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
  /* 暗いグラデーションオーバーレイ: テキスト読みやすさ確保 */
  background-blend-mode: multiply !important;
  opacity: 1 !important;
  z-index: 0 !important;
  /* グラデーションマスク */
  -webkit-mask-image: none !important;
}

/* 写真レイヤー (::after) の上にオーバーレイ */
#appeal {
  background-image:
    linear-gradient(
      to bottom,
      rgba(10, 14, 18, 0.72) 0%,
      rgba(10, 14, 18, 0.55) 50%,
      rgba(10, 14, 18, 0.75) 100%
    ),
    url("https://pokeraianalyzer.com/wp-content/uploads/2026/04/hero-bg-poker.jpg") !important;
  background-size: cover !important;
  background-position: center 30% !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}

/* テキストをオーバーレイの上に */
#appeal-in,
.appeal-content,
.appeal-title,
.appeal-message,
.appeal-button {
  position: relative !important;
  z-index: 2 !important;
}

/* parallax無効化 (SP) */
@media screen and (max-width: 767px) {
  #appeal {
    background-attachment: scroll !important;
    background-position: center center !important;
  }
}

/* ============================================
   ヒーローテキスト readability v6.1
   ============================================ */
.appeal-title {
  text-shadow: 0 2px 20px rgba(0,0,0,0.8), 0 1px 4px rgba(0,0,0,0.9) !important;
}
.appeal-message p,
.appeal-message {
  text-shadow: 0 1px 8px rgba(0,0,0,0.9) !important;
  color: rgba(255,255,255,0.9) !important;
}
/* 背景位置を上寄りに（ディーラー上半身が見えるように） */
#appeal {
  background-position: center 20% !important;
}

/* ============================================
   ヒーロー背景オーバーレイ調整 v6.2 (明るい写真対応)
   ============================================ */
#appeal {
  background-image:
    linear-gradient(
      to bottom,
      rgba(5, 8, 12, 0.82) 0%,
      rgba(5, 8, 12, 0.68) 45%,
      rgba(5, 8, 12, 0.80) 100%
    ),
    url("https://www.pokeraianalyzer.com/wp-content/uploads/2026/04/hero-bg-poker.jpg") !important;
  background-position: center 40% !important;
}
