/*
Template:lightning
Theme Name: iimono
*/

@charset "UTF-8";

/* reCAPTCHAを左下に配置し、TOPボタンの分（75px）上に浮かせる */
.grecaptcha-badge {
    display:none;
}

.col-md-6 {
    padding:0!important;
}

/* リンクがない（href属性を持たないaタグがある）親liのアイコンを消す */
.footerWidget li:has(> a:not([href]))::before {
    content: none !important;
}

/* もし上記で消えない場合や、古いブラウザ対応を含める場合の予備案 */
.footerWidget li.menu-item-has-children > a:not([href]) + .sub-menu {
    /* ここは調整不要ですが、構造の特定に使用します */
}

/* 直接aタグにhrefがないli要素を特定してbeforeを打ち消す */
.footerWidget .menu-item > a:not([href]):parent::before {
    content: none !important;
}

h4,h5,h6 {
    margin: 1em 0 .8em!important;
    clear: both;
	font-size:1.2rem!important;
}

.mainSection-title,h2 {
    border-top: 0px!important;
    border-bottom: 0px!important;
}

.subSection-title,h3 {
    border-bottom: 0px!important;
	color:#222;
}



/* 下線を非表示にする */
h3.news-title:after, 
.subSection-title:after {
    border-bottom: none !important; /* 線を消す */
    content: none !important;       /* 疑似要素自体を無効化 */
}

/* 経営相談の見出しを太さ700に設定 */
h1.elementor-heading-title.elementor-size-default {
    font-weight: 700 !important;
}

/* 経営相談セクションのH2デザイン調整（トップページを除外） */
body:not(.elementor-23) h2 {
    color: #222 !important;             /* 文字色 */
    border-left: 5px solid #0E357F;    /* 先頭の縦線 */
    padding: 2px 0 2px 15px;           /* 縦線と文字の間の余白 */
    margin-top: 16px !important;        /* 上マージン */
    margin-bottom: 24px !important;     /* 下マージン */
    line-height: 1.4;                  /* 行間の調整 */
    text-align: left;
}

/* モバイル時の微調整（必要に応じて） */
@media screen and (max-width: 767px) {
    .elementor-widget-container h2 {
        margin-top: 24px !important;    /* スマホでは上の要素と離す */
    }
    .elementor-widget-container h2 span {
        font-size: 1.2rem !important;   /* スマホで18ptが大きすぎる場合の調整 */
        display: block;
    }
}

/* クラス名が "elementor-element-" で始まるすべての要素内の p マージンを 0 にする */
[class^="elementor-element-"] p,
[class*=" elementor-element-"] p {
	margin-bottom: 0 !important;
}
	

/* コメントエリア全体を非表示にする */
#comments {
    display: none;
}

/* 前後の記事ナビゲーションを非表示にする */
.postNextPrev {
    display: none;
}

/*フッター調整*/

/* =============================================
   フッター全体統合デザイン
   ============================================= */

/* 1. 全体背景と基本設定 */
.siteFooter {
    background-color: #0E357F !important; /* 背景青 */
    color: #ffffff !important;           /* 文字白 */
    font-size: 14px !important;           /* 14px基準 */
    padding-top: 0;
}

/* 2. お問い合わせセクション */
.footer-contact-info {
    padding: 40px 15px 10px;
}

.footer-info-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

.footer-address {
    font-size: 15px;
    margin-bottom: 5px;
}

.footer-tel-fax {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 5px;
}

.footer-tel-fax .tel {
    margin-right: 15px;
}

.footer-hours {
    font-size: 13px;
    opacity: 0.8;
}

.footer-divider {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    max-width: 1140px;
    margin: 10px auto;
}

/* 3. ウィジェットエリア調整（PC4 / スマホ2） */
.footerWidget {
    background-color: transparent !important;
    padding-top: 20px;
    padding-bottom: 30px;
}

@media (max-width: 767px) {
    .footerWidget .row {
        display: flex;
        flex-wrap: wrap;
    }
    .footerWidget .col-md-3 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        margin-bottom: 20px;
    }
}

/* 4. メニューとアイコンの垂直中央揃え */
.siteFooter a {
    color: #ffffff !important;
    text-decoration: none;
}

/* 親カテゴリ（第1階層） */
.siteFooter .menu > li > a {
    font-weight: bold;
    font-size: 15px;
    padding-bottom: 5px;
    margin-bottom: 10px;
    display: block;
}

/* 子・孫メニュー共通の垂直中央揃え */
.siteFooter .sub-menu li {
    display: flex !important;
    align-items: center !important; /* 垂直中央 */
    margin-bottom: 4px; /* 立幅を狭く */
}

.siteFooter .sub-menu li::before {
    content: "›";
    color: rgba(255, 255, 255, 0.6);
    font-size: 18px;
    margin-right: 6px;
    line-height: 1;
    display: inline-block;
}

.siteFooter .sub-menu li a {
    font-size: 14px;
    line-height: 1.4;
    padding: 0 !important;
}

/* 孫階層のインデント */
.siteFooter .sub-menu .sub-menu {
    padding-left: 0 !important;
    margin-left: 14px !important;
    margin-top: 2px !important;
    margin-bottom: 5px !important;
}

.siteFooter .widget_archive ul li a,.siteFooter .widget_categories ul li a,.siteFooter .widget_link_list ul li a,.siteFooter .widget_nav_menu ul li a,.siteFooter .widget_pages ul li a,.siteFooter .widget_postlist ul li a,.siteFooter .widget_recent_entries ul li a {
    border-bottom: 0px!important;
}

/* 5. コピーライト */
.siteFooter .copySection {
    padding: 15px 0;
    font-size: 0.8rem;
}

/* 1. 外側の枠組みを1カラム（フル幅）に強制変更 */
.veu_sitemap .col-md-6.sitemap-col {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
}

/* 右側にあった空のカラムを完全に消す */
.veu_sitemap .col-md-6.sitemap-col:empty {
    display: none !important;
}

/* 2. PCの時だけリストを2列に並べる */
@media (min-width: 768px) {
    .veu_sitemap .link-list {
        display: flex;
        flex-wrap: wrap;
        gap: 20px; /* 項目間の隙間 */
        list-style: none !important;
        padding: 0 !important;
    }

    /* 各親カテゴリのボックスを2列（約半分）にする */
    .veu_sitemap .link-list > .page_item {
        width: calc(50% - 10px); 
        background: #fff;
        border: 1px solid #E0ECFD;
        border-top: 3px solid #0E357F; /* 商工会カラーのアクセント */
        padding: 15px;
        border-radius: 4px;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    }
}

/* 3. 子階層・孫階層のデザイン */
.veu_sitemap .children {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 10px;
}

.veu_sitemap .children li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
    font-size: 0.95rem;
}

/* 階層のドット（矢印風） */
.veu_sitemap .children li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 1px;
    background: #0E357F;
}

.veu_sitemap .children .children {
    background: #F3F8FF; /* ほとんど白に近い、極薄の水色 */
    padding: 8px 10px !important;
    border-radius: 4px;
    margin-left: 5px;
}

/* コンテンツを引き伸ばさず、中身の高さに合わせる */
.row.veu_sitemap {
    align-items: flex-start !important;
}

/* 念のため各コラム（背景色がついている要素）の高さ設定を解除 */
.veu_sitemap .sitemap-col > ul,
.veu_sitemap .sitemap-col > li {
    height: auto !important;
}

/* 4. 親リンク（タイトル）を目立たせる */
.veu_sitemap .link-list > .page_item > a {
    font-weight: bold;
    color: #0E357F;
    text-decoration: none;
    display: block;
    margin-bottom: 10px;
    border-bottom: 1px solid #E0ECFD;
    padding-bottom: 5px;
}

/* 5. 不要な「サイトマップ自身」を非表示 */
.page-item-7362.current_page_item {
    display: none !important;
}

/* 2. ニュースラベル（例外：元のデザインを維持） */
.news-label {
    background-color: #1a4488 !important;
    color: #ffffff !important;
    padding: 2px 10px;
    font-size: 0.75rem;
    display: inline-block;
    border-radius: 2px;
}

/* 3. 一覧を見るボタン（例外：元のデザインを維持） */
.view-more-button {
    display: inline-block;
    background-color: #fff;
    color: #333 !important;
    padding: 10px 40px;
    border: 1px solid #333;
    text-decoration: none;
    transition: 0.3s;
}

.view-more-button:hover {
    background-color: #333;
    color: #fff !important;
}

/* 4. ニュース本文（リンク）の調整 */
.news-text-link {
    display: block;
    margin-top: 8px;
    line-height: 1.6;
	color:#222;
}

/* 第3階層のリスト項目：中央寄せの設定 */
.gMenu li.is-hover-active ul.sub-menu li {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

/* 第3階層のリンク：相対配置にしてアイコンの基準にする */
.gMenu li.is-hover-active ul.sub-menu li a {
    display: block !important;
    width: 100% !important;
    padding: 10px 15px 10px 35px !important; /* 左側にアイコン分の余白を確保 */
    position: relative !important;
    text-align: center !important;
    text-decoration: none !important;
}

/* 擬似要素で「＞」を左端に固定配置 */
.gMenu li.is-hover-active ul.sub-menu li a {
    position: relative !important; /* absoluteの基準点として必須 */
    display: flex !important;
    justify-content: center !important; /* テキストを中央へ */
    align-items: center !important;
    cursor: pointer !important; /* カーソルを強制的にポインターに */
}

.gMenu li.is-hover-active ul.sub-menu li a::before {
    /* HTMLタグではなく、FontAwesomeのUnicodeを指定 */
    content: "\f105" !important; /* fa-angle-right のコード */
    font-family: "Font Awesome 5 Free"; /* FontAwesome 5 を使用している場合 */
    font-weight: 900; /* アイコン表示に必須 */
    
    position: absolute !important;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
    color: inherit;
    pointer-events: none; /* アイコンがクリックを邪魔しないようにする */
}

/* 親要素（aタグ）の設定 */
#menu-item-7351 > a,#menu-item-7352 > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* テキストを中央寄せ */
    position: relative !important;
    padding-left: 40px !important; /* アイコン分のスペースを確保 */
    padding-right: 40px !important; /* 左右のバランスを保つため */
    text-decoration: none !important;
}

/* アイコン（fa-angle-down）の設定 */
#menu-item-7351 > a::before,#menu-item-7352 > a::before {
    content: "\f107" !important; /* fa-angle-down のUnicode */
    font-family: "Font Awesome 5 Free" !important; /* バージョンに合わせて 6 に変更可 */
    font-weight: 900 !important;
    
    /* 左端に固定 */
    position: absolute !important;
    left: 15px !important; 
}

/* 指定したIDの a タグ共通設定 */
#menu-item-7132 > a,
#menu-item-7135 > a,
#menu-item-7138 > a,
#menu-item-7141 > a,
#menu-item-7144 > a,
#menu-item-7147 > a,
#menu-item-7153 > a,
#menu-item-7156 > a,
#menu-item-7159 > a,
#menu-item-7162 > a,
#menu-item-7165 > a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important; /* テキスト中央寄せ */
    position: relative !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
}

/* 指定したIDの a タグに右向き矢印を付与 */
#menu-item-7132 > a::before,
#menu-item-7135 > a::before,
#menu-item-7138 > a::before,
#menu-item-7141 > a::before,
#menu-item-7144 > a::before,
#menu-item-7147 > a::before,
#menu-item-7153 > a::before,
#menu-item-7156 > a::before,
#menu-item-7159 > a::before,
#menu-item-7162 > a::before,
#menu-item-7165 > a::before {
    content: "\f105" !important; /* fa-angle-right のUnicode */
    font-family: "Font Awesome 5 Free" !important;
    font-weight: 900 !important;
    
    /* 左端に固定 */
    position: absolute !important;
    left: 15px !important;
}

/* ホバー時の背景色（必要に応じて） */
.gMenu li.is-hover-active ul.sub-menu li a:hover {
    background-color: rgba(26, 68, 136, 0.05) !important;
}

/*ヘッダーメニュー用*/

/* 1. ロゴとカスタムパーツを包む親要素を1200pxに制限して中央へ */
.navbar-header {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px; /* ここで1200pxに制限 */
    margin: 0 auto !important; /* 中央に寄せる */
    position: relative;
    float: none !important; /* Lightningの古いスタイルを解除 */
    width: 100%;
    padding: 10px 15px;
}

/* 2. 右側カスタムエリア：絶対配置を解除してflexで並べる（より安定します） */
.header-custom-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-left: auto;
    z-index: 999;
}

