/*
Theme Name: 信州に住ーむず
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/

/* =============================================
コンタクトフォーム
============================================= */
.smf-action .smf-button-control__control[data-action="confirm"],
.smf-action .smf-button-control__control[data-action="complete"] {
	background: #9eb55f;
	color: white;
	border-radius: 30px;
	border: none;
	padding: 10px 60px;
	font-size: 1.1em;
}
.smf-action .smf-button-control__control[data-action="confirm"]:hover,
.smf-action .smf-button-control__control[data-action="complete"]:hover {
	opacity: 0.7;
}

.smf-action .smf-button-control__control[data-action="back"] {
	border-radius: 30px;
	padding: 10px 32px;
	margin-bottom: 1em;
	font-size: 1em;
}
.smf-checkbox-control__label {
	font-size: 16px;
}

/* =============================================
ハンバーガーメニュー
============================================= */
.global-nav,
.vk-header-nav { /* 通常のPC用ナビゲーションを全サイズで非表示 */
    display: none !important;
}
body .vk-mobile-nav-menu-btn,
body .vk-mobile-nav { /* モバイルナビボタンとメニュー本体を全サイズで強制表示 */
    display: block !important;
}
.vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn.menu-open { /* ボタンのサイズ設定 */
    width: 40px !important;
    height: 40px !important;
}
@media (min-width: 992px) { /* PCサイズのときは 50px に上書き */
    .vk-mobile-nav-menu-btn,
    .vk-mobile-nav-menu-btn.menu-open {
        width: 50px !important;
        height: 50px !important;
    }
}
.vk-mobile-nav-menu-btn {
    border: none;
    background-image: url("https://sumuz.jp/cms/wp-content/uploads/2026/04/menu-btn_02.png");
    background-size: cover;
}
.vk-mobile-nav-menu-btn.menu-open {
    border: none;
    background-image: url("https://sumuz.jp/cms/wp-content/uploads/2026/04/menu-close-btn_02.png");
    background-size: cover;
}
.vk-mobile-nav {
    background-color: rgba(255, 255, 255, 1) !important; /* 背景色 */
}
.vk-mobile-nav-menu-btn.position-right {
    right: 10px !important;
}

/* =============================================
メニューオープン時
============================================= */
.veu_adminEdit.alert.alert-info { /* ログイン時のアラート非表示 */
	display: none;
}
@media (min-width: 992px) { /* PC・タブレット表示サイズ */
    #vk-mobile-nav.vk-mobile-nav {
        width: 40% !important;
        height: auto !important;     /* 高さを内容に合わせる */
        max-height: 90% !important;  /* 画面を突き抜けないよう最大値を設定 */
        top: 0px !important;        /* 上端の位置 */
    }
	.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	left: 60%;
	}
}
@media (max-width: 991.98px) { /* スマホ表示サイズ */
    #vk-mobile-nav.vk-mobile-nav {
        width: 80% !important;
        height: auto !important;     /* 高さを内容に合わせる */
        max-height: 95% !important;
        top: 0 !important;
    }
	.vk-mobile-nav.vk-mobile-nav-open.vk-mobile-nav-right-in {
	left: 20%;
	}
}

.vk-mobile-nav.vk-mobile-nav-open {
    background-color: #e5efef !important; /* 背景色 */
	box-shadow: -10px 10px 20px rgba(0,0,0,0.2);
	border-bottom-left-radius: 20px;
}
@media (min-width: 992px) { /* PC・タブレット表示サイズ */
	.vk-mobile-nav.vk-mobile-nav-open {
		padding: 20px 0 20px 24px !important;
	}
}
@media (max-width: 991.98px) { /* スマホ表示サイズ */
	.vk-mobile-nav.vk-mobile-nav-open {
		padding: 8px 0 20px 12px !important;
	}
}
#vk-mobile-nav::-webkit-scrollbar {
    width: 0px; /* 縦スクロールバーの幅 */
}
.vk-mobile-nav-menu-outer ul li a { /* 下線を消す */
    border: none !important;
}
.vk-mobile-nav nav>ul {
	border-top: none !important;
}
#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a { /* メニュー全体の行間を一括で狭くする */
    padding-top: 4px !important;
    padding-bottom: 4px !important;
	line-height: 1.4 !important;
	font-weight: 500;
}
/* --- 地域グループ（親＋エリア4つ）はさらに狭くして「塊」に見せる --- */
/* 194(親), 186(北), 187(東), 188(中), 189(南) */
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-194,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-186,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-187,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-188,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-189 {
    padding: 0 !important;
    min-height: 0 !important; /* Lightning独自の最小高さを解除 */
}

