/*
 Theme Name: Lightning Child
 Template: lightning
*/

/* ===== SP：ヘッダー完全版（ロゴ左 / 3本線右上固定 / 変な位置に出ない） ===== */
@media (max-width: 767px){

 /* ヘッダーは前面・背景確保（ロゴがMVに埋もれない） */
 #site-header{
   position: relative;
   z-index: 9999;
   background: #fff;
 }

 /* ヘッダー内：ロゴを左寄せで安定させる */
 #site-header-container{
   display: flex;
   align-items: center;
   justify-content: flex-start;

   padding: 7px 15px;  /* ← お知らせと同じ左右余白 */
   min-height: 45px;
   position: relative;
 }

 /* ロゴ：テーマの余計なpadding/margin/中央寄せを殺す */
 .site-header-logo{
   margin: 0 !important;
   padding: 0 !important;
   line-height: 1 !important;
   text-align: left !important;

   display: flex;
   align-items: center;
 }

 /* ロゴ画像：高さで制御（高解像度PNGならぼやけにくい） */
 .site-header-logo img{
   display: block;
   height: 28px;
   width: auto;
   max-width: 100%;

   image-rendering: -webkit-optimize-contrast;
   transform: translateZ(0);
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
 }

 /* PC用のナビ（リンク一覧）はSPでは隠す（出ると崩れる） */
 #global-nav,
 #global-nav .global-nav-list{
   display: none !important;
 }

 /* ===== 3本線ボタン（MENU）を “画面右上に固定” して確実に出す =====
     ※ DOM上でヘッダー外に居てもこの方法なら正しい位置に出ます */
 #vk-mobile-nav-menu-btn{
   display: inline-flex !important;
   align-items: center;
   justify-content: center;

   position: fixed !important;
   right: 15px !important;   /* ← お知らせと同じ右余白 */
   top: 7px !important;      /* ヘッダー内に見える位置 */
   z-index: 100000 !important;

   /* クリックできない事故防止 */
   pointer-events: auto !important;
   visibility: visible !important;
   opacity: 1 !important;
 }
}



.site-header-logo img {
  max-height: 22px;
}


/* ヘッダー（ロゴ＋ナビ）の横幅を1200pxに制限して中央寄せ */
#site-header-container.site-header-container.container {
 max-width: 1200px;
 margin-left: auto;
 margin-right: auto;
 margin-top:8px;
 margin-bottom:26px;
}

/* ヘッダーのbox-shadowを消す */
.site-header {
 box-shadow: none;
}


/* スライド外枠を1100pxに制限して中央寄せ */
.lightning_swiper.ltg-slide {
 max-width: 1100px;
 margin-left: auto;
 margin-right: auto;
}

/* 念のため：内側がはみ出すのを防ぐ */
.lightning_swiper.ltg-slide .swiper-wrapper {
 max-width: 1200px; /* 後述の1200pxを優先して適用 */
}

/* 画像を枠に合わせる（横幅100%） */
.lightning_swiper.ltg-slide img.ltg-slide-item-img {
 width: 100%;
 height: auto;
 display: block;
}

/* トップページ：最新の記事リストの余白と下線を消す */
.home .wp-block-latest-posts li {
 padding: 0;
 border-bottom: none;
}

/* お知らせ コラム*/
h2.wp-block-heading {
   margin-bottom: 3px;
   padding: 3px 0 2px;
   font-size: 1.3rem !important;
}

/* フッターの Powered by 行だけ非表示 */
.site-footer-copyright p:last-child {
 display: none;
}

/* 電話ボタン（fa-phone が付いているVKボタン）のサブキャプションに営業時間を追加 */
.wp-block-vk-blocks-button:has(.vk_button_link_before.fa-phone)
.vk_button_link_subCaption::after {
 content: "\A平日 10:00～17:00";
 white-space: pre-line;
 display: block;
 font-size: 0.9em;
 line-height: 10px;
 margin-top: -3px;
}



/* =========================================
 各種業務紹介ページ
========================================= */

/* =========================================
  /service（category-service）
  タイトル（リンク）だけ＋横線（1本）
========================================= */

/* 画像・日付・抜粋・ボタンを非表示 */
.category-service .vk_post_imgOuter,
.category-service .vk_post_imgOuter_singleTermLabel,
.category-service .card-img-overlay,
.category-service .vk_post_date,
.category-service .vk_post_excerpt,
.category-service .vk_post_btnOuter {
 display: none !important;
}

/* h1の見出し */

.category-service h1.entry-title{
   font-size: 1.5rem;
}

/* h2の見出し */
.category-service h2.custom_h2 {
   padding: 3px 0 4px;
   font-size: 1.3rem !important;
   margin: 0 0 20px;
}


/* 記事1件の外枠：下線だけ */
.category-service .vk_post {
 margin: 0;
 padding: 0;
 border-top: none !important;      /* ← 上の線を強制削除 */
 border-left: none;
 border-right: none;
 border-bottom: 1px solid #ccc;    /* ← 残す線はこれだけ */
}

/* media レイアウト由来の線・余白を消す */
.category-service .vk_post_body,
.category-service .media,
.category-service .media-body {
 border: none !important;
 padding: 0;
 margin: 0;
}

/* タイトル */
.category-service .vk_post_title {
 margin: 0;
 padding: 0.9rem 0;
 font-size: 1rem;
 font-weight: normal;
}