/* 3. 上段：検索窓とサブリンク */
.h-custom-top {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

/* 検索窓のデザイン微調整（幅を少し狭めて収まりを良くする） */
.h-search-form {
    display: flex;
    border: 1px solid #222;
    background: #fff;
    height: 26px;
}
.h-search-input {
    border: none !important;
    padding: 0 8px !important;
    width: 100px; /* 120pxから100pxへ */
    font-size: 11px;
}

/* サジェストボックス全体の位置調整 */
.gsc-completion-container {
    margin-top: 80px !important; /* バーの高さに合わせて数値を調整してください */
    border-top: 1px solid #ccc !important; /* 必要に応じて境界線を追加 */
}

/* Googleカスタム検索の入力欄の行高を調整 */
input.gsc-input {
    line-height: 1.5 !important; 
    height: auto !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

/* Googleカスタム検索の入力欄フォーカス時の青い枠を消す */
.gsc-input-box .form-control:focus,
#gs_id50:focus,
input.gsc-input:focus {
    outline: none !important;
    box-shadow: none !important;
    border-color: transparent !important; /* 枠線自体も不要な場合 */
}

/* サブボタン（お問い合わせ・サイトマップ） */
.h-sub-btn {
    font-size: 11px;
    color: #222 !important;
    border: 1px solid #222;
    padding: 0 10px;
    height: 26px;
    display: flex;
    align-items: center;
    background: #fff;
}
.h-sub-btn:hover {
    background: #222;
    color: #fff !important;
}

/* 4. 下段：入会ボタンと電話 */
.h-custom-bottom {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 入会案内ボタン（理想イメージ再現） */
.h-admission-btn {
    background-color: #1a4488 !important;
    color: #fff !important;
    padding: 10px 30px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1.25rem;
    text-decoration: none;
    line-height: 1;
}

/* 電話番号 */
.h-tel-num {
    font-size: 30px;
    font-weight: bold;
    color: #222;
    line-height: 1;
}
.h-tel-time {
    display: block;
    font-size: 10px;
    color: #666;
    text-align: right;
    margin-top: 4px;
}

/* モバイル対応 */
@media (max-width: 991px) {
    .header-custom-right {
        display: none;
    }
}

/* --- 入会案内ボタン：通常時（紺色背景・白文字） --- */
.h-admission-btn {
    background-color: #1a4488 !important; /* 元の紺色 */
    color: #fff !important;              /* 白文字 */
    padding: 10px 30px;
    border-radius: 50px;
    font-weight: bold;
    font-size: 1.25rem;
    text-decoration: none;
    line-height: 1;
    display: block;
    transition: all 0.3s ease; /* アニメーションを滑らかに */
}

/* --- 入会案内ボタン：ホバー時（添付画像デザイン） --- */
.h-admission-btn:hover {
    background-color: #E0ECFD !important; /* 背景：水色 */
    color: #0E357F !important;           /* 文字：青 */
    transform: translateY(-1px);         /* 軽く浮く（オプション、不要なら削除可） */
    box-shadow: 0 4px 12px rgba(14, 53, 127, 0.15); /* 軽い影（オプション） */
    opacity: 1 !important;              /* 透明度設定を解除 */
	text-decoration:none;
}

/* --- Googleカスタム検索：ヘッダー配置用リセット --- */

/* 1. 全体コンテナの幅と位置 */
.h-google-search-wrapper {
    display: inline-block;
    width: 320px !important; /* 横幅を十分に確保 */
    vertical-align: middle;
    margin-right: 15px;
}

/* 2. Google標準の余計な枠線や背景を削除 */
.gsc-control-cse, 
.gsc-control-cse * {
    box-sizing: border-box !important;
}

.gsc-control-cse {
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
}

/* 3. テーブル構造による崩れを修正 */
table.gsc-search-box {
    margin-bottom: 0 !important;
}

td.gsc-input, 
td.gsc-search-button {
    vertical-align: middle !important;
    padding: 0 !important;
}

/* 4. 入力エリアの枠を調整（お問い合わせボタンの高さに合わせる） */
/* ロゴを表示しつつ、入力を邪魔しない設定 */
input.gsc-input {
    height: 100% !important;
    padding: 0 10px !important;
    font-size: 14px !important;
    border: none !important;
    /* background: none !important; ← これを削除またはコメントアウト */
    background-color: transparent !important; /* 白ではなく透明にする */
    text-indent: 0 !important;
}

/* 親要素のボックスを白くする */
.gsc-input-box {
    height: 36px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px 0 0 4px !important;
    background-color: #fff !important; /* ここで背景を白にする */
    display: flex !important;
    align-items: center !important;
}

/* 入力欄に薄くヒントを出す（プレースホルダー風） */
input.gsc-input::placeholder {
    color: #999 !important;
}

/* 5. 検索ボタンの調整 */
button.gsc-search-button-v2 {
    height: 36px !important;
    width: 45px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 4px 4px 0 !important;
    background-color: #003366 !important; /* 商工会ネイビー */
    border: 1px solid #003366 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* ボタン内の虫眼鏡アイコン */
.gsc-search-button-v2 svg {
    width: 16px !important;
    height: 16px !important;
    fill: #ffffff !important;
}

/* 6. 「Google提供」のロゴ位置（気になる場合は調整） */
.gsst_a {
    padding-top: 0 !important;
}

/* 個別のサイズ調整（ここだけ分ける） */
.elementor-widget-heading h2.elementor-heading-title {
    font-size: 24px;
}

.elementor-widget-heading h3.elementor-heading-title {
    font-size: 20px;
}


/* --- 1. ヘッダー全体のレイアウトを上下2段に固定 --- */
    .siteHeader .container.siteHeadContainer {
        display: block !important;
        max-width: 100% !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        overflow: visible !important; /* はみ出るメニューを表示させる */
    }

.gMenu li {
    font-size: 14px;
}

.gMenu>li .gMenu_name {
    font-size: 14px;
}

    /* --- 2. ロゴエリア（白背景・中央寄せ） --- */
    .navbar-header {
        display: flex !important;
        justify-content: flex-start;
        width: 100% !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 15px !important;
    }

    /* --- 3. メニュー外枠（紺背景・全幅） --- */
    #gMenu_outer.gMenu_outer {
        display: block !important;
        width: 100% !important;
        background-color: #0E357F !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important; /* 子要素のメガメニューを見せる */
    }

    #gMenu_outer.gMenu_outer nav {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    /* --- 4. メニュー本体（ul：1200pxで中央） --- */
    .gMenu {
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 1200px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        float: none !important;
        overflow: visible !important;
        position: relative !important;
    }

    /* --- 5. メニュー項目（第1階層） --- */
    .gMenu > li {
        flex: 1 1 0 !important;
        list-style: none !important;
        margin: 0 !important;
        position: static !important; /* 第2階層を全幅にするために必須 */
		font-size: 14px!important;
    }

    .gMenu > li > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 60px;
        color: #fff !important;
        font-weight: bold;
        text-decoration: none !important;
        border-left: 1px solid rgba(255, 255, 255, 0.2);
        white-space: nowrap;
        font-size: 16px;
    }

    .gMenu > li:last-child > a {
        border-right: 1px solid rgba(255, 255, 255, 0.2);
    }

    .gMenu > li:hover > a {
        background-color: #e6f0fa !important;
        color: #0E357F !important;
    }

@media (min-width: 992px) {
    /* --- 第1階層・第2階層のレイアウト維持 --- */
    .siteHeader .container.siteHeadContainer { display: block !important; width: 100% !important; max-width: 100% !important; padding: 0 !important; }
    .navbar-header { display: flex !important; max-width: 1200px !important; margin: 0 auto !important; padding: 15px !important; }
    #gMenu_outer.gMenu_outer { background-color: #0E357F !important; width: 100% !important; }
    .gMenu { display: flex !important; justify-content: center !important; max-width: 1200px !important; margin: 0 auto !important; position: relative !important; }
    .gMenu > li { flex: 1 0 0 !important; position: static !important; }
    .gMenu > li > a { display: flex !important; align-items: center; justify-content: center; height: 60px; color: #fff !important; font-weight: bold; border-left: 1px solid rgba(255, 255, 255, 0.2); }
    .gMenu > li:hover > .sub-menu { display: flex !important; }
    .gMenu > li > .sub-menu > li { flex: 1 0 0 !important; position: static !important; }
    .gMenu > li > .sub-menu > li.current-menu-item > a, .gMenu > li > .sub-menu > li.current_page_item > a { background-color: #dcdcdc !important; color: #333 !important; }
    .gMenu > li > .sub-menu:not(:hover) > li[class*="current"] > a { background-color: #e6f0fa !important; color: #0E357F !important; }

    /* =========================================
       ★ここから第三階層（カードエリア）の視認性向上★
       ========================================= */

    /* 1. 第三階層（ul）自体の設定 */
    .gMenu > li > .sub-menu > li > ul.sub-menu {
        position: absolute !important;
        left: 0 !important;
        width: 100% !important;
        background-color: #e6f0fa !important; /* 薄い水色の背景 */
        z-index: 1000 !important;
        box-sizing: border-box !important;
        overflow: visible !important;

        /* JSで付与された flex を利用して整列 */
        
        display: none !important;
}

/* 初期状態は閉じる */
.gMenu > li > .sub-menu > li > ul.sub-menu {
    display: none !important;
}

/* ホバー時だけ開く */
.gMenu > li > .sub-menu > li.is-hover-active > ul.sub-menu {
    display: flex !important;
}

    /* 2. カード（li）のデザイン */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li {
        width: calc(33.333% - 10px) !important; /* 3列で均等並び */
        list-style: none !important;
        flex: none !important; /* 自動伸縮を防ぐ */
    }

    /* 3. カードの中身（aタグ）のデザイン（視認性向上の核心） */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li > a {
        display: block !important;
        background-color: #ffffff !important; /* ★カードの背景を白に！ */
        color: #333333 !important;           /* ★文字色を濃いグレーに！ */
        padding: 20px 15px !important;     /* カード内の余白 */
        border: 1px solid #dddddd !important; /* 薄いグレーの枠線 */
        border-bottom: 3px solid #ccc !important; /* 下線で立体感 */
        border-radius: 6px !important;     /* 角を丸く */
        text-align: center !important;     /* 文字を中央寄せ */
        font-weight: bold !important;       /* 文字を太く */
        text-decoration: none !important;  /* 下線を消す */
        box-shadow: 0 3px 6px rgba(0,0,0,0.05) !important; /* 軽い影で浮いた感じに */
        
        transition: all 0.2s ease !important; /* ホバー時のアニメーション */
    }

    /* 4. カードのホバー（マウスを乗せた時）のデザイン */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li > a:hover {
        background-color: #fcfcfc !important; /* わずかに色を変える */
        border-bottom-color: #0E357F !important; /* 下線を紺色に */
        color: #0E357F !important;           /* 文字色を紺色に */
        transform: translateY(-2px) !important; /* わずかに浮かせる */
    }

    /* 不要なボタンを消去 */
    .acc-btn { display: none !important; }
}

@media (min-width: 992px) {
    /* 1. 第2階層の親（gMenu）の基準設定 */
    .gMenu {
        position: relative !important;
    }
    .gMenu > li {
        position: static !important;
    }

    /* 2. 第2階層（グレーバー）を100%幅にし、flexの設定を調整 */
    .gMenu > li > .sub-menu {
        position: absolute !important;
        top: 60px !important;
        left: 0 !important;
        width: 100% !important; /* 紺色バーと同じ幅 */
        background-color: #f0f0f0 !important;
        display: none !important; /* ホバーで flex になる */
        
        /* 均等配置のための設定 */
        flex-direction: row !important;
        justify-content: space-between !important; /* 端から端まで均等に配置 */
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        overflow: visible !important;
    }

    /* 3. 中のメニュー項目（li）を均等に広げる */
    .gMenu > li > .sub-menu > li {
        flex: 1 0 0 !important; /* すべての項目を同じ幅で広げる */
        display: block !important;
        position: static !important;
    }

    /* 4. リンクボタンの調整 */
    .gMenu > li > .sub-menu > li > a {
        display: flex !important;
        align-items: center;
        justify-content: center;
        height: 55px;
        width: 100% !important;
        padding: 0 !important;
        border-right: 1px solid #fff;
        text-decoration: none !important;
    }
    
    /* 最後の項目の右線を消してスッキリさせる */
    .gMenu > li > .sub-menu > li:last-child > a {
        border-right: none !important;
    }
}

@media (min-width: 992px) {
    /* 3. カードの中身（aタグ）のデザイン修正 */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li > a {
        /* blockからflexに変更して上下中央を実現 */
        display: flex !important;
        align-items: center !important;    /* 縦方向の中央揃え */
        justify-content: center !important; /* 横方向の中央揃え */
        
        min-height: 80px !important;       /* カード自体の最小高さを確保 */
        background-color: #ffffff !important;
        color: #333333 !important;
        padding: 10px 15px !important;     /* 上下パディングを調整 */
        border: 1px solid #dddddd !important;
        border-bottom: 3px solid #ccc !important;
        border-radius: 6px !important;
        text-align: center !important;
        font-weight: bold !important;
        text-decoration: none !important;
        box-shadow: 0 3px 6px rgba(0,0,0,0.05) !important;
        transition: all 0.2s ease !important;
    }
}

.news-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 40px;
}

.news-item {
    display: flex;
    gap: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
    align-items: flex-start;
}

/* サムネイル 150x150固定 */
.news-thumbnail img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    flex-shrink: 0;
}

/* 本文 3行・60文字相当の制限 */
.news-text {
    font-size: 14px;
    line-height: 1.6;
    height: 4.8em; /* 1.6line-height * 3lines */
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.news-label {
    background: #0E357F;
    color: #fff;
    font-size: 11px;
    padding: 2px 10px;
    border-radius: 2px;
}

/* 1. タブメニューとコンテンツの間の余白を広げる */
.elementor-tabs-content-wrapper .elementor-tab-content {
    padding-top: 50px !important; /* 数値はお好みで調整してください */
}

/* モバイル時のタブコンテンツ上部余白を調整 */
@media (max-width: 767px) {
    .elementor-tabs-content-wrapper .elementor-tab-content {
        padding-top: 20px !important;
    }
}

/* 2. 各ニュースカードの下に境界線を入れる */
.news-grid .news-item {
    border-bottom: 1px solid #cccccc; /* 下線（グレー） */
    padding-bottom: 20px;            /* 線と文字の間の余白 */
    margin-bottom: 20px;             /* 線と次のカードの間の余白 */
}

/* 3. 最後のカードだけは下線を消す（任意） */
.news-grid .news-item:last-child {
    border-bottom: none;
    margin-bottom: 0;
}

@media (max-width: 900px) {
    .news-grid { grid-template-columns: 1fr; }
}

/*elementor*/

.elementor-tabs-content-wrapper{
	background-color:#FFF!important;
}

/* 選択されていない（アクティブではない）タブの背景色 */
selector .elementor-tab-title[aria-selected="false"] {
    background-color: #0E357F !important; /* お好みの濃い青色に変更してください */
    color: #ffffff !important;           /* 文字色を白に */
}
/* 未選択（false）のタブ背景を一括で濃い青にする */
body .elementor-widget-tabs .elementor-tab-title[aria-selected="false"] {
    background-color: #0E357F !important;
    color: #ffffff !important;
}

/* 未選択タブ内の文字色も念のため強制 */
body .elementor-widget-tabs .elementor-tab-title[aria-selected="false"] a {
    color: #ffffff !important;
}


/* タブ同士の区切り線（白） */
body .elementor-widget-tabs .elementor-tab-title {
    border-right: 1px solid #ffffff !important;
    border-bottom: none !important;
}

/* 2. デスクトップ用タイトル（未選択時） */
body .elementor-widget-tabs .elementor-tab-desktop-title[aria-selected="false"] {
    background-color: #0E357F !important;
    color: #ffffff !important;
    font-size: 14px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 60px;
    flex: 1;
}

/* 3. デスクトップ用タイトル（選択中） */
body .elementor-widget-tabs .elementor-tab-desktop-title[aria-selected="true"] {
    background-color: #E0ECFD !important;
    color: #0E357F !important;
    font-size: 14px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    height: 60px;
    flex: 1;
}


/* 5. 境界線の調整（デスクトップ専用に限定） */
body .elementor-widget-tabs .elementor-tab-desktop-title {
    border-right: 1px solid #ffffff !important;
    border-bottom: none !important;
}

/* 最後のタブの右線を消す */
body .elementor-widget-tabs .elementor-tab-desktop-title:last-child {
    border-right: none !important;
}

/* 親コンテナで中央寄せ */
.view-more-container {
    text-align: center;
    margin: 40px 0;
    width: 100%;
}

/* ボタン本体 */
.view-more-button {
    display: inline-block;
    position: relative; /* beforeの基準点 */
    border: 1px solid #000000;
    background-color: #ffffff;
    color: #333333;
    text-decoration: none !important;
    font-size: 16px;
    font-weight: bold;
    padding: 12px 60px; /* 左右に十分な余白 */
    min-width: 250px;   /* ボタン幅を安定させる */
    transition: all 0.3s ease;
    cursor: pointer;
    line-height: 1.5;
}

/* ホバー時の挙動 */
.view-more-button:hover {
    background-color: #000000;
    color: #ffffff;
}

/* beforeで「＞」を作成 */
.view-more-button::before {
    content: "";
    position: absolute;
    left: 45px;      /* 左端からの位置（適宜調整） */
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: translateY(-50%) rotate(45deg);
    display: block;
    transition: all 0.3s ease;
}

/* ホバー時に矢印を少し右に動かすアニメーション（任意） */
.view-more-button:hover::before {
    left: 50px;
}

/*支援事例*/

.wp-caption {
    margin-top: 0!important;
    margin-bottom: .5em!important;
}


/* 支援事例詳細ページ：特定のテーブルを除外して「枠線なし・上揃え」を適用 */
.single-case_study .mobile-stack-table:not(.single-case-spec-table),
.single-case_study .mobile-stack-table:not(.single-case-spec-table) th,
.single-case_study .mobile-stack-table:not(.single-case-spec-table) td {
    border: none !important;        /* 枠線を消去 */
    vertical-align: top !important; /* 上揃え（上付き） */
}

/* 除外しないテーブルのみ、左右の余白を調整 */
.single-case_study .mobile-stack-table:not(.single-case-spec-table) td:first-child {
    padding-right: 20px;
}

/* --- PC・共通設定：画像の右回り込み --- */
.entry-body img.alignright {
    float: right;
    margin: 0 0 20px 20px; /* 左と下に余白 */
    max-width: 35%;       /* PCでは横幅を抑える */
    height: auto;
}

/* --- モバイル設定：幅100%・センター --- */
@media screen and (max-width: 767px) {
    .entry-body img.alignright {
        float: none !important;    /* 回り込み解除 */
        display: block !important;  /* ブロック要素化 */
        width: 100% !important;    /* 幅100% */
        max-width: 100% !important;
        margin: 0 auto 20px auto !important; /* 左右中央・下に余白 */
    }

    /* 画像の下にテキストが回り込まないよう隙間をリセット */
    .entry-body p {
        clear: both;
    }
}

/* スマホ表示時の余白調整（除外対象外のみ） */
@media screen and (max-width: 767px) {
    .single-case_study .mobile-stack-table:not(.single-case-spec-table) td:first-child {
        padding-right: 0;
        padding-bottom: 15px;
    }
}

/* 支援事例：画像とスペック表の横並び設定 */
@media (min-width: 768px) {
    /* 親コンテナをフレックスボックス化 */
    .single-case-container {
        display: flex;
        flex-wrap: wrap; /* 要素が入り切らない場合に折り返しを許可 */
        gap: 30px;       /* 画像とテーブルの間の余白 */
        align-items: flex-start;
    }

    /* 左側：アイキャッチ画像（40%幅） */
    .single-case-main-img {
        flex: 0 0 40%;
        margin-bottom: 20px;
    }

    .single-case-main-img img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 8px;
    }

    /* 右側：スペックテーブル（残り幅） */
    .single-case-spec-table {
        flex: 1; /* 残りの幅をすべて使う */
        min-width: 300px; /* 崩れ防止の最小幅 */
        margin-top: 0 !important;
    }

    /* 下段：事業内容（100%幅にして下に落とす） */
    .single-case-desc-section {
        flex: 0 0 100%; /* これにより必ず改行される */
        margin-top: 20px;
    }
}

/* モバイル時：すべて縦並び */
@media (max-width: 767px) {
    .single-case-container {
        display: block;
    }
    .single-case-main-img,
    .single-case-spec-table,
    .single-case-desc-section {
        width: 100% !important;
        margin-bottom: 20px;
    }
}


/* 背景とコンテナ */
.case-section-wrapper {
    background-color: #b6b1b6;
    padding: 60px 20px;
    font-family: "Noto Sans JP", sans-serif;
}

.case-flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto 50px;
}

/* カードスタイル */
.case-card {
    background: #fff;
    flex: 1;
    min-width: 320px;
    max-width: 360px;
    display: flex;
    flex-direction: column;
}

.case-img img {
    width: 100%;
    height: 220px;
    object-fit: cover; /* 画像のサイズを統一 */
    display: block;
}

.case-body {
    padding: 25px;
    flex-grow: 1;
}

.case-title {
    font-size: 1.05rem;
    line-height: 1.6;
    height: 3.2em; /* 2行分確保して高さを揃える */
    overflow: hidden;
    margin-bottom: 15px;
}

.case-line {
    border: none;
    border-top: 1px solid #ccc;
    margin-bottom: 20px;
}

.case-details p, .case-cat-row {
    font-size: 0.9rem;
    margin-bottom: 10px;
    line-height: 1.7;
}

/* 支援分野タグの並び */
.case-cat-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

.case-tag {
    background-color: #1a4488;
    color: #fff;
    padding: 2px 8px;
    font-size: 0.75rem;
    margin: 0 0 5px 5px;
    white-space: nowrap;
}

.case-date-row {
    text-align: right;
    font-size: 0.85rem;
    margin-top: 20px;
    color: #333;
}

/* 背景色をなしに設定 */
.case-section-wrapper-clear {
    background-color: transparent; /* 背景グレーを撤廃 */
    padding: 40px 0;
}

.case-flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    max-width: 1200px;
    margin: 0 auto 40px;
}

.case-card {
    background: #fff;
    border: 1px solid #eee; /* 薄い枠線を追加して視認性を確保 */
    flex: 1;
    min-width: 300px;
    max-width: 360px;
}

/* タイトルの高さを固定（2行分） */
.case-title {
    font-size: 1.05rem;
    line-height: 1.5;
    height: 3em; 
    overflow: hidden;
    font-weight: bold;
}

/* 事業内容を3行でカットして ... を出す */
.case-desc-limit {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 3行に制限 */
    overflow: hidden;
    line-height: 1.6;
    height: 4.8em; /* 行送り1.6 * 3行 */
}

/* 画像がない場合のダミーエリア */
.no-image {
    width: 100%;
    height: 200px;
    background: #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888;
}

/* その他パーツ（前回の微調整） */
.case-tag {
    background-color: #1a4488;
    color: #fff;
    padding: 2px 8px;
    font-size: 0.75rem;
    margin: 0 0 5px 5px;
    display: inline-block;
}

.case-date-row {
    text-align: right;
    font-size: 0.85rem;
    margin-top: 15px;
}

.case-more-button {
    display: inline-block;
    background-color: #fff;
    padding: 10px 50px;
    border: 1px solid #333;
    text-decoration: none;
    color: #333;
}

/* 一覧ボタン */
.case-more-link-area {
    text-align: center;
}

.case-more-button {
    display: inline-block;
    background-color: #fff;
    color: #333;
    padding: 12px 60px;
    text-decoration: none;
    border: 1px solid #333;
    font-size: 1rem;
    transition: all 0.3s ease;
}

.case-more-button:hover {
    background-color: #333;
    color: #fff;
}

/* カード全体リンク：色を黒(#222)に固定し、高さを揃える */
.case-card-link {
    text-decoration: none !important;
    color: #222 !important; /* リンクの青色を上書き */
    display: flex;
    flex: 1;
    min-width: 300px;
    max-width: 360px;
    transition: transform 0.3s ease;
}

/* カードの中身：高さを100%にして中身を等分する */
.case-card {
    background: #fff;
    border: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%; /* 親のリンクタグの高さいっぱいに広げる */
}

/* タイトル：色を固定し、高さを統一 */
.case-card-link .case-title {
    color: #222 !important;
    font-size: 1.05rem;
    line-height: 1.5;
    height: 3em; /* 2行分の高さを強制確保 */
    overflow: hidden;
    margin-bottom: 15px;
    font-weight: bold;
}

/* 事業内容：3行分の高さを固定してカードの高さを揃える */
.case-desc-limit {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    height: auto; /* 1.2(line-height) * 3行分 */
    color: #222;
    margin-bottom: 10px;
}

/* 支援分野：ここも高さを揃えたい場合は微調整 */
.case-cat-row {
    min-height: 2.5em; /* タグが1行でも2行でも影響しにくいように余白を確保 */
    margin-bottom: 10px;
}

/* ホバー時の挙動 */
.case-card-link:hover {
    opacity: 1; /* リンクホバー時の薄暗くなる現象を防止 */
}

/* 余白なし設定（前回の回答の反映） */
.case-flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    justify-content: center;
    max-width: none; 
    width: 100%;
    margin: 0 auto 50px;
}