#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-194 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-186 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-187 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-188 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-189 a {
    padding-top: 4px !important;    /* 限界まで詰める */
    padding-bottom: 4px !important; /* 限界まで詰める */
}
#vk-mobile-nav .widget { /* ウィジェットエリア（検索ボックスなど）の上下余白も調整 */
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
#menu-item-200 { /* 住まいを探すの下に隙間を作る */
    margin-bottom: 10px;
}
#menu-item-189 { /* 南信エリアの下に隙間を作る */
    margin-bottom: 10px;
}

/* --- 全メニュー共通：三角アイコンの付与 --- */
#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a {
    display: flex;
    align-items: center;
}
#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a::before {
    font-family: "Font Awesome 7 Free";
    content: "\f0da";
    font-weight: 900;
    margin-right: 10px;
    font-size: 1.1em;
    flex-shrink: 0;
}
#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a::before { /* デフォルトの三角アイコン色（#00904F） */
    color: #00904F;
}
/* 4つのエリアの三角アイコン色（個別色） */
#menu-item-186 a::before { color: #80ceec !important; } /* 北信 */
#menu-item-187 a::before { color: #80d5d6 !important; } /* 東信 */
#menu-item-188 a::before { color: #ffdeb1 !important; } /* 中信 */
#menu-item-189 a::before { color: #f0bcbe !important; } /* 南信 */

/* PC・タブレット表示時のみ4エリアを2列にする */
/* 1. 親要素を横並び許可に設定 */
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc {
    display: flex;
    flex-wrap: wrap;
}
/* 2. 全ての項目を一旦100%幅に */
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li {
    width: 100%;
}
/* 3. 4つの地域エリアの基本設定（インデント共通化） */
#menu-item-186 a, #menu-item-187 a, #menu-item-188 a, #menu-item-189 a {
    padding-left: 1.2em !important;
}

/* 4. PC・タブレット表示時 */
@media (min-width: 768px) {
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-186,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-187,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-188,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-189 {
        width: 40% !important; /* PCは40% */
    }
}

/* 5. スマホ表示時 */
@media (max-width: 767.98px) {
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-186,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-187,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-188,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-189 {
        width: 50% !important; /* スマホはぴったり2列 */
    }
}

/* 「記事を読む」グループ（親＋子4つ）の調整 */
/* 行間を詰めて「塊」に見せる調整 */
/* 198(親), 4930(市町村), 4931(イベント), 4932(ポイント), 4933(移住者) */
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-198,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5199,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5200,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5201,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5202 {
    padding: 0 !important;
    min-height: 0 !important;
}

#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-198 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5199 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5200 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5201 a,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5202 a {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* 最下部の子メニュー（移住者の声）の下に隙間を作る */
#menu-item-5202 {
    margin-bottom: 10px;
}

/* 子メニューにインデント（字下げ）を適用 */
#menu-item-5199 a, #menu-item-5200 a, #menu-item-5201 a, #menu-item-5202 a {
    padding-left: 1.2em !important;
}
/* PC・タブレット表示時のみ子メニュー4つを2列にする */
@media (min-width: 768px) {
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5199,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5200,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5201,
    #vk-mobile-nav .vk-mobile-nav-menu-outer ul.vk-menu-acc li#menu-item-5202 {
        width: 40% !important;
    }
}

/* =============================================
ヘッダー
============================================= */
.site-header {
	background-color: #ffffffE6 !important;
}
.header_scrolled .site-header-logo {
    display: block;
}
@media (min-width: 992px) {
	.site-header-logo {
    	display: none;
	}
	.site-header-container {
		margin-left: 2vw;
	}
}
/* 991px以下のデバイス（スマホ・タブレット）への指定 */
@media (max-width: 991px) {
    /* 1. ロゴを表示させる（全体で消している場合の上書き） */
    .site-header-logo {
        display: block !important;
        margin-left: 0 !important; /* 左側の余白をゼロに */
        margin-right: auto !important;
    }

    /* 2. ロゴを囲むコンテナの配置を左寄せに固定 */
    .site-header-logo a {
        display: flex;
        justify-content: flex-start;
    }

    /* 3. ヘッダー内のレイアウト調整 */
    .site-header-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
}

/* =============================================
トップへ戻るボタン
============================================= */
/* デフォルトのボタンデザイン（背景色や枠線）をリセット */
#page_top.page_top_btn {
    background-color: transparent !important; /* 背景を透明に */
    border: none !important;                 /* 枠線を消す */
    box-shadow: none !important;             /* 影を消す */
	width: 50px;                             /* 画像の幅に合わせて調整 */
    height: 50px;                            /* 画像の高さに合わせて調整 */
    padding: 0 !important;
	background-image:none;
}
/* 画像を表示させる設定 */
#page_top.page_top_btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-image: url("https://sumuz.jp/cms/wp-content/uploads/2026/04/back-to-top.png");
    background-size: contain;                /* 画像を枠内に収める */
    background-repeat: no-repeat;
    background-position: center;
}