/* タイトルリンク：テキストのみ */
.category-service .vk_post_title a {
 display: block;
 text-decoration: none;
 color: inherit;
}

/* hoverしても装飾なし */
.category-service .vk_post_title a:hover {
 text-decoration: none;
}


.category-service .vk_post-btn-display.media .vk_post_body {
   padding-bottom: 0px;
}

/* /service：上下の余白を詰める */
.category-service .vk_post {
 margin-top: 0;
 margin-bottom: 0;
 padding-top: 0;
 padding-bottom: 0;
}

.category-service .vk_post_title {
 margin-top: 0;
 margin-bottom: 0;
 padding-top: 0.5rem;   /* ← 数字を小さくするとさらに詰まる */
 padding-bottom: 0.5rem;
}

/* =========================================
  /service：上下余白を強制的に詰める
========================================= */

/* 記事1件全体 */
.category-service .vk_post.media {
 margin-top: 0 !important;
 margin-bottom: 0 !important;
 padding-top: 0 !important;
 padding-bottom: 0 !important;
}

/* media レイアウト由来の余白 */
.category-service .media,
.category-service .media-body,
.category-service .vk_post_body {
 margin-top: 0 !important;
 margin-bottom: 0 !important;
 padding-top: 0 !important;
 padding-bottom: 0 !important;
}

/* タイトル（h5）の上下余白 */
.category-service h5.vk_post_title {
 margin-top: 0 !important;
 margin-bottom: 0 !important;
 padding-top: 0.4rem !important;
 padding-bottom: 0.4rem !important;
}



/* =========================================
  固定ページ ID=5 トップページ 3カラム（上下2段共通）
  front-3col-band  … 画面いっぱいの帯
  top-front-columns … 帯の中の3カラム
========================================= */

/* ▼ 画面幅いっぱいの帯（1段目・2段目共通） */
.page-id-5 .front-3col-band {
 background: #F6F6F6;      /* 帯の色（テストで #ffdddd にすると分かりやすい） */
 margin: 0;
 padding: 20px 0;          /* 上下の余白。完全にゼロにしたければ 0 に */
}

/* ▼ 帯が上下に続くときの隙間を0にする */
.page-id-5 .front-3col-band + .front-3col-band {
 margin-top: 0 !important;
}

/* ▼ 帯の中の3カラム（白いカード3枚） */
.page-id-5 .front-3col-band .top-front-columns {
 margin: 0 auto;
 gap: 0 !important;
}

/* 各カラム（白背景にしてカード化） */
.page-id-5 .front-3col-band .top-front-columns > .wp-block-column {
 background: #ffffff;
 padding: 0;
 margin: 0;
 box-sizing: border-box;
 border: none;
}

/* 2列目・3列目の左側にだけ細い縦線 */
.page-id-5 .front-3col-band .top-front-columns > .wp-block-column + .wp-block-column {
 border-left: 1px solid #e6e6e6;
}

/* 画像ブロック（figure 含む）の余白を完全にゼロに */
.page-id-5 .front-3col-band .top-front-columns .wp-block-image,
.page-id-5 .front-3col-band .top-front-columns figure {
 margin: 0 !important;
 padding: 0 !important;
 line-height: 0 !important;
 border: none !important;
}

/* 画像をカラム幅いっぱいに */
.page-id-5 .front-3col-band .top-front-columns img {
 display: block;
 width: 100%;
 height: auto;
}

/* テキスト部分（白背景＋上に横線） */
.page-id-5 .front-3col-band .top-front-columns p {
 margin: 0;
 padding: 15px 12px;
 background: #ffffff;
 text-align: center;
 border-top: 1px solid #F6F6F6;
 box-sizing: border-box;
 font-size: 20px;
 font-weight: bold;
}

/* 全ての帯の基本余白（上下40px） */
.page-id-5 .front-3col-band {
 padding-top: 40px !important;
 padding-bottom: 40px !important;
}

/* 1段目：下側だけ余白ナシ（2段目とピッタリくっつける） */
.page-id-5 .front-3col-band:first-of-type {
 padding-bottom: 0 !important;
}

/* 2段目以降：上側だけ余白ナシ（上の帯とくっつける） */
.page-id-5 .front-3col-band + .front-3col-band {
 padding-top: 0 !important;
}


.alignfull, .alignfull:is(.swiper-container,.vk_slider,.wp-block-image,.wp-block-cover-image,.wp-block-cover) {
   margin-top: 30px;
   margin-bottom: 30px;
}


