@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){
  /*必要ならばここにコードを書く*/
}


/* =====================================================
   mens-biyou-navi.com カスタムCSS
   プロデザイン改良版
   ===================================================== */

/* ─── カラーパレット & 基本変数 ─── */
:root {
  --brand-navy:   #1a2340;
  --brand-dark:   #0d1526;
  --brand-gold:   #c9a84c;
  --brand-gold-lt:#e8c96e;
  --brand-gray:   #f5f6fa;
  --brand-white:  #ffffff;
  --text-primary: #222831;
  --text-muted:   #6c757d;
  --accent-green: #27ae60;
  --accent-red:   #e74c3c;
  --radius-sm:    6px;
  --radius-md:    12px;
  --radius-lg:    20px;
  --shadow-sm:    0 2px 8px rgba(0,0,0,.08);
  --shadow-md:    0 6px 24px rgba(0,0,0,.12);
  --shadow-lg:    0 12px 40px rgba(0,0,0,.16);
  --transition:   all .25s ease;
}

/* ─── ベースフォント・本文 ─── */
body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
  font-size: 16px;
  line-height: 1.85;
  color: var(--text-primary);
  background: var(--brand-gray);
  -webkit-font-smoothing: antialiased;
}

/* ─── ヘッダー ─── */
#header,
.header-container,
.site-header {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-dark) 100%) !important;
  box-shadow: var(--shadow-md) !important;
  border-bottom: 3px solid var(--brand-gold) !important;
}

.site-name a,
.site-name-text,
#header .header-site-name a {
  color: var(--brand-white) !important;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  letter-spacing: .04em;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}

.tagline,
.site-description {
  color: var(--brand-gold-lt) !important;
  font-size: .85rem;
  letter-spacing: .06em;
}

/* ─── ナビゲーションメニュー ─── */
#navi .navi-in,
.global-navi ul {
  background: transparent !important;
}

#navi a,
.global-navi a {
  color: rgba(255,255,255,.9) !important;
  font-weight: 600;
  font-size: .92rem;
  padding: 14px 18px !important;
  transition: var(--transition);
  position: relative;
}

#navi a::after,
.global-navi a::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%; right: 50%;
  height: 2px;
  background: var(--brand-gold);
  transition: var(--transition);
}

#navi a:hover::after,
.global-navi a:hover::after {
  left: 10%; right: 10%;
}

/* ─── コンテンツエリア ─── */
#contents {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 32px 20px !important;
}

#main,
.main-column {
  background: var(--brand-white);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-sm);
  padding: 40px 44px !important;
}

@media (max-width: 768px) {
  #main, .main-column {
    padding: 24px 18px !important;
  }
}

/* ─── 記事タイトル ─── */
.entry-title,
h1.entry-title {
  font-size: 1.75rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
  color: var(--brand-navy) !important;
  border-left: 5px solid var(--brand-gold);
  padding-left: 16px !important;
  margin-bottom: 24px !important;
}

/* ─── 見出しスタイル ─── */
.entry-content h2 {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--brand-white);
  background: linear-gradient(90deg, var(--brand-navy), #2c3e6b);
  padding: 14px 20px;
  border-radius: var(--radius-sm);
  margin: 40px 0 20px !important;
  position: relative;
  overflow: hidden;
}

.entry-content h2::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 5px;
  background: var(--brand-gold);
}

.entry-content h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--brand-navy);
  border-bottom: 2px solid var(--brand-gold);
  padding-bottom: 8px;
  margin: 32px 0 16px !important;
}

.entry-content h4 {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  padding-left: 12px;
  border-left: 3px solid var(--brand-gold);
  margin: 24px 0 12px !important;
}

/* ─── 本文・段落 ─── */
.entry-content p {
  margin-bottom: 1.4em;
  line-height: 1.9;
}

/* ─── リンク ─── */
.entry-content a {
  color: #1a5fa8;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: var(--transition);
}

.entry-content a:hover {
  color: var(--brand-gold);
  text-decoration: none;
}

/* ─── アフィリエイトリンク (CTAボタン) ─── */
.entry-content a[rel="nofollow"] {
  display: inline-block;
  background: linear-gradient(135deg, var(--brand-gold) 0%, #b8893a 100%);
  color: var(--brand-white) !important;
  text-decoration: none !important;
  padding: 13px 28px;
  border-radius: 50px;
  font-weight: 700;
  font-size: 1rem;
  box-shadow: 0 4px 16px rgba(201,168,76,.35);
  transition: var(--transition);
  margin: 4px 2px;
}

.entry-content a[rel="nofollow"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201,168,76,.45);
  background: linear-gradient(135deg, var(--brand-gold-lt) 0%, var(--brand-gold) 100%);
  color: var(--brand-navy) !important;
}

/* ─── テーブル ─── */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius-sm);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  margin: 24px 0;
}

.entry-content th {
  background: var(--brand-navy);
  color: var(--brand-white);
  padding: 12px 16px;
  font-weight: 700;
  font-size: .95rem;
  text-align: left;
}

.entry-content td {
  padding: 12px 16px;
  border-bottom: 1px solid #edf2f7;
}

.entry-content tr:nth-child(even) td {
  background: var(--brand-gray);
}

/* ─── リスト ─── */
.entry-content ul li {
  padding: 4px 0;
  padding-left: 4px;
  position: relative;
}

.entry-content ul li::marker {
  color: var(--brand-gold);
  font-size: 1.1em;
}

/* ─── サイドバー ─── */
#sidebar {
  padding-left: 24px !important;
}

.widget_title,
.widget-title {
  font-size: 1rem;
  font-weight: 800;
  color: var(--brand-navy);
  border-bottom: 2px solid var(--brand-gold);
  padding-bottom: 8px;
  margin-bottom: 14px;
}

/* ─── 記事カード (トップページ等) ─── */
.post-card,
.article-card,
.cat-entry-card {
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  box-shadow: var(--shadow-sm) !important;
  transition: var(--transition) !important;
  background: var(--brand-white) !important;
}

.post-card:hover,
.article-card:hover,
.cat-entry-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: var(--shadow-md) !important;
}

/* ─── フッター ─── */
#footer {
  background: var(--brand-dark) !important;
  color: rgba(255,255,255,.7) !important;
  padding: 32px 20px !important;
  margin-top: 48px;
  border-top: 3px solid var(--brand-gold);
}

#footer a {
  color: var(--brand-gold-lt) !important;
}

/* ─── 目次 (Cocoon TOC) ─── */
.toc-title {
  background: var(--brand-navy) !important;
  color: var(--brand-white) !important;
  font-weight: 700;
}

.toc-widget-border {
  border-color: var(--brand-navy) !important;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

@media (max-width: 768px) {
  .entry-title, h1.entry-title {
    font-size: 1.35rem !important;
  }
  .entry-content h2 {
    font-size: 1.15rem;
    padding: 12px 16px;
  }
  #sidebar {
    padding-left: 0 !important;
    margin-top: 32px;
  }
}