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

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/* Full画面幅 */
.full-width {
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
	padding-top: 10px; /* 不要なら削除または、任意の数値を設定してください */
	padding-bottom: 10px; /* 不要なら削除または、任意の数値を設定してください */
}

/**
 * ========================================
 * 谷口萬年堂 4事業セクション別カラーリング
 * ========================================
 * 
 * 4つの事業セクションを視覚的に区別するカラーリング
 * 
 * 各事業のテーマカラー:
 * - LPガス販売: オレンジ系（炎、エネルギー、温かさ）
 * - ガス・水道・電気工事: 青系（信頼、安全、技術力）
 * - 農業支援: 緑系（自然、成長、土づくり）
 * - 銘柄米小売: ゴールド/ベージュ系（米の色、豊かさ、高級感）
 */

/* ========================================
   CSS変数（カスタムプロパティ）の定義
   ======================================== */

:root {
    /* LPガス販売事業のカラーパレット */
    --lpgas-primary: #FF6B00;        /* メインカラー: エネルギーのオレンジ */
    --lpgas-secondary: #CC5500;      /* セカンダリ: より濃いオレンジ */
    --lpgas-light: #FFF4E6;          /* 背景用: 薄いオレンジ */
    --lpgas-accent: #FF8C00;         /* アクセント: 鮮やかなオレンジ */
    
    /* ガス・水道・電気工事事業のカラーパレット */
    --const-primary: #0066CC;        /* メインカラー: 信頼の青 */
    --const-secondary: #004C99;      /* セカンダリ: より濃い青 */
    --const-light: #E6F2FF;          /* 背景用: 薄い青 */
    --const-accent: #00A0E9;         /* アクセント: 明るい青 */
    
    /* 農業支援事業のカラーパレット */
    --agri-primary: #2D8B3C;       /* メインカラー: 成長の緑 */
    --agri-secondary: #1F6129;     /* セカンダリ: より濃い緑 */
    --agri-light: #E8F5E9;         /* 背景用: 薄い緑 */
    --agri-accent: #8D6E63;        /* アクセント: 土を表す茶色 */
    
    /* 銘柄米小売事業のカラーパレット */
    --rice-primary: #D4A574;       /* メインカラー: 米を表すゴールド */
    --rice-secondary: #B8864F;     /* セカンダリ: より濃いゴールド */
    --rice-light: #FFF8E7;         /* 背景用: 薄いベージュ */
    --rice-accent: #8B4513;        /* アクセント: 玄米を表すこげ茶 */
}

/* ========================================
   ヘッダー部分のスタイリング
   ======================================== */

/* LPガス販売事業のヘッダー */
.lpgas .header,
.lpgas #header,
.lpgas .header-container {
    background-color: var(--lpgas-primary);
}

.lpgas .header,
.lpgas .header a,
.lpgas #header,
.lpgas #header a,
.lpgas .site-name a,
.lpgas .tagline,
.lpgas .navi-menu-item a,
.lpgas .mobile-menu-buttons {
    color: #ffffff;
}

.lpgas .header a:hover,
.lpgas .navi-menu-item a:hover {
    color: #ffffff;
    opacity: 0.8;
}

/* ガス・水道・電気工事事業のヘッダー */
.const .header,
.const #header,
.const .header-container {
    background-color: var(--const-primary);
}

.const .header,
.const .header a,
.const #header,
.const #header a,
.const .site-name a,
.const .tagline,
.const .navi-menu-item a,
.const .mobile-menu-buttons {
    color: #ffffff;
}

.const .header a:hover,
.const .navi-menu-item a:hover {
    color: #ffffff;
    opacity: 0.8;
}

/* 農業支援事業のヘッダー */
.agri .header,
.agri #header,
.agri .header-container {
    background-color: var(--agri-primary);
}

.agri .header,
.agri .header a,
.agri #header,
.agri #header a,
.agri .site-name a,
.agri .tagline,
.agri .navi-menu-item a,
.agri .mobile-menu-buttons {
    color: #ffffff;
}

.agri .header a:hover,
.agri .navi-menu-item a:hover {
    color: #ffffff;
    opacity: 0.8;
}

/* 銘柄米小売事業のヘッダー */
.rice .header,
.rice #header,
.rice .header-container {
    background-color: var(--rice-primary);
}

.rice .header,
.rice .header a,
.rice #header,
.rice #header a,
.rice .site-name a,
.rice .tagline,
.rice .navi-menu-item a,
.rice .mobile-menu-buttons {
    color: #333333;
}

.rice .header a:hover,
.rice .navi-menu-item a:hover {
    color: #000000;
    opacity: 0.8;
}

/* ========================================
   見出し（h1〜h6）のスタイリング - Cocoon上書き版
   ======================================== */

/**
 * LPガス販売事業の見出し
 * コンセプト: 炎・エネルギー - 動的で力強いデザイン
 */