/* スマホ：線と中身の隙間0／テキストは白背景ブロック */
@media (max-width: 781px) {

 /* 全体：上下の線 */
 .wp-block-columns.top-front-columns.is-layout-flex {
   flex-direction: column !important;
   border-top: 1px solid rgba(0,0,0,.12) !important;
   border-bottom: 1px solid rgba(0,0,0,.12) !important;
 }

 /* 各行（画像＋テキストのセット） */
 .wp-block-columns.top-front-columns.is-layout-flex > .wp-block-column {
   display: flex !important;
   align-items: stretch !important; /* 高さを揃える */
   gap: 0 !important;                /* ← 隙間を0 */

   border-top: 1px solid rgba(0,0,0,.12) !important;
   padding: 0 !important;            /* 線と中身の間を0 */
   margin: 0 !important;
 }

 /* 先頭行は二重線防止 */
 .wp-block-columns.top-front-columns.is-layout-flex > .wp-block-column:first-child {
   border-top: 0 !important;
 }

 /* 画像側 */
 .wp-block-columns.top-front-columns.is-layout-flex
 > .wp-block-column > figure {
   flex: 0 0 33.3333% !important;
   max-width: 33.3333% !important;
   margin: 0 !important;
 }

 .wp-block-columns.top-front-columns.is-layout-flex
 > .wp-block-column > figure img {
   display: block !important;
   width: 100% !important;
   height: auto !important;
 }

 /* テキスト側：白背景ブロック */
 .wp-block-columns.top-front-columns.is-layout-flex
 > .wp-block-column > p {
   flex: 1 1 auto !important;
   min-width: 0 !important;
   margin: 0 !important;

   background: #ffffff !important;  /* ← 白背景 */
   padding: 16px !important;        /* 中の余白だけここで作る */
   display: flex !important;
   align-items: center !important;  /* 縦中央寄せ */
   justify-content: center !important; /
   text-align: center !important;
 }
}

/* VKボタン：文字色を常に #333333 に固定（hoverでも白くしない） */
.wp-block-vk-blocks-button .vk_button_link,
.wp-block-vk-blocks-button .vk_button_link:hover,
.wp-block-vk-blocks-button .vk_button_link:focus,
.wp-block-vk-blocks-button .vk_button_link:active {
 color: #333333 !important;
}

.wp-block-vk-blocks-button .vk_button_link i,
.wp-block-vk-blocks-button .vk_button_link:hover i,
.wp-block-vk-blocks-button .vk_button_link:focus i,
.wp-block-vk-blocks-button .vk_button_link:active i {
 color: #333333 !important;
}



/***** ここまでトップページ ****/

body {
   font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", serif;
}

/* スライド全体を基準にする */
.swiper-slide.item-1 {
   position: relative;
}

/* 画像はそのまま */
.swiper-slide.item-1 .ltg-slide-item-img {
   display: block;
   width: 100%;
   height: auto;
}

/* ここでグローバル設定を上書きしてリセットする */

/* ==================================================
  スライダーテキスト共通設定（フォントサイズなど）
  常に有効にしておいてください
  ================================================== */
@media (max-width: 768px) {
   .swiper-slide.item-1 .ltg-slide-text-title {
       font-size: clamp(14px, 4vw, 20px);
       line-height: 1.6;
   }
}


/* ==================================================
  【パターンB】 左寄せバージョン（現在有効）
  ================================================== */
.swiper-slide.item-1 .ltg-slide-text-set {
   position: absolute;
   right: auto;
   bottom: 10%;

   top: auto;
   left: 5%;   /* 画面左端からの位置 */
   transform: none;
   z-index: 10;
   width: auto;

   /* ボックス自体の左揃え */
   text-align: left !important;
}

/* HTML直書きの style="text-align:right" を強制上書き */
.swiper-slide.item-1 .mini-content-container-1,
.swiper-slide.item-1 .ltg-slide-text-title {
   text-align: left !important;
}

/* スマホ対応（左寄せ） */
@media (max-width: 768px) {
   .swiper-slide.item-1 .ltg-slide-text-set {
       left: 1%;       /* スマホでの左位置 */
       bottom: 8%;
       width: 84%;
   }
}


/* これは「全体共通の見た目」だけ（位置は書かない） */
.ltg-slide-text-set {
   /* position / top / left / bottom / transform はここには書かないのが理想 */
   /* どうしても消せないなら、そのままでもOK。上の item-1 用が勝つ */
}

/* 中のテキスト */
.swiper-slide.item-1 .mini-content-container-1 {
   text-align: right;
}

.swiper-slide.item-1 .ltg-slide-text-title {
   margin: 0;
   padding: 0;
   font-size: clamp(16px, 2.4vw, 32px);
   line-height: 1.5;
}


/* トップページ「お知らせ」：日付左／タイトル右、折り返しはタイトル列内だけ */
.wp-block-latest-posts__list li {
 display: grid;
 grid-template-columns: auto 1fr; /* 日付 | タイトル */
 column-gap: 0.75em;
 align-items: start;
}

/* 日付 */
.wp-block-latest-posts__post-date {
 grid-column: 1;
 grid-row: 1;
 font-size: 16px;
 white-space: nowrap;
 color: #666;
}

/* タイトル */
.wp-block-latest-posts__post-title {
 grid-column: 2;
 grid-row: 1;
 font-size: 16px;
 font-weight: normal;
 min-width: 0; /* 念のため：長文で溢れるのを防ぐ */
}


/* 更新日（Modified Date）を非表示 */
.entry-meta-item-updated {
 display: none !important;
}

/* 投稿者名を非表示 */
.entry-meta-item-author {
 display: none !important;
}


/* コメント表示・コメント数リンクを非表示 */
.vk_post_comment,
.entry-meta-items_comments,
.comments-area {
 display: none !important;
}

/* 投稿フッターのカテゴリー表示を非表示 */
.entry-footer .entry-meta-data-list--category {
 display: none !important;
}

/* Lightning の前/次ナビを非表示 */
.vk_posts.next-prev {
 display: none !important;
}

.back-to-news-link {
 font-size: 16px;
 text-decoration: underline;
}

.back-to-news-link:hover {
 opacity: 0.7;
}

/* 一覧に戻る：前/次との行間を少し広げる */
.back-to-news{
 margin-top: 0.6em;
 text-align: center;
}


