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

/* ═══════════════════════════════════════════
   ヨルカギ サブページ共通スタイル
   TOPのデザイン変数に統一
═══════════════════════════════════════════ */

:root {
  --c-red:    #E74C3C;
  --c-gold:   #F39C12;
  --c-dark:   #2C3E50;
  --c-text:   #2d2d2d;
  --c-sub:    #777777;
  --c-border: #EBEBEB;
  --c-bg-red: #FFF5F4;
  --radius:   8px;
  --shadow:   0 2px 16px rgba(0,0,0,0.08);
}

/* ─── ベースフォント ─── */
body {
  font-family: 'Noto Sans JP', sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* ─── サイドバーを非表示・1カラム化（全ページ共通） ─── */
#sidebar {
  display: none !important;
}
#content-in {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
#main {
  width: 100% !important;
  float: none !important;
}

/* ─── 投稿日を非表示（ページには不要） ─── */
body.page .post-date {
  display: none !important;
}

/* ─── ページタイトル ─── */
body.page .entry-title {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 900 !important;
  color: var(--c-dark) !important;
  font-size: 1.8rem !important;
  padding-bottom: 16px !important;
  border-bottom: 4px solid var(--c-red) !important;
  margin-bottom: 32px !important;
}

/* ─── H2 ─── */
body.page .entry-content h2 {
  font-weight: 900;
  font-size: 1.25rem;
  color: var(--c-dark);
  background: var(--c-bg-red);
  border-left: 5px solid var(--c-red);
  padding: 13px 18px;
  border-radius: 0 var(--radius) var(--radius) 0;
  margin: 48px 0 20px;
  line-height: 1.5;
}

/* ─── H3 ─── */
body.page .entry-content h3 {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--c-dark);
  padding: 0 0 8px 14px;
  border-left: 3px solid var(--c-gold);
  border-bottom: 1px solid var(--c-border);
  margin: 32px 0 14px;
  line-height: 1.6;
}

/* ─── テーブル ─── */
body.page .entry-content table {
  width: 100%;
  border-collapse: collapse;
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  margin: 20px 0 32px;
  font-size: 15px;
  line-height: 1.7;
}

body.page .entry-content table thead tr th {
  background: var(--c-red);
  color: #fff;
  padding: 14px 20px;
  font-weight: 700;
  text-align: left;
}

body.page .entry-content table th {
  background: var(--c-bg-red);
  color: var(--c-dark);
  padding: 14px 20px;
  font-weight: 700;
  text-align: left;
  border-bottom: 1px solid var(--c-border);
  width: 32%;
  vertical-align: top;
}

body.page .entry-content table td {
  padding: 14px 20px;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
  vertical-align: top;
}

body.page .entry-content table tr:last-child th,
body.page .entry-content table tr:last-child td {
  border-bottom: none;
}

body.page .entry-content table tr:hover td {
  background: #fffaf8;
  transition: background 0.2s;
}

/* ─── リスト ─── */
body.page .entry-content ul {
  padding-left: 0;
  list-style: none;
}

body.page .entry-content ul li {
  padding: 8px 0 8px 24px;
  position: relative;
  line-height: 1.8;
  border-bottom: 1px solid var(--c-border);
  color: var(--c-text);
}

body.page .entry-content ul li:last-child {
  border-bottom: none;
}

body.page .entry-content ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 10px;
  height: 10px;
  background: var(--c-red);
  border-radius: 50%;
}

/* ─── テキスト ─── */
body.page .entry-content p {
  line-height: 1.9;
  margin-bottom: 18px;
  color: var(--c-text);
  font-size: 15px;
}

body.page .entry-content strong {
  color: var(--c-red);
  font-weight: 700;
}

/* ─── リンク ─── */
body.page .entry-content a {
  color: var(--c-red);
  text-decoration-color: rgba(231,76,60,0.3);
  transition: color 0.2s;
}

body.page .entry-content a:hover {
  color: var(--c-gold);
}

/* ─── 注釈テキスト ─── */
body.page .entry-content p:has(> small),
body.page .entry-content p small {
  color: var(--c-sub);
  font-size: 13px;
}

/* ─── パンくずリスト ─── */
.breadcrumb {
  font-size: 13px;
  color: var(--c-sub);
  padding: 8px 0;
}