/* h1見出し */
body.lpgas h1,
body.lpgas .article h1,
body.lpgas .entry-content h1,
body.lpgas .main h1 {
    color: var(--lpgas-primary) !important;
    border-left: 6px solid var(--lpgas-primary) !important;
    border-bottom: 3px solid var(--lpgas-accent) !important;
    padding: 15px 20px !important;
    background: linear-gradient(to right, var(--lpgas-light) 0%, transparent 100%) !important;
    position: relative;
    font-weight: bold !important;
    border-top: none !important;
    border-right: none !important;
}

body.lpgas h1::before {
    content: '' !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(to bottom, var(--lpgas-accent), var(--lpgas-primary));
}

/* h2見出し */
body.lpgas h2,
body.lpgas .article h2,
body.lpgas .entry-content h2,
body.lpgas .main h2 {
    color: var(--lpgas-primary) !important;
    border-left: 5px solid var(--lpgas-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 12px 15px !important;
    background: linear-gradient(135deg, var(--lpgas-light) 0%, transparent 50%) !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

body.lpgas h2::before,
body.lpgas .article h2::before,
body.lpgas .entry-content h2::before {
    display: none !important;
}

body.lpgas h2::after,
body.lpgas .article h2::after,
body.lpgas .entry-content h2::after {
    content: '' !important;
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 60%;
    height: 3px;
    background: linear-gradient(to right, var(--lpgas-primary), var(--lpgas-accent), transparent) !important;
}

/* h3見出し */
body.lpgas h3,
body.lpgas .article h3,
body.lpgas .entry-content h3,
body.lpgas .main h3 {
    color: var(--lpgas-primary) !important;
    border-left: 4px solid var(--lpgas-accent) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 10px 15px !important;
    background-color: var(--lpgas-light) !important;
    font-weight: bold !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    border-radius: 0 8px 8px 0 !important;
}

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

/* h4見出し - 修正版 */
body.lpgas h4,
body.lpgas .article h4,
body.lpgas .entry-content h4 {
    color: var(--lpgas-primary) !important;
    padding-left: 30px !important;  /* 20px → 30px に増やしました */
    position: relative;
    font-weight: bold !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    border: none !important;
    background: none !important;
}

body.lpgas h4::before {
    content: '◆' !important;
    position: absolute;
    left: 0;
    color: var(--lpgas-accent);
    font-size: 1.0em;  /* 1.2em → 1.0em に少し小さく */
    line-height: 1.5;  /* 行の高さを調整 */
}

/* h5, h6見出し */
body.lpgas h5,
body.lpgas .article h5,
body.lpgas .entry-content h5,
body.lpgas h6,
body.lpgas .article h6,
body.lpgas .entry-content h6 {
    color: var(--lpgas-secondary) !important;
    font-weight: bold !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 2px dotted var(--lpgas-primary) !important;
    padding-bottom: 5px !important;
    background: none !important;
}

/**
 * ガス・水道・電気工事事業の見出し
 * コンセプト: 信頼・技術 - 堅実でシャープなデザイン
 */

/* h1見出し */
body.const h1,
body.const .article h1,
body.const .entry-content h1,
body.const .main h1 {
    color: var(--const-primary) !important;
    border-left: 8px solid var(--const-primary) !important;
    border-bottom: 2px solid var(--const-secondary) !important;
    border-top: none !important;
    border-right: none !important;
    padding: 15px 20px !important;
    background-color: var(--const-light) !important;
    position: relative;
    font-weight: bold !important;
}

body.const h1::after {
    content: '' !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 8px;
    height: 100%;
    background: var(--const-primary);
    box-shadow: 2px 0 4px rgba(0, 102, 204, 0.3);
}

/* h2見出し */
body.const h2,
body.const .article h2,
body.const .entry-content h2,
body.const .main h2 {
    color: var(--const-primary) !important;
    border-left: 6px solid var(--const-primary) !important;
    border-bottom: 2px solid var(--const-light) !important;
    border-top: none !important;
    border-right: none !important;
    padding: 12px 18px !important;
    background-color: #ffffff !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 4px rgba(0, 102, 204, 0.1) !important;
}

body.const h2::after,
body.const .article h2::after,
body.const .entry-content h2::after {
    display: none !important;
}

body.const h2::before,
body.const .article h2::before,
body.const .entry-content h2::before {
    content: '' !important;
    position: absolute;
    left: -6px;
    top: 0;
    width: 6px;
    height: 100%;
    background: linear-gradient(to bottom, var(--const-accent), var(--const-primary), var(--const-secondary)) !important;
}

/* h3見出し */
body.const h3,
body.const .article h3,
body.const .entry-content h3,
body.const .main h3 {
    color: var(--const-primary) !important;
    padding: 10px 15px !important;
    background-color: var(--const-light) !important;
    font-weight: bold !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    border-top: 3px solid var(--const-primary) !important;
    border-bottom: 3px solid var(--const-primary) !important;
    border-left: none !important;
    border-right: none !important;
}

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

/* h4見出し */
body.const h4,
body.const .article h4,
body.const .entry-content h4 {
    color: var(--const-primary) !important;
    padding: 8px 15px !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    border-left: 3px solid var(--const-accent) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: linear-gradient(to right, var(--const-light), transparent) !important;
}

/* h5, h6見出し */
body.const h5,
body.const .article h5,
body.const .entry-content h5,
body.const h6,
body.const .article h6,
body.const .entry-content h6 {
    color: var(--const-secondary) !important;
    font-weight: bold !important;
    border-left: 3px solid var(--const-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-left: 12px !important;
    background: none !important;
}

/**
 * 農業支援事業の見出し
 * コンセプト: 自然・成長 - 有機的で柔らかいデザイン
 */

/* h1見出し */
body.agri h1,
body.agri .article h1,
body.agri .entry-content h1,
body.agri .main h1 {
    color: var(--agri-primary) !important;
    border-left: 6px solid var(--agri-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 15px 20px !important;
    background: linear-gradient(to bottom, var(--agri-light), #ffffff) !important;
    position: relative;
    font-weight: bold !important;
    border-radius: 0 12px 12px 0 !important;
}

body.agri h1::before {
    content: '🌱' !important;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5em;
    opacity: 0.3;
}

/* h2見出し */
body.agri h2,
body.agri .article h2,
body.agri .entry-content h2,
body.agri .main h2 {
    color: var(--agri-primary) !important;
    border-left: 5px solid var(--agri-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 12px 15px !important;
    background-color: var(--agri-light) !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    border-radius: 0 8px 8px 0 !important;
}

body.agri h2::before,
body.agri .article h2::before,
body.agri .entry-content h2::before {
    display: none !important;
}

body.agri h2::after,
body.agri .article h2::after,
body.agri .entry-content h2::after {
    content: '' !important;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(to right, var(--agri-primary), var(--agri-light)) !important;
    border-radius: 0 0 8px 0;
}

/* h3見出し */
body.agri h3,
body.agri .article h3,
body.agri .entry-content h3,
body.agri .main h3 {
    color: var(--agri-primary) !important;
    border-left: 4px solid var(--agri-accent) !important;
    border-bottom: 2px solid var(--agri-light) !important;
    border-top: none !important;
    border-right: none !important;
    padding: 10px 15px !important;
    font-weight: bold !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    position: relative;
    background: none !important;
}

body.agri h3::after,
body.agri .article h3::after,
body.agri .entry-content h3::after {
    display: none !important;
}

body.agri h3::before,
body.agri .article h3::before,
body.agri .entry-content h3::before {
    content: '' !important;
    position: absolute;
    left: -4px;
    top: 0;
    width: 4px;
    height: 50%;
    background: var(--agri-primary) !important;
}

/* h4見出し */
body.agri h4,
body.agri .article h4,
body.agri .entry-content h4 {
    color: var(--agri-primary) !important;
    padding: 8px 15px !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    border-left: 3px double var(--agri-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding-left: 15px !important;
    background: none !important;
}

body.agri h4::before {
    content: '●' !important;
    position: absolute;
    left: -10px;
    color: var(--agri-accent);
    font-size: 0.8em;
}

/* h5, h6見出し */
body.agri h5,
body.agri .article h5,
body.agri .entry-content h5,
body.agri h6,
body.agri .article h6,
body.agri .entry-content h6 {
    color: var(--agri-secondary) !important;
    font-weight: bold !important;
    padding-left: 12px !important;
    border-left: 2px solid var(--agri-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    background: none !important;
}

/**
 * 銘柄米小売事業の見出し
 * コンセプト: 高級感・和風 - 優雅で温かみのあるデザイン
 */

/* h1見出し */
body.rice h1,
body.rice .article h1,
body.rice .entry-content h1,
body.rice .main h1 {
    color: var(--rice-primary) !important;
    border-top: 3px solid var(--rice-primary) !important;
    border-bottom: 3px solid var(--rice-primary) !important;
    border-left: none !important;
    border-right: none !important;
    padding: 18px 25px !important;
    background: linear-gradient(to right, var(--rice-light), #ffffff, var(--rice-light)) !important;
    position: relative;
    font-weight: bold !important;
    text-align: center !important;
}

body.rice h1::before,
body.rice h1::after {
    content: '' !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 1px;
    background-color: var(--rice-accent);
}

body.rice h1::before {
    left: 15px;
}

body.rice h1::after {
    right: 15px;
}

/* h2見出し */
body.rice h2,
body.rice .article h2,
body.rice .entry-content h2,
body.rice .main h2 {
    color: var(--rice-primary) !important;
    border-left: 1px solid var(--rice-accent) !important;
    border-right: 1px solid var(--rice-accent) !important;
    border-bottom: 2px solid var(--rice-primary) !important;
    border-top: none !important;
    padding: 12px 20px !important;
    background: linear-gradient(to bottom, var(--rice-light), #ffffff) !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
    text-align: center !important;
}

body.rice h2::before,
body.rice .article h2::before,
body.rice .entry-content h2::before {
    content: '◇' !important;
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rice-accent);
    font-size: 1.2em;
}

body.rice h2::after,
body.rice .article h2::after,
body.rice .entry-content h2::after {
    content: '◇' !important;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--rice-accent);
    font-size: 1.2em;
}

/* h3見出し */
body.rice h3,
body.rice .article h3,
body.rice .entry-content h3,
body.rice .main h3 {
    color: var(--rice-secondary) !important;
    border-left: 4px solid var(--rice-primary) !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    padding: 10px 15px !important;
    background-color: var(--rice-light) !important;
    font-weight: bold !important;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    border-radius: 0 6px 6px 0 !important;
    position: relative;
}

body.rice h3::before,
body.rice .article h3::before,
body.rice .entry-content h3::before {
    display: none !important;
}

body.rice h3::after,
body.rice .article h3::after,
body.rice .entry-content h3::after {
    content: '' !important;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 60px;
    height: 2px;
    background: linear-gradient(to right, var(--rice-primary), transparent) !important;
}

/* h4見出し */
body.rice h4,
body.rice .article h4,
body.rice .entry-content h4 {
    color: var(--rice-secondary) !important;
    padding: 8px 0 !important;
    position: relative;
    font-weight: bold !important;
    margin-top: 25px !important;
    margin-bottom: 12px !important;
    border-bottom: 1px dashed var(--rice-primary) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    padding-bottom: 8px !important;
    background: none !important;
}

body.rice h4::before {
    content: '▪' !important;
    color: var(--rice-accent);
    margin-right: 8px;
    font-size: 1.1em;
}

/* h5, h6見出し */
body.rice h5,
body.rice .article h5,
body.rice .entry-content h5,
body.rice h6,
body.rice .article h6,
body.rice .entry-content h6 {
    color: var(--rice-secondary) !important;
    font-weight: bold !important;
    padding-left: 15px !important;
    position: relative;
    border: none !important;
    background: none !important;
}

body.rice h5::before,
body.rice h6::before {
    content: '»' !important;
    position: absolute;
    left: 0;
    color: var(--rice-primary);
}

/* ========================================
   見出し共通のレスポンシブ対応
   ======================================== */

@media screen and (max-width: 768px) {
    body.lpgas h1,
    body.const h1,
    body.agri h1,
    body.rice h1 {
        font-size: 1.6em !important;
        padding: 12px 15px !important;
    }
    
    body.lpgas h2,
    body.const h2,
    body.agri h2,
    body.rice h2 {
        font-size: 1.4em !important;
        padding: 10px 12px !important;
    }
    
    body.lpgas h3,
    body.const h3,
    body.agri h3,
    body.rice h3 {
        font-size: 1.2em !important;
        padding: 8px 12px !important;
    }
    
    body.rice h1::before,
    body.rice h1::after {
        width: 15px !important;
    }
    
    body.rice h1::before {
        left: 8px !important;
    }
    
    body.rice h1::after {
        right: 8px !important;
    }
}

/* ========================================
   印刷時の見出しスタイル
   ======================================== */

@media print {
    /* 印刷時は装飾を簡素化し、ページ分割を考慮 */
    
    body.lpgas h1,
    body.lpgas h2,
    body.lpgas h3,
    body.lpgas .article h1,
    body.lpgas .article h2,
    body.lpgas .article h3,
    body.const h1,
    body.const h2,
    body.const h3,
    body.const .article h1,
    body.const .article h2,
    body.const .article h3,
    body.agri h1,
    body.agri h2,
    body.agri h3,
    body.agri .article h1,
    body.agri .article h2,
    body.agri .article h3,
    body.rice h1,
    body.rice h2,
    body.rice h3,
    body.rice .article h1,
    body.rice .article h2,
    body.rice .article h3 {
        page-break-after: avoid !important;
        background: none !important;
        box-shadow: none !important;
        border-radius: 0 !important;
    }
    
    /* 印刷時は疑似要素による装飾を非表示 */
    body.lpgas h1::before,
    body.lpgas h1::after,
    body.lpgas h2::before,
    body.lpgas h2::after,
    body.lpgas h3::before,
    body.lpgas h3::after,
    body.const h1::before,
    body.const h1::after,
    body.const h2::before,
    body.const h2::after,
    body.const h3::before,
    body.const h3::after,
    body.agri h1::before,
    body.agri h1::after,
    body.agri h2::before,
    body.agri h2::after,
    body.agri h3::before,
    body.agri h3::after,
    body.rice h1::before,
    body.rice h1::after,
    body.rice h2::before,
    body.rice h2::after,
    body.rice h3::before,
    body.rice h3::after {
        display: none !important;
    }
    
    /* 印刷時は見出しの色を黒に統一（インク節約） */
    body.lpgas h1,
    body.lpgas h2,
    body.lpgas h3,
    body.lpgas h4,
    body.lpgas h5,
    body.lpgas h6,
    body.const h1,
    body.const h2,
    body.const h3,
    body.const h4,
    body.const h5,
    body.const h6,
    body.agri h1,
    body.agri h2,
    body.agri h3,
    body.agri h4,
    body.agri h5,
    body.agri h6,
    body.rice h1,
    body.rice h2,
    body.rice h3,
    body.rice h4,
    body.rice h5,
    body.rice h6 {
        color: #000000 !important;
    }
    
    /* 印刷時はボーダーをシンプルに */
    body.lpgas h1,
    body.lpgas h2,
    body.const h1,
    body.const h2,
    body.agri h1,
    body.agri h2,
    body.rice h1,
    body.rice h2 {
        border-left: 3px solid #000000 !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: 1px solid #000000 !important;
        padding: 8px 12px !important;
    }
    
    body.lpgas h3,
    body.const h3,
    body.agri h3,
    body.rice h3 {
        border-left: 2px solid #000000 !important;
        border-top: none !important;
        border-right: none !important;
        border-bottom: none !important;
        padding: 6px 10px !important;
    }
    
    body.lpgas h4,
    body.lpgas h5,
    body.lpgas h6,
    body.const h4,
    body.const h5,
    body.const h6,
    body.agri h4,
    body.agri h5,
    body.agri h6,
    body.rice h4,
    body.rice h5,
    body.rice h6 {
        border: none !important;
        padding: 4px 0 !important;
    }
    
    /* 印刷時は見出し前後の余白を調整 */
    body.lpgas h1,
    body.const h1,
    body.agri h1,
    body.rice h1 {
        margin-top: 20px !important;
        margin-bottom: 15px !important;
    }
    
    body.lpgas h2,
    body.const h2,
    body.agri h2,
    body.rice h2 {
        margin-top: 15px !important;
        margin-bottom: 10px !important;
    }
    
    body.lpgas h3,
    body.const h3,
    body.agri h3,
    body.rice h3 {
        margin-top: 12px !important;
        margin-bottom: 8px !important;
    }
    
    body.lpgas h4,
    body.lpgas h5,
    body.lpgas h6,
    body.const h4,
    body.const h5,
    body.const h6,
    body.agri h4,
    body.agri h5,
    body.agri h6,
    body.rice h4,
    body.rice h5,
    body.rice h6 {
        margin-top: 10px !important;
        margin-bottom: 6px !important;
    }
}

/* ========================================
   本文内のリンク色
   ======================================== */

/* LPガス販売事業のリンク */
.lpgas a {
    color: var(--lpgas-primary);
}

.lpgas a:hover {
    color: var(--lpgas-secondary);
    text-decoration: underline;
}

/* ガス・水道・電気工事事業のリンク */
.const a {
    color: var(--const-primary);
}

.const a:hover {
    color: var(--const-secondary);
    text-decoration: underline;
}

/* 農業支援事業のリンク */
.agri a {
    color: var(--agri-primary);
}

.agri a:hover {
    color: var(--agri-secondary);
    text-decoration: underline;
}

/* 銘柄米小売事業のリンク */
.rice a {
    color: var(--rice-secondary);
}

.rice a:hover {
    color: var(--rice-accent);
    text-decoration: underline;
}

/* ========================================
   ボタン・CTA要素のスタイリング
   ======================================== */

/* LPガス販売事業のボタン */
.lpgas .btn,
.lpgas .button,
.lpgas button,
.lpgas input[type="submit"],
.lpgas input[type="button"],
.lpgas .wp-block-button__link,
.lpgas .btn-wrap a {
    background-color: var(--lpgas-primary);
    color: #ffffff;
    border: none;
    transition: background-color 0.3s ease;
}

.lpgas .btn:hover,
.lpgas .button:hover,
.lpgas button:hover,
.lpgas input[type="submit"]:hover,
.lpgas input[type="button"]:hover,
.lpgas .wp-block-button__link:hover,
.lpgas .btn-wrap a:hover {
    background-color: var(--lpgas-secondary);
    color: #ffffff;
    text-decoration: none;
}

/* ガス・水道・電気工事事業のボタン */
.const .btn,
.const .button,
.const button,
.const input[type="submit"],
.const input[type="button"],
.const .wp-block-button__link,
.const .btn-wrap a {
    background-color: var(--const-primary);
    color: #ffffff;
    border: none;
    transition: background-color 0.3s ease;
}

.const .btn:hover,
.const .button:hover,
.const button:hover,
.const input[type="submit"]:hover,
.const input[type="button"]:hover,
.const .wp-block-button__link:hover,
.const .btn-wrap a:hover {
    background-color: var(--const-secondary);
    color: #ffffff;
    text-decoration: none;
}

/* 農業支援事業のボタン */
.agri .btn,
.agri .button,
.agri button,
.agri input[type="submit"],
.agri input[type="button"],
.agri .wp-block-button__link,
.agri .btn-wrap a {
    background-color: var(--agri-primary);
    color: #ffffff;
    border: none;
    transition: background-color 0.3s ease;
}

.agri .btn:hover,
.agri .button:hover,
.agri button:hover,
.agri input[type="submit"]:hover,
.agri input[type="button"]:hover,
.agri .wp-block-button__link:hover,
.agri .btn-wrap a:hover {
    background-color: var(--agri-secondary);
    color: #ffffff;
    text-decoration: none;
}

/* 銘柄米小売事業のボタン */
.rice .btn,
.rice .button,
.rice button,
.rice input[type="submit"],
.rice input[type="button"],
.rice .wp-block-button__link,
.rice .btn-wrap a {
    background-color: var(--rice-primary);
    color: #333333;
    border: none;
    transition: background-color 0.3s ease;
}

.rice .btn:hover,
.rice .button:hover,
.rice button:hover,
.rice input[type="submit"]:hover,
.rice input[type="button"]:hover,
.rice .wp-block-button__link:hover,
.rice .btn-wrap a:hover {
    background-color: var(--rice-secondary);
    color: #ffffff;
    text-decoration: none;
}

/* ========================================
   パンくずリストのスタイリング
   ======================================== */

.lpgas .breadcrumb {
    background-color: var(--lpgas-light);
}

.lpgas .breadcrumb a {
    color: var(--lpgas-primary);
}

.lpgas .breadcrumb a:hover {
    color: var(--lpgas-secondary);
}

.const .breadcrumb {
    background-color: var(--const-light);
}

.const .breadcrumb a {
    color: var(--const-primary);
}

.const .breadcrumb a:hover {
    color: var(--const-secondary);
}

.agri .breadcrumb {
    background-color: var(--agri-light);
}

.agri .breadcrumb a {
    color: var(--agri-primary);
}

.agri .breadcrumb a:hover {
    color: var(--agri-secondary);
}

.rice .breadcrumb {
    background-color: var(--rice-light);
}

.rice .breadcrumb a {
    color: var(--rice-secondary);
}

.rice .breadcrumb a:hover {
    color: var(--rice-accent);
}

/* ========================================
   サイドバー ウィジェットのスタイリング
   ======================================== */

.lpgas .sidebar .widget-title,
.lpgas .sidebar h3 {
    background-color: var(--lpgas-primary);
    color: #ffffff;
    padding: 10px 15px;
    border-radius: 4px 4px 0 0;
}

.const .sidebar .widget-title,
.const .sidebar h3 {
    background-color: var(--const-primary);
    color: #ffffff;
    padding: 10px 15px;
    border-radius: 4px 4px 0 0;
}

.agri .sidebar .widget-title,
.agri .sidebar h3 {
    background-color: var(--agri-primary);
    color: #ffffff;
    padding: 10px 15px;
    border-radius: 4px 4px 0 0;
}

.rice .sidebar .widget-title,
.rice .sidebar h3 {
    background-color: var(--rice-primary);
    color: #333333;
    padding: 10px 15px;
    border-radius: 4px 4px 0 0;
}

/* ========================================
   アクセントカラーの活用（特別な要素）
   ======================================== */

/* LPガス販売: 緊急連絡先ボックスなど */
.lpgas .emergency-contact,
.lpgas .important-box,
.lpgas .cta-box {
    background-color: var(--lpgas-accent);
    color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.lpgas .emergency-contact a,
.lpgas .important-box a,
.lpgas .cta-box a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: underline;
}

/* ガス・水道・電気工事: 施工実績バッジなど */
.const .achievement-box,
.const .guarantee-box,
.const .cta-box {
    background-color: var(--const-accent);
    color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.const .achievement-box a,
.const .guarantee-box a,
.const .cta-box a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: underline;
}

/* 農業支援: 専門家資格バッジなど */
.agri .certification-badge,
.agri .expert-box,
.agri .cta-box {
    background-color: var(--agri-accent);
    color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.agri .certification-badge a,
.agri .expert-box a,
.agri .cta-box a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: underline;
}

/* 銘柄米小売: 特別栽培バッジなど */
.rice .special-badge,
.rice .quality-box,
.rice .cta-box {
    background-color: var(--rice-accent);
    color: #ffffff;
    padding: 20px;
    border-radius: 8px;
    margin: 20px 0;
}

.rice .special-badge a,
.rice .quality-box a,
.rice .cta-box a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: underline;
}

/* ========================================
   背景セクション・情報ボックス
   ======================================== */

.lpgas .content-section,
.lpgas .info-box,
.lpgas .service-box {
    background-color: var(--lpgas-light);
    padding: 30px 20px;
    margin: 30px 0;
    border-radius: 8px;
    border-left: 4px solid var(--lpgas-primary);
}

.const .content-section,
.const .info-box,
.const .service-box {
    background-color: var(--const-light);
    padding: 30px 20px;
    margin: 30px 0;
    border-radius: 8px;
    border-left: 4px solid var(--const-primary);
}

.agri .content-section,
.agri .info-box,
.agri .service-box {
    background-color: var(--agri-light);
    padding: 30px 20px;
    margin: 30px 0;
    border-radius: 8px;
    border-left: 4px solid var(--agri-primary);
}

.rice .content-section,
.rice .info-box,
.rice .product-box {
    background-color: var(--rice-light);
    padding: 30px 20px;
    margin: 30px 0;
    border-radius: 8px;
    border-left: 4px solid var(--rice-primary);
}

/* ========================================
   ページネーション（ページ送り）
   ======================================== */

.lpgas .pagination .page-numbers.current {
    background-color: var(--lpgas-primary);
    color: #ffffff;
}

.lpgas .pagination a.page-numbers:hover {
    background-color: var(--lpgas-secondary);
    color: #ffffff;
}

.const .pagination .page-numbers.current {
    background-color: var(--const-primary);
    color: #ffffff;
}

.const .pagination a.page-numbers:hover {
    background-color: var(--const-secondary);
    color: #ffffff;
}

.agri .pagination .page-numbers.current {
    background-color: var(--agri-primary);
    color: #ffffff;
}

.agri .pagination a.page-numbers:hover {
    background-color: var(--agri-secondary);
    color: #ffffff;
}

.rice .pagination .page-numbers.current {
    background-color: var(--rice-primary);
    color: #333333;
}

.rice .pagination a.page-numbers:hover {
    background-color: var(--rice-secondary);
    color: #ffffff;
}

/* ========================================
   フォーム要素のフォーカス時スタイル
   ======================================== */

.lpgas input[type="text"]:focus,
.lpgas input[type="email"]:focus,
.lpgas input[type="tel"]:focus,
.lpgas textarea:focus,
.lpgas select:focus {
    border-color: var(--lpgas-primary);
    outline: 2px solid var(--lpgas-light);
}

.const input[type="text"]:focus,
.const input[type="email"]:focus,
.const input[type="tel"]:focus,
.const textarea:focus,
.const select:focus {
    border-color: var(--const-primary);
    outline: 2px solid var(--const-light);
}

.agri input[type="text"]:focus,
.agri input[type="email"]:focus,
.agri input[type="tel"]:focus,
.agri textarea:focus,
.agri select:focus {
    border-color: var(--agri-primary);
    outline: 2px solid var(--agri-light);
}

.rice input[type="text"]:focus,
.rice input[type="email"]:focus,
.rice input[type="tel"]:focus,
.rice textarea:focus,
.rice select:focus {
    border-color: var(--rice-primary);
    outline: 2px solid var(--rice-light);
}

/* ========================================
   記事カード（一覧表示）のホバーエフェクト
   ======================================== */

.lpgas .entry-card:hover,
.lpgas .post-card:hover {
    border-color: var(--lpgas-primary);
    box-shadow: 0 4px 12px rgba(255, 107, 0, 0.15);
}

.const .entry-card:hover,
.const .post-card:hover {
    border-color: var(--const-primary);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.15);
}

.agri .entry-card:hover,
.agri .post-card:hover {
    border-color: var(--agri-primary);
    box-shadow: 0 4px 12px rgba(45, 139, 60, 0.15);
}

.rice .entry-card:hover,
.rice .post-card:hover {
    border-color: var(--rice-primary);
    box-shadow: 0 4px 12px rgba(212, 165, 116, 0.15);
}

/* ========================================
   フッター部分のスタイリング
   ======================================== */

.lpgas .footer,
.lpgas #footer {
    border-top: 4px solid var(--lpgas-primary);
}

.const .footer,
.const #footer {
    border-top: 4px solid var(--const-primary);
}

.agri .footer,
.agri #footer {
    border-top: 4px solid var(--agri-primary);
}

.rice .footer,
.rice #footer {
    border-top: 4px solid var(--rice-primary);
}

/* ========================================
   モバイル対応（レスポンシブデザイン）
   ======================================== */

@media screen and (max-width: 768px) {
    .lpgas .mobile-menu-buttons,
    .lpgas .mobile-menu-button,
    .lpgas #mobile-menu,
    .lpgas .mobile-header {
        background-color: var(--lpgas-primary);
    }
    
    .lpgas .mobile-menu-buttons a,
    .lpgas #mobile-menu a {
        color: #ffffff;
    }
    
    .const .mobile-menu-buttons,
    .const .mobile-menu-button,
    .const #mobile-menu,
    .const .mobile-header {
        background-color: var(--const-primary);
    }
    
    .const .mobile-menu-buttons a,
    .const #mobile-menu a {
        color: #ffffff;
    }
    
    .agri .mobile-menu-buttons,
    .agri .mobile-menu-button,
    .agri #mobile-menu,
    .agri .mobile-header {
        background-color: var(--agri-primary);
    }
    
    .agri .mobile-menu-buttons a,
    .agri #mobile-menu a {
        color: #ffffff;
    }
    
    .rice .mobile-menu-buttons,
    .rice .mobile-menu-button,
    .rice #mobile-menu,
    .rice .mobile-header {
        background-color: var(--rice-primary);
    }
    
    .rice .mobile-menu-buttons a,
    .rice #mobile-menu a {
        color: #333333;
    }
    
    .lpgas .btn,
    .const .btn,
    .agri .btn,
    .rice .btn {
        min-height: 44px;
        padding: 12px 20px;
        font-size: 16px;
    }
}