/* news用：前/次のお知らせ（テキスト） */
.news-text-nav {
 margin-top: 2em;
 display: flex;
 justify-content: space-between;
}

.news-text-nav a {
 font-size: 16px;
 text-decoration: underline;
}



/* ▼ お知らせカテゴリ（/news）一覧をシンプルな「日付＋タイトル＋下線」だけにする */

/* ▼ 1件1件のカード装飾・余白を全リセット */
.category-news .vk_posts .vk_post {
 box-shadow: none;
 background: none;
 border: none;
 padding: 0;             /* ← 余白を完全削除 */
 margin: 0;              /* ← 余白を完全削除 */
}

/* ▼ 最初の1件（一覧の最上段）は線なし */
.category-news .vk_posts .vk_post:first-child {
 border-top: none !important;
}

/* ▼ サムネイル・カテゴリラベル・抜粋・“続きを読む” ボタンを消す */
.category-news .vk_posts .vk_post_imgOuter,
.category-news .vk_posts .vk_post_excerpt,
.category-news .vk_posts .vk_post_tax,
.category-news .vk_posts .vk_post_btn,
.category-news .vk_posts .card-img-top {
 display: none !important;
}

/* ▼ タイトル＋日付部分のレイアウト調整（横並び） */
.category-news .vk_posts .vk_post_body {
 display: flex;
 align-items: baseline;
 gap: 0.75em;
 padding: 0.6em 0;      /* ← 見た目が詰まりすぎない適正値 */
}

/* ▼ 日付（左側） */
.category-news .vk_posts .vk_post_date {
 order: 1;
 font-size: 16px;       /* ← タイトルと同じ大きさに統一 */
 color: #333;
 white-space: nowrap;
 margin: 0;
}

/* ▼ タイトル（右側） */
.category-news .vk_posts .vk_post_title {
 order: 2;
 font-size: 16px;       /* ← Lightning の標準サイズ */
 margin: 0;
 font-weight: normal;
}

/* ▼ 全体をリンクにするブロックの装飾を除去 */
.category-news .vk_posts .vk_post a.card-intext-inner {
 display: block;
 padding: 0;
 background: none;
 border: none;
}
/* お知らせ一覧のタイトル周りからあらゆる「線」を全消しする */
.category-news h5.vk_post_title,
.category-news h5.vk_post_title * {
 text-decoration: none !important;
 border: none !important;
}

/* タイトルリンクを inline に戻して、文字部分だけ下線を出す */
.category-news h5.vk_post_title a {
 display: inline !important;        /* ← コレが一番重要！ */
 text-decoration: underline !important;
}

/* お知らせ一覧 /news の区切り線をタイトルに近づける */
.category-news .vk_posts .vk_post_body {
 padding-top: 0em;
 padding-bottom: 0em; /* ← ここが線との距離を決める */
}

/* ▼ お知らせ一覧（/news）のタイトル＆日付の上下余白を揃えるため、行間を調整 */
.category-news .vk_posts .vk_post_title,
.category-news .vk_posts .vk_post_date {
 line-height: 1.2em !important;    /* ← ここで上下の見た目が揃う */
 margin: 0 !important;
 padding: 0 !important;
}

/* ▼ テキストブロックの上下余白を再調整 */
.category-news .vk_posts .vk_post_body {
 padding-top: 0.15em !important;
 padding-bottom: 0.15em !important;
}

/* お知らせ一覧：日付とタイトルの間の隙間を統一（2列グリッドにする） */
.category-news .vk_posts .vk_post_body {
 display: grid !important;
 grid-template-columns: 8em 1fr;  /* 左：日付列を固定幅、右：タイトル列 */
 column-gap: 0.5em;                /* 日付とタイトルの間の隙間（常に一定） */
 align-items: baseline;
 padding-top: 0.15em !important;
 padding-bottom: 0.15em !important;
}

/* 日付を左の列にきっちり収める */
.category-news .vk_posts .vk_post_date {
 grid-column: 1;
}

/* タイトルは右の列に */
.category-news .vk_posts .vk_post_title {
 grid-column: 2;
}

/* 行間 */
@media (min-width: 992px) {
   body.category-news .entry-body > .vk_posts > .media.vk_post-col-lg-12,
   body.category-news .main-section > .vk_posts > .media.vk_post-col-lg-12 {
       padding: 5px 0;
   }
}


/* ▼ スマホ表示専用（幅600px以下） */
@media (max-width: 600px) {

 /* 日付＋タイトルの行に余裕を持たせる（上下の窮屈さ解消） */
 .category-news .vk_posts .vk_post_body {
   padding-top: 0.5em !important;
   padding-bottom: 0.5em !important;
   display: grid !important;
   grid-template-columns: 8em 1fr; /* ← スマホ用に日付幅を少し狭めて最適化 */
   column-gap: 0.4em;              /* ← PCより少し狭く、読みやすい隙間に */
   align-items: baseline;
 }

 /* 日付（左） */
 .category-news .vk_posts .vk_post_date {
   grid-column: 1;
   font-size: 15px; /* ← スマホで見やすいサイズ（調整可） */
 }

 /* タイトル（右） */
 .category-news .vk_posts .vk_post_title {
   grid-column: 2;
   font-size: 15px; /* ← 日付と合わせて自然に */
 }
 
/* ▼ スマホ（600px以下）で日付＋タイトルのブロックを左右均等に近づける */
@media (max-width: 600px) {

 /* 全体の枠 */
 .category-news .vk_posts.vk_posts-mainSection {
   margin: 0 !important;
   padding-left: 1rem !important;
   padding-right: 1rem !important;
 }

/* ▼ スマホ（600px以下）で /news の flex をやめて左右の隙間をそろえる */
@media (max-width: 600px) {

 /* 一覧全体：flexを解除して普通のブロックに */
 .category-news .vk_posts.vk_posts-mainSection {
   display: block !important;
   margin: 0 !important;
   padding: 0 1rem !important;   /* 左右に同じ余白 */
   /*box-sizing: border-box !important;*/
 }

 /* 各記事ブロックも横幅いっぱいに */
 .category-news .vk_posts .vk_post {
   width: 100% !important;
   margin: 0 !important;
 }
}

}
/* ▼ お知らせ一覧の最後の区切り線だけ消す */
.category-news .vk_posts .vk_post:last-child {
 border-bottom: none !important;
}


}