/* 詳細ページ全体の囲み */
.single-case-container {
    margin: 30px 0;
    line-height: 1.8;
}

.single-case-main-img img {
    max-width: 100%;
    height: auto;
    margin-bottom: 30px;
    border: 1px solid #eee;
}

/* スペック表のデザイン */
.single-case-spec-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    border-top: 2px solid #1a4488; /* 商工会カラーのアクセント */
}

.single-case-spec-table th {
    width: 25%;
    background: #f9f9f9;
    padding: 8px 15px;
    border-bottom: 1px solid #ddd;
    text-align: left;
    font-weight: bold;
}

.single-case-spec-table td {
    padding: 15px;
    border-bottom: 1px solid #ddd;
}

/* 支援分野タグ */
.case-tag-detail {
    background-color: #1a4488;
    color: #fff;
    padding: 3px 10px;
    font-size: 0.8rem;
	margin-top: 5px;
    margin-right: 5px;
    display: inline-block;
}

/* 事業内容の見出し */
.single-case-desc-section h3 {
    font-size: 1.25rem;
    padding-left: 10px;
    border-left: 5px solid #1a4488;
    margin: 40px 0 20px;
}

/* PHPの出力構造に完全に合わせた、最優先の指定 */
.case-section-wrapper-clear .case-flex-container a.case-card-link .case-tag {
    background-color: #1a4488 !important; /* 商工会ブルー */
    color: #ffffff !important;           /* ★これで確実に白文字になります */
    display: inline-block !important;
    padding: 3px 10px !important;
    font-size: 0.8rem !important;
    border-radius: 3px !important;
    margin: 2px 5px 2px 0 !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
}

/* ホバー時に色を反転させる設定 */
.case-section-wrapper-clear .case-flex-container a.case-card-link:hover .case-tag {
    background-color: #ffffff !important;
    color: #1a4488 !important;
    border: 1px solid #1a4488 !important;
}

/*ページタイトル*/

/* 固定ページのヘッダーデザインに合わせる */
.page-header {
    background-color: #0E357F !important; /* 他のページで使われている濃い青色 */
    color: #fff !important;             /* 文字色を白に */
	text-align:left!important;
}

/* タイトルの装飾（下線など） */
.page-header_pageTitle {
    color: #fff !important;
    font-weight: bold;
    font-size: 36px;               /* サイズ調整 */
    display: inline-block;
    padding-bottom: 10px;
}


.col-md-12{
	padding:10px 10px 10px 0;
}

h1.page-header_pageTitle:first-child {
    font-size: 36px;
}

/* モバイル用の調整（幅991px以下） */
@media (max-width: 991px) {
    .page-header_pageTitle {
        padding-left: 15px !important; /* モバイル時の左余白 */
    }
}

/* モバイル時のSwiper全幅調整 */
@media (max-width: 767px) {
    /* スライド自体の幅を100%に強制し、余白をリセット */
    .custom-swiper-container .swiper-slide {
        width: 100% !important;
        opacity: 1 !important; /* 両端のスライドを薄くしない場合は1に */
        margin-right: 0 !important; /* スライド間の隙間をなくす場合 */
    }

    /* コンテナのパディングを調整（左右の空きをなくす） */
    .custom-swiper-container {
        padding: 20px 0 !important;
    }

    /* 画像の角丸などを微調整（お好みで） */
    .swiper-slide img {
        border-radius: 0 !important; /* 全幅時は角丸なしが綺麗です */
        box-shadow: none !important;
    }
}

/* グリッド全体 */
.news-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
}

/* 1つ1つのアイテム */
.news-item {
    display: flex;
    width: calc(50% - 10px); /* 2カラム */
    background: #fff;
    box-sizing: border-box;
    align-items: flex-start;
}

/* サムネイル部分 */
.news-thumbnail-wrapper {
    flex: 0 0 120px; /* 画像幅を固定 */
    margin-right: 15px;
}

.news-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* テキスト部分 */
.news-content-body {
    flex: 1;
    min-width: 0; /* テキストのはみ出し防止 */
}

.news-title {
    margin: 5px 0;
    font-size: 16px;
    line-height: 1.4;
}

.news-title a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.news-excerpt {
    font-size: 13px;
    color: #666;
    line-height: 1.5;
}

/* スマホ表示 */
@media (max-width: 767px) {
    .news-item {
        width: 100%;
    }
}

/*elementor*/

/* 指定した3つのセクション内のカラムにホバーした時、背景を薄い水色にする */
.elementor-element-de4bbfc .elementor-column:hover .elementor-widget-wrap,
.elementor-element-bc4e6d1 .elementor-column:hover .elementor-widget-wrap,
.elementor-element-501d829 .elementor-column:hover .elementor-widget-wrap {
    background-color: #f0faff !important;
    transition: background-color 0.3s ease;
    border-radius: 8px;
}

/* ホバー外れた際の動きも滑らかにする設定 */
.elementor-element-de4bbfc .elementor-widget-wrap,
.elementor-element-bc4e6d1 .elementor-widget-wrap,
.elementor-element-501d829 .elementor-widget-wrap {
    transition: background-color 0.3s ease;
}

/* ホバー時に対象セクション内のリンク装飾を調整 */
.elementor-element-de4bbfc .elementor-column:hover a,
.elementor-element-bc4e6d1 .elementor-column:hover a,
.elementor-element-501d829 .elementor-column:hover a {
    text-decoration: none !important;
}