/* =============================================
フッター
============================================= */
.site-footer-copyright {
	display: none;
}
.footer-widget-area {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}
.site-footer {
	border-top: none;
}
.page-header-title {
	font-weight: 500 !important;
}
/* フッター内のリンクの下線を消す */
.site-footer a {
    text-decoration: none !important;
	color: #333 !important;
}

/* =============================================
パーツ
============================================= */
h2 {
	font-weight: 500;
	font-size: 2em;
}
h1,h3,h4,h5,h6,
.entry-title,
.vk_post_title.media-title a,
.vk_post_title_new {
	font-weight: 500;
}

p,.wp-block-list li,
#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a {
    font-size: 16px; /* モバイル・タブレット共通（デフォルト） */
    line-height: 1.7;
}
.wp-block-table table { /* モバイル・タブレット共通（デフォルト）テーブル内の文字サイズ */
    font-size: 15px;
}
/* PCサイズ（画面幅が1024px以上の場合） */
@media screen and (min-width: 1024px) {
    p,.wp-block-list li,
	#vk-mobile-nav .vk-mobile-nav-menu-outer ul li a {
        font-size: 18px;
    }
	.wp-block-table table {
		font-size: 16px;
	}
}
.z-index999 { /* 前面へ */
	z-index: 999 !important;
}
@media (max-width: 768px)  { /* カラムの順序入れ替え */
	.col-reverse {
		display: flex !important;
		flex-direction: column-reverse !important;
	}
}
@media screen and (min-width: 769px) { /* PCのみテキスト中央寄せ */
	.text-center-pc {
		text-align: center !important;
  }
}
.vk_button_link { /* VKボタンのパディングを上下左右12pxに変更 */
    padding: 12px 12px !important;
}

/* YouTubeブロックの余計な余白をリセットし、強制的に16:9にする */
.wp-block-embed-youtube, 
.wp-block-embed.is-type-video {
    margin-bottom: 10px !important; /* 下の余白 */
}
.wp-block-embed-youtube .wp-block-embed__wrapper,
.wp-block-embed.is-type-video .wp-block-embed__wrapper {
    position: relative !important;
    width: 100% !important;
    padding-top: 56.25% !important; /* 強制的に16:9の比率を作る */
    height: 0 !important;
    overflow: hidden !important;
    border-radius: 10px !important; /* 角丸10px */
}
/* 中の動画本体を枠いっぱいに広げる */
.wp-block-embed-youtube iframe,
.wp-block-embed.is-type-video iframe {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
}
.table-td-26 td:nth-child(1){ /* テーブルの1列目の幅 */
	width: 26%;
}
.table-area table tr th:first-child,
.table-area table tr td:first-child { /* テーブルの最初の列（thおよびtd）を上寄せにする */
    vertical-align: top !important;
}
/* VK HTMLサイトマップの子カテゴリーを非表示にする */
.sitemap-post .sitemap-term-list ul.children {
    display: none !important;
}
/* イメージマップに使用している画像を満遍なくレスポンシブ化する */
img[usemap] {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
}

/* 雷鳥をゆっくり無限にゆらゆらさせるカスタムアニメーション */
.nonstop-shake img {
    animation: slowSway 3s infinite ease-in-out;
    transform-origin: bottom center; /* 変形の支点を「下側の真ん中（足元）」に固定 */
    will-change: transform;
}
@keyframes slowSway {
    0%, 100% { transform: rotate(-2deg); }
    50% { transform: rotate(2deg); }
}
@media (max-width: 768px) {
	.raicho-img-sp {
		width: 70px;
	}
}

/* =============================================
ポップアップウィンドウ
============================================= */
@media (max-width: 768px) { /* 文字数の多いタイトルのサイズを小さく */
	.pum-title.popmake-title {
		font-size: 25px !important;
	}
}
/* ポップアップ開閉時のカクつきをごまかすためメニューボタンと戻るボタン非表示に */
html.pum-open #page_top,
html.pum-open .vk-mobile-nav-menu-btn {
    opacity: 0;
    pointer-events: none;
}