/* ==================================================
  /column ページ（高速化・テキストモード）専用デザイン
  ================================================== */

/* 1. 記事行全体の設定（横並び・下線） */
body.category-column .main-section .postListText {
   /* まず全方向の線を消して、背景画像も無効化（リセット） */
   border: none !important;
   background-image: none !important;

   /* ▼ ここで「本来の下線」を指定（これでズームしても色が変わりません） */
   border-bottom: 1px solid #930A0C !important;

   /* レイアウト設定（ここは以前のまま維持） */
   padding: 12px 0 !important;
   margin-bottom: 0 !important;
   display: flex !important;
   align-items: center !important;
}


/* 2. 不要な「コラム」ラベルを完全に非表示 */
body.category-column .main-section .postListText_singleTermLabel {
   display: none !important;
}

/* 3. 日付のデザイン調整 */
body.category-column .main-section .postListText_date {
   margin-right: 1.5em !important; /* タイトルとの間隔 */
   min-width: 90px;                /* 日付の幅を確保 */
   font-size: 14px !important;
   color: #333;
   /* 日付が左に来るように順序指定 */
   order: -1;
}

/* 4. タイトルのデザイン調整 */
body.category-column .main-section .postListText_title {
   margin: 0 !important;
   padding: 0 !important;
   line-height: 1.5;
   
   /* ▼ PC表示用の基本サイズ */
   font-size: 18px !important;
}

/* 5. リンクの下線を消す・色指定 */
body.category-column .main-section .postListText_title a {
   text-decoration: none !important;
   color: #333;
}

/* ホバー時の挙動 */
body.category-column .main-section .postListText_title a:hover {
   opacity: 0.7;
   text-decoration: none !important;
}

/* 6. スマホで文字が大きすぎる場合の調整（任意） */
/* ※PCで18pxだとスマホでは少し大きいかもしれないので、スマホだけ16pxにする設定です。
   もしスマホでも18pxで良ければ、この下（@media～）は消してください。 */
@media (max-width: 767px) {
   body.category-column .main-section .postListText_title {
       font-size: 16px !important;
   }
}


/* ==================================================
 ここまで　　 /column ページの記事リスト
  ================================================== */



/* ▼ サムネイル・カテゴリラベル・抜粋・“続きを読む” ボタンを消す */
.category-column .vk_posts .vk_post_imgOuter,
.category-column .vk_posts .vk_post_excerpt,
.category-column .vk_posts .vk_post_tax,
.category-column .vk_posts .vk_post_btn,
.category-column .vk_posts .card-img-top {
 display: none !important;
}

/* ▼ タイトル＋日付部分のレイアウト調整（横並び） */
.category-column .vk_posts .vk_post_body {
 display: flex;
 align-items: baseline;
 gap: 0.75em;
 padding: 0.6em 0;
}

/* ▼ 日付（左側） */
.category-column .vk_posts .vk_post_date {
 order: 1;
 font-size: 16px;
 color: #333;
 white-space: nowrap;
 margin: 0;
}

/* ▼ タイトル（右側） */
.category-column .vk_posts .vk_post_title {
 order: 2;
 font-size: 16px;
 margin: 0;
 font-weight: normal;
}

/* ▼ 全体をリンクにするブロックの装飾を除去 */
.category-column .vk_posts .vk_post a.card-intext-inner {
 display: block;
 padding: 0;
 background: none;
 border: none;
}

/* コラム一覧のタイトル周りからあらゆる「線」を全消しする */
.category-column h5.vk_post_title,
.category-column h5.vk_post_title * {
 text-decoration: none !important;
 border: none !important;
}

/* タイトルリンクを inline に戻して、文字部分だけ下線を出す */
.category-column h5.vk_post_title a {
 display: inline !important;
 text-decoration: underline !important;
}

/* /column の区切り線をタイトルに近づける（余白調整） */
.category-column .vk_posts .vk_post_body {
 padding-top: 0em;
 padding-bottom: 0em;
}

/* ▼ タイトル＆日付の上下余白を揃えるため、行間を調整 */
.category-column .vk_posts .vk_post_title,
.category-column .vk_posts .vk_post_date {
 line-height: 1.2em !important;
 margin: 0 !important;
 padding: 0 !important;
}

/* ▼ テキストブロックの上下余白を再調整 */
.category-column .vk_posts .vk_post_body {
 padding-top: 0.15em !important;
 padding-bottom: 0.15em !important;
}