.elementor-widget-text-editor p {
    font-weight: 400 !important; /* 最大の太さを指定 */
    color: #222/* 文字色を真っ黒にしてコントラストを上げる */
   
}

/*ホバー薄く*/

/* 支援事例カード全体にホバーエフェクトを適用 */
.case-card-link {
    transition: opacity 0.3s ease; /* 変化を滑らかにする */
}

.case-card-link:hover {
    opacity: 0.7 !important; /* ホバー時に70%の濃さにする（薄くする） */
    text-decoration: none !important; /* リンクの下線を消す */
}

/* もし背景色も少し変えたい場合（お好みで追加してください） */
/*
.case-card-link:hover .case-card {
    background-color: #f9f9f9;
}
*/

/* 太字部分の強化設定 */
.elementor-widget-text-editor p strong {
    font-weight: 900 !important; /* 最大の太さを指定 */
    color: #222; /* 文字色を真っ黒にしてコントラストを上げる */
    
    /* 変化が分かりにくい場合の「ひと工夫」 */
    background: linear-gradient(transparent 70%, #d4e3f3 70%); /* 薄い青のマーカー */
    padding: 0 2px;
}

@media (min-width: 992px) {

    /* JSで付与される is-hover-active クラス（第3階層の有無を問わず適用） */
    .gMenu > li > .sub-menu > li.is-hover-active > a {
        background-color: #e6f0fa !important; /* 第3階層の背景色と合わせる */
        color: #003366 !important;
        font-weight: bold !important;
    }

    /* マウスが直接乗っている時も同じ色にする */
    .gMenu > li > .sub-menu > li > a:hover {
        background-color: #e6f0fa !important;
        color: #003366 !important;
    }
}

@media (min-width: 992px) {
    /* 通常時（グレー） */
    .gMenu > li > .sub-menu > li > a {
        background-color: #dcdcdc !important;
        color: #333 !important;
		font-weight:700;
    }

    /* アクティブ時（薄い水色）および実際のホバー時 */
    .gMenu > li > .sub-menu > li.is-hover-active > a,
    .gMenu > li > .sub-menu > li > a:hover {
        background-color: #e6f0fa !important;
        color: #003366 !important;
        font-weight: bold !important;
    }
}

@media (min-width: 992px) {
    /* 指定の疑似要素を完全に無効化 */
    .gMenu > li.menu-item-has-children::after {
        content: none !important; /* コンテンツ自体を消去 */
        display: none !important; /* 領域も消去 */
        border: none !important;    /* 枠線を消去 */
    }
}

/* 第1階層のメニューの下線を無効化 */
.gMenu > li::before {
    content: none !important;
    display: none !important;
    border: none !important;
}

/* メディアクエリ内の色指定も念のため上書き */
@media (min-width: 768px) {
    .gMenu > li:before {
        content: none !important;
        border: none !important;
    }
}

@media (min-width: 992px) {
    /* 第3階層のカードボタンの調整 */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li > a {
        min-height: 60px !important; /* ★少し高さを抑える */
        background-color: #f9f9f9 !important; /* 白背景に馴染む薄いグレー */
        border: 1px solid #eeeeee !important;
        border-bottom: 3px solid #e6f0fa !important; /* 枠線と同じ水色のアクセント */
        color: #333 !important;
        box-shadow: none !important; /* 枠線があるのでシャドウは控えめに */
    }

    /* ホバー時は枠線色に合わせる */
    .gMenu > li > .sub-menu > li > ul.sub-menu > li > a:hover {
        background-color: #e6f0fa !important;
        border-bottom-color: #003366 !important;
    }
}

@media (min-width: 992px) {
    /* JSで付与する強制解除用クラス：カレントであってもグレーにする */
    .gMenu > li > .sub-menu > li.force-no-current > a {
        background-color: #dcdcdc !important; /* 標準のグレーに戻す */
        color: #333 !important;
        font-weight: normal !important;
    }

    /* is-hover-active がついた時は、カレント解除より優先して水色にする */
    .gMenu > li > .sub-menu > li.is-hover-active > a {
        background-color: #e6f0fa !important;
        color: #003366 !important;
        font-weight: bold !important;
    }
}

@media (min-width: 992px) {
    /* force-no-current がついている間：色はグレーにするが、フォントの太さは維持する */
    .gMenu > li > .sub-menu > li.force-no-current,
    .gMenu > li > .sub-menu > li.force-no-current > a,
    .gMenu > li > .sub-menu > li.current-menu-item.force-no-current > a,
    .gMenu > li > .sub-menu > li.current_page_item.force-no-current > a {
        background-color: #dcdcdc !important;
        color: #333 !important;
        /* ここでフォントの太さを明示的に指定（カレントなら太く、通常なら標準に） */
        font-weight: 700 !important; /* 太字を維持 */
    }

    /* マウスが乗った（is-hover-active）時 */
    .gMenu > li > .sub-menu > li.is-hover-active > a,
    .gMenu > li > .sub-menu > li.is-hover-active.current-menu-item > a {
        background-color: #e6f0fa !important;
        color: #003366 !important;
        font-weight: 700 !important;
		border-bottom-color: #003366 !important;
    }
	
	/* 指定した親項目の直下のaタグだけ、ホバー時の下線を消す */
#menu-item-7351.is-hover-active > a,
#menu-item-7352.is-hover-active > a {
    border-bottom: none !important;
    text-decoration: none !important;
}

/* 子要素の .sub-menu 内の a タグについては、
   上記の設定（> a）が適用されないため、
   既存の global-menu のスタイルがそのまま維持されます。
*/
}

/* メニューが閉じる動作にディレイ（猶予）を作る */
.device-pc .gMenu > li .sub-menu {
    /* 0.3s はマウスが離れてから消えるまでの時間です。お好みの長さに調整してください */
    transition: opacity 1s ease, visibility 1s ease;
    transition-delay: 1s; /* 離れてから0.2秒間は表示を維持 */
}


/* 1. 外枠：1200px幅・水色ボーダーの巨大な箱 */
.device-pc .gMenu > li > .sub-menu {
    position: absolute !important;
    top: calc(100% + 50px) !important; /* 位置を少し下げる */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1200px !important;
    background-color: #fff !important;
    border: 20px solid #e6f0fa !important;
    padding: 0 !important; /* 内側のレイアウトで制御 */
    display: none !important;
    flex-direction: row !important; /* 横並び */
    z-index: 9999 !important;
    box-shadow: 0 15px 30px rgba(0,0,0,0.1) !important;
    min-height: 400px !important;
}

/* 2. 左側：第2階層のインデックス列（福岡式のグレー背景部分） */
.device-pc .gMenu > li > .sub-menu > li {
    flex: 0 0 280px !important; /* 幅を固定 */
    background-color: #f7f9fb !important; /* 少しグレーがかった水色 */
    list-style: none !important;
    padding: 20px 0 !important;
}

/* 3. 右側：第3階層の詳細リンクエリア（白背景） */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu {
    position: absolute !important;
    top: 0 !important;
    left: 280px !important; /* 左列の幅分だけずらす */
    width: calc(1200px - 280px - 40px) !important; /* 全体幅 - 左列 - ボーダー分 */
    height: 100% !important;
    padding: 30px !important;
    display: flex !important;
    flex-wrap: wrap !important; /* 中身を折り返しありの横並びに */
    align-content: flex-start !important;
    gap: 10px 30px !important;
    background: #fff !important;
    visibility: hidden !important; /* 通常は隠す */
    opacity: 0 !important;
}

/* 左側の項目をホバーした時だけ、対応する右側のメニューを表示 */
.device-pc .gMenu > li > .sub-menu > li:hover > .sub-menu {
    visibility: visible !important;
    opacity: 1 !important;
}

/* 第3階層の各リンク */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li {
    width: calc(33.3% - 20px) !important; /* 3列で並べる */
    list-style: none !important;
}

.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li > a {
    font-size: 14px !important;
    color: #666 !important;
    padding: 5px 0 !important;
    display: block !important;
    border: none !important;
}

/* --- 第2階層：水色で囲ったタブ風デザイン --- */
.device-pc .gMenu > li > .sub-menu > li {
    flex: 1 1 auto !important;
    position: static !important;
    background-color: #f0f7ff !important; /* 薄い水色 */
    margin: 0 2px !important;
    border-radius: 4px 4px 0 0 !important;
    transition: background 0.2s !important;
}


/* --- 第3階層：エリア全体（横1200px）をフル活用 --- */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu {
    display: none !important;
    position: absolute !important;
    top: 60px !important; /* 第2階層タブの高さ分下げる */
    left: 0 !important;
    width: 100% !important; /* 1200pxいっぱいまで広がる */
    min-height: 380px !important;
    background-color: #fff !important;
    padding: 30px !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    gap: 15px !important;
}

/* 表示の維持 */
.device-pc .gMenu > li > .sub-menu > li:hover > .sub-menu {
    display: flex !important;
}

/* 第3階層のリンクボタン化 */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li {
    width: calc(25% - 15px) !important; /* 4列 */
}

/* --- メガメニュー全体の基盤 --- */
.device-pc .gMenu > li > .sub-menu {
    position: absolute !important;
    top: 100% !important; /* 標準の位置に戻す */
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 1200px !important;
    min-height: 335px !important;
    background-color: #fff !important;
    display: none !important;
    padding: 15px !important; 
    z-index: 9999 !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
}

/* 【重要】第1と第2の隙間を物理的に埋める透明な「橋」 */
.device-pc .gMenu > li > .sub-menu::before {
    content: "" !important;
    position: absolute !important;
    top: -25px !important; /* 上に伸ばして親メニューと接触させる */
    left: 0 !important;
    width: 100% !important;
    height: 30px !important;
    background: transparent !important; /* 透明なので見えません */
}

/* ホバー時に表示 */
.device-pc .gMenu > li:hover > .sub-menu {
    display: flex !important;
}

/* --- 第2階層：背景を常に白(#fff)に --- */
.device-pc .gMenu > li > .sub-menu > li {
    flex: 1 1 auto !important;
    position: static !important;
    background-color: #fff !important; /* 常に白 */
    margin: 0 4px !important;
    border-radius: 4px !important;
    transition: all 0.2s ease !important;
}

/* ホバー時も白を維持し、枠線や文字色で変化を出す */
.device-pc .gMenu > li > .sub-menu > li:hover {
    background-color: #fff !important; /* ホバー時も白 */
}

/* --- 第3階層：エリア全体をフル活用 --- */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu {
    display: none !important;
    position: absolute !important;
    top: 75px !important; /* 第2階層タブの下に配置 */
    left: 15px !important; /* メガメニューのpaddingに合わせる */
    width: calc(100% - 30px) !important;
    min-height: 360px !important;
    background-color: #fff !important;
    padding: 30px !important;
    box-sizing: border-box !important;
    flex-wrap: wrap !important;
    align-content: flex-start !important;
    gap: 15px !important;
}

/* 表示の維持 */
.device-pc .gMenu > li > .sub-menu > li:hover > .sub-menu {
    display: flex !important;
}

/* 第3階層のリンク（4列配置） */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li {
    width: calc(25% - 15px) !important;
}

.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li > a {
    display: block !important;
    padding: 12px !important;
    border: 1px solid #eee !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    color: #333 !important;
    text-align: left !important;
}


/* 第3階層の li 自体の調整 */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li {
    display: flex !important; /* liの中のaを制御しやすくする */
    justify-content: center !important;
}

/* aタグをボタンのように中央揃えにする */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu > li > a,
.device-pc .gMenu > li > .sub-menu > li > a{
    display: flex !important;      /* aをflexコンテナにする */
    align-items: center !important;  /* 縦中央 */
    justify-content: center !important; /* 横中央 */
    width: 100% !important;        /* 横幅いっぱい */
    min-height: 60px !important;    /* ボタンの最低限の高さ */
    
    padding: 10px 20px !important;
    text-align: center !important;
    text-decoration: none !important;
    line-height: 1.4 !important;    /* 2行になっても綺麗に見えるように調整 */
}

/* 第3階層のエリア全体（白いボックス） */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu {
    position: absolute !important;
    top: 60px !important; 
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    background-color: #ffffff !important;
    padding: 30px 15px !important; /* 左右に15pxの余白を確保 */
    box-sizing: border-box !important;
    display: none !important;
    z-index: 9999 !important;

    /* 元の border-top は一度消す */
    border-top: none !important; 
}

/* 青いラインを「内側の15px空けた場所」に擬似要素で作成 */
.device-pc .gMenu > li > .sub-menu > li > .sub-menu::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    /* 左右15px空けることで、タブの並びとラインの端を合わせる */
    left: 19px !important;
    right: 19px !important;
    height: 15px !important; /* ラインの太さ */
    background-color: #e6f0fa !important; /* 水色 */
}

/* ホバー時に表示 */
.device-pc .gMenu > li > .sub-menu > li:hover > .sub-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 15px !important;
}



/* 1. 全ての階層を上揃えに固定 */
.siteFooter li[id^="menu-item-"] {
    align-items: flex-start !important;
}

/* 2. 第3階層（sub-menu内のli）の下余白を増やす */
.siteFooter .sub-menu li {
    align-items: flex-start !important;
    margin-bottom: 14px !important; /* 元の4px + 10px = 14px */
}

/* 3. 最後の項目の余白は不要な場合（デザイン調整） */
.siteFooter .sub-menu li:last-child {
    margin-bottom: 0 !important;
}


/* ===================================================
   支援事例（case_list）カードのアスペクト比16:9統一
=================================================== */

/* カード全体のコンテナ（フレックスボックスで高さを揃える） */
.case-section-wrapper-clear .case-flex-container {
    display: flex;
    flex-wrap: wrap; /* 折り返しを許可（スマホ・タブレット用） */
    gap: 20px; /* カード間の余白 */
    justify-content: center; /* 中央寄せ */
}

/* カード全体のリンク（フレックスアイテムとしての設定） */
.case-section-wrapper-clear .case-card-link {
    display: flex; /* これにより、中の.case-cardが親の高さ一杯に広がる */
    flex: 0 0 calc(33.333% - 13.333px); /* 3カラム（gap分を引く） */
    margin-bottom: 0 !important; /* ExUnitの余白をリセット */
    text-decoration: none; /* リンクの下線を消す */
}