/* ========================================
   アクセシビリティ対応
   ======================================== */

.lpgas a:focus,
.lpgas button:focus,
.lpgas input:focus {
    outline: 3px solid var(--lpgas-primary);
    outline-offset: 2px;
}

.const a:focus,
.const button:focus,
.const input:focus {
    outline: 3px solid var(--const-primary);
    outline-offset: 2px;
}

.agri a:focus,
.agri button:focus,
.agri input:focus {
    outline: 3px solid var(--agri-primary);
    outline-offset: 2px;
}

.rice a:focus,
.rice button:focus,
.rice input:focus {
    outline: 3px solid var(--rice-primary);
    outline-offset: 2px;
}

/* ========================================
   印刷時のスタイル
   ======================================== */

@media print {
    .lpgas .header,
    .const .header,
    .agri .header,
    .rice .header,
    .lpgas .content-section,
    .const .content-section,
    .agri .content-section,
    .rice .content-section {
        background-color: transparent !important;
        color: #000000 !important;
    }
    
    .lpgas a,
    .const a,
    .agri a,
    .rice a {
        color: #000000 !important;
        text-decoration: underline;
    }
}

/* ========================================
   カスタムクラス用のヘルパースタイル
   ======================================== */

.text-lpgas-primary { color: var(--lpgas-primary) !important; }
.text-const-primary { color: var(--const-primary) !important; }
.text-agri-primary { color: var(--agri-primary) !important; }
.text-rice-primary { color: var(--rice-primary) !important; }