/* 日付とタイトルの隙間を統一（2列グリッドにする） */
.category-column .vk_posts .vk_post_body {
 display: grid !important;
 grid-template-columns: 8em 1fr;
 column-gap: 0.5em;
 align-items: baseline;
 padding-top: 0.15em !important;
 padding-bottom: 0.15em !important;
}

.category-column .vk_posts .vk_post_date { grid-column: 1; }
.category-column .vk_posts .vk_post_title { grid-column: 2; }

/* 行間（PC：992px以上） */
@media (min-width: 992px) {
 body.category-column .entry-body > .vk_posts > .media.vk_post-col-lg-12,
 body.category-column .main-section > .vk_posts > .media.vk_post-col-lg-12 {
   padding: 5px 0;
 }
}

/* ▼ スマホ表示専用（幅600px以下） */
@media (max-width: 600px) {

 .category-column .vk_posts .vk_post_body {
   padding-top: 0.5em !important;
   padding-bottom: 0.5em !important;
   display: grid !important;
   grid-template-columns: 8em 1fr;
   column-gap: 0.4em;
   align-items: baseline;
 }

 .category-column .vk_posts .vk_post_date {
   grid-column: 1;
   font-size: 15px;
 }

 .category-column .vk_posts .vk_post_title {
   grid-column: 2;
   font-size: 15px;
 }

 /* 一覧全体：左右余白を統一 */
 .category-column .vk_posts.vk_posts-mainSection {
   display: block !important;
   margin: 0 !important;
   padding: 0 1rem !important;
 }

 .category-column .vk_posts .vk_post {
   width: 100% !important;
   margin: 0 !important;
 }
}

/* ▼ 最後の区切り線だけ消す */
.category-column .vk_posts .vk_post:last-child {
 border-bottom: none !important;
}



/* ▼▼▼ 弁護士紹介ページ ▼▼▼ */

/* 沿革の下の隙間 */
p.enkaku {
   margin-bottom: 80px;
}

/* スマホ：VK Staff を「画像 → テキスト」の縦並びに固定 */
@media (max-width: 781px) {

 /* まず親を強制的にflex化して縦並び */
 .wp-block-vk-blocks-staff.vk_staff,
 .wp-block-vk-blocks-staff.vk_staff.vk_staff-layout-imageLeft {
   display: flex !important;
   flex-direction: column !important;
 }

 /* もしgrid指定が当たっていても潰す */
 .wp-block-vk-blocks-staff.vk_staff {
   grid-template-columns: none !important;
   grid-template-areas: none !important;
 }

/* 画像を上に（幅75%・中央寄せ・下に隙間） */
.wp-block-vk-blocks-staff.vk_staff .vk_staff_photo {
 order: 1 !important;
 
 /* 幅を75%にする */
 width: 75% !important;
 
 /* 中央寄せにしつつ、下に20pxの隙間を空ける */
 /* margin: 上 左右 下 */
 margin: 0 auto 20px !important;
}

 /* テキストを下に */
 .wp-block-vk-blocks-staff .vk_staff .vk_staff_text {
   order: 2 !important;
   width: 100% !important;
   margin: 0 !important;
 }
}




/* ▼ 経歴：見た目だけ整える（文字は vk_staff_text_profileText 側に任せる） */
.vk_staff_text .vk_staff_career{
 list-style: none !important;
 margin: 0 !important;
 padding: 0 !important;
}

/* ▼ 名前 */
.vk_staff .vk_staff_text .vk_staff_text_name{
 font-size: 1.75rem;
}

.vk_staff .vk_staff_text .vk_staff_text_caption{
 letter-spacing: 0px;
}


/* ▼ Staff 経歴：本文（vk_staff_text_profileText）と完全に同じ文字設定に統一 */
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_text_profileText,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_text_profileText li,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_text_profileText span,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career li,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career span {
 font-size: 0.875rem !important;   /* Lightning本文基準 */
 line-height: 1.7 !important;
 font-family: inherit !important;
 font-weight: inherit !important;
 color: inherit !important;
}

/* ▼ Staff 経歴：行間を制御（確実に効く版） */
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career > li{
 margin-bottom: 0.05em !important; /* ← 行間はここ */
}

/* 最後の行だけ余白を消す */
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career > li:last-child{
 margin-bottom: 0 !important;
}
/* ▼ Staff 経歴：PC表示の文字サイズを標準 16px に */
@media (min-width: 992px) {
 .wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career,
 .wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career li,
 .wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career span {
   font-size: 16px !important;
   line-height: 1.7 !important; /* Lightning標準 */
 }
  body.post-name-attorney p.vk_staff_text_role {
 font-size: 16px !important;
}

}


.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career_date .y,
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career_date .m{
 display: inline-block;
 font-variant-numeric: tabular-nums;
 text-align: right;
}

.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career_date .y{ width: 2ch; } /* 年 2桁 */
.wp-block-vk-blocks-staff .vk_staff_text .vk_staff_career_date .m{ width: 2ch; } /* 月 2桁 */


/* 2列グリッド */
.vk_staff_text .vk_staff_career > li{
 display: grid !important;
 grid-template-columns: 9em 1fr !important;
 column-gap: 0 !important;
 align-items: baseline !important;

 margin: 0 !important;
 padding: 0 !important;
}

/* 行間（行と行の隙間） */
.vk_staff_text .vk_staff_career > li + li{
 margin-top: 0.1em !important; /* ← ここで詰める/広げる */
}