/* カード本体 */
.case-section-wrapper-clear .case-card {
    display: flex; /* さらに中身を縦並びのフレックスボックスにする */
    flex-direction: column; /* 縦並び */
    width: 100%; /* 親（case-card-link）の幅一杯 */
    background: #fff; /* 背景色 */
    border: 1px solid #ddd; /* 枠線 */
    border-radius: 4px; /* 少し角丸 */
    overflow: hidden; /* 中身がはみ出ないように */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* 軽い影 */
    transition: transform 0.2s, box-shadow 0.2s; /* ホバー時のアニメーション */
}

/* カードをホバーした際の効果 */
.case-section-wrapper-clear .case-card-link:hover .case-card {
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
    
    /* サイトカラーに合わせた薄いブルー */
    background-color: #f0f7ff; /* 非常に淡いブルー */
    border-color: #003366;    /* 枠線を少し濃くして引き締める場合 */
    
    /* 透過度を使わず、背景色をしっかり変える */
    opacity: 1; 
}

/* 画像部分も少しだけ青みがかったオーバーレイをかける場合（お好みで） */
.case-section-wrapper-clear .case-card-link:hover .case-img::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 51, 102, 0.1); /* ネイビーを10%だけ重ねる */
}

/* ＝ 画像エリア（ここが16:9の指定） ＝ */
.case-section-wrapper-clear .case-img {
    width: 100%; /* 横幅は親一杯 */
    aspect-ratio: 16 / 9; /* アスペクト比を16:9に固定（必須） */
    overflow: hidden; /* はみ出た画像を隠す（トリミング） */
    position: relative; /* 中のno-imageの位置基準 */
}

/* ＝ 中の画像要素 ＝ */
.case-section-wrapper-clear .case-img img {
    width: 100%; /* 枠一杯 */
    height: 100%; /* 枠一杯 */
    object-fit: cover; /* 枠内に画像を合わせる（トリミング）（最重要） */
    border-radius: 0 !important; /* 個別の角丸をリセット */
    display: block; /* 余分な隙間を消す */
}

/* ＝ 画像がない場合の「No Image」エリア（これも16:9） ＝ */
.case-section-wrapper-clear .no-image {
    width: 100%; /* 枠一杯 */
    height: 100%; /* 枠一杯 */
    background-color: #f0f0f0; /* 薄いグレー */
    display: flex; /* 文字を中央寄せにする */
    align-items: center; /* 縦中央 */
    justify-content: center; /* 横中央 */
    color: #999; /* 文字色 */
    font-size: 1.2rem; /* 文字サイズ */
    font-weight: bold; /* 文字を太く */
}

/* カードの中身（テキストエリア） */
.case-section-wrapper-clear .case-body {
    padding: 15px; /* 余白 */
    flex-grow: 1; /* 残りの高さをすべて使う */
    display: flex; /* さらにテキスト部分を縦並びにする */
    flex-direction: column; /* 縦並び */
}

/* タイトル（3行で制限するなど、テキスト量が変わっても崩れにくくする） */
.case-section-wrapper-clear .case-title {
    margin: 0 !important; /* 余白 */
    font-size: 1.1rem !important; /* サイズ */
    line-height: 1.4 !important; /* 行間 */
    color: #333; /* 文字色 */
    font-weight: bold; /* 太文字 */
}

/* 区切り線 */
.case-section-wrapper-clear .case-line {
    border: none; /* 線を消す */
    border-top: 1px solid #eee; /* 薄い上線 */
    margin: 10px 0 !important; /* 余白 */
}

/* 詳細エリア */
.case-section-wrapper-clear .case-details {
    flex-grow: 1; /* 残りの高さをすべて使う */
    display: flex; /* 更新日を一番下に配置するためにフレックスにする */
    flex-direction: column; /* 縦並び */
}

/* 事業内容（CSSで3行制限を確実にする） */
.case-section-wrapper-clear .case-desc-limit {
    display: -webkit-box; /* 複数行テキストの表示 */
    -webkit-box-orient: vertical; /* 縦方向 */
    -webkit-line-clamp: 3; /* 3行で制限（必須） */
    overflow: hidden; /* はみ出た文字を隠す */
    text-overflow: ellipsis; /* 「...」を表示（必須） */
    line-height: 1.6 !important; /* 行間 */
    color: #666; /* 文字色 */
    margin-bottom: 0 !important; /* 下余白 */
}

/* 更新日（一番下に配置） */
.case-section-wrapper-clear .case-date-row {
    margin-top: auto !important; /* 上の要素から押し下げる（最重要） */
    text-align: right; /* 右寄せ */
    font-size: 0.9rem; /* 少し小さく */
    color: #999; /* 文字色 */
}


/* ===================================================
   タブレット・スマホ用のレスポンシブ対応
=================================================== */

/* タブレット（768px〜1024px） */
@media (max-width: 1024px) and (min-width: 768px) {
    .case-section-wrapper-clear .case-card-link {
        flex: 0 0 calc(50% - 10px); /* 2カラム */
    }
}

/* スマホ（767px以下） */
@media (max-width: 767px) {
    .case-section-wrapper-clear .case-card-link {
        flex: 0 0 100%; /* 1カラム */
        margin-bottom: 20px !important; /* カード間の下余白 */
    }
}

/* 見出し（1行目）以外の文字色を #222 に固定 */
/* Lightningの標準セレクタより強くするために、親要素を重ねて記述します */
.entry-content table:not(.vk-blocks-table) tbody tr:not(:first-child) td,
.entry-content table tbody tr:not(:first-child) th {
    color: #222 !important;
    font-weight: 400 !important; /* font-weight: 300 が細すぎる場合 */
}

/* 1行目（見出し）の色は維持、または別途指定 */
.entry-content table tbody tr:first-child td {
    /* 見出しの色を維持したい場合はここを変えない、
       もし白にしたいなら color: #fff; など */
}

/*RSSサムネ*/

/* Ver2用：120x120サイズ調整 */
.rss-ver2 .rss2-shop-thumb {
    width: 120px;   /* 120pxに固定 */
    height: 120px;  /* 120pxに固定 */
    background-color: #f0f4f9;
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 8px;   /* 余白を少し削る */
    box-sizing: border-box;
    font-size: 13px; /* 少し小さくして読みやすく */
    font-weight: bold;
    line-height: 1.3;
    border: 1px solid #ccd5e0;
    border-radius: 5px;
    transition: background 0.2s;
    overflow: hidden;
}

/* 親要素の幅も120pxに合わせる */
.rss-ver2 .news-thumbnail-wrapper {
    flex-basis: 120px;
    width: 120px;
    min-width: 120px;
}

.rss2-thumb-link:hover .rss2-shop-thumb {
    background-color: #e2eaf5;
    text-decoration: none;
}

/* 3行以上になる場合は省略（はみ出し防止） */
.rss2-shop-thumb span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
}

/* Ver2用：店舗名の改行ルール調整 */
.rss-ver2 .rss2-shop-thumb span {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* 最大4行 */
    overflow: hidden;
    
    /* 改行ルールの追加 */
    word-break: break-all;      /* 枠の端で強制的に改行（日本語に有効） */
    overflow-wrap: break-word;  /* 長い英単語も枠内で改行させる */
    display: inline-block;      /* ブラウザによってはこちらが安定します */
    width: 100%;
}


/* Ver2用：スペースでの改行を優先する設定 */
.rss-ver2 .rss2-shop-thumb span {
    display: inline-block;
    width: 100%;
    
    /* 単語の途中での改行を極力防ぐ（スペースや区切り文字を優先） */
    word-break: keep-all; 
    
    /* 1単語が長すぎて枠を超える場合のみ、強制改行する */
    overflow-wrap: break-word; 
    
    font-size: 13px;
    line-height: 1.4;
    text-align: center;
}
*/

/* =============================================
   Elementor：スマホでの枠線太り解消版
   ============================================= */

/* 1. テーブル全体：1行目と同じ濃紺の太枠 */
.elementor-widget-text-editor table {
    width: 100% !important;
    min-width: 100% !important;
    border-collapse: collapse !important;
    border: 3px solid #0E357F !important; /* 外枠の太さを統一 */
    margin-bottom: 25px !important;
    table-layout: fixed !important;
}

/* 2. セル共通：枠線が重なって太く見えないよう調整 */
.elementor-widget-text-editor table td,
.elementor-widget-text-editor table th {
    border: 1px solid #0E357F !important; 
    padding: 12px 10px !important;
    vertical-align: middle;
}

/* 4. 2行目以降：文字色 #222 */
.elementor-widget-text-editor table tr:not(:first-child) td {
    color: #222222 !important;
    background-color: #ffffff !important;
    text-align: center;
}

/* 5. スマホ対応（767px以下）の修正 */
@media (max-width: 767px) {
    .elementor-widget-text-editor .elementor-widget-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }


    /* スライドさせるためのラッパー設定 */
    .elementor-widget-text-editor .elementor-widget-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}

/* 6. スクロールバー */
.elementor-widget-text-editor .elementor-widget-container::-webkit-scrollbar {
    height: 8px;
}
.elementor-widget-text-editor .elementor-widget-container::-webkit-scrollbar-thumb {
    background: #0E357F;
    border-radius: 4px;
}

/* モバイルでのアコーディオン化を強制解除し、2列並びにする */
@media (max-width: 767px) {
    /* 1. 親要素をフレックスボックスとして維持（縦並びを防ぐ） */
    .elementor-tabs-wrapper {
        display: flex !important;
        flex-wrap: wrap !important; /* 折り返しを許可 */
        flex-direction: row !important; /* 横方向への並びを強制 */
    }

    /* 2. 各タブのタイトルを50%幅で横に並べる */
    .elementor-tab-title {
        display: flex !important;
        width: 50% !important;
        flex: 0 0 50% !important;
        box-sizing: border-box !important;
        border-bottom: 1px solid #ccc !important; /* 区切り線 */
    }

    /* 3. アコーディオン用のアイコン（三角矢印など）が出ている場合は非表示にする */
    .elementor-tab-title .elementor-tabs-icon {
        display: none !important;
    }

    /* 4. タブの中身（コンテンツエリア）が隠れないように調整 */
    .elementor-tabs-content-wrapper {
        display: block !important;
    }
}

.elementor-tab-title.elementor-tab-mobile-title{
	display:none!important;
}

@media (max-width: 767px) {
    /* 親要素：折り返しを許可し、背景を白にすることで線のベースを作る */
    .elementor-tabs-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        background-color: #ffffff !important;
        gap: 0 !important; /* 隙間をゼロに */
    }

    /* 全てのタブ：box-sizingを徹底し、境界線を内側に引く */
    .elementor-tab-title, 
    .elementor-tab-mobile-title {
        display: flex !important;
        width: 50% !important;
        flex: 0 0 50% !important;
        box-sizing: border-box !important;
        
        /* 線を「内側」に持たせるため border ではなく outline や重なり調整を使用 */
        border: 1px solid #ffffff !important; 
        
        /* 1pxマイナスマージンで隣と重ね、線を共有させる */
        margin-bottom: -1px !important;
        margin-right: -1px !important;
        
        padding: 15px 5px !important;
        background-color: #0e357f !important;
        color: #ffffff !important;
        align-items: center;
        justify-content: center;
        position: relative;
        z-index: 1;
    }

    /* アクティブなタブを一番上に持ってくる */
    .elementor-tab-title.elementor-active,
    .elementor-tab-mobile-title.elementor-active {
        z-index: 2;
        background-color: #1a4ba5 !important; /* 少し色を変えて判別しやすく */
    }

    /* 5番目（最後）を確実に100%にするための再指定 */
    /* モバイル構造では要素が交互に並ぶため、nth-child(9)が5つ目のタイトル */
    .elementor-tabs-wrapper > :nth-child(5),
    .elementor-tab-mobile-title:nth-of-type(5) {
        width: 100% !important;
        flex: 0 0 100% !important;
        border-right: 1px solid #ffffff !important;
    }

    /* アイコン非表示 */
    .elementor-tabs-icon {
        display: none !important;
    }
}

@media (max-width: 767px) {
    /* 1. カラムを50%幅にする（2列並び） */
    .elementor-col-25 {
        width: 50% !important;
        float: left !important;
    }

/* 指定したセクション内の画像コンテナ設定（中央寄せ & 60px固定） */
.elementor-element-972d7b4 .elementor-widget-image .elementor-widget-container,
.elementor-element-4c9c039 .elementor-widget-image .elementor-widget-container,
.elementor-element-408baff .elementor-widget-image .elementor-widget-container {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    height: 60px !important;
    margin-bottom: 10px !important;
}

/* 指定したセクション内の画像サイズ制限（最大60px） */
.elementor-element-972d7b4 .elementor-widget-image img,
.elementor-element-4c9c039 .elementor-widget-image img,
.elementor-element-408baff .elementor-widget-image img {
    width: auto !important;
    height: auto !important;
    max-width: 60px !important;
    max-height: 60px !important;
    object-fit: contain !important;
}

}

@media (max-width: 767px) {
    /* news-itemを強制的にフレックスボックス化 */
    div.news-grid div.news-item {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 0 !important;
        border-bottom: 1px solid #ddd !important; /* ここで下線を強制 */
    }

    /* サムネイル枠を30%に固定 */
    div.news-item .news-thumbnail-wrapper {
        flex: 0 0 30% !important;
        max-width: 30% !important;
        width: 30% !important;
    }

    /* 画像を枠いっぱいに */
    div.news-item .news-img {
        width: 100% !important;
        height: auto !important;
        object-fit: cover !important;
    }

    /* テキスト本体を70%に */
    div.news-item .news-content-body {
        flex: 1 !important;
        width: 70% !important;
    }
}

@media (max-width: 767px) {
    /* 1. ニュース項目のタイトルを最大3行に制限して省略表示 */
    .news-title a {
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important; /* ここを 2 にするとさらに短くなります */
        overflow: hidden !important;
        font-size: 14px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        margin-bottom: 4px !important;
    }

    /* 2. 日付とカテゴリラベルを横に並べて高さを節約 */
    .news-meta {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        margin-bottom: 4px !important;
        font-size: 11px !important;
    }

    /* 3. 抜粋文（Excerpt）を非表示にしてタイトルを際立たせる */
    .news-excerpt {
        display: none !important;
    }

    /* 4. 項目全体の余白を詰める */
    .news-item {
        padding: 8px 0 !important; /* 上下のパディングを少し削る */
        gap: 10px !important; /* 画像とテキストの距離を微調整 */
    }

    /* 5. 画像サイズを少し小さくしてバランスを取る（お好みで） */
    .news-thumbnail-wrapper {
        flex: 0 0 25% !important; /* 30%から25%に微減 */
        max-width: 25% !important;
    }
}