/* =============================================
トップページ メインビジュアル
============================================= */
/* 画面サイズ lg 以上用 */
/* 土台となるグループを基準位置にする */
.slider-container {
    position: relative;
    overflow: visible !important; /* はみ出しを許可 */
}
/* スライダー自体の枠からはみ出すのを許可する */
.slider-container .vk_slider {
    overflow: visible !important;
}
/* 日本地図の配置設定 */
.floating-map {
    position: absolute;
    bottom: -10%;   /* 下側のはみ出し具合（％やpxで微調整してください） */
    right: 10%;     /* 右側の位置 */
    width: 45%;     /* 地図の大きさ（横幅） */
    max-width: 500px;
    z-index: 10;    /* スライダーより手前に表示 */
    margin: 0 !important;
}
/* 雷鳥の配置設定 */
.floating-birds {
    position: absolute;
    bottom: 5%;    /* 下からの位置 */
    right: 5%;      /* 右からのはみ出し具合 */
    width: 15%;     /* 雷鳥の大きさ（横幅） */
    max-width: 140px;
    z-index: 11;    /* 地図よりもさらに手前に表示 */
    margin: 0 !important;
}

/* ==========================================
   画面サイズ md 以下用の配置設定（新構成）
   ========================================== */
/* 土台となるグループを基準位置にする */
.slider-container-md {
    position: relative;
    overflow: visible !important;
}
.slider-container-md .vk_slider {
    overflow: visible !important;
}

/* スライダー外に浮かせる全要素の共通定義 */
.floating-text-md,
.floating-map-md,
.floating-birds-md {
    position: absolute;
    margin: 0 !important;
}

/* 重なり順（テキストと雷鳥を一番手前に） */
.floating-text-md  { z-index: 12; }
.floating-birds-md { z-index: 11; }
.floating-map-md   { z-index: 10; }


/* ------------------------------------------
   【中画面：md】タブレットサイズでの位置
   ------------------------------------------ */
@media (max-width: 991px) {
    /* 左上の文字配置 */
    .floating-text-md {
        top: 8%;          /* 上からの位置 */
        left: 2%;         /* 左からの位置 */
    }

    /* 右下の日本地図 */
    .floating-map-md {
        bottom: -15px;    /* 下側へのはみ出し具合 */
        right: 2%;        /* 右からの位置 */
        width: 50%;       /* 地図のサイズ */
        max-width: 320px;
    }
    
    /* 右下の雷鳥 */
    .floating-birds-md {
        bottom: 20px;     /* 下からの位置 */
        right: 2%;        /* 右からの位置 */
        width: 20%;       /* 雷鳥のサイズ */
        max-width: 110px;
    }
}

/* ------------------------------------------
   【小画面：sm】スマートフォンサイズでの位置
   ------------------------------------------ */
@media (max-width: 575px) {
    /* スマホは画面が狭いので、文字を少し小さく・位置をタイトに */
    .floating-text-md {
        top: 6%;
        left: 2%;
    }
    .floating-text-md p {
        font-size: 18px !important; /* スマホ用に文字サイズを縮小 */
        line-height: 1.2 !important;
    }
    
    .floating-map-md {
        bottom: -10px;
        right: 4%;
        width: 55%;
    }
    
    .floating-birds-md {
        bottom: 16px;
        right: 2%;
        width: 19%;
    }
}

/* =============================================
記事一覧（投稿ページ・自動生成の場合）
============================================= */
/* --- 全体レイアウト --- */
/* スマホ時は縦、PC（768px以上）時は横並び */
@media (max-width: 767px) {
    .vk_post.media {
        flex-direction: column !important;
    }
    .vk_post.media .vk_post_imgOuter {
        width: 100% !important;
        margin-bottom: 15px;
    }
	.vk_post.media .vk_post_body {
        width: 100% !important;
        flex-basis: auto !important; /* 横並び時の幅計算をリセット */
        padding-left: 0 !important;  /* 左側の余白をリセット */
        padding-right: 0 !important;
    }
}

/* 右側エリアをFlexで縦に並べる */
.vk_post.media .vk_post_body {
    display: flex !important;
    flex-direction: column !important;
    border: none !important; /* 本文エリアの境界線を消す */
}

/* 順番の指定 */
.custom-post-labels { 
    order: 1; 
    display: flex !important; 
    flex-wrap: wrap; 
    gap: 8px; 
    margin-bottom: 3px; 
}
.vk_post_date { 
    order: 2; 
    font-size: 16px !important; 
    margin-bottom: 5px !important; 
    color: #666; 
}
.vk_post_title { 
    order: 3; 
    font-size: 1.8em !important; 
    margin-top: 0 !important; 
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
    line-height: 1.2;
    border: none !important; 
}
.vk_post_excerpt { 
    order: 4; 
    line-height: 1.7; 
    color: #333 !important;
	opacity: 1 !important;
    font-size: 16px !important; 
}

/* タイトル下線を消すための念押し */
.vk_post_title, .vk_post_title a {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* --- タグ・カテゴリーの共通デザイン（一覧＆詳細） --- */
.custom-tag, 
.custom-cat,
.single-post .entry-footer .entry-meta-data-list--post_tag a,
.single-post .entry-footer .entry-meta-data-list--category a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    padding: 0 20px;
    border-radius: 10px;
    text-decoration: none !important;
    font-size: 14px;
}