.vk_staff_text .vk_staff_career_date{
 white-space: nowrap !important;
}
.vk_staff-layout-imageLeft .vk_staff_text {
   margin-bottom: 15px;
}



@media (max-width: 600px){
 .vk_staff_text .vk_staff_career > li{
   grid-template-columns: 7.5em 1fr !important;
 }
 .wp-block-vk-blocks-staff.vk_staff.vk_staff-layout-imageLeft {
   margin-bottom: 15px;
}
}


/* タイトル文字そのもの */
.page-header-title {
   color: var(--vk-color-text-body);               /* 文字色 */
   position: relative;           /* 下線用 */
   display: inline-block;        /* 下線を文字幅基準にする */
   padding-bottom: 0.5em;        /* 文字と下線の間隔 */
}

/* 中央下の下線 */
.page-header-title::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   transform: translateX(-50%);
   width: 50%;                   /* 下線の長さ（調整可） */
   height: 2px;                  /* 下線の太さ */
   background-color: #930A0C;
}

.page-header {
   background-color: #fff; /* 背景を白に */
}


/* =========================================
  スタッフ紹介：PCレイアウト完全版
  ========================================= */
@media (min-width: 782px) {
 
 /* 親枠の設定：Flexboxを有効化 */
 .wp-block-vk-blocks-staff {
   display: flex !important;
   flex-wrap: nowrap !important; /* 折り返し禁止 */
   justify-content: flex-start !important;
 }

 /* 画像エリアの設定 */
 .wp-block-vk-blocks-staff .vk_staff_photo {
   /* 幅の設定（25%） */
   flex: 0 0 25% !important;
   width: 25% !important;
   max-width: 25% !important;
   
   /* 配置順序を強制的に一番最初（左）にする */
   order: -1 !important;
   
   /* 画像とテキストの隙間 */
   margin-right: 30px !important;
   margin-bottom: 0 !important;
 }

 /* テキストエリアの設定 */
 .wp-block-vk-blocks-staff .vk_staff_text {
   /* 残りの幅を埋める */
   flex: 1 !important;
   width: auto !important;
   
   /* 余計な余白のリセット */
   padding: 0 !important;
   margin: 0 !important;
 }
}

/* =========================================
  スタッフ紹介：PC表示 画像枠の縦伸び防止
  ========================================= */
@media (min-width: 782px) {
 /* 親枠の設定 */
 .wp-block-vk-blocks-staff {
   /* 子要素（画像とテキスト）を上揃えにし、高さを無理に揃えない */
   align-items: flex-start !important;
 }
 
 /* 画像枠の設定（念のため） */
 .vk_staff_photo {
    height: auto !important; /* 高さを自動調整 */
    align-self: flex-start !important; /* 自身も上揃えを強制 */
 }
}

/* =========================================
  スタッフ同士の縦の間隔を広げる
  ========================================= */
.wp-block-vk-blocks-staff {
   margin-bottom: 80px !important; /* ←この数字を増やせばもっと広がります */
}




/* ▼▼▼ 弁護士費用 ▼▼▼ */

.post-name-legalfee h3.wp-block-heading {
   font-size: 1.1em;
   padding: 0;
}

.post-name-legalfee h2.wp-block-heading {
   padding: 3px 0 4px;
   font-size: 1.3rem !important;
   margin: 0 0 20px;
}

/* =========================================
  ZEN Law Office 英語ページ用スタイル
  ========================================= */

/* ラッパー：このページの影響範囲を限定 */
.zen-en-wrapper {
   width: 100%;
   margin: 0 auto;
   /* 元サイトのフォントスタックを適用 */
   font-family: "Times New Roman", Times, "serif", Arial, Helvetica, sans-serif;
   color: #333; /* 文字色を統一 */
   line-height: 1.6;
}

.zen-en-wrapper * {
   box-sizing: border-box;
}

/* リンク */
.zen-en-wrapper a {
   color: #333; /* リンクの色も統一（必要に応じて変更してください） */
   text-decoration: underline; /* リンクであることがわかるように下線を追加 */
   transition: color 0.3s;
}

.zen-en-wrapper a:hover {
   color: #555;
   text-decoration: none;
}

/* 共通設定 */
.zen-en-wrapper ul {
   list-style: none;
   padding-left: 0;
   margin: 0;
}

.zen-en-wrapper img {
   max-width: 100%;
   height: auto;
   display: block;
}

/* コンテナ（幅調整） */
.zen-container {
   max-width: 1100px;
   margin: 0 auto;
   padding: 0 15px;
}

/* セクション共通 */
.zen-section {
   padding: 60px 0;
}

.zen-bg-light {
   background-color: #f9f9f9;
}

.zen-section-title {
   font-size: 1.8rem;
   color: #333; /* 色を変更 */
   margin: 0 0 40px 0;
   padding-bottom: 15px;
   text-align: center;
   font-weight: bold; /* 太字に */
   border-bottom: none;
   position: relative;
}

/* タイトル下の青い線を削除 */
.zen-section-title::after {
   display: none;
}

/* About Section */
.zen-feature-list li {
   margin-bottom: 12px;
   padding-left: 1.5em;
   position: relative;
   text-align: left;
}

.zen-feature-list li::before {
   content: "•";
   color: #333; /* 色を変更 */
   position: absolute;
   left: 0;
   font-weight: bold;
}