@media (max-width: 767px) {
    /* 1. ニュース項目の隙間をゼロにする */
    div.news-grid div.news-item {
        display: flex !important;
        gap: 0 !important; /* 画像とテキストの間の隙間をゼロに */
        margin-bottom: 5px !important; /* 下のマージンもさらに圧縮 */
        padding: 5px 0 !important;
        border-bottom: 1px solid #efefef !important; /* 区切り線が必要な場合のみ */
    }

    /* 2. タイトルの下線（擬似要素）を完全に消す */
    .news-title:after,
    h3.news-title:after,
    .subSection-title:after {
        display: none !important; /* 擬似要素自体を消す */
        content: none !important;
        border-bottom: none !important;
    }

    /* 3. タイトル自体のリンク下線も念のため上書き */
    .news-title a {
        text-decoration: none !important;
        border-bottom: none !important;
    }

    /* 4. サムネイル幅を維持しつつ、右側の余白を調整 */
    .news-thumbnail-wrapper {
        flex: 0 0 30% !important;
        margin-right: 10px !important; /* gapを0にした分、文字がくっつきすぎる場合はここで微調整 */
    }
}

@media (max-width: 767px) {
    /* 固定幅(120px)を解除し、30%比率を強制する */
    .rss-ver2 .news-thumbnail-wrapper {
        flex-basis: 30% !important; /* 120pxを上書き */
        width: 30% !important;      /* 120pxを上書き */
        min-width: 0 !important;    /* 120pxの制限を解除 */
        max-width: 30% !important;
    }

    /* 中のグレーボックスをその30%幅に追従させる */
    .rss2-shop-thumb {
        width: 100% !important;
        height: 0 !important;
        padding-top: 100% !important; /* 幅に対する100%の高さ＝正方形 */
        position: relative !important;
    }
}

@media (max-width: 767px) {
    /* 1. ニュース項目全体：上端で揃える */
    .news-item {
        display: flex !important;
        align-items: flex-start !important;
    }

    /* 2. サムネイル枠を30%幅に固定 */
    .news-thumbnail-wrapper {
        flex: 0 0 30% !important;
        width: 30% !important;
        max-width: 30% !important;
        margin-right: 12px !important;
    }

    /* 3. グレーのボックスを「絶対正方形」にする */
    .rss2-shop-thumb {
        width: 100% !important;
        height: 0 !important; /* 高さを直接指定せず0にする */
        padding-top: 100% !important; /* 幅に対して100%のパディング＝完璧な正方形 */
        position: relative !important; /* 中の文字を浮かせる基準 */
        background-color: #f0f0f0 !important;
        border-radius: 4px;
        overflow: hidden !important;
        padding-bottom: 0 !important; /* 余計なパディングをリセット */
    }

    /* 4. 中の店舗名を中央に配置（ボックスの高さに干渉させない） */
    .rss2-shop-thumb span {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 90% !important;
        
        /* テキストの見た目調整 */
        font-size: 9px !important;
        line-height: 1.2 !important;
        text-align: center !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 3 !important; /* はみ出し防止 */
        overflow: hidden !important;
    }

    /* 5. 右側のテキスト（タイトル）が画像の上端と揃うように調整 */
    .news-content-body {
        flex: 1 !important;
        padding-top: 0 !important;
    }
    
    .news-title {
        margin-top: 0 !important;
    }
		.news-label {
    font-size: 9px;
}
	
@media (max-width: 767px) {
    /* 1. 全体レイアウト：2列並びを強制 */
    body .elementor-widget-tabs .elementor-tabs-wrapper {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important; /* 縦並びを阻止 */
    }

    /* 2. 各タブの基本設定：PC版の「横並び1列」用の設定をリセット */
    body .elementor-widget-tabs .elementor-tab-title {
        width: 50% !important;
        flex: none !important; /* PC版の flex: 1 を解除 */
        height: auto !important; /* 固定高さを解除してスマホで見やすく */
        min-height: 50px !important;
        padding: 10px 5px !important;
        
        /* 線の設定：一旦PC版の右線を消し、下線を入れる */
        border-right: none !important;
        border-bottom: 1px solid #ffffff !important;
        position: relative !important;
    }

    /* 3. 右側の白線：奇数番目（左側）のタブだけに適用 */
    body .elementor-widget-tabs .elementor-tab-title:nth-child(odd) {
        border-right: 1px solid #ffffff !important;
    }

    /* 4. 5つ目（最後）のタブ調整：全幅にする場合 */
    body .elementor-widget-tabs .elementor-tab-title:last-child {
        width: 100% !important;
        border-right: none !important;
    }

    /* 5. しつこい擬似要素（タイトル下の青線など）を完全に消す */
    body .elementor-widget-tabs .elementor-tab-title:after,
    body .elementor-widget-tabs h3.news-title:after {
        content: none !important;
        display: none !important;
        height: 0 !important;
        width: 0 !important;
    }
}
	
	@media (max-width: 767px) {
    /* 1. カード自体の外枠を詰め、高さを最小化 */
    .case-card {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        padding: 4px !important; /* 上下左右の余白を最小に */
        gap: 6px !important;    /* 画像と文字の距離を最小に */
        margin-bottom: 8px !important;
        min-height: 0 !important;
    }

    /* 2. 画像幅を30%以下に絞り、高さを自動に */
    .case-img {
        flex: 0 0 28% !important;
        width: 28% !important;
        margin: 0 !important;
    }

    /* 3. コンテンツ部分の余白を完全排除 */
    .case-body {
        flex: 1 !important;
        padding:10px 0 !important;
        margin: 0 !important;
        display: flex;
        flex-direction: column;
    }

    /* 4. タイトル：フォントを小さく、2行に詰め込む */
    .case-title {
        font-size: 12px !important;
        line-height: 1.2 !important;
        margin: 0 0 2px 0 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important; /* 2行制限で高さを固定 */
        overflow: hidden !important;
    }

    /* 5. 区切り線を細くし、隙間を削る */
    .case-line {
        margin: 2px 0 !important;
        border-top: 1px solid #f0f0f0 !important;
    }

    /* 6. 詳細テキスト：10pxフォントで凝縮 */
    .case-details p {
        font-size: 10px !important;
        margin-bottom: 0 !important; /* 下マージン撤廃 */
        line-height: 1.2 !important;
        padding: 0 !important;
    }

    /* 事業内容を非表示にすれば、さらに劇的に高さを削れます（お好みで） */
    .case-desc-limit {
        display: none !important;
    }

    /* 7. タグと更新日をコンパクトに横並び、または最小化 */
    .case-cat-row {
        font-size: 9px !important;
        margin-top: 2px !important;
    }

    .case-tag {
        padding: 0 3px !important;
        margin-right: 2px !important;
    }

    .case-date-row {
        text-align: right !important;
        font-size: 9px !important;
        margin-top: -10px !important; /* 他の要素との重なりを利用して高さを削る */
        color: #bbb;
    }
	
		hr.case-line{
			display:none;
		}
}
	
@media (max-width: 767px) {
    /* 1. カード全体を高さの基準にする */
    .case-card {
        display: flex !important;
        align-items: stretch !important; /* 子要素（画像と本文）の高さを揃える */
        padding: 5px !important;
        gap: 8px !important;
    }

    /* 2. 画像ラッパーを縦いっぱいに広げる */
    .case-img {
        flex: 0 0 30% !important;
        width: 30% !important;
        display: flex !important; /* 中のimgを制御 */
        margin: 0 !important;
    }

    /* 3. 中の画像を枠いっぱいにフィットさせる */
    .case-img img {
        width: 100% !important;
        height: 100% !important; /* 親の高さ（テキストの高さ）に合わせる */
        object-fit: cover !important; /* 比率を維持しつつ隙間なく埋める */
        border-radius: 4px;
    }

    /* 4. 本文側が極端に短い場合に備え、最低限の整頓 */
    .case-body {
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important; /* テキストが少ない時は中央寄せ */
    }
	
	.case-section-wrapper-clear .case-flex-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    row-gap: 0px;
    column-gap: 10px;
}
	/* 余白なし設定（前回の回答の反映） */
.case-flex-container {
    margin: 0 auto 20px;
}
	
}
	
@media (max-width: 991px) {
    #gMenu_outer.gMenu_outer {
        display: none !important;
    }
}
	
/* PCではモバイル検索を隠す */
.mobile-search-container {
    display: none;
}

/* モバイル表示時の切り替え */
@media (max-width: 991px) {
    /* メニューを消す */
    #gMenu_outer.gMenu_outer {
        display: none !important;
    }
    /* 検索を出す */
    .mobile-search-container {
        display: block !important;
        margin-top: 10px;
    }
}
	
@media (max-width: 991px) {
    /* コンテナ：背景色とパディング */
    .mobile-search-container {
        display: block !important;
        background-color: #0E357F !important;
        padding: 15px !important;
        box-sizing: border-box !important;
    }

    /* Google標準のスタイルリセット */
    .mobile-search-container .gsc-control-cse,
    .mobile-search-container form.gsc-search-box {
        background-color: transparent !important;
        border: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 入力エリアの白い枠 */
    .mobile-search-container .gsc-input-box {
        height: 45px !important; 
        border: none !important;
        background-color: #ffffff !important;
        border-radius: 4px 0 0 4px !important;
    }

    /* 入力ボックス本体 */
    .mobile-search-container input.gsc-input {
        height: 45px !important;
        padding: 0 10px !important;
        margin: 0 !important;
        border: none !important;
        /* プレースホルダー（背景画像）を表示させる */
        background-color: transparent !important; 
        font-size: 16px !important; /* スマホのズーム防止 */
        color: #333 !important;
    }

    /* プレースホルダーの文字色（HTML5 placeholder属性用） */
    .mobile-search-container input.gsc-input::placeholder {
        color: #999 !important;
        opacity: 1 !important;
    }

    /* 検索ボタン */
    .mobile-search-container button.gsc-search-button-v2 {
        height: 45px !important;
        min-width: 50px !important;
        margin: 0 !important;
        border: none !important;
        background-color: #f1f1f1 !important;
        border-radius: 0 4px 4px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 検索アイコンの色とサイズ */
    .mobile-search-container button.gsc-search-button-v2 svg {
        width: 20px !important;
        height: 20px !important;
        fill: #0E357F !important; /* ボタン内のアイコンを商工会カラーに */
    }

    /* 余計なテーブルの隙間を排除 */
    .mobile-search-container table.gsc-search-box {
        margin-bottom: 0 !important;
    }
}
	
	/* モバイル時（991px以下）の設定 */
@media (max-width: 991px) {
    .footer-info-logo img {
        display: block !important;
        padding-bottom: 20px !important; /* 下に20pxのパディング */
        max-width: 240px !important;    /* 幅を最大300pxに制限 */
        width: 100% !important;         /* 300px以下の画面では横幅いっぱいに */
    }
	
	.footer-tel-fax {
        display: flex;
        flex-wrap: wrap; /* 幅が足りない時に改行させる */
        gap: 0 15px;    /* TELとFAXの間の横スペース */
        justify-content: center; /* 中央寄せにする場合 */
    }

    .footer-tel-fax span {
        display: inline-block;
        white-space: nowrap; /* TEL: 000-000 の途中で改行させない */
    }
	
	.footer-tel-fax .tel {
    margin-right: 0;
}

}

	
/* リンクを親要素(news-item)いっぱいに広げる魔法の記述 */
.stretched-link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10;
    pointer-events: auto;
}

/* 変化を滑らかにする設定 */
.news-item {
    transition: opacity 0.3s ease;
    position: relative; /* stretched-linkを使う場合は必須 */
}

/* =============================================
   事業承継ステップテーブル：モバイルカード化
   ============================================= */

@media screen and (max-width: 767px) {
    /* テーブルの基本構造を解除 */
    .elementor-7133 .mobile-stack-table,
    .elementor-7133 .mobile-stack-table tbody,
    .elementor-7133 .mobile-stack-table tr,
    .elementor-7133 .mobile-stack-table td {
        display: block !important;
        width: 100% !important;
    }

    /* 1. 各行(tr)をテーマカラーの青枠で囲む */
    .elementor-7133 .mobile-stack-table tr {
        border: 2px solid #0E357F !important; /* 福崎町商工会カラー */
        border-radius: 10px;
        margin-bottom: 24px !important;       /* カード同士の間隔 */
        padding: 15px !important;
        background-color: #ffffff !important;
        box-shadow: 0 4px 10px rgba(14, 53, 127, 0.08); /* 軽い影で視認性向上 */
    }

    /* 2. セル(td)の調整 */
    .elementor-7133 .mobile-stack-table td {
        padding: 8px 0 !important;
        border: none !important;
        text-align: left !important;
        color: #222 !important; /* 文字色を222に固定 */
    }

    /* 3. STEP番号（最初のセル）をヘッダー風にする */
    .elementor-7133 .mobile-stack-table td:first-child {
        color: #0E357F !important;
        font-weight: 800 !important;
        font-size: 1.2rem;
        border-bottom: 1px dashed #0E357F !important; /* 区切り点線 */
        margin-bottom: 10px;
        padding-top: 0 !important;
    }

    /* 4. STEP名（2番目のセル）を太字にする */
    .elementor-7133 .mobile-stack-table td:nth-child(2) {
        font-weight: 700 !important;
        font-size: 1.1rem;
        padding-bottom: 4px !important;
    }

    /* 5. 説明文（3番目のセル）の調整 */
    .elementor-7133 .mobile-stack-table td:last-child {
        line-height: 1.6;
        font-size: 0.95rem;
    }
}

/* PC/モバイル共通：テーブル上下の余白 */
.elementor-7133 .mobile-stack-table {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
}

/* Elementorコンテナ内のテーブル上下に余白を設定 */
.elementor-widget-container table {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
    border-collapse: collapse; /* 枠線の重なりを調整（任意） */
}

/* モバイル時（先ほどのカード形式）でもマージンを維持、または調整する場合 */
@media screen and (max-width: 767px) {
    .elementor-widget-container table {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
        /* モバイルではテーブル全体の横幅を100%にする */
        width: 100% !important;
    }
}

/* IDとクラスを組み合わせることで、標準のCSSよりも優先順位を最大まで高めます */
html body #page_top.page_top_btn,
html body.scrolled #page_top.page_top_btn {
    /* 表示の強制 */
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    
    /* 背景と色（透明設定を完全に打ち消す） */
    background-color: #0e357f !important;
    background-image: none !important;
    color: #ffffff !important;
    
    /* 形状とサイズ（Lightning標準の40x38を上書き） */
    width: 55px !important;
    height: 55px !important;
    border-radius: 50% !important;
    
    /* 配置 */
    right: 20px !important;
    bottom: 20px !important;
    position: fixed !important;
    z-index: 999999 !important;

    /* レイアウト：中の「▲ PAGE TOP」を出す */
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 10px !important;
    font-weight: bold !important;
    line-height: 1.2 !important;
    text-indent: 0 !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3) !important;
    border: none !important;
    text-decoration: none !important;
}

