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

/* ===== AIコンパス カスタムデザイン ===== */

body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
  color: #2d3748;
  line-height: 1.85;
}

/* ===== ヘッダー ===== */
#header {
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08 ) !important;
  border-bottom: 2px solid #e2e8f0 !important;
  padding: 0 !important;
  min-height: unset !important;
}
#header-in {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 14px 24px 12px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

/* サイト名 */
.logo-header {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
.logo-header::after,
.logo-header::before {
  display: none !important;
  content: none !important;
  border: none !important;
}
.site-name-text-link {
  text-decoration: none !important;
}
.site-name-text {
  color: #1a2744 !important;
  font-size: 1.6rem !important;
  font-weight: 900 !important;
  text-shadow: none !important;
  letter-spacing: 0.01em !important;
}

/* キャッチコピー */
.tagline {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: #555 !important;
  font-size: 0.78rem !important;
  margin-top: 4px !important;
  text-align: left !important;
  line-height: 1.5 !important;
}

/* ===== ナビゲーション ===== */
#navi {
  background: #ffffff !important;
  border-bottom: 2px solid #1a2744 !important;
}
#navi .navi-in > ul > li > a {
  color: #2d3748 !important;
  padding: 11px 16px !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
}
#navi .navi-in > ul > li > a:hover,
#navi .navi-in > ul > li.current-menu-item > a {
  color: #2b6cb0 !important;
  background: #f0f4f8 !important;
}

/* ===== パンくずリスト ===== */
#breadcrumb {
  background: #f0f4f8 !important;
  padding: 7px 24px !important;
  font-size: 0.8rem !important;
  color: #718096 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
#breadcrumb a {
  color: #2b6cb0 !important;
  text-decoration: none !important;
}
#breadcrumb a:hover { text-decoration: underline !important; }

/* ===== メインコンテンツ ===== */
#main { background: #f7f9fc; }

.entry-card-wrap {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  transition: transform 0.2s ease !important;
  overflow: hidden;
}
.entry-card-wrap:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(26,39,68,0.12) !important;
}
.entry-card-title {
  color: #1a2744 !important;
  font-weight: 700 !important;
}
.cat-label {
  background: #2b6cb0 !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
}

/* ===== 記事本文 ===== */
.entry-content h2 {
  background: linear-gradient(135deg, #1a2744 0%, #2d4a8a 100%) !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  border-radius: 6px !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  margin: 2rem 0 1rem !important;
  border-left: none !important;
}
.entry-content h3 {
  color: #1a2744 !important;
  border-left: 4px solid #2b6cb0 !important;
  padding-left: 12px !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  margin: 1.5rem 0 0.75rem !important;
}
.entry-content table { border-collapse: collapse !important; width: 100% !important; margin: 1.5rem 0 !important; }
.entry-content table th { background: #1a2744 !important; color: #ffffff !important; padding: 12px 16px !important; font-weight: 600 !important; }
.entry-content table td { padding: 10px 16px !important; border-bottom: 1px solid #e2e8f0 !important; }
.entry-content table tr:nth-child(even) td { background: #f7f9fc !important; }

/* ===== サイドバー ===== */
.widget-title, .sidebar-title {
  background: #1a2744 !important;
  color: #ffffff !important;
  padding: 10px 16px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
}

/* ===== フッター ===== */
#footer { background: #1a2744 !important; color: #a0b4d0 !important; padding: 30px 0 16px !important; }
#footer a { color: #a0b4d0 !important; }
#footer a:hover { color: #ffffff !important; }

/* ===== コード ===== */
pre, code { background: #1e2a3a !important; color: #e2e8f0 !important; border-radius: 6px !important; font-size: 0.88rem !important; }
pre { padding: 16px !important; overflow-x: auto !important; }

/* ===== ページネーション ===== */
.page-numbers { background: #ffffff !important; border: 1px solid #e2e8f0 !important; color: #1a2744 !important; border-radius: 4px !important; }
.page-numbers.current { background: #2b6cb0 !important; color: #ffffff !important; border-color: #2b6cb0 !important; }

/* ===== スマホ対応 ===== */
@media (max-width: 768px) {
  body { font-size: 15px !important; }
  .entry-content h2 { font-size: 1.05rem !important; padding: 10px 14px !important; }
  #header-in { padding: 12px 16px 10px !important; }
}

/* h1タグの横線を消す */
h1.logo-header,
h1.logo,
.logo-header,
.logo {
  display: flex !important;
  align-items: center !important;
  border: none !important;
  background: none !important;
}
h1.logo-header::after,
h1.logo-header::before,
h1.logo::after,
h1.logo::before {
  display: none !important;
  content: "" !important;
  border: none !important;
  width: 0 !important;
  height: 0 !important;
  flex: none !important;
}