/* Practice Areas (2カラム) */
.zen-practice-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 30px;
}

@media (min-width: 768px) {
   .zen-practice-grid {
       grid-template-columns: 1fr 1fr;
   }
}

.zen-practice-card {
   background: #fff;
   padding: 30px;
   border: 1px solid #eee;
   border-radius: 4px;
}

.zen-practice-card h3 {
   color: #333; /* 色を変更 */
   margin-top: 0;
   margin-bottom: 20px;
   padding-bottom: 10px;
   border-bottom: 2px solid #f0f0f0;
   font-size: 1.4rem;
   font-weight: bold;
}

.zen-practice-card ul li {
   margin-bottom: 8px;
   font-size: 1rem;
   padding-left: 15px;
   position: relative;
   text-align: left;
}

.zen-practice-card ul li::before {
   content: "-";
   position: absolute;
   left: 0;
   color: #333; /* 色を変更 */
}

/* Attorney Profile */
.zen-attorney-list {
   display: flex;
   flex-direction: column;
   gap: 40px;
}

.zen-attorney-item {
   display: flex;
   flex-direction: column;
   gap: 30px; /* 画像拡大に合わせて間隔を調整 */
   border-bottom: 1px solid #eee;
   padding-bottom: 30px;
}

@media (min-width: 768px) {
   .zen-attorney-item {
       flex-direction: row;
       align-items: flex-start;
   }
}

/* スマホなどの小さい画面用（幅はなりゆき、最大幅だけ制限） */
.zen-attorney-img {
   width: 100%;
   max-width: 240px; /* スマホでもこれ以上は大きくならないように */
   margin: 0 auto;   /* スマホでは中央寄せ */
}

.zen-attorney-img img {
   width: 100%;
   border-radius: 4px;
   box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* PC（768px以上）のときだけ横幅を固定 */
@media (min-width: 768px) {
   .zen-attorney-img {
       flex: 0 0 240px; /* ここで240pxを指定 */
       margin: 0;
   }
}

.zen-attorney-info {
   flex: 1;
   text-align: left;
}

.zen-attorney-info h3 {
   color: #333; /* 色を変更 */
   margin-top: 0;
   margin-bottom: 10px;
   font-size: 1.3rem;
   font-weight: bold;
}

.zen-attorney-info ul li {
}

/* Access */
.zen-access-content {
   display: flex;
   flex-direction: column;
   gap: 30px;
   text-align: left;
}

@media (min-width: 768px) {
   .zen-access-content {
       flex-direction: row;
   }
}

.zen-access-info {
   flex: 1;
}

.zen-access-info p {
   margin-bottom: 20px;
}

.zen-access-notes li {
   list-style: disc;
   margin-left: 20px;
   color: #333; /* 色を変更 */
}

.zen-access-map {
   flex: 1;
}

.zen-access-map iframe {
   width: 100%;
   height: 300px;
   border: 0;
}


/* =========================================
  フッター周りの余白調整
  ========================================= */

/* 1. サイト本文エリアの下の余白（4rem）をなくす */
/* これで地図とボタンの間の隙間が詰まります */
.site-body {
   padding-bottom: 10px !important; /* お好みで0～20pxくらいに調整 */
}

/* 2. 電話ボタンの下に隙間を開ける */
/* フッター上部ウィジェット内のボタンの下に余白を追加 */
.site-footer-before .wp-block-vk-blocks-button,
.widget_block .wp-block-vk-blocks-button {
   margin-bottom: 60px; /* ボタンの下の隙間。数値を大きくすると広がります */
}


/* =========================================
  カテゴリー「Service」の記事ページで日付・更新日を非表示
  ========================================= */
body.category-service .entry-meta-item-date,
body.category-service .entry-meta-item-updated {
   display: none;
}


/* =========================================
  Serviceカテゴリ：リスト（箇条書き）の間隔調整
  ========================================= */
body.category-service ul.wp-block-list li {
   margin-bottom: 2px !important;  /* 項目の下の隙間（元はもっと広い） */
   line-height: 1.0 !important;    /* 文章の行間 */
}



/* =========================================
  メニュー「English」ボタン化（四角・位置6px版）
  ========================================= */

/* 1. ボタンの外枠（liタグ） */
.global-nav-list li.nav-btn-en {
   display: block !important;
}

/* 2. ボタン本体（aタグ） */
.nav-btn-en a {
   /* --- 角を四角くする設定 --- */
   border-radius: 0 !important;

   /* --- 位置の設定（ご指定の6px） --- */
   margin-top: 6px !important;

   /* --- 高さ・余白のリセット --- */
   height: auto !important;
   line-height: 1 !important;
   padding: 8px 16px !important;      /* ボタンの厚み [上下] [左右] */
   
   /* --- 色・フォントの設定 --- */
   background-color: #930A0C !important;
   border: 1px solid #930A0C !important;
   color: #ffffff !important;
   font-family: "Helvetica Neue", Arial, sans-serif !important;
   font-weight: normal;
   font-size: 13px !important;
   
   /* --- 崩れ防止 --- */
   display: inline-block !important;
   width: auto !important;
}

/* ホバー時の設定 */
.nav-btn-en a:hover {
   background-color: #930A0C !important;
   opacity: 0.8 !important;
   color: #ffffff !important;
}

/* カレント表示の下線を消す */
.nav-btn-en.current-menu-item a {
   border-bottom: 1px solid #930A0C !important;
}