/* 矢印アイコンの追加 */
html body #page_top.page_top_btn::before {
    content: '▲' !important;
    display: block !important;
    font-size: 16px !important;
    color: #ffffff !important;
    margin-bottom: 2px !important;
    background: none !important;
}

/* ホバー時（透明にならないように設定） */
html body #page_top.page_top_btn:hover {
    background-color: #1546a0 !important;
    color: #ffffff !important;
    transition: all 0.3s ease !important;
}

/* 標準のアイコンや擬似要素が干渉しないように消去 */
html body #page_top.page_top_btn span,
html body #page_top.page_top_btn i {
    display: none !important;
}
	
@media (max-width: 991px) {
    /* 1. バーガーメニュー（一番右端） */
    #vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
        position: fixed !important;
        right: 5px !important; /* 右端ギリギリ */
        left: auto !important;
        width: 50px !important;
        height: 50px !important;
        background: transparent !important;
        z-index: 10000 !important;
    }

    /* 2. 入会案内ボタン（バーガーメニューの左に配置） */
    .h-mobile-btn-container {
        /* バーガーメニューの幅(50px) + 余白分として、右から60pxの位置に配置 */
        right: 60px !important; 
        top: 60px !important; /* バーガーメニューと高さを合わせる */
        left: auto !important;
        margin: 0 !important;
        z-index: 10000 !important;
    }

    .h-mobile-admission-btn {
        background-color: #0e357f !important;
        color: #fff !important;
        padding: 6px 12px !important;
        border-radius: 20px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
    }

    /* 3. ロゴが重ならないように幅を制限 */
    .header-logo-wrapper {
        max-width: calc(100% - 130px) !important; /* ボタン2つ分を確保 */
    }
	
	.siteHeader_logo{
		width:220px!important;
	}
}

/* モバイルメニューボタン：上下の余白を完璧に揃える最終調整 */
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    
    /* 13pxから16pxに増やして、全体をさらに下に押し下げます */
    padding-top: 16px !important; 
    
    width: 48px !important;
    height: 48px !important;
    box-sizing: border-box !important;
    
    background: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
    
    color: #0e357f !important;
    font-size: 9px !important;
    font-weight: bold !important;
    line-height: 1 !important;
    text-indent: 0 !important;
}

/* 3本線：要素間の距離を固定 */
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn::before {
    content: "" !important;
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background-color: #0e357f !important;
    
    /* アイコンと文字の間隔 */
    margin-bottom: 12px !important; 
    margin-top: 0 !important;
    
    box-shadow: 0 7px 0 #0e357f, 0 -7px 0 #0e357f !important;
}

/* 文字の余白を完全に排除 */
#vk-mobile-nav-menu-btn.vk-mobile-nav-menu-btn span {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}
	
/* =============================================
   モバイルナビ：階層ごとの配色ルール最終版
============================================= */

/* --- 1. 第一階層（常に青背景 / 白文字） --- */
.vk-mobile-nav-menu-outer ul.vk-menu-acc > li > a {
    background-color: #0e357f !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

/* --- 2. 第二階層：閉じている（表示されているだけ）時 --- */
/* グレー背景 / 黒文字 / 太字 */
.vk-mobile-nav-menu-outer ul.sub-menu > li > a {
    background-color: #cfc7c8 !important;
    color: #000000 !important;
    font-weight: 700 !important;
}

/* --- 3. 第二階層：三階層目が開いた時 --- */
/* 背景白 / 文字青（濃紺） / 太字 */
.vk-mobile-nav-menu-outer ul.sub-menu > li.acc-parent-open > a {
    background-color: #ffffff !important;
    color: #0e357f !important;
    font-weight: 700 !important;
}

/* --- 4. 開閉アイコン：すべて白・太めに固定 --- */
.vk-menu-acc .acc-btn {
    /* 白アイコン変数を適用 */
    background-image: var(--vk-menu-acc-icon-open-white-bg-src) !important;
    background-size: 24px 24px !important;
    /* ボタンの枠線を白く太く */
    border: 0px solid #ffffff !important;
    border-radius: 4px !important;
    opacity: 1 !important;
    background-color: transparent !important;
}

/* マイナスアイコンも白変数を適用 */
.vk-menu-acc .acc-btn-close {
    background-image: var(--vk-menu-acc-icon-close-white-bg-src) !important;
}

/* 第二階層が白背景（開いた時）に、白ボタンが消えないようボタン部分を青く補正 */
.vk-mobile-nav-menu-outer ul.sub-menu > li.acc-parent-open > .acc-btn {
    background-color: #0e357f !important;
    border-color: #0e357f !important;
}

/* --- 5. 三階層目（最下層リンク）の調整 --- */
.vk-mobile-nav-menu-outer ul.sub-menu ul.sub-menu li a {
    background-color: #f8f9fa !important; /* ごく薄いグレーで中身感を出す */
    color: #333333 !important;
    padding-left: 35px !important;
    font-weight: 500 !important;
}

/* JavaScriptで開閉を制御する際の挙動を安定させる */
.vk-mobile-nav-menu-outer .acc-parent-close > .sub-menu {
    display: none !important;
}

.vk-mobile-nav-menu-outer .acc-parent-open > .sub-menu {
    display: block !important;
}
	
/* BootstrapとElementorの干渉を強制的に上書き */
#content .elementor-widget-container h3:not(.news-grid h3),
body .elementor-widget-container h3:not(.news-grid h3) {
    /* フォントサイズを上書き（Bootstrapの1.75remを打ち消し） */
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    color: #222 !important;
    line-height: 1.5 !important;
    
    /* マージンの固定 */
    margin-top: 12px !important;
    margin-bottom: 16px !important;
    clear: both !important;

    /* デザイン設定：縦線を消して下線のみ */
    border-left: none !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: 1px solid #0E357F !important; /* 商工会カラーの青下線 */
    
    /* 文字と下線の間隔を8px空ける */
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 8px !important;

    /* 余計な装飾のリセット */
    background: transparent !important;
}
	
/*Elementor*/


/* =============================================
   H3：既存の装飾をリセットし、青い下線のみを適用
   ============================================= */

/* 1. LightningやBootstrapの既存デザイン（縦線・下線・背景）を強制排除 */
.elementor-widget-container h3,
.elementor-widget-container h3:after,
.subSection-title:after {
    border: none !important;
    background: none !important;
    content: none !important; /* 疑似要素の下線を消去 */
}

/* 2. ご指定のデザイン（文字色222、下線 0E357F、8px空ける）を適用 */
body .elementor-widget-container h3:not(.news-grid h3) {
    display: block !important;
    color: #222 !important;
    font-weight: 500 !important; /* 太さ 500 */
    font-size: 1.25rem !important;
    line-height: 1.5 !important;
    text-align: left !important;
    clear: both !important;

    /* 下線の設定 */
    border-bottom: 1px solid #0E357F !important;
    width: 100%;
}
    
    /* 下線を文字から8px離す（padding-bottomで調整） */
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 8px !important;

    /* マージンの上書き（テーマの 1.5em を 12px/16px に） */
    margin-top: 12px !important;
    margin-bottom: 16px !important;
}
	
body .elementor-widget-container h3:not(.news-grid h3) {
        font-size: 1.2rem !important;
        margin-top: 16px !important;
        margin-bottom: 0 !important;
    }
	

/* 3. スマホ時の微調整 */
@media screen and (max-width: 767px) {
    body .elementor-widget-container h3:not(.news-grid h3) {
        font-size: 1rem !important;
        margin-top: 0 !important;
        margin-bottom: 16px !important;
    }
}

.case-body .case-title {
    /* 最重要：displayを通常のblock（または指定なし）に戻し、boxを展開する */
    display: -webkit-box !important; 
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;
    
    /* 高さに余裕を持たせる、または自動にする */
    height: auto !important;
    max-height: none !important; /* 一度テーマ側のmax-heightを無効化 */
    
    /* 文字が溢れたときに非表示にする（... を出すために必須） */
    overflow: hidden !important;
}

/* =============================================
   お問い合わせフォーム・おしゃれカスタマイズ
   ============================================= */

/* フォーム全体のテーブル調整 */
.wpcf7-form table.inquiry {
    width: 100% !important;
    border-collapse: separate;
    border-spacing: 0 15px; /* 行間にゆとりを持たせる */
    border: none !important;
}

/* ラベル部分（th）の装飾 */
.wpcf7-form table.inquiry th {
    width: 30%;
    background-color: #f8f9fa;
    padding: 20px !important;
    border-radius: 8px 0 0 8px;
    vertical-align: middle;
    text-align: left;
    border-left: 4px solid #0E357F !important; /* アクセントの縦線 */
}

/* 入力エリア（td）の装飾 */
.wpcf7-form table.inquiry td {
    background-color: #fff;
    padding: 15px !important;
    border-top: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0 8px 8px 0;
}

/* 必須・任意ラベル */
.haveto, .any {
    font-size: 0.75rem;
    padding: 3px 8px;
    border-radius: 3px;
    margin-right: 8px;
    font-weight: bold;
    display: inline-block;
    vertical-align: middle;
}
.haveto {
    background-color: #0E357F; /* 商工会カラー */
    color: #fff;
}
.any {
    background-color: #bbb;
    color: #fff;
}

/* 入力フォーム（input, textarea）の装飾 */
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
    width: 100% !important;
    padding: 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 5px !important;
    box-sizing: border-box;
    transition: all 0.3s;
    font-size: 16px !important; /* スマホでの自動ズーム防止 */
}

/* フォーカス時の色 */
.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    border-color: #0E357F !important;
    box-shadow: 0 0 8px rgba(14, 53, 127, 0.2) !important;
    outline: none;
}

/* 送信ボタン（100%幅） */
.wpcf7-submit {
    width: 100% !important;
    display: block !important;
    background-color: #0E357F !important;
    color: #fff !important;
    font-size: 1.2rem !important;
    font-weight: bold !important;
    padding: 18px !important;
    border: none !important;
    border-radius: 8px !important;
    cursor: pointer;
    transition: background 0.3s, opacity 0.3s;
    margin-top: 20px;
    box-shadow: 0 4px 0 #082150; /* 押しボタン風の立体感 */
}

.wpcf7-submit:hover {
    background-color: #1446a3 !important;
    opacity: 0.9;
}

.wpcf7-submit:active {
    transform: translateY(2px);
    box-shadow: 0 2px 0 #082150;
}

/* 同意チェックボックス周り */
.wpcf7-acceptance {
    margin-bottom: 15px;
    display: inline-block;
}

/* モバイル表示の最適化 */
@media screen and (max-width: 767px) {
    .wpcf7-form table.inquiry th,
    .wpcf7-form table.inquiry td {
        display: block !important;
        width: 100% !important;
        border-radius: 5px !important;
        border: none !important;
    }
    .wpcf7-form table.inquiry th {
        padding: 10px !important;
        background-color: transparent;
        border-left: 5px solid #0E357F !important;
    }
    .wpcf7-form table.inquiry td {
        padding: 0 0 20px 0 !important;
    }
}

form p{
	margin-bottom:0!important;
}

form th{
	margin-bottom:16px!important;
}

.table tbody tr td .form-control,.table tbody tr th .form-control,.table td .form-control,.table th .form-control,.table thead tr td .form-control,.table thead tr th .form-control,table tbody tr td .form-control,table tbody tr th .form-control,table td .form-control,table th .form-control,table thead tr td .form-control,table thead tr th .form-control {
    max-width: 100%!important;
}

/*リンク無効*/

/* 「トップページ」の項目を非表示にする */

/* サイトマップページ内で、自分自身（サイトマップ）の項目を隠す */
.page-item-7362.current_page_item,.page-item-7355,.page-item-23 {
    display: none !important;
}

/* 「地域振興」および「会員厚生」の親リンクのみ無効化 */
.page-item-7080 > a,
.page-item-7095 > a,
.page-item-7065 > a,
.page-item-7113 > a,
.page-item-7077 > a {
    pointer-events: none !important;
    cursor: default !important;
    text-decoration: none !important;
    color: inherit !important;
}

/* ホバー時の背景色などの変化も抑制 */
.page-item-7080 > a:hover,
.page-item-7065 > a:hover,
.page-item-7113 > a:hover,
.page-item-7095 > a:hover,
.page-item-7077 > a:hover {
    background: none !important;
}

/* モバイルナビ内の子メニュー（aタグ）を左寄せにする */
@media (max-width: 767px) {
    #menu-item-7141 > a, 
    #menu-item-7144 > a, 
    #menu-item-7147 > a, 
    #menu-item-7153 > a, 
    #menu-item-7156 > a,
    #menu-item-7162 > a,
    #menu-item-7165 > a {
        justify-content: flex-start !important; /* 中央から左寄せに変更 */
        padding-left: 20px !important;           /* 左側の余白（アイコンとの距離）を調整 */
        text-align: left !important;
    }
}

/* サイトマップの ≫ を非表示にする */
.veu_sitemap ul > li > a:before {
    content: "" !important;
    display: none !important;
}

/* 階層のドットをFontAwesomeの矢印に変更 */
.veu_sitemap .children li {
    position: relative;
    padding-left: 20px; /* アイコンのスペースを確保 */
}

.veu_sitemap .children li::before {
    /* FontAwesomeの設定 */
    content: "\f105"; /* angle-right のコード */
    font-family: "Font Awesome 5 Free", "Font Awesome 6 Free";
    font-weight: 900; /* 太い矢印にする場合は900 */
    
    /* 位置と見た目の調整 */
    position: absolute;
    left: 0;
    top: 0; /* 文字の高さに合わせる */
    width: auto;
    height: auto;
    background: none; /* 元の棒線を消す */
    color: #0E357F; /* 福崎町商工会カラー */
    font-size: 14px; /* 矢印のサイズ */
}

