@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.0
Description: 高級ホテルスタイル（帝国ホテル・日航ホテルコンセプト）
*/

/* ============================================================
   ポータルサイト カテゴリグリッド（既存スタイル維持）
   ============================================================ */
.portal-intro { background:#f0f4ff; border-left:4px solid #2c5aa0; padding:1.2em 1.5em; margin-bottom:1.5em; border-radius:4px; }
.portal-categories { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1.2em; margin:1.5em 0; }
.portal-category { background:#fff; border:1px solid #dde3f0; border-radius:8px; padding:1.2em; box-shadow:0 2px 6px rgba(0,0,0,.06); }
.portal-category h3 { font-size:1.05em; margin:0 0 .6em; color:#2c5aa0; }
.portal-category p { font-size:.9em; color:#555; margin:0 0 .8em; line-height:1.6; }
.portal-category .btn { display:inline-block; background:#2c5aa0; color:#fff; padding:.4em 1em; border-radius:4px; font-size:.85em; text-decoration:none; }
.portal-category .btn:hover { background:#1a3d7a; }

/* ============================================================
   CSS変数 - ブランドカラー定義
   ============================================================ */
:root {
  --luxury-gold: #b8963e;
  --luxury-gold-light: #c9a84c;
  --luxury-navy: #1a2a4a;
  --luxury-navy-light: #243a66;
  --luxury-text: #1a2a4a;
  --luxury-bg-sidebar: #f8f8f6;
  --luxury-visited: #666666;

  /* Cocoon SNSカラーを紺に統一 */
  --cocoon-twitter-color: #1a2a4a;
  --cocoon-mastodon-color: #1a2a4a;
  --cocoon-bluesky-color: #1a2a4a;
  --cocoon-facebook-color: #1a2a4a;
  --cocoon-hatebu-color: #1a2a4a;
  --cocoon-pocket-color: #1a2a4a;
  --cocoon-line-color: #1a2a4a;
  --cocoon-linkedin-color: #1a2a4a;
  --cocoon-instagram-color: #1a2a4a;
  --cocoon-pinterest-color: #1a2a4a;
  --cocoon-youtube-color: #1a2a4a;
  --cocoon-note-color: #1a2a4a;
  --cocoon-rss-color: #1a2a4a;
  --cocoon-copy-color: #1a2a4a;
  --cocoon-comment-color: #1a2a4a;
}

/* ============================================================
   ボディ・基本テキスト（明朝体系統）
   ============================================================ */
body {
  font-family: 'Noto Serif JP', 'Cormorant Garamond', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, Georgia, serif !important;
  color: var(--luxury-text) !important;
  line-height: 1.9;
}

/* ============================================================
   リンク色
   ============================================================ */
a,
.article a,
.entry-content a {
  color: var(--luxury-navy) !important;
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover,
.article a:hover,
.entry-content a:hover {
  color: var(--luxury-gold) !important;
  text-decoration: underline;
}
a:visited,
.article a:visited,
.entry-content a:visited {
  color: var(--luxury-visited) !important;
}

/* ============================================================
   見出し（フォント共通）
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.article h1,
.article h2,
.article h3,
.article h4 {
  font-family: 'Noto Serif JP', 'Cormorant Garamond', 'EB Garamond', Georgia, serif !important;
  letter-spacing: 0.06em;
  line-height: 1.5;
}

/* ============================================================
   h2 - ゴールド・細いゴールド下線
   Cocoonデフォルトの装飾を完全リセット
   ============================================================ */
.article h2,
.entry-content h2 {
  color: var(--luxury-gold) !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid var(--luxury-gold) !important;
  border-radius: 0 !important;
  padding: 0.35em 0 0.35em 0 !important;
  margin-top: 2em !important;
  margin-bottom: 1em !important;
  font-size: 1.4em !important;
  font-weight: 600 !important;
  position: static !important;
}

.article h2::after,
.entry-content h2::after,
.article h2::before,
.entry-content h2::before {
  display: none !important;
  content: none !important;
  border: none !important;
  background: none !important;
}

/* ============================================================
   h3 - 紺・左側にゴールドのボーダーライン
   ============================================================ */
.article h3,
.entry-content h3 {
  color: var(--luxury-navy) !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-left: 3px solid var(--luxury-gold) !important;
  border-radius: 0 !important;
  padding: 0.25em 0 0.25em 0.8em !important;
  margin-top: 1.6em !important;
  margin-bottom: 0.8em !important;
  font-size: 1.2em !important;
  font-weight: 600 !important;
}

.article h3::after,
.entry-content h3::after,
.article h3::before,
.entry-content h3::before {
  display: none !important;
  content: none !important;
  border: none !important;
  background: none !important;
}

/* ============================================================
   h4
   ============================================================ */
.article h4,
.entry-content h4 {
  color: var(--luxury-navy) !important;
  background: none !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid #c8c8c0 !important;
  border-radius: 0 !important;
  padding: 0.2em 0 !important;
  font-size: 1.05em !important;
  font-weight: 600 !important;
  position: static !important;
}

.article h4::before,
.article h4::after,
.entry-content h4::before,
.entry-content h4::after {
  display: none !important;
  content: none !important;
}

/* ============================================================
   ページタイトル（entry-title）
   ============================================================ */
.entry-title {
  color: var(--luxury-navy) !important;
  font-family: 'Noto Serif JP', 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em;
  border: none !important;
  background: none !important;
}

/* ============================================================
   サイドバー
   ============================================================ */
.sidebar,
div.sidebar {
  background: transparent !important;
}

.sidebar .widget,
.sidebar .widget-area,
.sidebar section.widget {
  background-color: var(--luxury-bg-sidebar) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 1.4em 1.4em 1.2em !important;
  margin-bottom: 1.8em !important;
  box-shadow: none !important;
}

/* ウィジェットタイトル */
.sidebar .widget-title,
.sidebar .widgettitle,
.sidebar h2.widget-title,
.sidebar h3.widget-title,
.sidebar .widget h2,
.sidebar .widget h3,
.widget-sidebar-title {
  color: var(--luxury-gold) !important;
  font-family: 'Noto Serif JP', Georgia, serif !important;
  font-weight: 600 !important;
  font-size: 0.95em !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-bottom: 1px solid var(--luxury-gold) !important;
  border-radius: 0 !important;
  padding: 0 0 0.5em 0 !important;
  margin-bottom: 0.9em !important;
  letter-spacing: 0.08em !important;
  position: static !important;
}

.sidebar .widget-title::before,
.sidebar .widgettitle::before,
.sidebar .widget-title::after,
.sidebar .widgettitle::after,
.sidebar .widget h2::before,
.sidebar .widget h2::after,
.sidebar .widget h3::before,
.sidebar .widget h3::after,
.widget-sidebar-title::before,
.widget-sidebar-title::after {
  display: none !important;
  content: none !important;
}

/* サイドバーリンク */
.sidebar a {
  color: var(--luxury-navy) !important;
}
.sidebar a:hover {
  color: var(--luxury-gold) !important;
}

/* ============================================================
   ボタン類 - 標準（紺地）
   ============================================================ */
.btn,
.btn-wrap > a,
.wp-block-button__link,
.more-link,
.btn-default,
input[type="submit"],
button[type="submit"],
.cocoon-block-button a {
  background-color: var(--luxury-navy) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 2px !important;
  padding: 0.6em 1.8em !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 0.9em !important;
  font-weight: 500 !important;
  letter-spacing: 0.05em !important;
  text-decoration: none !important;
  transition: background-color 0.2s ease !important;
  cursor: pointer;
}

/* 訪問済み・ホバー時もボタン文字色を白に固定
   （a:visited の詳細度に負けないよう a.btn 形式で指定） */
a.btn,
a.btn:link,
a.btn:visited,
a.btn:hover,
a.btn:active,
a.more-link,
a.more-link:link,
a.more-link:visited,
a.more-link:hover,
a.more-link:active,
.btn-wrap > a:link,
.btn-wrap > a:visited,
.btn-wrap > a:active {
  color: #ffffff !important;
  text-decoration: none !important;
}

.btn:hover,
.btn-wrap > a:hover,
.wp-block-button__link:hover,
.more-link:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
  background-color: var(--luxury-navy-light) !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* アクセントボタン（金） */
.btn.btn-primary,
.btn-wrap.btn-wrap-primary > a,
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: var(--luxury-gold) !important;
  border-color: var(--luxury-gold) !important;
}
.btn.btn-primary:hover,
.btn-wrap.btn-wrap-primary > a:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--luxury-gold-light) !important;
}

/* ============================================================
   SNSシェアボタン - 紺に統一・30%縮小
   ============================================================ */
.sns-share .sns-buttons a,
.sns-share a {
  font-size: 0.72em !important;
  padding: 5px 8px !important;
  min-height: unset !important;
  line-height: 1.4 !important;
}

.sns-share .sns-buttons a,
.sns-share a,
[class*="bc-brand-color"] .sns-buttons a {
  background-color: var(--luxury-navy) !important;
  border-color: var(--luxury-navy) !important;
  color: #ffffff !important;
  --cocoon-sns-color: var(--luxury-navy) !important;
}

.sns-share .sns-buttons a:hover,
.sns-share a:hover {
  background-color: var(--luxury-navy-light) !important;
  opacity: 1 !important;
}

.sns-share-message {
  color: var(--luxury-navy) !important;
  font-size: 0.8em !important;
  font-family: 'Noto Sans JP', sans-serif !important;
}

/* ============================================================
   ナビゲーション - フォントのみ調整
   ============================================================ */
.navi .navi-in a,
.header-container .navi a {
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.05em;
  font-size: 0.9em;
}

/* ============================================================
   目次 - シンプル化
   ============================================================ */
.article .toc {
  border: 1px solid #d8d0bb !important;
  border-radius: 0 !important;
  background-color: #fdfcf8 !important;
  background-image: none !important;
}

.toc-title {
  background-image: none !important;
  background-color: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--luxury-gold) !important;
  color: var(--luxury-navy) !important;
  font-family: 'Noto Serif JP', serif !important;
  font-size: 1em !important;
  padding: 0.5em 1em !important;
  letter-spacing: 0.05em;
}

.article .toc .toc-content {
  border: none !important;
  border-radius: 0 !important;
  background-image: none !important;
  background-color: transparent !important;
  padding: 0.5em 1em 1em !important;
}

.toc-list a,
.toc-list li a {
  color: var(--luxury-navy) !important;
}
.toc-list a:hover {
  color: var(--luxury-gold) !important;
}

/* ============================================================
   カード・エントリーカード（ホバー調整）
   ============================================================ */
.a-wrap:hover {
  background-color: #f0eee8 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
}

/* ============================================================
   カラム内フォント・色（絵文字・レイアウトは維持）
   ============================================================ */
.wp-block-columns,
.cocoon-block-columns {
  font-family: 'Noto Serif JP', "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  color: var(--luxury-text);
}

.wp-block-column h2,
.wp-block-column h3,
.cocoon-block-column h2,
.cocoon-block-column h3 {
  font-family: 'Noto Serif JP', serif !important;
}

/* ============================================================
   本文・サイドバー本文フォント（明朝体系統）
   ============================================================ */
.entry-content,
.article,
.article p,
.entry-content p,
.entry-content li,
.article li,
.sidebar .widget,
.sidebar .widget li,
.sidebar .widget p,
.widget_recent_entries ul li a,
.widget_categories ul li a,
.widget_archive ul li a,
.widget_nav_menu ul li a,
.widget_pages ul li a {
  font-family: 'Noto Serif JP', 'Cormorant Garamond', "Hiragino Mincho ProN", "Yu Mincho", YuMincho, Georgia, serif !important;
  color: var(--luxury-text) !important;
}

/* ============================================================
   コメント・検索・ページネーション
   ============================================================ */
.comment-form input[type="submit"],
.search-form input[type="submit"],
.searchform input[type="submit"] {
  background-color: var(--luxury-navy) !important;
  color: #ffffff !important;
  border-radius: 2px !important;
}

.pagination .current {
  background-color: var(--luxury-navy) !important;
  color: #ffffff !important;
  border-color: var(--luxury-navy) !important;
}

.pagination a:hover {
  background-color: var(--luxury-gold) !important;
  color: #ffffff !important;
  border-color: var(--luxury-gold) !important;
}

/* ============================================================
   レスポンシブ - 768px以下
   ============================================================ */
@media screen and (max-width: 768px) {
  .article h2 {
    font-size: 1.2em !important;
    padding: 0.3em 0 !important;
  }

  .article h3 {
    font-size: 1.05em !important;
  }

  .sns-share .sns-buttons a,
  .sns-share a {
    font-size: 0.68em !important;
    padding: 4px 6px !important;
  }

  .sidebar .widget {
    padding: 1em !important;
  }
}

/* ============================================================
   レスポンシブ - 480px以下
   ============================================================ */
@media screen and (max-width: 480px) {
  .article h2 {
    font-size: 1.1em !important;
  }

  .sns-share .sns-buttons a,
  .sns-share a {
    font-size: 0.65em !important;
  }
}