.breadcrumb a {
  color: var(--c-sub) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.breadcrumb a:hover {
  color: var(--c-red) !important;
}

/* ─── レスポンシブ ─── */
@media screen and (max-width: 834px) {
  body.page .entry-title { font-size: 1.5rem !important; }
  body.page .entry-content h2 { font-size: 1.1rem; }
  body.page .entry-content table { font-size: 14px; }
  body.page .entry-content table th,
  body.page .entry-content table td { padding: 11px 14px; }
}

@media screen and (max-width: 480px) {
  body.page #content-in { padding: 0 16px !important; }
  body.page .entry-title { font-size: 1.3rem !important; }
  body.page .entry-content h2 { font-size: 1rem; padding: 10px 14px; }
  body.page .entry-content h3 { font-size: 0.95rem; }
  body.page .entry-content table th { width: 38%; }
  body.page .entry-content table th,
  body.page .entry-content table td { padding: 10px 11px; font-size: 13px; }
}

/* ─── SNSシェアボタン非表示（固定ページ） ─── */
body.page .sns-share {
  display: none !important;
}

/* ═══════════════════════════════════════════
   LP共通ヘッダー・フッター（全ページ統一）
═══════════════════════════════════════════ */

/* Cocoonデフォルトヘッダー・フッター・RSS非表示 */
#header, .navi-container, .header-container { display: none !important; }
#footer.footer-container { display: none !important; }
.footer-mobile-menu-buttons { display: none !important; }
.rss-link, .feedly-subscribe-btn, .follow-feedly,
a[href*="feedly.com"], a[href*="/feed/"] { display: none !important; }

/* 固定ヘッダー分のpadding（page-lp.phpは独自で0リセット済み） */
body { padding-top: 64px !important; }
body.page-template-page-lp { padding-top: 0 !important; }

/* ── LP共通ヘッダー ── */
#yk-header {
  position: fixed; top: 0; left: 0; width: 100%; z-index: 9999;
  background: #E74C3C;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px; height: 64px;
}
.yk-header-logo {
  display: flex; align-items: center; gap: 10px;
  color: #fff !important; text-decoration: none !important;
}
.yk-logo-owl { vertical-align: middle; }
.yk-logo-text {
  font-size: 20px; font-weight: 900; letter-spacing: 0.02em;
  line-height: 1.2; color: #fff !important;
}
.yk-logo-sub { font-size: 11px; font-weight: 400; opacity: 0.85; display: block; }
.yk-header-tel {
  display: flex; align-items: center; gap: 8px;
  background: #F39C12; color: #fff !important;
  padding: 10px 20px; border-radius: 50px;
  font-weight: 900; font-size: 16px; text-decoration: none !important;
  white-space: nowrap; transition: background 0.2s;
}
.yk-header-tel:hover { background: #d68910 !important; color: #fff !important; }
@media (max-width: 480px) {
  #yk-header { padding: 0 14px; }
  .yk-logo-text { font-size: 17px; }
  .yk-header-tel { font-size: 13px; padding: 8px 14px; gap: 6px; }
}

/* ── LP共通フッター ── */
#yk-footer {
  background: #0A0E1A; color: rgba(255,255,255,0.65);
  padding: 40px 24px 24px;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
}
.yk-footer-inner { max-width: 960px; margin: 0 auto; }
.yk-footer-logo {
  display: flex; align-items: center; gap: 8px;
  color: #fff; margin-bottom: 10px;
}
.yk-footer-logo span { font-size: 18px; font-weight: 900; }
.yk-footer-desc { font-size: 13px; line-height: 1.8; margin-bottom: 24px; }
.yk-footer-bottom {
  display: flex; justify-content: space-between; align-items: center;
  border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px;
  flex-wrap: wrap; gap: 10px;
}
.yk-footer-copy { font-size: 12px; }
.yk-footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
.yk-footer-links a {
  font-size: 12px; color: rgba(255,255,255,0.5) !important;
  text-decoration: none !important; transition: color 0.2s;
}
.yk-footer-links a:hover { color: #F39C12 !important; }

/* ── フローティング電話ボタン（全ページ共通） ── */
#yk-floating-tel {
  display: none; position: fixed; bottom: 20px; right: 20px; z-index: 9998;
}
#yk-floating-tel a {
  display: flex; align-items: center; justify-content: center;
  width: 60px; height: 60px; border-radius: 50%;
  background: #F39C12; color: #fff !important;
  font-size: 24px; box-shadow: 0 4px 20px rgba(0,0,0,0.3);
  text-decoration: none !important;
}
@media (max-width: 768px) { #yk-floating-tel { display: block; } }

/* 緊急記事（深夜の閉め出し ID:204）：上部SNSシェアを非表示にし、電話CVの導線を優先 */
.postid-204 .sns-share.ss-top { display: none !important; }