.bg-lpgas-light { background-color: var(--lpgas-light) !important; }
.bg-const-light { background-color: var(--const-light) !important; }
.bg-agri-light { background-color: var(--agri-light) !important; }
.bg-rice-light { background-color: var(--rice-light) !important; }

.border-lpgas { border-color: var(--lpgas-primary) !important; }
.border-const { border-color: var(--const-primary) !important; }
.border-agri { border-color: var(--agri-primary) !important; }
.border-rice { border-color: var(--rice-primary) !important; }

/* ========================================
   SNSシェアボタンの色をリセット（全事業共通）
   ======================================== */

.lpgas .sns-share a,
.lpgas .share-buttons a,
.lpgas .sns-follow a,
.const .sns-share a,
.const .share-buttons a,
.const .sns-follow a,
.agri .sns-share a,
.agri .share-buttons a,
.agri .sns-follow a,
.rice .sns-share a,
.rice .share-buttons a,
.rice .follow-buttons a {
    color: #ffffff !important;
}

.lpgas .sns-share .sns-button,
.lpgas .share-button,
.const .sns-share .sns-button,
.const .share-button,
.agri .sns-share .sns-button,
.agri .share-button,
.rice .sns-share .sns-button,
.rice .share-button {
    color: #ffffff !important;
}