/* 文字色の設定（タグ：白 / カテゴリ：濃グレー） */
.custom-tag, 
.custom-tag:hover,
.single-post .entry-footer .entry-meta-data-list--post_tag a,
.single-post .entry-footer .entry-meta-data-list--post_tag a:hover {
    color: #fff !important;
}

.custom-cat, 
.custom-cat:hover,
.single-post .entry-footer .entry-meta-data-list--category a,
.single-post .entry-footer .entry-meta-data-list--category a:hover {
    color: #333 !important;
}

/* --- 色の設定（共通化） --- */

/* タグ（緑） */
.custom-tag,
.single-post .entry-footer .entry-meta-data-list--post_tag a { 
    background-color: #00904F !important; 
}

/* 北信エリア */
.category-hokushin .custom-cat,
.category-hokushin .entry-meta-data-list--category a { background-color: #80ceec !important; }

/* 東信エリア */
.category-toshin .custom-cat,
.category-toshin .entry-meta-data-list--category a { background-color: #80d5d6 !important; }

/* 中信エリア */
.category-chushin .custom-cat,
.category-chushin .entry-meta-data-list--category a { background-color: #ffdeb1 !important; }

/* 南信エリア */
.category-nanshin .custom-cat,
.category-nanshin .entry-meta-data-list--category a { background-color: #f0bcbe !important; }

/* 全域 */
.category-all-nagano .custom-cat,
.category-all-nagano .entry-meta-data-list--category a { background-color: #d3d3d3 !important; }

/* --- その他調整 --- */
@media (min-width: 992px) {
    .vk_post_excerpt { font-size: 18px !important; }
}
.vk_post_title {
	margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.custom-read-more { 
	color: #00904F !important;
}

/* 画像の角丸 */
.vk_post_imgOuter, .vk_post_imgOuter a, .vk_post_imgOuter img {
    border-radius: 10px !important;
    overflow: hidden;
}

/* 不要な新着マーク、ボタン等を消す */
.vk_post_title_new, .vk_post_imgOuter_singleTermLabel, .vk_post_btnOuter {
    display: none !important;
}

/* =============================================
記事一覧（固定ページ・クエリ―ループブロックの場合）
============================================= */
/* タグ */
.taxonomy-post_tag.wp-block-post-terms,
.taxonomy-category.wp-block-post-terms { /* タグ全体のコンテナ（親要素） */
    display: flex;       /* 要素を並べる */
    gap: 8px;            /* タグが複数ある場合の隙間 */
}
.taxonomy-post_tag.wp-block-post-terms a,
.taxonomy-category.wp-block-post-terms a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 32px;
    border-radius: 6px;    
    text-decoration: none !important;
    font-size: 14px;                      /* 文字サイズ */
}
.taxonomy-post_tag.wp-block-post-terms a {
	width: 190px;
	background-color: #00904F !important; /* タグ背景色 */
	color: #ffffff !important;            /* タグ文字色 */
}
.taxonomy-category.wp-block-post-terms a {
	width: 100px;
}
.wp-block-post-terms__separator { /* 複数ある場合のカンマを消す */
    display: none;
}
/* トップページ、エリアページ：カテゴリー欄の「最後の一つ」だけを残して他を消す */
.home .taxonomy-category.wp-block-post-terms a:not(:last-of-type),
.page-id-175 .taxonomy-category.wp-block-post-terms a:not(:last-of-type),
.page-id-177 .taxonomy-category.wp-block-post-terms a:not(:last-of-type),
.page-id-179 .taxonomy-category.wp-block-post-terms a:not(:last-of-type),
.page-id-181 .taxonomy-category.wp-block-post-terms a:not(:last-of-type) {
    display: none !important;
}

.taxonomy-category.wp-block-post-terms a[href*="/category/hokushin/"] { /* 北信エリア背景色 */
    background-color: #80ceec !important;
	color: #333 !important;                                  /* エリア文字色 */
}
.taxonomy-category.wp-block-post-terms a[href*="/category/toshin/"] { /* 東信エリア背景色 */
    background-color: #80d5d6 !important;
	color: #333 !important;                                  /* エリア文字色 */
}
.taxonomy-category.wp-block-post-terms a[href*="/category/chushin/"] { /* 中信エリア背景色 */
    background-color: #ffdeb1 !important;
	color: #333 !important;                                  /* エリア文字色 */
}
.taxonomy-category.wp-block-post-terms a[href*="/category/nanshin/"] { /* 南信エリア背景色 */
    background-color: #f0bcbe !important;
	color: #333 !important;                                  /* エリア文字色 */
}
.taxonomy-category.wp-block-post-terms a[href*="/category/all-nagano/"] { /* 全域エリア背景色 */
    background-color: #d3d3d3 !important;
	color: #333 !important;                                  /* エリア文字色 */
}

.wp-block-post-title { /* タイトルの色 */
	color: #333 !important;
	--vk-color-text-link: #333 !important; /* CSS変数が原因なので、変数そのものも無効化する指定 */
}
.wp-block-post-title a:hover {
	color: #00904F !important;
    --vk-color-text-link: #00904F !important;
}
/* 抜粋テキストの段落と、続きを読むの段落をインライン化する */
.wp-block-post-excerpt__excerpt, 
.wp-block-post-excerpt__more-text {
    display: inline; /* ブロック要素をインライン要素に変更 */
    margin: 0;      /* 余計な余白をリセット */
}
/* 「続きを読む」 */
.wp-block-post-excerpt__more-text {
    margin-left: 6px; /* 「…」との間の微調整 */
}
.wp-block-post-excerpt__more-link { /* 「続きを読む」の色 */
    color: #00904F !important;
    --vk-color-text-link: #00904F !important; 
}
.wp-block-post-excerpt__more-link:hover {
    color: #00904F !important;
    --vk-color-text-link: #00904F !important;
}
/* 抜粋　両端揃え（均等割付） */
.wp-block-post-excerpt {
    text-align: justify;
    text-justify: inter-character; /* 日本語で綺麗に均等配置するための設定 */
}

/* =============================================
絞り込み検索（Search & Filter）カスタマイズ
============================================= */
/* --- レイアウト・リセット設定 --- */
.searchandfilter, .searchandfilter div, .searchandfilter ul, .searchandfilter li {
    background: transparent !important;
    border: none !important;
    padding-left: 0 !important;
    list-style: none !important;
}

.smb-read-more-box .searchandfilter h4 {
    margin-top: 0 !important;
	margin-bottom: 0px !important;
	padding: 0;
    font-weight: bold;
    font-size: 18px;
    background-color: transparent !important;
}

.searchandfilter > div > ul > li {
    display: block !important;
    width: 100% !important;
    margin-bottom: 5px;
    float: none !important;
}

.searchandfilter ul {
    margin-bottom: 16px !important;
    margin-block-end: 16px !important; /* ブラウザ標準のブロック余白も上書き */
}

/* フリーワード入力欄 */
.searchandfilter input[type="text"] {
	margin: 10px 0; 
}
/* 検索ボタン */
.searchandfilter input[type="submit"] {
    display: block;
    margin-top: 32px;
	border-radius: 50px !important;
}

/* 「すべてのタグ」を非表示 */
.searchandfilter li:has(input[name="ofpost_tag[]"][value="0"]) {
    display: none;
}

/* 「カテゴリー一覧」を非表示 */
.searchandfilter li:has(input[name="ofcategory[]"][value="0"]) {
    display: none;
}

/* ラジオボタン・チェックボックス自体を隠す */
.searchandfilter input[type="radio"],
.searchandfilter input[type="checkbox"] {
    display: none !important;
}

/* --- ボタンの共通ベースデザイン --- */
.searchandfilter label {
    display: inline-block;
    margin: 5px 8px 5px 0;
    padding: 8px 18px;
    border-radius: 50px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    background-color: #fff !important; /* 基本は白背景 */
    border: 2px solid #ccc;           /* 枠線の太さを2pxに固定 */
    transition: background-color 0.2s, color 0.2s;
}

/* --- 【テーマ（＝タグ）】の設定（緑） --- */
.searchandfilter li:has(input[name^="ofpost_tag"]) label {
    border-color: #00904F;
    color: #00904F;
}
/* 選択時 */
.searchandfilter li:has(input[name^="ofpost_tag"]) label:has(input:checked) {
    background-color: #00904F !important;
    color: #fff !important;
}

/* --- 【エリア別】の枠線と選択時の色設定 --- */
/* 全域 (ID:1) */
.searchandfilter .cat-item-1 label { border-color: #d3d3d3; color: #333; }
.searchandfilter .cat-item-1 label:has(input:checked) { 
    background-color: #d3d3d3 !important; 
    color: #000 !important; 
}

/* 北信エリア (ID:5) */
.searchandfilter .cat-item-5 label { border-color: #80ceec; color: #333; }
.searchandfilter .cat-item-5 label:has(input:checked) { 
    background-color: #80ceec !important; 
    color: #000 !important; 
}

/* 東信エリア (ID:6) */
.searchandfilter .cat-item-6 label { border-color: #80d5d6; color: #333; }
.searchandfilter .cat-item-6 label:has(input:checked) { 
    background-color: #80d5d6 !important; 
    color: #000 !important; 
}

/* 中信エリア (ID:7) */
.searchandfilter .cat-item-7 label { border-color: #ffdeb1; color: #333; }
.searchandfilter .cat-item-7 label:has(input:checked) { 
    background-color: #ffdeb1 !important; 
    color: #000 !important; 
}

/* 南信エリア (ID:8) */
.searchandfilter .cat-item-8 label { border-color: #f0bcbe; color: #333; }
.searchandfilter .cat-item-8 label:has(input:checked) { 
    background-color: #f0bcbe !important; 
    color: #000 !important; 
}
/* --- エリアの子カテゴリー（インデントされているリスト）を非表示にする --- */
.searchandfilter .cat-item-13, /* 長野市 */
.searchandfilter .cat-item-14, /* 須坂市 */
.searchandfilter .cat-item-15, /* 中野市 */
.searchandfilter .cat-item-16, /* 飯山市 */
.searchandfilter .cat-item-17, /* 千曲市 */
.searchandfilter .cat-item-18, /* 坂城町 */
.searchandfilter .cat-item-19, /* 小布施町 */
.searchandfilter .cat-item-20, /* 高山村 */
.searchandfilter .cat-item-21, /* 山ノ内町 */
.searchandfilter .cat-item-22, /* 木島平村 */
.searchandfilter .cat-item-23, /* 野沢温泉村 */
.searchandfilter .cat-item-24, /* 信濃町 */
.searchandfilter .cat-item-25, /* 小川村 */
.searchandfilter .cat-item-26, /* 飯綱町 */
.searchandfilter .cat-item-27, /* 栄村 */
.searchandfilter .cat-item-42, /* 上田市 */
.searchandfilter .cat-item-41, /* 小諸市 */
.searchandfilter .cat-item-40, /* 佐久市 */
.searchandfilter .cat-item-39, /* 東御市 */
.searchandfilter .cat-item-38, /* 小海町 */
.searchandfilter .cat-item-37, /* 川上村 */
.searchandfilter .cat-item-36, /* 南牧村 */
.searchandfilter .cat-item-35, /* 南相木村 */
.searchandfilter .cat-item-34, /* 北相木村 */
.searchandfilter .cat-item-33, /* 佐久穂町 */
.searchandfilter .cat-item-32, /* 軽井沢町 */
.searchandfilter .cat-item-31, /* 御代田町 */
.searchandfilter .cat-item-30, /* 立科町 */
.searchandfilter .cat-item-29, /* 青木村 */
.searchandfilter .cat-item-28, /* 長和町 */
.searchandfilter .cat-item-61, /* 松本市 */
.searchandfilter .cat-item-60, /* 大町市 */
.searchandfilter .cat-item-59, /* 塩尻市 */
.searchandfilter .cat-item-58, /* 安曇野市 */
.searchandfilter .cat-item-57, /* 上松町 */
.searchandfilter .cat-item-56, /* 南木曽町 */
.searchandfilter .cat-item-55, /* 木祖村 */
.searchandfilter .cat-item-54, /* 王滝村 */
.searchandfilter .cat-item-53, /* 大桑村 */
.searchandfilter .cat-item-52, /* 木曽町 */
.searchandfilter .cat-item-51, /* 麻績村 */
.searchandfilter .cat-item-50, /* 生坂村 */
.searchandfilter .cat-item-49, /* 山形村 */
.searchandfilter .cat-item-48, /* 朝日村 */
.searchandfilter .cat-item-47, /* 筑北村 */
.searchandfilter .cat-item-46, /* 池田町 */
.searchandfilter .cat-item-45, /* 松川村 */
.searchandfilter .cat-item-44, /* 白馬村 */
.searchandfilter .cat-item-43, /* 小谷村 */
.searchandfilter .cat-item-89, /* 岡谷市 */
.searchandfilter .cat-item-88, /* 飯田市 */
.searchandfilter .cat-item-87, /* 諏訪市 */
.searchandfilter .cat-item-86, /* 伊那市 */
.searchandfilter .cat-item-85, /* 駒ヶ根市 */
.searchandfilter .cat-item-84, /* 茅野市 */
.searchandfilter .cat-item-83, /* 下諏訪町 */
.searchandfilter .cat-item-82, /* 富士見町 */
.searchandfilter .cat-item-81, /* 原村 */
.searchandfilter .cat-item-80, /* 辰野町 */
.searchandfilter .cat-item-79, /* 箕輪町 */
.searchandfilter .cat-item-78, /* 飯島町 */
.searchandfilter .cat-item-77, /* 南箕輪村 */
.searchandfilter .cat-item-76, /* 中川村 */
.searchandfilter .cat-item-75, /* 宮田村 */
.searchandfilter .cat-item-74, /* 松川町 */
.searchandfilter .cat-item-73, /* 高森町 */
.searchandfilter .cat-item-72, /* 阿南町 */
.searchandfilter .cat-item-71, /* 阿智村 */
.searchandfilter .cat-item-70, /* 平谷村 */
.searchandfilter .cat-item-69, /* 根羽村 */
.searchandfilter .cat-item-68, /* 下條村 */
.searchandfilter .cat-item-67, /* 売木村 */
.searchandfilter .cat-item-66, /* 天龍村 */
.searchandfilter .cat-item-65, /* 泰阜村 */
.searchandfilter .cat-item-64, /* 喬木村 */
.searchandfilter .cat-item-63, /* 豊丘村 */
.searchandfilter .cat-item-62 /* 大鹿村 */ { 
    display: none !important;
}

/* =============================================
検索パネルの続きを読むボックス（ボタンの設定効かないのでカスタム）
============================================= */
/* 親要素の制限をすべて解除する */
.smb-read-more-box__action,
.smb-read-more-box__btn-wrapper {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important; /* 中のボタンを中央へ */
}
/* 開閉ボタンのサイズや色など */
.smb-read-more-box__button.smb-btn {
    padding: 10px 20px !important;
    font-size: 16px !important;
	border-radius: 10px !important;
	border: none !important;
	background-color: #9eb55f !important; /* 背景色 */
    color: #fff !important;               /* 文字色 */
	display: block !important;
	width: 100% !important;
	min-width: 100% !important; /* 強制的に確保 */
	margin-left: auto !important;
    margin-right: auto !important;
	text-align: center !important;
    white-space: nowrap !important;
}
/* 開閉ボタンにアイコンをつける（共通設定） */
.smb-read-more-box__button .smb-btn__label::after {
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    margin-left: 8px;      /* テキストとの間隔 */
    font-size: 1.2em;      /* サイズを少し大きく（元の1.2倍） */
	display: inline-block !important;
    position: relative !important; /* 相対位置を有効にする */
    line-height: 1;        /* 行間によるズレを防止 */
}
/* 閉じている時（▼を表示） */
.smb-read-more-box__button[aria-expanded="false"] .smb-btn__label::after {
    content: "\f0d7"; /* fa-caret-down */
}
/* 開いている時（▲を表示） */
.smb-read-more-box__button[aria-expanded="true"] .smb-btn__label::after {
    content: "\f0d8"; /* fa-caret-up */
	top: 0.1em !important;
}

/* =============================================
投稿ページ
============================================= */
.entry-meta-item-author { /* 投稿者名を非表示 */
	display: none;
}
.entry-meta-item-updated { /* 最終更新日を非表示 */
	display: none;
}
.vk_posts.next-prev{ /* 前後の投稿非表示 */
	display:none;
}
/* タグとカテゴリーをタイトルの上に表示する */
.single-post article.entry { /* 記事全体をFlexBoxにして並び替えを有効にする */
    display: flex !important;
    flex-direction: column !important;
}
.single-post .entry-footer { /* 本来下にある entry-footer を一番上に持ってくる */
    order: -1 !important;
    display: flex !important; /* 横並びを強制 */
    flex-wrap: wrap;
    border: none;
    padding: 0;
    margin-bottom: 15px;
}
.single-post .entry-meta-data-list--post_tag { /* タグのブロックを一番左（最初）に持ってくる */
    order: 1 !important;
	width: auto !important; /* 改行を防ぐ */
}
.single-post .entry-meta-data-list--category { /* カテゴリーブロックをその次に */
    order: 2 !important;
	width: auto !important; /* 改行を防ぐ */
}
.single-post .entry-footer dl,
.single-post .entry-footer dt,
.single-post .entry-footer dd { /* Lightning標準の dl, dt, dd 固有のスタイルをリセット */
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
.single-post .entry-footer .tagcloud a:before {  /* タグのアイコンを強制的に消去 */
    display: none !important;
}
.single-post .entry-footer dt { /* 「カテゴリー」「タグ」というテキストを非表示 */
    display: none !important;
}
.single-post .entry-footer dd { /* 5. 「、」を消して、ボタン同士の隙間を整える */
    font-size: 0 !important;
}
.single-post .entry-footer dd a {
    display: inline-flex !important;
    font-size: 14px !important; /* 文字サイズを戻す */
    margin-right: 8px; /* ボタン間の余白 */
}
.single-post .entry-body em { /* 投稿ページの本文内のemタグのカスタマイズ */
    color: #00904F;
    font-style: italic; /* 通常の斜体キープ（不要なら normal に） */
}