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

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* フォント読み込み（トップページ統一） */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=IBM+Plex+Mono:wght@400;500;700&display=swap');


/* FOUC防止：カスタムヘッダー使用ページでCocoonデフォルトヘッダーを非表示 */
.home #header,
.home #header-container,
.home .header,
.home .header-container,
.home .appeal,
.home #navi,
.home .navi,
.home .mobile-header-menu-buttons,
.home .header-appbar,
.post-type-archive-case_study #header,
.post-type-archive-case_study #header-container,
.post-type-archive-case_study .header,
.post-type-archive-case_study .header-container,
.post-type-archive-case_study .appeal,
.post-type-archive-case_study #navi,
.post-type-archive-case_study .navi,
.single-pref_guideline #header,
.single-pref_guideline #header-container,
.single-pref_guideline .header,
.single-pref_guideline .header-container,
.page-template-page-guideline-compare #header,
.page-template-page-guideline-compare #header-container,
.page-template-page-guideline-compare .header,
.page-template-page-guideline-compare .header-container,
.page #header,
.page #header-container,
.page .header,
.page .header-container,
.page .appeal {
  display: none !important;
}

/* 固定ページのサイドバー非表示 */
.page #sidebar,
.page .sidebar,
.page .widget-area,
.page #aside {
  display: none !important;
}
/* sidebar-right レイアウトを解除して中央寄せ */
.page #content-in,
.page .content-in {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.page:not(.home) #main,
.page:not(.home) .main {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  float: none !important;
}
/* トップページはCocoonの幅制限を外す */
.home #main,
.home .main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}
/* カスタム全幅テンプレートの860px制限を解除（詳細度を .page:not(.home) と同等以上に） */
.page.page-template-page-guideline-compare #main,
.page.page-template-page-guideline-compare .main,
.page.page-id-745 #main,
.page.page-id-745 .main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 固定ページ・お問い合わせ等のフォント統一 */
body,
.entry-content,
.entry-title,
.page-title,
input, textarea, select, button,
.wpcf7-form,
.wpcf7 input,
.wpcf7 textarea,
.wpcf7 select,
.wpcf7-submit {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif !important;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif !important;
  font-weight: 700;
}

code, pre, kbd, tt, var, .mono {
  font-family: 'IBM Plex Mono', monospace;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/* 画像・動画のはみ出し防止（全ページ共通） */
img, video, iframe, embed, object {
  max-width: 100%;
  height: auto;
}
/* テーブルはみ出し防止 */
.entry-content table,
.article table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/*1023px以下*/
@media screen and (max-width: 1023px){
  .entry-content,
  .article-body {
    padding: 0 16px;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  .page:not(.home) #main,
  .page:not(.home) .main {
    max-width: 100% !important;
    padding: 0 16px !important;
  }
  .page.page-template-page-guideline-compare #main,
  .page.page-template-page-guideline-compare .main,
  .page.page-id-745 #main,
  .page.page-id-745 .main {
    padding: 0 !important;
  }
  .entry-title,
  .page-title {
    font-size: clamp(20px, 5vw, 28px);
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .page:not(.home) #main,
  .page:not(.home) .main {
    padding: 0 12px !important;
  }
  .page.page-template-page-guideline-compare #main,
  .page.page-template-page-guideline-compare .main,
  .page.page-id-745 #main,
  .page.page-id-745 .main {
    padding: 0 !important;
  }
  h1, .entry-title { font-size: clamp(18px, 5vw, 24px); }
  h2 { font-size: clamp(16px, 4.5vw, 22px); }
  h3 { font-size: clamp(14px, 4vw, 18px); }
}

/* ===== WooCommerce: Cocoon幅制限・サイドバー除外 ===== */
/* WooCommerceページ（商品一覧・商品詳細）の860px制限を解除
   .page:not(.home) #main（詳細度 1,2,0）に勝つため .page.woocommerce-page を追加 */
.woocommerce-page #main,
.woocommerce-page .main,
.page.woocommerce-page #main,
.page.woocommerce-page .main,
.page.woocommerce-shop #main,
.page.woocommerce-shop .main,
.single-product #main,
.single-product .main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
/* WooCommerceページのサイドバー・ヘッダー非表示 */
.woocommerce-page #sidebar,
.woocommerce-page .sidebar,
.woocommerce-page .widget-area,
.single-product #sidebar,
.single-product .sidebar {
  display: none !important;
}
/* WooCommerceデフォルトのボタンをアクセントカラーに統一 */
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit {
  background-color: #D94F26;
  color: #fff;
  font-family: 'HitanovaNumbers', 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background-color: #c0421e;
  color: #fff;
}
/* チェックアウト・カートページの余分な要素を制限 */
.woocommerce-checkout #main,
.woocommerce-cart #main {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
}

/* 価格の数字をセリフ体（Times New Roman系）に変更 */
.woocommerce-Price-amount,
.woocommerce-Price-amount bdi,
.woocommerce span.amount,
.woocommerce .price,
.woocommerce .price bdi,
.woocommerce ins .amount,
.woocommerce del .amount {
  font-family: 'Times New Roman', Times, Georgia, serif !important;
  font-weight: 400 !important;
  font-style: italic;
  letter-spacing: 0.02em;
}

/* ===== 出場資格解説記事（.single-guide eligibility）===== */
/* テーブル */
.single-guide .eligibility-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.7;
  margin: 16px 0;
}
.single-guide .eligibility-table th,
.single-guide .eligibility-table td {
  border: 1px solid #d1d5db !important;
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
}
.single-guide .eligibility-table th {
  background: #f0fdf4 !important;
  color: #166534;
  font-weight: 700;
}
.single-guide .eligibility-table tr:nth-child(even) td {
  background: #f9fafb;
}

/* 競技部細則原文引用ブロック */
.single-guide .eligibility-rule {
  background: #f0fdf4 !important;
  border-left: 4px solid #16a34a !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-radius: 0 8px 8px 0;
  padding: 16px 20px !important;
  margin: 20px 0;
  color: #166534;
  font-size: 15px;
  line-height: 1.9;
}
.single-guide .eligibility-rule p {
  margin: 0 0 10px !important;
}
.single-guide .eligibility-rule p:last-child {
  margin-bottom: 0 !important;
}

/* まとめチェックリスト */
.single-guide .eligibility-checklist {
  background: #f0fdf4;
  border: 1px solid #bbf7d0 !important;
  border-radius: 10px;
  padding: 18px 22px !important;
  margin: 16px 0;
  list-style: none !important;
  font-size: 15px;
  line-height: 1.9;
  color: #166534;
}
.single-guide .eligibility-checklist li {
  margin: 0 0 6px !important;
  padding-left: 0 !important;
}
.single-guide .eligibility-checklist li::before {
  content: none !important;
}