/* ビューワーの外枠を画面の60%に強制 */
.pdfemb-viewer {
    width: 60% !important;
    height: 70vh !important;
    max-width: 480px !important; /* 広がりすぎ防止（適宜調整） */
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

/* PDFの表示エリアを枠いっぱいに広げる */
.pdfemb-pagescontainer {
    width: 100% !important;
    height: 100% !important;
    flex-grow: 1 !important;
}

/* 中のPDF（キャンバス）を枠内に収める */
.pdfemb-inner-div, 
.pdfemb-the-canvas {
    width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

/* ツールバーを下端に固定 */
.pdfemb-toolbar {
    width: 100% !important;
    background: #f1f1f1 !important;
}

.pdfemb-viewer .pdfemb-toolbar div {
    color: #555!important;
}

/* 背景のグレー層を白で上書き */
.df-container .df-bg {
    background-color: #ffffff !important;
}

/* ビューワー全体のコンテナを白にする */
.df-container {
    background-color: #ffffff !important;
    background-image: none !important;
}

/* ページめくりエリアの背景も白に固定 */
._df_book, .df-viewer-container {
    background-color: #ffffff !important;
}

/* ローディング中などの背景も白にする */
._df_book.df-app {
    background: #ffffff !important;
}

/* アコーディオン全体のスタイル */
.custom-accordion {
    width: 100%;
    margin-bottom: 20px;
}

/* チェックボックスは隠す */
.accordion-checkbox {
    display: none;
}

/* 見出し（ラベル）のデザイン */
.accordion-label {
    display: block;
    padding: 15px 20px;
    background-color: #f8f8f8; /* 背景色 */
    border: 1px solid #ddd;
    cursor: pointer;
    font-weight: bold;
    font-size: 1.1em;
    position: relative;
    transition: background 0.3s;
}

.accordion-label:hover {
    background-color: #eee;
}

/* 開閉アイコン（矢印） */
.accordion-label::after {
    content: '\f0da'; /* FontAwesomeの右矢印 */
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 20px;
    transition: transform 0.3s;
}

/* チェックが入った時（開いた時）のアイコン回転 */
.accordion-checkbox:checked + .accordion-label::after {
    transform: rotate(90deg);
}

/* コンテンツ部分の制御 */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease-out, padding 0.3s;
    background: #fff;
    border: 1px solid #ddd;
    border-top: none;
}

/* チェックが入った時にコンテンツを表示 */
.accordion-checkbox:checked ~ .accordion-content {
    max-height: 2000px; /* 十分な高さを指定 */
    padding: 20px 0;
}

/* 既存の令和6年度の見出しを消す（二重になるため） */
.accordion-content .elementor-element-6f7d4c8 {
    display: none;
}

.entry-footer {
    display: none !important;
}

/* リスト（ul/ol）全体の文字色と先頭記号（マーカー）の色を#222222に統一 */
ul, ol,
ul li::marker, 
ol li::marker {
    color: #222222;
}

/* ==========================================================================
   支援事例一覧：カード高さ・レイアウト完全統一（優先度強化版）
   ========================================================================== */

/* 1. 親コンテナ：横並びを有効にし、縦の長さを最長に強制同期 */
.case-flex-container {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important; /* 横一列のカード高さを最長に揃える */
}

/* 2. カード本体：親要素の最長サイズ（100%）まで強制的に引き伸ばす */
.case-flex-container div.case-card {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important; /* 既存の固定値を一度リセット */
    flex: 1 1 calc(33.333% - 20px) !important; /* 3列を維持しつつ引き伸ばしを許可 */
    min-height: 100% !important; /* 高さを最長に強制固定 */
}

/* 3. カードの内包エリア：中身の背景白ボックスも縦いっぱいに広げる */
.case-flex-container div.case-card .case-body {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* 空白を自動で埋め尽くす */
    height: 100% !important;
}

/* 4. 詳細テキストエリア：ここを限界まで広げて最下部の要素を押し下げる */
.case-flex-container div.case-card .case-details {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important; /* ここが伸びることで、更新日が最底面に固定されます */
}

/* 5. 最下部の「更新日」：上部に自動マージンを持たせ、完全に底辺へ吸着 */
.case-flex-container div.case-card .case-date-row {
    margin-top: auto !important; /* 上の余白を自動計算して最下部に張り付く */
    padding-top: 15px !important;
}

/* ==========================================================================
   モバイルレイアウト：リンク枠の固定制限を完全解除（画像幅100%化）
   ========================================================================== */
@media (max-width: 991px) {
    
    /* 1. 親コンテナ：縦並びを維持 */
    .case-flex-container {
        flex-direction: column !important;
        align-items: center !important;
        gap: 30px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* 2. カード本体：幅100% */
    .case-flex-container div.case-card {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        box-shadow: 0 5px 15px rgba(0,0,0,0.1) !important;
    }

    /* 3. 【最重要】画像パーツを包むaタグ自体の固定値を完全に破壊する */
    .case-flex-container div.case-card a.case-card-link {
        display: block !important;
        width: 100% !important;        /* 357pxの固定幅を解除 */
        max-width: 100% !important;    /* 360px制限を解除 */
        height: auto !important;         /* 60pxの潰れた高さを解除 */
        flex-grow: 1 !important;
        flex-shrink: 1 !important;       /* 縮こまりを解除 */
    }

    /* 4. 画像の外枠ラッパー */
    .case-flex-container div.case-card .case-img {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        overflow: hidden !important;
        border-radius: 5px 5px 0 0 !important;
    }

    /* 5. 画像自体：カード幅いっぱいに引き伸ばす */
    .case-flex-container div.case-card .case-img img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 220px !important;    /* スマホ画面で見やすい画像の高さ */
        object-fit: cover !important; /* 画像の比率を保ったまま綺麗にトリミング */
        float: none !important;
        margin: 0 !important;
    }
}

/* ===================================================
   通常投稿では表示し、支援事例（case_study）でのみ従来カテゴリを非表示
   =================================================== */
.single-case_study .entry-header .entry-meta_items_term {
    display: none !important;
}

/* ===================================================
   【別件】支援分野タグ（.case-tag）のホバー時の挙動
   =================================================== */
/* 通常時の枠線をあらかじめ設定（ホバー時にガタつかないようにするため） */
.case-cat-row .case-tag {
    border: 1px solid transparent; 
    transition: all 0.2s ease; /* 変化を滑らかにするアニメーション */
}

/* ホバー（a:hover）したときのスタイル */
.case-cat-row .case-tag:hover {
    background-color: #ffffff !important; /* 背景を白に */
    color: #0d3880 !important;            /* 文字をテーマの青に（※1） */
    border-color: #0d3880 !important;     /* 枠線をテーマの青に（※1） */
    text-decoration: none !important;     /* 下線を防止 */
}

/* ===================================================
   【完全版】Elementor本文内テキストリンク専用（画像リンク・メニュー除外）
   =================================================== */

/* ---------------------------------------------------
   A. 通常のテキストリンク（画像・各種ファイルを除外）⇒ クリップ
   --------------------------------------------------- */
body:not(.home) .elementor-widget-text-editor a:not([href$=".pdf"]):not([href*=".pdf?"]):not([href$=".doc"]):not([href$=".docx"]):not([href*=".doc?"]):not([href*=".docx?"]):not([href$=".xls"]):not([href$=".xlsx"]):not([href*=".xls?"]):not([href*=".xlsx?"]):not([href$=".jpg"]):not([href$=".jpeg"]):not([href$=".png"]):not([href$=".gif"]):not([href$=".webp"]):not([href*=".jpg?"]):not([href*=".jpeg?"]):not([href*=".png?"]):not([href*=".gif?"]):not([href*=".webp?"]):not(:has(img))::before {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    content: "\f0c6" !important;         /* クリップアイコン */
    font-weight: 900 !important;         /* 通常リンクはSolidスタイル */
    margin-right: 0.4em !important;
    color: #666666 !important;           /* グレー */
    display: inline-block !important;
}

/* ---------------------------------------------------
   B. 各種ファイルリンク（画像リンクを除外 ＋ 白抜きアイコン）
   --------------------------------------------------- */
/* 1. PDFリンク */
body:not(.home) .elementor-widget-text-editor a[href$=".pdf"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href*=".pdf?"]:not(:has(img))::before {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    content: "\f1c1" !important;         /* PDFアイコン */
    font-weight: 400 !important;         /* 白抜き（Regular） */
    margin-right: 0.4em !important;
    color: #e02424 !important;           /* 赤色 */
    display: inline-block !important;
}

/* 2. Wordリンク（白抜きの「W」マーク入りアイコン） */
body:not(.home) .elementor-widget-text-editor a[href$=".doc"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href$=".docx"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href*=".doc?"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href*=".docx?"]:not(:has(img))::before {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    content: "\f1c2" !important;         /* fa-file-word (Wマーク) */
    font-weight: 400 !important;         /* 白抜き（Regular）に指定 */
    margin-right: 0.4em !important;
    color: #2b579a !important;           /* Wordのブルー */
    display: inline-block !important;
}

/* 3. Excelリンク（白抜きの「X」マーク入りアイコン） */
body:not(.home) .elementor-widget-text-editor a[href$=".xls"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href$=".xlsx"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href*=".xls?"]:not(:has(img))::before,
body:not(.home) .elementor-widget-text-editor a[href*=".xlsx?"]:not(:has(img))::before {
    font-family: "Font Awesome 7 Free", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome" !important;
    content: "\f1c3" !important;         /* fa-file-excel (Xマーク) */
    font-weight: 400 !important;         /* 白抜き（Regular）に指定 */
    margin-right: 0.4em !important;
    color: #217346 !important;           /* Excelのグリーン */
    display: inline-block !important;
}

/* ===================================================
   PC時の一覧ページでサムネイル画像がクリックできない問題の修正
   =================================================== */
@media (min-width: 768px) {
    /* 1. 画像とテキストが正しく横並びになるよう、親要素の配置を強制リセット */
    .media, 
    .postList .media {
        display: flex !important;
        align-items: flex-start !important;
    }

    /* 2. 左側の画像エリアが潰れたり、上に被られたりしないようにガード */
    .media .media-left,
    .postList .media-left {
        position: relative !important;
        z-index: 2 !important;        /* 画像のクリック層を上にする */
        flex-shrink: 0 !important;     /* 画像幅を維持 */
        margin-right: 20px !important; /* テキストとの間に適切な余白を作る */
    }

    /* 3. 右側のテキストエリア（はみ出していた原因）を正しい位置へ修正 */
    .media .media-body,
    .postList .media-body {
        flex: 1 !important;
        min-width: 0 !important;
        position: relative !important;
        z-index: 1 !important;
        margin-left: 0 !important;    /* 左への不正な回り込みやはみ出しをリセット */
    }

    /* 4. タイトル（h1）の領域が画像側へはみ出るのを完全にシャットアウト */
    .media-body .media-heading,
    .media-body .entry-title {
        display: block !important;
        width: 100% !important;
        clear: none !important;
    }
}

/* パンくずリスト内の特定のカテゴリーリンクがある階層を非表示にする */
.breadcrumb li:has(a[href*="/case_category/"]) {
    display: none !important;
}

/* ===================================================
   アイキャッチ画像下のキャプション用スタイリング（中央揃え）
   =================================================== */
body.single-case_study .custom-thumb-caption {
    font-size: 0.85rem;          /* 少し小さめの文字サイズ */
    color: #666666;              /* 落ち着いたグレー */
    margin-top: 8px;             /* 画像との間の隙間 */
    margin-bottom: 15px;         /* 下の要素との間の隙間 */
    text-align: center;          /* ★ここをセンター揃えに変更 */
    line-height: 1.4;
    display: block;              /* 確実に中央配置するための保険 */
    width: 100%;
}

/* ===================================================
   【Elementor特定セクション限定】パンフレット画像＋注釈の左回り込み
   =================================================== */

/* 1. 指定されたElementorセクションの内部だけでfloat（左寄せ）を有効化 */
@media (min-width: 600px) {
    .elementor-element-75614949 .pamphlet-group {
        float: left !important;
        margin-right: 25px !important;  /* 右側本文との隙間 */
        margin-bottom: 20px !important; /* 下側要素との隙間 */
        max-width: 240px !important;    /* ブロックの最大幅 */
        text-align: center !important;  /* 画像と注釈をセンタリング */
    }
    
    /* 複数枚画像がある項目（ビジネス総合・休業補償）の幅自動調整 */
    .elementor-element-75614949 .pamphlet-group:has(a + a) {
        max-width: 460px !important;
    }
}

/* 2. スマホ時：指定セクション内のみ中央揃え・縦並び */
@media (max-width: 599px) {
    .elementor-element-75614949 .pamphlet-group {
        text-align: center !important;
        margin-bottom: 20px !important;
    }
    .elementor-element-75614949 .pamphlet-group img {
        margin: 0 auto 10px auto !important;
        display: inline-block !important;
    }
}

/* 3. 注釈テキスト専用スタイリング（指定セクション内のみ） */
.elementor-element-75614949 .pamphlet-caption {
    font-size: 0.78rem !important;    /* 文字を少し小さく */
    color: #555555 !important;        /* グレー */
    margin-top: 8px !important;       /* 画像との隙間 */
    margin-bottom: 0 !important;      /* 下の余白をゼロに */
    line-height: 1.3 !important;
    text-align: center !important;
    display: block !important;
}

/* 4. 指定セクション内限定の回り込み解除（フッター等へ突き抜けない対策） */
.elementor-element-75614949 .clear-fix {
    clear: both !important;
    display: block !important;
    height: 0 !important;
    visibility: hidden !important;
}

/* 5. 保険対策：指定セクション自体の最後に回り込みを強制リセット */
.elementor-element-75614949::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* ===================================================
   【展示会出展ページ階層限定】
   Elementorコンテナ内の画像を縦380pxで綺麗に縮小・配置
   =================================================== */

/* * 💡 bodyの後に「.page-id-XXXX」や「.parent-pageid-XXXX」など、
 * /trade-shows/ 階層を特定できるBodyクラスを挟んで限定します。
 */
body.page-id-7119 .elementor-widget-container a img,
body.page-id-7119 .elementor-widget-container img {
    height: 380px !important;    /* 縦幅を380pxに固定 */
    width: auto !important;      /* 横幅は比率を維持して自動縮小 */
    max-width: 100% !important;  /* コンテナからはみ出るのを防ぐ */
    object-fit: contain !important; /* 画像を一切削らずに枠内に収める場合 */
    display: block;
    margin: 0 auto;              /* 画像を中央寄せにする */
}