.lpgas .twitter-button,
.const .twitter-button,
.agri .twitter-button,
.rice .twitter-button {
    background-color: #000000 !important;
}

.lpgas .facebook-button,
.const .facebook-button,
.agri .facebook-button,
.rice .facebook-button {
    background-color: #3b5998 !important;
}

.lpgas .hatebu-button,
.const .hatebu-button,
.agri .hatebu-button,
.rice .hatebu-button {
    background-color: #00a4de !important;
}

.lpgas .line-button,
.const .line-button,
.agri .line-button,
.rice .line-button {
    background-color: #00c300 !important;
}

.lpgas .pocket-button,
.const .pocket-button,
.agri .pocket-button,
.rice .pocket-button {
    background-color: #ee4056 !important;
}

.lpgas .pinterest-button,
.const .pinterest-button,
.agri .pinterest-button,
.rice .pinterest-button {
    background-color: #bd081c !important;
}

.lpgas .copy-button,
.const .copy-button,
.agri .copy-button,
.rice .copy-button,
.lpgas .title-copy-button,
.const .title-copy-button,
.agri .title-copy-button,
.rice .title-copy-button,
.lpgas .comment-button,
.const .comment-button,
.agri .comment-button,
.rice .comment-button {
    background-color: #666666 !important;
}

.lpgas .sns-share a:hover,
.lpgas .share-buttons a:hover,
.const .sns-share a:hover,
.const .share-buttons a:hover,
.agri .sns-share a:hover,
.agri .share-buttons a:hover,
.rice .sns-share a:hover,
.rice .share-buttons a:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

.lpgas .go-to-top-button,
.lpgas #page-top,
.const .go-to-top-button,
.const #page-top,
.agri .go-to-top-button,
.agri #page-top,
.rice .go-to-top-button,
.rice #page-top {
    background-color: rgba(0, 0, 0, 0.6) !important;
}

.lpgas .go-to-top-button a,
.lpgas #page-top a,
.const .go-to-top-button a,
.const #page-top a,
.agri .go-to-top-button a,
.agri #page-top a,
.rice .go-to-top-button a,
.rice #page-top a {
    color: #ffffff !important;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
