/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: Lightning child theme for Shibuya SME Consultant Association
Author: 
Tags: 
Version: 1.0.3
*/
@charset "UTF-8";

/* ==========================================================================
   1. ヘッダー：濃紺ダーク ＆ 完全固定追従 ＆ フッター完全一致認定バッジ
   ========================================================================== */

header.site-header,
.siteHeader,
.header_custom,
#header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 999999 !important;
  background-color: #0f1c3f !important;
  border-bottom: none !important;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.3) !important;
}

body {
  padding-top: 76px !important;
}

.site-header .container,
.siteHeader .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 92% !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  height: 76px !important;
}

.navbar-brand,
.site-header-logo,
.navbar-brand a,
.site-header-logo a {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.navbar-brand img,
.site-header-logo img {
  max-height: 44px !important;
  width: auto !important;
  display: block !important;
}

/* フッターと完全一致認定バッジ */
.navbar-brand::after,
.site-header-logo::after {
  content: "" !important;
  display: inline-block !important;
  width: 215px !important;
  height: 48px !important;
  margin-left: 20px !important;
  vertical-align: middle !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='215' height='48' viewBox='0 0 215 48'%3E%3Crect x='0.5' y='0.5' width='214' height='47' rx='8' fill='rgba(255,255,255,0.06)' stroke='rgba(255,255,255,0.2)' stroke-width='1'/%3E%3Ccircle cx='23' cy='24' r='10' fill='%2310b981'/%3E%3Cpath d='M18 24l3.5 3.5 7-7' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ctext x='42' y='20' fill='%23ffffff' font-family='-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif' font-size='12' font-weight='700'%3E認定経営革新等支援機関%3C/text%3E%3Ctext x='42' y='35' fill='%2394a3b8' font-family='-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif' font-size='10' font-weight='400'%3E経済産業省 認定%3C/text%3E%3C/svg%3E") !important;
}

.navbar-brand a::after,
.site-header-logo a::after,
.navbar-brand a::before,
.site-header-logo a::before {
  display: none !important;
  content: none !important;
}

.gMenu a,
.gMenu a span,
.gMenu a .gMenu_name,
.gMenu a .gMenu_description,
.gMenu a i,
.gMenu a svg,
.global-nav-list a,
.global-nav-list a span,
.vk-navbar-nav a,
.vk-navbar-nav a span {
  color: #ffffff !important;
  fill: #ffffff !important;
  font-weight: 500 !important;
  opacity: 0.9 !important;
}

.gMenu a .gMenu_description,
.global-nav-list a .global-nav-sub-text,
.vk-navbar-nav a .sub-text {
  color: #cbd5e1 !important;
  opacity: 0.75 !important;
}

.gMenu a:hover,
.gMenu a:hover span,
.gMenu a:hover .gMenu_name,
.gMenu a:hover .gMenu_description,
.gMenu a:hover i,
.gMenu a:hover svg,
.global-nav-list a:hover,
.global-nav-list a:hover span,
.vk-navbar-nav a:hover,
.vk-navbar-nav a:hover span {
  color: #38bdf8 !important;
  fill: #38bdf8 !important;
  opacity: 1 !important;
}

.gMenu li.current-menu-item > a::after,
.vk-navbar-nav li.current-menu-item > a::after {
  background-color: #ffffff !important;
}

@media (min-width: 992px) {
  .global-nav-list li.menu-btn-contact,
  .vk-navbar-nav li.menu-btn-contact,
  .gMenu li.menu-btn-contact,
  li.menu-btn-contact {
    display: flex !important;
    align-items: center !important;
    margin-left: 18px !important;
    padding: 0 !important;
  }

  .global-nav-list li.menu-btn-contact a,
  .vk-navbar-nav li.menu-btn-contact a,
  .gMenu li.menu-btn-contact a,
  li.menu-btn-contact a {
    background-color: #ffffff !important;
    color: #0f1c3f !important;
    padding: 6px 18px !important;
    height: auto !important;
    min-height: unset !important;
    max-height: 40px !important;
    border-radius: 20px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    line-height: 1.2 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    transition: all 0.25s ease !important;
  }

  .global-nav-list li.menu-btn-contact a .gMenu_name,
  .vk-navbar-nav li.menu-btn-contact a .gMenu_name,
  .gMenu li.menu-btn-contact a span {
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #0f1c3f !important;
    fill: #0f1c3f !important;
  }

  .global-nav-list li.menu-btn-contact a .gMenu_description,
  .vk-navbar-nav li.menu-btn-contact a .sub-text,
  .gMenu li.menu-btn-contact a .gMenu_description {
    font-size: 10px !important;
    line-height: 1 !important;
    margin-top: 2px !important;
    color: #64748b !important;
    opacity: 0.9 !important;
  }

  .gMenu li.menu-btn-contact a i,
  .gMenu li.menu-btn-contact a svg {
    font-size: 13px !important;
    margin-bottom: 2px !important;
    color: #0f1c3f !important;
    fill: #0f1c3f !important;
  }

  .global-nav-list li.menu-btn-contact a:hover,
  .vk-navbar-nav li.menu-btn-contact a:hover,
  .gMenu li.menu-btn-contact a:hover,
  li.menu-btn-contact a:hover {
    background-color: #38bdf8 !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.35) !important;
  }

  .global-nav-list li.menu-btn-contact a:hover *,
  .vk-navbar-nav li.menu-btn-contact a:hover *,
  .gMenu li.menu-btn-contact a:hover * {
    color: #ffffff !important;
    fill: #ffffff !important;
  }
}

/* ==========================================================================
   2. 経営コラム検索・VK Filter Search・サイドバーの完全修復
   ========================================================================== */

.subSection-side aside.widget,
.subSection-side aside.widget_block,
.subSection-side .widget,
.sidebar aside.widget,
.sidebar aside.widget_block,
.sidebar .widget,
.vk-filter-search-wrap,
.vkfs_outer,
.vk-filter-search {
  background-color: #ffffff !important;
  background: #ffffff !important;
  color: #1e293b !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  margin-bottom: 30px !important;
  box-shadow: 0 4px 14px rgba(15, 28, 63, 0.05) !important;
}

.subSection-side h1, .subSection-side h2, .subSection-side h3, .subSection-side h4, .subSection-side h5,
.sidebar h1, .sidebar h2, .sidebar h3, .sidebar h4, .sidebar h5,
.vk-filter-search-wrap h2, .vk-filter-search-wrap h3, .vk-filter-search-wrap h4,
.subSection-side .widget-title, .sidebar .widget-title,
.widgettitle {
  background-color: transparent !important;
  background: transparent !important;
  color: #0f1c3f !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 0 0 10px 0 !important;
  margin: 0 0 16px 0 !important;
  border-bottom: 2px solid #0066cc !important;
  display: block !important;
}

.vkfs,
.vkfs_form,
.vk-filter-search form,
.subSection-side form,
.sidebar form {
  background-color: transparent !important;
  background: transparent !important;
  color: #1e293b !important;
}

.vkfs label,
.vkfs_label,
.vk-filter-search label,
.subSection-side form label,
.sidebar form label,
.vkfs .vkfs_label_text {
  color: #334155 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  margin-bottom: 6px !important;
  display: inline-block !important;
}

.vkfs select,
.vkfs input[type="text"],
.vkfs input[type="search"],
.vk-filter-search select,
.vk-filter-search input[type="text"],
.subSection-side select,
.subSection-side input[type="text"],
.sidebar select,
.sidebar input[type="text"] {
  background-color: #f8fafc !important;
  background: #f8fafc !important;
  color: #0f1c3f !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 8px 10px !important;
  font-size: 13.5px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.vkfs select:focus,
.vkfs input[type="text"]:focus,
.subSection-side select:focus,
.subSection-side input[type="text"]:focus {
  border-color: #0066cc !important;
  background-color: #ffffff !important;
  outline: none !important;
}

.vkfs input[type="submit"],
.vkfs button[type="submit"],
.vkfs_submit,
.vk-filter-search input[type="submit"],
.vk-filter-search button[type="submit"],
.subSection-side input[type="submit"],
.subSection-side button[type="submit"],
.sidebar input[type="submit"],
.sidebar button[type="submit"] {
  background-color: #0f1c3f !important;
  background: #0f1c3f !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 6px !important;
  padding: 11px 20px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  width: 100% !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  margin-top: 14px !important;
}
.vkfs input[type="submit"]:hover,
.vkfs button[type="submit"]:hover,
.subSection-side input[type="submit"]:hover,
.sidebar input[type="submit"]:hover {
  background-color: #0066cc !important;
  background: #0066cc !important;
}

/* ==========================================================================
   3. 既存のWordPress固有設定
   ========================================================================= */

html, body {
  overflow-x: hidden !important;
}

.vk_prBlocks_item_icon_outer:hover { opacity: 0.3; }
.wp-block-file a.wp-block-file__button { background-color: #0b4f9c; font-weight: bold; }

.single-member .entry-body .wp-block-group:last-child,
.single-member .entry-body .vk_posts:last-child,
.single-member .postNextPrevLoop,
.single-member .wp-block-post-navigation-link,
.single-member [class*="next-prev"],
.single-member [class*="navigation"] {
  display: none !important;
}

#sbt1 .wpcf7-checkbox,
.wpcf7 form .wpcf7-checkbox {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
#sbt1 .wpcf7-checkbox .wpcf7-list-item,
.wpcf7 form .wpcf7-checkbox .wpcf7-list-item {
  display: block !important;
  width: 100% !important;
  margin: 0 0 12px 0 !important;
}

/* ==========================================================================
   4. トップページ専用スタイル ＆ ブレイクアウト ＆ ホバー演出
   ========================================================================== */

:root {
  --sn-primary-navy: #0f1c3f;
  --sn-dark-footer: #081026;
  --sn-royal-blue: #0066cc;
  --sn-text-dark: #1e293b;
  --sn-text-muted: #556987;
  --sn-bg-soft: #f4f6fa;
  --sn-border: #dde3ed;
  --sn-shadow-card: 0 4px 14px rgba(15, 28, 63, 0.06);
  --sn-shadow-hover: 0 14px 28px rgba(15, 28, 63, 0.14);
}

.hero-section,
.credibility-strip,
.target-cards-section,
.services-section,
.news-single-section,
.expert-single-section,
.columns-carousel-section,
.contact-cta-band {
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

.hero-section .container,
.credibility-strip .container,
.target-cards-section .container,
.services-section .container,
.news-single-section .container,
.expert-single-section .container,
.columns-carousel-section .container,
.contact-cta-band .container,
.member-search-section .container {
  width: 92% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.main-section-title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--sn-primary-navy) !important;
  letter-spacing: 0.05em;
  position: relative !important;
  display: table !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-bottom: 12px !important;
  background-color: transparent !important;
  text-align: center !important;
}
.main-section-title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 44px;
  height: 3px;
  background-color: var(--sn-royal-blue);
}

/* FV */
.hero-section {
  padding: 60px 0 55px;
  background: #ffffff url('../images/shibuya-sky.jpg') center right / cover no-repeat;
  position: relative;
  overflow: hidden;
}
.hero-layout {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 0.95fr 1.25fr;
  align-items: center;
  gap: 40px;
}

.hero-badge-tag {
  display: inline-block;
  font-size: 11.5px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em;
  color: #0b4f9c !important;
  background-color: #e8f1fb !important;
  padding: 6px 18px !important;
  border-radius: 20px;
  margin-bottom: 12px !important;
}

.hero-headline {
  font-family: 'Shippori Mincho', serif;
  font-size: 40px;
  line-height: 1.35;
  font-weight: 700;
  color: #0f1c3f !important;
  margin-top: 0 !important;
  margin-bottom: 18px;
  background-color: transparent !important;
}
.hero-headline .highlight-blue {
  color: #0066cc !important;
}

.hero-subhead {
  font-size: 17px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 10px;
}
.hero-description {
  font-size: 14px;
  color: var(--sn-text-muted);
  line-height: 1.8;
  margin-bottom: 28px;
}

.hero-photo-frame-large,
.wp-block-image.hero-photo-frame-large {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15, 28, 63, 0.18);
  border: 5px solid #ffffff;
  background-color: #ffffff;
  aspect-ratio: 16 / 10;
  cursor: pointer;
  margin: 0 auto;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.hero-photo-frame-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.hero-photo-frame-large:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 24px 50px rgba(15, 28, 63, 0.26) !important;
}
.hero-photo-frame-large:hover img {
  transform: scale(1.04) !important;
}

/* 実績バー */
.credibility-strip {
  background-color: #eaf0f8 !important;
  border-top: 1px solid #d4e0ee;
  border-bottom: 1px solid #d4e0ee;
  padding: 24px 0 !important;
}
.credibility-inner { display: flex; justify-content: space-around; align-items: center; }
.cred-box { text-align: center; flex: 1; }
.cred-primary-num { font-size: 24px; font-weight: 700; color: var(--sn-primary-navy); }
.cred-primary-title { font-size: 13px; font-weight: 700; color: #334155; margin-top: 4px; }
.cred-primary-sub { font-size: 11px; color: var(--sn-text-muted); }
.cred-divider { width: 1px; height: 42px; background-color: #cbd5e1; }

/* ターゲットカード3枚 */
.target-cards-section { padding: 55px 0 !important; background-color: #ffffff !important; }
.target-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.audience-card {
  background-color: #ffffff;
  border: 1px solid var(--sn-border);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--sn-shadow-card);
  transition: all 0.35s ease !important;
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
.audience-thumb,
.wp-block-image.audience-thumb {
  height: 220px;
  overflow: hidden;
  background-color: #ffffff;
  margin: 0 !important;
}
.audience-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease !important;
}
.audience-label-bar {
  padding: 16px 18px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--sn-primary-navy);
  border-top: 1px solid var(--sn-border);
  transition: color 0.3s ease !important;
}
.audience-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: var(--sn-shadow-hover) !important;
  border-color: var(--sn-royal-blue) !important;
}
.audience-card:hover .audience-thumb img {
  transform: scale(1.06) !important;
}
.audience-card:hover .audience-label-bar {
  color: var(--sn-royal-blue) !important;
}

/* サービスメニュー（アイコン・ホバー反転） */
.services-section {
  padding: 65px 0 !important;
  background-color: var(--sn-bg-soft) !important;
  border-top: 1px solid #edf2f7;
  border-bottom: 1px solid #edf2f7;
}
.service-cards-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.service-flip-card {
  background-color: #ffffff;
  border: 1px solid var(--sn-border);
  border-radius: 8px;
  padding: 30px 22px 26px;
  box-shadow: var(--sn-shadow-card);
  transition: all 0.35s ease !important;
  display: flex;
  flex-direction: column;
  text-align: left;
  cursor: pointer;
}
.service-icon-box {
  color: #0b4f9c;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  transition: color 0.35s ease, transform 0.35s ease !important;
}
.service-icon-box svg {
  width: 40px;
  height: 40px;
  stroke: #0b4f9c;
  transition: stroke 0.35s ease, transform 0.35s ease !important;
}
.service-item-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--sn-primary-navy);
  margin-bottom: 10px;
  transition: color 0.35s ease !important;
}
.service-item-text {
  font-size: 12.5px;
  color: var(--sn-text-muted);
  line-height: 1.65;
  margin-bottom: 20px;
  flex-grow: 1;
  transition: color 0.35s ease !important;
}
.service-action-link {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--sn-royal-blue);
  transition: color 0.35s ease !important;
}
.service-action-link a {
  color: inherit !important;
  text-decoration: none !important;
}

.service-flip-card:hover {
  background-color: #0b4f9c !important;
  border-color: #0b4f9c !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 14px 28px rgba(11, 79, 156, 0.25) !important;
}
.service-flip-card:hover .service-icon-box svg {
  stroke: #ffffff !important;
  transform: translateY(-2px);
}
.service-flip-card:hover .service-item-title,
.service-flip-card:hover .service-item-text,
.service-flip-card:hover .service-action-link,
.service-flip-card:hover .service-action-link a {
  color: #ffffff !important;
}

/* 専門家を探す */
.expert-single-section {
  padding: 65px 0 !important;
  background-color: var(--sn-bg-soft) !important;
  border-top: 1px solid #edf2f7;
  border-bottom: 1px solid #edf2f7;
  text-align: center;
}
.expert-photo-frame-compact,
.wp-block-image.expert-photo-frame-compact {
  max-width: 600px;
  margin: 0 auto 26px !important;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 14px 32px rgba(15, 28, 63, 0.15);
  border: 5px solid #ffffff;
  background-color: #ffffff;
  aspect-ratio: 16 / 10;
  cursor: pointer;
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  display: block;
}
.expert-photo-frame-compact img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.expert-photo-frame-compact:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 48px rgba(15, 28, 63, 0.25) !important;
}
.expert-photo-frame-compact:hover img {
  transform: scale(1.05) !important;
}
.expert-desc-detail {
  font-size: 14px;
  color: var(--sn-text-muted);
  line-height: 1.8;
  margin-bottom: 26px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* 経営コラム（5列・白背景カード・ホバー演出） */
.columns-carousel-section {
  padding: 65px 0 !important;
  background-color: #ffffff !important;
}
.columns-feed-row {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 16px !important;
  margin-bottom: 35px !important;
}
.column-entry-card {
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.35s ease !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  cursor: pointer;
}
.column-entry-card:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12) !important;
  border-color: #0b4f9c !important;
}
.entry-thumb-img {
  margin: 0 !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important; /* 上下が切れず文字やイラストが綺麗に収まる黄金比率 */
  min-height: 125px !important;
  overflow: hidden !important;
  background-color: #f1f5f9 !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

/* 3列カード（会長メッセージ・専門家詳細）専用：よりゆったりとした16:9比率 */
.member-columns-feed-row .entry-thumb-img,
.president-columns-box .entry-thumb-img {
  aspect-ratio: 16 / 9 !important;
  min-height: 155px !important;
}
.entry-thumb-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s ease !important;
}
.column-entry-card:hover .entry-thumb-img img {
  transform: scale(1.08) !important;
}
.entry-body-box {
  padding: 12px !important;
  text-align: left !important;
  background-color: #ffffff !important;
  flex-grow: 1 !important;
}
.entry-meta-text {
  font-size: 11px !important;
  color: #94a3b8 !important;
  margin-bottom: 6px !important;
  display: flex !important;
  justify-content: space-between !important;
}
.entry-title-text {
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  background-color: transparent !important;
  padding: 0 !important;
}
.entry-title-text a {
  color: #0f1c3f !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}
.column-entry-card:hover .entry-title-text a {
  color: #0066cc !important;
}

/* ピルボタン共通 */
.section-btn-center {
  text-align: center;
}
.btn-hover-pill {
  display: inline-block;
  padding: 12px 40px;
  border: 2px solid var(--sn-primary-navy);
  border-radius: 30px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--sn-primary-navy);
  background-color: #ffffff;
  box-shadow: var(--sn-shadow-card);
  text-decoration: none !important;
  transition: all 0.3s ease;
}
.btn-hover-pill:hover {
  background-color: var(--sn-royal-blue) !important;
  border-color: var(--sn-royal-blue) !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}
.btn-hover-pill-lg { padding: 13px 40px; font-size: 14px; }

/* お問い合わせ帯 */
.contact-cta-band {
  background-color: #ffffff !important;
  border-top: 1px solid #e2e8f0;
  padding: 65px 0 !important;
  text-align: center;
}
.cta-heading-text { font-size: 24px; font-weight: 700; color: var(--sn-primary-navy); margin-bottom: 10px; }
.cta-sub-description { font-size: 13.5px; color: var(--sn-text-muted); margin-bottom: 24px; }

/* ボタンブロック二重色解消 */
.wp-block-button,
.hero-button-group .wp-block-button,
.wp-block-button.btn-hero-primary,
.wp-block-button.btn-hero-secondary,
.wp-block-button.btn-hover-pill,
.wp-block-button.btn-cta-dark {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.wp-block-button.btn-hero-primary .wp-block-button__link {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border: 1px solid #0f1c3f !important;
  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
  box-shadow: 0 4px 14px rgba(15, 28, 63, 0.2) !important;
  transition: all 0.28s ease !important;
}
.wp-block-button.btn-hero-primary .wp-block-button__link:hover {
  background-color: #0b4f9c !important;
  border-color: #0b4f9c !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(11, 79, 156, 0.3) !important;
}

.wp-block-button.btn-hero-secondary .wp-block-button__link {
  background-color: #ffffff !important;
  color: #0f1c3f !important;
  border: 1.5px solid #0f1c3f !important;
  border-radius: 30px !important;
  padding: 12px 32px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.28s ease !important;
}
.wp-block-button.btn-hero-secondary .wp-block-button__link:hover {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  transform: translateY(-2px);
}

.wp-block-button.btn-cta-dark .wp-block-button__link {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border-radius: 30px !important;
  padding: 14px 44px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: all 0.28s ease !important;
}
.wp-block-button.btn-cta-dark .wp-block-button__link:hover {
  background-color: #0b4f9c !important;
  transform: translateY(-2px);
}

/* ==========================================================================
   5. フッター：品格ある1カラムデザイン ＆ コピーライト完全中央揃え・隙間解消
   ========================================================================== */

footer.site-footer,
.siteFooter,
.site-footer-before,
.section-footer-before,
.footer-before-wrap,
.site-footer-main,
.siteFooter-main,
#footer,
.site-footer-before aside.widget_block,
footer.site-footer aside.widget_block {
  background-color: #081026 !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.site-footer-before .container,
.section-footer-before .container,
.custom-site-footer-wrapper {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
  background-color: #081026 !important;
}

.footer-content-wrap.footer-single-column {
  width: 92% !important;
  max-width: 840px !important;
  margin: 0 auto !important;
  padding: 60px 20px 48px !important;
  display: block !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

.footer-single-column .footer-brand-column {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.footer-single-column .footer-logo-text {
  font-family: 'Shippori Mincho', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.08em !important;
  line-height: 1.4 !important;
  display: inline-block !important;
  margin-bottom: 20px !important;
  position: relative !important;
}

.footer-single-column .footer-cert-badge {
  display: inline-flex !important;
  align-items: center !important;
  background-color: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 28px !important;
  padding: 8px 22px !important;
  margin: 0 auto 24px auto !important;
  align-self: center !important;
  backdrop-filter: blur(4px) !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2) !important;
}

.footer-single-column .cert-icon-check {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  background-color: #10b981 !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  font-size: 11px !important;
  margin-right: 10px !important;
}

.footer-single-column .cert-text-meta {
  display: flex !important;
  flex-direction: column !important;
  text-align: left !important;
}

.footer-single-column .cert-title-txt {
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.04em !important;
}
.footer-single-column .cert-sub-txt {
  font-size: 10px !important;
  color: #94a3b8 !important;
  letter-spacing: 0.02em !important;
}

.footer-single-column .footer-org-meta {
  width: 100% !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 24px 28px !important;
  background-color: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  box-sizing: border-box !important;
}

.footer-single-column .footer-office-location {
  font-size: 13px !important;
  color: #cbd5e1 !important;
  margin-bottom: 14px !important;
  letter-spacing: 0.04em !important;
  line-height: 1.6 !important;
}

.footer-single-column .footer-summary-lead {
  font-size: 13px !important;
  color: #94a3b8 !important;
  line-height: 1.85 !important;
  margin: 0 !important;
  text-align: center !important;
}

footer.site-footer .site-footer-copyright,
footer.site-footer .siteFooter-copyright,
.site-footer-copyright,
.siteFooter-copyright,
#footer .site-footer-copyright {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  background-color: #081026 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding: 24px 0 !important;
  box-sizing: border-box !important;
}

.site-footer-copyright .container,
.siteFooter-copyright .container,
.site-footer-copyright > div,
.siteFooter-copyright > div {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  float: none !important;
}

.site-footer-copyright p,
.siteFooter-copyright p,
.copy-right-text {
  width: 100% !important;
  text-align: center !important;
  margin: 0 auto !important;
  padding: 0 !important;
  font-size: 12px !important;
  color: #94a3b8 !important;
  letter-spacing: 0.04em !important;
  display: block !important;
}

.site-footer-copyright p:nth-child(2),
.site-footer-copyright .powered {
  display: none !important;
}

/* ==========================================================================
   レスポンシブ共通
   ========================================================================== */
@media (max-width: 992px) {
  .hero-layout { grid-template-columns: 1fr !important; }
  .service-cards-row { grid-template-columns: repeat(2, 1fr) !important; }
  .columns-feed-row { grid-template-columns: repeat(3, 1fr) !important; }
  .footer-content-wrap:not(.footer-single-column) { grid-template-columns: 1fr !important; gap: 40px !important; }
  .footer-nav-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 30px !important; }
}

@media (max-width: 768px) {
  .target-cards-grid { grid-template-columns: 1fr !important; }
  .service-cards-row { grid-template-columns: 1fr !important; }
  .columns-feed-row {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .credibility-inner { flex-direction: column !important; gap: 14px !important; }
  .footer-nav-grid { grid-template-columns: 1fr !important; gap: 24px !important; }
}

/* ==========================================================================
   6. モバイル用ヘッダー＆ドロワー＆固定ナビ完全統合版（991px以下）
   ========================================================================== */
@media (max-width: 991px) {
  .header-cert-badge,
  .site-header .header-cert-badge,
  .navbar-brand .header-cert-badge,
  .site-header *::after,
  .site-header *::before,
  .navbar-brand::after,
  .navbar-brand::before,
  .site-header-logo::after,
  .site-header-logo::before {
    display: none !important;
    visibility: hidden !important;
    content: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .footer-cert-badge,
  .footer-single-column .footer-cert-badge {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  header.site-header,
  .siteHeader,
  #header {
    height: 64px !important;
    max-height: 64px !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 99990 !important;
    background-color: #0f1c3f !important;
  }

  .site-header .container,
  .siteHeader .container {
    height: 64px !important;
    width: 100% !important;
    padding: 0 16px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }

  body {
    padding-top: 64px !important;
    padding-bottom: 60px !important;
  }

  .hero-section {
    padding-top: 24px !important;
    padding-bottom: 35px !important;
  }

  .navbar-brand,
  .site-header-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    position: static !important;
    transform: none !important;
    max-width: calc(100% - 90px) !important;
  }

  .navbar-brand img,
  .site-header-logo img {
    max-height: 36px !important;
    width: auto !important;
    display: block !important;
  }

  .vk-mobile-nav-menu-btn,
  .navbar-toggler,
  .btn-menu {
    position: fixed !important;
    top: 10px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    z-index: 10000005 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .vk-mobile-nav-menu-btn span,
  .vk-mobile-nav-menu-btn .menu-icon span,
  .navbar-toggler-icon,
  .btn-menu span,
  .icon-bar {
    background-color: #0f1c3f !important;
    border-color: #0f1c3f !important;
    display: block !important;
  }

  .vk-mobile-nav-menu-btn span::before,
  .vk-mobile-nav-menu-btn span::after,
  .btn-menu span::before,
  .btn-menu span::after {
    background-color: #0f1c3f !important;
  }

  .vk-mobile-nav-menu-btn svg,
  .navbar-toggler svg {
    fill: #0f1c3f !important;
    stroke: #0f1c3f !important;
  }

  .vk-mobile-nav,
  .vk-mobile-nav-wrap {
    z-index: 10000000 !important;
  }

  .vk-mobile-nav-close-btn,
  .vk-mobile-nav .btn-close {
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .vk-mobile-nav li {
    position: relative !important;
    box-sizing: border-box !important;
  }

  .vk-mobile-nav li a {
    padding-right: 50px !important;
    box-sizing: border-box !important;
  }

  .vk-mobile-nav .acc-btn,
  .vk-mobile-nav .vk-menu-acc-btn,
  .vk-mobile-nav [class*="acc-btn"] {
    right: 8px !important;
  }

  .drawer-custom-logo-area {
    background-color: #0f1c3f !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 18px 60px 16px 20px !important;
    margin: 0 0 10px 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    clear: both !important;
  }

  .drawer-custom-logo-area img {
    max-height: 38px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .drawer-custom-logo-area svg {
    max-height: 38px !important;
    width: auto !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
  }

  .drawer-custom-logo-area svg path,
  .drawer-custom-logo-area svg text {
    fill: #ffffff !important;
    stroke: none !important;
  }

  .drawer-custom-logo-area span,
  .drawer-custom-logo-area a,
  .drawer-custom-logo-area {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
  }

  .vk-mobile-nav-menu-outer > *:last-child,
  .vk-mobile-nav .vk-mobile-nav-widget-area,
  .vk-mobile-nav [class*="widget"] {
    position: static !important;
    display: block !important;
    clear: both !important;
    margin: 20px auto 50px auto !important;
    box-sizing: border-box !important;
  }

  body:not(.vk-mobile-nav-open) .vk-mobile-nav,
  body:not(.vk-mobile-nav-open) .vk-mobile-nav-wrap {
    transform: translateX(100%) !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  body.vk-mobile-nav-open .vk-mobile-nav,
  body.vk-mobile-nav-open .vk-mobile-nav-wrap {
    transform: translateX(0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .custom-mobile-fix-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 58px !important;
    z-index: 99995 !important;
    background-color: #ffffff !important;
    border-top: 1px solid #dcdfe6 !important;
    box-shadow: 0 -3px 12px rgba(15, 28, 63, 0.12) !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .custom-mobile-fix-bar .fix-btn-item {
    flex: 1 1 0% !important;
    width: 33.333% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    padding: 5px 2px !important;
    border-right: 1px solid #e5e7eb !important;
    position: static !important;
    transform: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background-color: #ffffff !important;
    color: #0f1c3f !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }

  .custom-mobile-fix-bar .fix-btn-item:last-child {
    border-right: none !important;
  }

  .custom-mobile-fix-bar .fix-btn-item i {
    font-size: 18px !important;
    line-height: 1 !important;
    margin-bottom: 3px !important;
    color: #0f1c3f !important;
    transition: color 0.2s ease !important;
    display: block !important;
  }

  .custom-mobile-fix-bar .fix-btn-item span {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.02em !important;
    color: #0f1c3f !important;
    transition: color 0.2s ease !important;
    display: block !important;
  }

  .custom-mobile-fix-bar .fix-btn-item:hover,
  .custom-mobile-fix-bar .fix-btn-item:active {
    background-color: #0f1c3f !important;
    color: #ffffff !important;
  }

  .custom-mobile-fix-bar .fix-btn-item:hover i,
  .custom-mobile-fix-bar .fix-btn-item:active i,
  .custom-mobile-fix-bar .fix-btn-item:hover span,
  .custom-mobile-fix-bar .fix-btn-item:active span {
    color: #ffffff !important;
  }

  .page_top_btn,
  .page-top-btn,
  #page_top_btn,
  .vk-page-top {
    bottom: 70px !important;
    right: 12px !important;
    z-index: 99990 !important;
  }

  body {
    padding-bottom: 64px !important;
  }
}

@media (min-width: 992px) {
  .custom-mobile-fix-bar {
    display: none !important;
  }
}

/* ==========================================================================
   7. 専門家を探す（会員一覧モックアップ member.html 完全再現 ＆ ソートバー）
   ========================================================================== */

/* ソートヘッダーバー（該当者数 ＆ 並び替えボタン） */
.member-sort-header-bar {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  padding: 14px 20px !important;
  margin-top: 25px !important;
  margin-bottom: 25px !important;
  box-sizing: border-box !important;
}

.result-count-area {
  display: flex !important;
  align-items: baseline !important;
}

.result-count-text {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
}

.result-count-text .highlight-num {
  font-size: 18px !important;
  color: #0066cc !important;
  font-weight: 700 !important;
}

.sort-status-caption {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  margin-left: 6px !important;
}

/* ソートボタングループ */
.sort-button-group {
  display: inline-flex !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
}

.sort-button-group .sort-btn {
  display: inline-flex !important;
  align-items: center !important;
  padding: 7px 14px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #475569 !important;
  text-decoration: none !important;
  border-right: 1px solid #cbd5e1 !important;
  background-color: #ffffff !important;
  transition: all 0.2s ease !important;
}

.sort-button-group .sort-btn:last-child {
  border-right: none !important;
}

.sort-button-group .sort-btn:hover {
  background-color: #ffffff !important;
  color: #0f1c3f !important;
}

.sort-button-group .sort-btn.is-active {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
}

.sort-button-group .sort-btn .sort-btn-icon {
  margin-right: 4px !important;
}

/* --------------------------------------------------
   グリッドコンテナ（PC: 3列 / タブレット: 2列 / スマホ: 1列）
   -------------------------------------------------- */
.vkfs_result_wrap,
.vkfs_result_wrap .vk_posts,
.post-type-archive-member .mainSection,
.post-type-archive-member .vk_posts,
.tax-industry .vk_posts,
.tax-expertise .vk_posts,
.tax-professional .vk_posts,
.member-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  margin-top: 20px !important;
  margin-bottom: 50px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* --------------------------------------------------
   カード本体：メリハリ強化（枠線明瞭化・立体陰影・ホバー強化）
   -------------------------------------------------- */
.member-profile-card,
.vkfs_result_wrap .vk_post,
.post-type-archive-member .vk_post,
.tax-industry .vk_post,
.tax-expertise .vk_post,
.tax-professional .vk_post {
  background-color: #ffffff !important;
  background: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important; /* 輪郭をクッキリ明瞭化 */
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 24px rgba(15, 28, 63, 0.10) !important; /* 自然な浮き上がりと立体感 */
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.member-profile-card:hover,
.vkfs_result_wrap .vk_post:hover,
.post-type-archive-member .vk_post:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 36px rgba(15, 28, 63, 0.18) !important;
  border-color: #0066cc !important;
}

/* --------------------------------------------------
   写真サムネイル：元の写真全体を100%完全に収める（contain表示）
   -------------------------------------------------- */
.member-card-thumb,
.member-profile-card .member-card-thumb,
.post-type-archive-member .vk_post_imgOuter,
.tax-industry .vk_post_imgOuter,
.tax-expertise .vk_post_imgOuter,
.tax-professional .vk_post_imgOuter,
.vkfs_result_wrap .vk_post_imgOuter {
  width: 100% !important;
  height: 240px !important;
  min-height: 240px !important;
  max-height: 240px !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important; /* 写真エリアと本文エリアの美しい仕切り線 */
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.member-card-thumb a,
.post-type-archive-member .vk_post_imgOuter a,
.tax-industry .vk_post_imgOuter a,
.tax-expertise .vk_post_imgOuter a,
.tax-professional .vk_post_imgOuter a,
.vkfs_result_wrap .vk_post_imgOuter a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

.member-card-thumb img,
.post-type-archive-member .vk_post_imgOuter img,
.tax-industry .vk_post_imgOuter img,
.tax-expertise .vk_post_imgOuter img,
.tax-professional .vk_post_imgOuter img,
.vkfs_result_wrap .vk_post_imgOuter img,
.member-profile-card img {
  width: 100% !important;
  height: 100% !important;
  max-height: 240px !important;
  object-fit: contain !important; /* 顔や肩・頭部が絶対に切れないよう元の写真全体を収める */
  object-position: center center !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  transition: transform 0.3s ease !important;
}

.member-profile-card:hover .member-card-thumb img,
.vk_post:hover .vk_post_imgOuter img {
  transform: scale(1.05) !important;
}

/* 写真なし時のプレースホルダー */
.no-photo-placeholder,
.member-card-thumb.img-no-photo {
  width: 100% !important;
  height: 210px !important;
  background-color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.no-photo-placeholder svg {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}

/* --------------------------------------------------
   カード本文エリア
   -------------------------------------------------- */
.member-card-body,
.vk_post_body {
  padding: 20px !important;
  display: flex !important;
  flex-direction: column !important;
  flex-grow: 1 !important;
  text-align: left !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
}

/* --------------------------------------------------
   資格・専門家分類バッジ（色分けピルタグ）
   -------------------------------------------------- */
.member-category-badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-bottom: 12px !important;
}

.prof-category-badge {
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 3px 10px !important;
  border-radius: 12px !important;
  display: inline-block !important;
  letter-spacing: 0.03em !important;
  line-height: 1.5 !important;
  box-sizing: border-box !important;
}

/* 中小企業診断士：濃紺 */
.prof-category-badge.badge-license-diagnosis,
.prof-category-badge[class*="diagnosis"],
.prof-category-badge[class*="shindanshi"] {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
}

/* 税理士：琥珀・ゴールド */
.prof-category-badge.badge-license-tax,
.prof-category-badge[class*="tax"],
.prof-category-badge[class*="zeirishi"] {
  background-color: #b45309 !important;
  color: #ffffff !important;
}

/* 弁護士：パープル */
.prof-category-badge.badge-license-lawyer,
.prof-category-badge[class*="lawyer"],
.prof-category-badge[class*="bengoshi"] {
  background-color: #6d28d9 !important;
  color: #ffffff !important;
}

/* その他資格（社労士・行政書士など）：ブルー */
.prof-category-badge.badge-license-other {
  background-color: #0284c7 !important;
  color: #ffffff !important;
}

/* --------------------------------------------------
   氏名・ふりがな・役職
   -------------------------------------------------- */
.member-name,
.vk_post_title {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #0f1c3f !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.4 !important;
}

.member-name a,
.vk_post_title a {
  color: #0f1c3f !important;
  text-decoration: none !important;
}

.member-ruby {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #64748b !important;
  margin-left: 4px !important;
}

.member-title {
  font-size: 13px !important;
  color: #0066cc !important;
  font-weight: 700 !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.4 !important;
}

/* --------------------------------------------------
   専門業種・専門分野（点線ボックス枠で美しく囲う）
   -------------------------------------------------- */
.member-fields-structured {
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
  background-color: #fafbfc !important;
  margin-bottom: 18px !important;
  flex-grow: 1 !important;
  box-sizing: border-box !important;
}

.field-row {
  margin-bottom: 5px !important;
  display: flex !important;
  align-items: baseline !important;
}

.field-row:last-child {
  margin-bottom: 0 !important;
}

.field-key {
  color: #64748b !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  width: 72px !important;
  flex-shrink: 0 !important;
}

.field-val {
  color: #1e293b !important;
  word-break: break-all !important;
  font-weight: 500 !important;
}

/* --------------------------------------------------
   詳細リンクボタン（白地に濃紺枠・ホバーで青色反転）
   -------------------------------------------------- */
.member-card-action {
  margin-top: auto !important;
  padding-top: 6px !important;
}

.btn-member-detail {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 11px 0 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  border-radius: 26px !important;
  border: 1.5px solid #0f1c3f !important;
  color: #0f1c3f !important;
  background-color: #ffffff !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 6px rgba(15, 28, 63, 0.04) !important;
}

.btn-member-detail:hover {
  background-color: #0066cc !important;
  border-color: #0066cc !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 14px rgba(0, 102, 204, 0.25) !important;
}

/* --------------------------------------------------
   レスポンシブ対応（タブレット2列・スマホ1列）
   -------------------------------------------------- */
@media (max-width: 992px) {
  .vkfs_result_wrap,
  .vkfs_result_wrap .vk_posts,
  .post-type-archive-member .mainSection,
  .post-type-archive-member .vk_posts,
  .tax-industry .vk_posts,
  .tax-expertise .vk_posts,
  .tax-professional .vk_posts,
  .member-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}

@media (max-width: 600px) {
  .member-sort-header-bar {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .sort-button-group {
    width: 100% !important;
  }
  .sort-button-group .sort-btn {
    flex: 1 !important;
    justify-content: center !important;
    padding: 8px 4px !important;
    font-size: 12px !important;
  }
  .vkfs_result_wrap,
  .vkfs_result_wrap .vk_posts,
  .post-type-archive-member .mainSection,
  .post-type-archive-member .vk_posts,
  .tax-industry .vk_posts,
  .tax-expertise .vk_posts,
  .tax-professional .vk_posts,
  .member-cards-grid {
    grid-template-columns: 1fr !important;
  }
  .member-card-thumb,
  .vk_post_imgOuter,
  .member-profile-card .member-card-thumb {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }
  .member-card-thumb img,
  .vk_post_imgOuter img,
  .member-profile-card img {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
  }
}

/* ==========================================================================
   人気のタグ（クイック検索ピルチップ）スタイル
   ========================================================================== */
.search-quick-tags-wrap {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
  margin-top: 14px !important;
  margin-bottom: 20px !important;
  padding-top: 12px !important;
  border-top: 1px dashed #e2e8f0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.search-quick-tags-wrap .quick-tags-label {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  white-space: nowrap !important;
}

.search-quick-tags-wrap .quick-tags-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.search-quick-tags-wrap .pill-chip {
  display: inline-flex !important;
  align-items: center !important;
  background-color: #f1f5f9 !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 20px !important;
  padding: 5px 14px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #1e293b !important;
  cursor: pointer !important;
  text-decoration: none !important;
  transition: all 0.22s ease !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
  line-height: 1.4 !important;
  outline: none !important;
}

.search-quick-tags-wrap .pill-chip .chip-hash {
  color: #0066cc !important;
  font-weight: 800 !important;
  margin-right: 4px !important;
  font-size: 13px !important;
}

.search-quick-tags-wrap .pill-chip:hover {
  background-color: #0f1c3f !important;
  border-color: #0f1c3f !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(15, 28, 63, 0.15) !important;
}

.search-quick-tags-wrap .pill-chip:hover .chip-hash {
  color: #38bdf8 !important;
}

@media (max-width: 600px) {
  .search-quick-tags-wrap {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}

/* ==========================================================================
   全下層ページ共通：ページヘッダー（ヒーローバナー）完全統一
   ========================================================================== */
.page-header,
.pageHeader,
section.page-header,
header.page-header {
  background: linear-gradient(135deg, #123267 0%, #1a498b 100%) !important; /* メニュー(#0f1c3f)より少し明るい品格ある濃紺ブルー */
  border-bottom: none !important;
  padding: 26px 0 24px !important; /* 縦幅をコンパクトに最適化 */
  min-height: unset !important;
  text-align: center !important;
  position: relative !important;
  box-shadow: inset 0 -3px 8px rgba(0, 0, 0, 0.10) !important;
  width: 100% !important;
}

.page-header .container,
.pageHeader .container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: unset !important;
}

/* ページタイトル（Shippori Mincho・白文字・中央揃え） */
.page-header .page-header-title,
.pageHeader .pageHeader-title,
.page-header h1,
.page-header .member-hero-main-title {
  display: block !important;
  font-family: 'Shippori Mincho', serif !important;
  font-size: 27px !important; /* スタイリッシュなサイズ感に調整 */
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
  margin: 0 auto !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25) !important;
}

/* ページサブタイトル（洗練された透過白・上品なフォント） */
.page-header .page-header-sub-title,
.pageHeader .pageHeader-sub-title,
.page-header .member-hero-sub-title {
  display: block !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans JP", sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: rgba(255, 255, 255, 0.90) !important;
  letter-spacing: 0.05em !important;
  margin-top: 6px !important; /* 余白をコンパクトに短縮 */
  line-height: 1.5 !important;
}

@media (max-width: 768px) {
  .page-header,
  .pageHeader,
  section.page-header {
    padding: 20px 15px 18px !important;
  }
  .page-header .page-header-title,
  .pageHeader .pageHeader-title,
  .page-header h1,
  .page-header .member-hero-main-title {
    font-size: 22px !important;
  }
  .page-header .page-header-sub-title,
  .pageHeader .pageHeader-sub-title,
  .page-header .member-hero-sub-title {
    font-size: 11.5px !important;
    margin-top: 4px !important;
  }
}

/* ==========================================================================
   8. テーブル（表）＆ 各種見出し帯のスタイル（エディタの手動装飾を尊重）
   ========================================================================== */

/* --------------------------------------------------
   A. 表（テーブル）：クラシック/ブロックエディタでの手動色塗りを妨げない基本枠組み
   -------------------------------------------------- */
table,
.wp-block-table table,
.entry-content table,
.table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 25px 0 35px 0 !important;
}

/* 罫線のみを整え、背景色や文字色の強制上書きは完全に解除（手動変更を最優先） */
table th,
table td,
.wp-block-table table th,
.wp-block-table table td,
.entry-content table th,
.entry-content table td {
  border: 1px solid #cbd5e1;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.65;
  vertical-align: middle;
}

/* --------------------------------------------------
   B. 見出しタイトルの灰色背景解消（メニュー・検索ボタンと同色の濃紺へ統一）
   -------------------------------------------------- */
.entry-content h2,
.entry-content h3.has-background,
.entry-content .wp-block-heading.has-background,
.entry-content [class*="heading"].has-background,
.mainSection h2:not(.main-section-title):not(.member-detail-main-title):not(.page-header-title):not(.member-name) {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  padding: 13px 20px !important;
  border-left: 5px solid #0066cc !important;
  border-radius: 4px !important;
  margin-top: 35px !important;
  margin-bottom: 22px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 2px 8px rgba(15, 28, 63, 0.08) !important;
}

.entry-content h2 *,
.entry-content .wp-block-heading.has-background * {
  color: #ffffff !important;
}


/* ==========================================================================
   修正版：記事タイトルのボックス化解消 ＆ 経営コラムのレイアウト標準化
   ========================================================================== */

/* 1. 記事タイトル（h2）がボックス化してしまっていたバグの完全修正
   （アーカイブ一覧やカード内の h2 / .vk_post_title は絶対に装飾せず、通常の固定ページ本文の h2 のみに限定） */
body.page .entry-content > h2,
body.page .mainSection > h2,
body.page .entry-body > h2 {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  padding: 13px 20px !important;
  border-left: 5px solid #0066cc !important;
  border-radius: 4px !important;
  margin-top: 35px !important;
  margin-bottom: 22px !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.04em !important;
  box-shadow: 0 2px 8px rgba(15, 28, 63, 0.08) !important;
}

body.page .entry-content > h2 *,
body.page .mainSection > h2 *,
body.page .entry-body > h2 * {
  color: #ffffff !important;
}

/* 2. 経営コラム（column）のレイアウトを「お知らせ」と完全に統一
   （独自フレックスを解除し、Lightning標準の綺麗で安定したカード/メディアレイアウトに合わせることで、画像とタイトルの重なり・ボタン切れを根本解消） */
.post-type-archive-column .vk_post,
.tax-column_category .vk_post,
.tax-column_tag .vk_post {
  display: block !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(15, 28, 63, 0.06) !important;
  margin-bottom: 30px !important;
  width: 100% !important;
  position: relative !important;
}

.post-type-archive-column .vk_post .vk_post_imgOuter,
.tax-column_category .vk_post .vk_post_imgOuter {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

.post-type-archive-column .vk_post .vk_post_body,
.tax-column_category .vk_post .vk_post_body {
  width: 100% !important;
  padding: 20px 24px !important;
  box-sizing: border-box !important;
}

/* 経営コラム一覧の画像ホバーズーム */
.post-type-archive-column .vk_post:hover .vk_post_imgOuter img,
.tax-column_category .vk_post:hover .vk_post_imgOuter img {
  transform: scale(1.06) !important;
  transition: transform 0.45s ease !important;
}

/* ==========================================================================
   完全正常化：表の自由配色保護 ＆ 一覧カードボタン切れ根絶 ＆ 前後ナビ消去
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. 個別詳細ページ（会員・コラム・お知らせ等全域）の前後ナビ完全消去
   -------------------------------------------------------------------------- */
.post-navigation,
.navigation.post-navigation,
.nav-links,
.pagination-single,
.vk_post_pagination,
.nav-previous,
.nav-next,
.single .post-navigation,
.single-post .post-navigation,
.single-column .post-navigation,
.single-member .post-navigation,
.entry-footer .post-navigation,
.entry-footer .nav-links,
.entry-footer .pagination,
.single .pager,
.single .post-next-prev,
.single [class*="next-prev"],
.single [class*="post-nav"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* --------------------------------------------------------------------------
   2. 経営コラム・お知らせ一覧の横並び復元 ＆「続きを読む」ボタン切れ根絶（PC表示専用）
   -------------------------------------------------------------------------- */
@media (min-width: 769px) {
  .post-type-archive-column .vk_post,
  .tax-column_category .vk_post,
  .tax-column_tag .vk_post,
  .post-type-archive-post .vk_post,
  .category .vk_post,
  .tag .vk_post,
  .home .vk_post,
  .page-information .vk_post,
  .single-column .vk_posts .vk_post,
  .vk_posts .vk_post {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    margin-bottom: 30px !important;
    width: 100% !important;
    position: relative !important;
    transform: none !important;
    box-shadow: 0 4px 14px rgba(15, 28, 63, 0.06) !important;
    overflow: visible !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
  }

  .post-type-archive-column .vk_post:hover,
  .tax-column_category .vk_post:hover,
  .post-type-archive-post .vk_post:hover,
  .category .vk_post:hover,
  .page-information .vk_post:hover,
  .vk_posts .vk_post:hover {
    transform: none !important;
    box-shadow: 0 8px 24px rgba(15, 28, 63, 0.12) !important;
    border-color: #cbd5e1 !important;
    z-index: 2 !important;
  }

  /* サムネイル画像エリア（角丸保護） */
  .vk_post .vk_post_imgOuter {
    flex: 0 0 240px !important;
    width: 240px !important;
    min-width: 240px !important;
    max-width: 240px !important;
    height: auto !important;
    min-height: 170px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-top-left-radius: 8px !important;
    border-bottom-left-radius: 8px !important;
    position: relative !important;
  }

  .vk_post .vk_post_imgOuter a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
  }

  .vk_post .vk_post_imgOuter img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  .vk_post:hover .vk_post_imgOuter img {
    transform: scale(1.06) !important;
  }

  /* 本文エリア */
  .vk_post .vk_post_body {
    flex: 1 1 0% !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 20px 24px 20px 24px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .vk_post .vk_post_title {
    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    margin: 0 0 10px 0 !important;
    color: #0f1c3f !important;
  }

  .vk_post .vk_post_title a {
    color: #0f1c3f !important;
    text-decoration: none !important;
  }

  .vk_post:hover .vk_post_title a {
    color: #0066cc !important;
  }

  /* 「続きを読む」ボタンを内側に安全マージンを取って配置（文字切れ根絶） */
  .vk_post .vk_post_btnOuter {
    text-align: right !important;
    margin-top: 14px !important;
    margin-right: 0 !important;
    padding-right: 14px !important;
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .vk_post .vk_post_btn {
    display: inline-block !important;
    background-color: #0f1c3f !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(15, 28, 63, 0.15) !important;
    transition: all 0.25s ease !important;
  }

  .vk_post .vk_post_btn:hover {
    background-color: #0066cc !important;
    color: #ffffff !important;
  }
}

/* --------------------------------------------------------------------------
   3. 経営コラム・お知らせ等「記事本文内の表」はエディタ指定色を100%完全保護
   （子テーマからの透明化・背景消去を完全撤廃し、執筆者の指定した背景色や文字色をそのまま表示）
   -------------------------------------------------------------------------- */
.single-column .entry-body table,
.single-post .entry-body table,
.single-column table,
.single-post table {
  border-collapse: collapse !important;
  margin: 25px 0 35px 0 !important;
}

/* --------------------------------------------------------------------------
   4. コンタクトフォーム（/contact/等）：入力欄の白背景保護 ＆ 必須バッジ
   -------------------------------------------------------------------------- */
.wpcf7-form-control-wrap,
form .wpcf7-form-control-wrap {
  background: transparent !important;
  background-color: transparent !important;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="url"],
form select,
form textarea,
.wpcf7-validates-as-required {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  color: #0f1c3f !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* フォームの左列 */
form table th,
form table tr > th:first-child,
.wpcf7 table th,
.wpcf7 table tr > th:first-child {
  background-color: #f8fafc !important;
  color: #0f1c3f !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  width: 28% !important;
  min-width: 160px !important;
  border: 1px solid #cbd5e1 !important;
  border-right: 2px solid #cbd5e1 !important;
  padding: 18px 24px !important;
}

/* フォームの入力列 */
form table td,
.wpcf7 table td {
  background-color: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  padding: 18px 24px !important;
}

/* 必須バッジ（項目名横のspanのみに限定） */
form table th span.must,
form table th span.required,
.wpcf7 table th span.must,
.wpcf7 table th span.required,
form table th .badge-must,
form table th .badge-required,
.wpcf7 table th .badge-must,
.wpcf7 table th .badge-required {
  background-color: #e11d48 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 3px 8px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  margin-left: 8px !important;
  line-height: 1.3 !important;
  vertical-align: 1px !important;
}





@media (max-width: 768px) {
  .vk_post {
    flex-direction: column !important;
  }
  .vk_post .vk_post_imgOuter {
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 180px !important;
    border-bottom-left-radius: 0 !important;
    border-top-right-radius: 8px !important;
  }
  .vk_post .vk_post_body {
    padding: 16px !important;
  }
  .vk_post .vk_post_btnOuter {
    padding-right: 0 !important;
  }
}

/* ==========================================================================
   お問い合わせ画面専用：画像ホバー ＆ 「必須」バッジ完全適正化
   （Contact Form 7 に厳格限定し、コラムやお知らせの表・画像と完全分離）
   ========================================================================== */

/* 1. お問い合わせ画面を含む固定ページの画像マウスオーバー（ホバーズーム） */
.entry-body .wp-block-image,
.entry-content .wp-block-image,
figure.wp-block-image,
.wp-block-image {
  overflow: hidden !important;
  border-radius: 8px !important;
  position: relative !important;
}

.entry-body .wp-block-image img,
.entry-content .wp-block-image img,
figure.wp-block-image img,
.wp-block-image a img,
.wp-block-image img {
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease !important;
  transform-origin: center center !important;
  display: block !important;
}

.entry-body .wp-block-image:hover img,
.entry-content .wp-block-image:hover img,
figure.wp-block-image:hover img,
.wp-block-image a:hover img,
.wp-block-image:hover img {
  transform: scale(1.06) !important; /* なめらかに6%ふわりと拡大 */
}

/* 2. お問い合わせフォーム（.wpcf7）専用：「必須」バッジのサイズ拡大・視認性完全強化
   （フォームコンテナ内に厳格限定するため、コラムやお知らせの表には100%干渉しません） */
.wpcf7 table td:first-child span,
.wpcf7 table th:first-child span,
form.wpcf7-form table td:first-child span,
form.wpcf7-form table th:first-child span,
table:has(.wpcf7-form-control) td:first-child span,
table:has(.wpcf7-form-control) th:first-child span,
.wpcf7 span.must,
.wpcf7 span.required,
.wpcf7 span.vk_must,
form.wpcf7-form span.must,
form.wpcf7-form span.required {
  background-color: #e11d48 !important; /* 鮮やかなローズレッド */
  color: #ffffff !important;
  font-size: 13px !important;            /* 文字を大きくクッキリ表示 */
  font-weight: 700 !important;
  padding: 4px 10px !important;          /* ゆったりとした押しやすい余白 */
  border-radius: 4px !important;
  display: inline-block !important;
  line-height: 1.3 !important;
  letter-spacing: 0.05em !important;
  box-shadow: 0 2px 4px rgba(225, 29, 72, 0.3) !important;
  margin-top: 6px !important;
  width: auto !important;
  height: auto !important;
  min-width: unset !important;
  box-sizing: border-box !important;
}

/* 入力欄（右列）の白背景を厳格保護（赤色化防止） */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea,
form.wpcf7-form input[type="text"],
form.wpcf7-form input[type="email"],
form.wpcf7-form input[type="tel"],
form.wpcf7-form select,
form.wpcf7-form textarea,
table:has(.wpcf7-form-control) input,
table:has(.wpcf7-form-control) textarea {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1.5px solid #cbd5e1 !important;
  border-radius: 6px !important;
  padding: 12px 16px !important;
  color: #0f1c3f !important;
}

/* ==========================================================================
   トップページ：お知らせ（NEWS）リストスタイル
   ========================================================================== */
.top-news-list li a:hover {
  color: #0066cc !important;
  text-decoration: underline !important;
}
@media (max-width: 600px) {
  .top-news-list li {
    padding: 12px 4px !important;
  }
  .top-news-list li a {
    font-size: 14px !important;
    line-height: 1.4 !important;
  }
}

/* ==========================================================================
   ページヘッダー・記事タイトル・ブロック見出しの背景色＆文字色改善
   （メニューと同じ濃紺 #0f1c3f 背景 ＋ 視認性の高い白文字に最適化）
   ========================================================================== */

/* 1. Lightning標準 ページヘッダー（グレー背景をメニュー同色ネイビーに変更） */
.page-header {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border: none !important;
}

.page-header .page-header-title,
.page-header .page-header_title,
.page-header h1,
.page-header h2 {
  color: #ffffff !important;
  text-shadow: none !important;
}

.page-header .page-header-subTitle,
.page-header .page-header_subTitle,
.page-header p {
  color: #cbd5e1 !important;
}

/* 2. 記事タイトル（entry-title / mainSection-title）にグレー背景が付いている場合の配色反転 */
.entry-title.has-background,
.mainSection-title.has-background,
.wp-block-post-title.has-background,
.has-background.has-light-gray-background-color,
.has-background[style*="background-color: #f"],
.has-background[style*="background-color:#f"],
.has-background[style*="background: #f"],
.has-background[style*="background:#f"] {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border-radius: 4px !important;
  padding: 16px 20px !important;
}

/* 3. 背景付き見出し・タイトル内の黄色文字（#ffff00, #ffeb3b, yellow等）の白文字化（可読性担保） */
.entry-title.has-background *,
.wp-block-post-title.has-background *,
.page-header *,
.has-background.has-light-gray-background-color *,
.wp-block-heading.has-background,
.vk_heading.has-background {
  color: #ffffff !important;
}

/* 4. 本文内ブロック見出しで背景が設定されている場合のネイビー統一 */
.wp-block-heading.has-background {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  padding: 14px 18px !important;
  border-radius: 4px !important;
  border-left: 5px solid #0066cc !important;
}

/* 5. タイトル内サブテキスト・補足文字 */
.entry-title small,
.wp-block-post-title small,
.wp-block-heading small {
  color: #cbd5e1 !important;
}

/* ==========================================================================
   VK Blocks 見出しスタイル「背景塗り 灰色」をメニュー同色ネイビー＆白文字に強制上書き
   ========================================================================== */
.is-style-vk-heading-background_fill_lightgray,
.entry-content .is-style-vk-heading-background_fill_lightgray,
h1.is-style-vk-heading-background_fill_lightgray,
h2.is-style-vk-heading-background_fill_lightgray,
h3.is-style-vk-heading-background_fill_lightgray,
h4.is-style-vk-heading-background_fill_lightgray,
h5.is-style-vk-heading-background_fill_lightgray,
h6.is-style-vk-heading-background_fill_lightgray,
div.is-style-vk-heading-background_fill_lightgray,
.wp-block-heading.is-style-vk-heading-background_fill_lightgray {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  padding: 12px 20px !important;
  border-radius: 4px !important;
  border: none !important;
}

/* 内部に黄色などのインライン文字色・リンクが入っていても全て純白に強制統一 */
.is-style-vk-heading-background_fill_lightgray *,
.is-style-vk-heading-background_fill_lightgray span,
.is-style-vk-heading-background_fill_lightgray font,
.is-style-vk-heading-background_fill_lightgray a,
.is-style-vk-heading-background_fill_lightgray strong {
  color: #ffffff !important;
  text-shadow: none !important;
}

.is-style-vk-heading-background_fill_lightgray small,
.is-style-vk-heading-background_fill_lightgray .vk_heading_subtext {
  color: #cbd5e1 !important;
}

/* ==========================================================================
   当会のご案内 (/about/) および 組織概要 (/about/org-overview/) 専用テーブル完全復元
   ========================================================================== */
.page-about table,
body.page-about table,
body[class*="page-about"] table,
body[class*="about"] .entry-content table,
.page-org-overview table,
body.page-org-overview table,
body[class*="org-overview"] table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  margin: 30px 0 45px 0 !important;
  border: 1.5px solid #94a3b8 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background-color: #ffffff !important;
  box-shadow: 0 6px 22px rgba(15, 28, 63, 0.08) !important;
}

.page-about table td:first-child,
.page-about table th:first-child,
body.page-about table td:first-child,
body.page-about table th:first-child,
body[class*="page-about"] table td:first-child,
body[class*="page-about"] table th:first-child,
body[class*="about"] .entry-content table td:first-child,
body[class*="about"] .entry-content table th:first-child,
.page-org-overview table td:first-child,
.page-org-overview table th:first-child,
body.page-org-overview table td:first-child,
body.page-org-overview table th:first-child,
body[class*="org-overview"] table td:first-child,
body[class*="org-overview"] table th:first-child {
  background-color: #f8fafc !important;
  color: #0f1c3f !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  width: 28% !important;
  min-width: 160px !important;
  max-width: 280px !important;
  border-right: 2px solid #cbd5e1 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  padding: 14px 20px !important;
  vertical-align: middle !important;
}

.page-about table td:last-child,
.page-about table td:not(:first-child),
body.page-about table td:last-child,
body.page-about table td:not(:first-child),
body[class*="page-about"] table td:last-child,
body[class*="page-about"] table td:not(:first-child),
body[class*="about"] .entry-content table td:last-child,
body[class*="about"] .entry-content table td:not(:first-child),
.page-org-overview table td:last-child,
.page-org-overview table td:not(:first-child),
body.page-org-overview table td:last-child,
body.page-org-overview table td:not(:first-child),
body[class*="org-overview"] table td:last-child,
body[class*="org-overview"] table td:not(:first-child) {
  background-color: #ffffff !important;
  color: #1e293b !important;
  padding: 14px 20px !important;
  border-bottom: 1px solid #cbd5e1 !important;
  vertical-align: middle !important;
}

.page-about table tr:last-child td,
body.page-about table tr:last-child td,
body[class*="page-about"] table tr:last-child td,
body[class*="about"] .entry-content table tr:last-child td,
.page-org-overview table tr:last-child td,
body.page-org-overview table tr:last-child td,
body[class*="org-overview"] table tr:last-child td,
body.page table tr:last-child td,
table tr:last-child td {
  border-bottom: 1px solid #cbd5e1 !important;
}
/* ==========================================================================
   スマートフォン表示専用：経営コラム・お知らせ一覧 ＆ 会長メッセージ・専門家詳細コラム
   （左右均等センタリング ＆ 続きを読むボタン枠内絶妙余白配置・引き締め品格デザイン）
   ========================================================================== */
@media screen and (max-width: 768px) {
  /* ① 会長メッセージ ＆ 専門家詳細のコラムカード（確実に1列縦並び） */
  .columns-feed-row,
  .member-columns-feed-row,
  .president-columns-feed-row,
  .president-columns-box .columns-feed-row,
  .member-latest-columns-box .columns-feed-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 25px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .columns-feed-row .column-entry-card {
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .columns-feed-row .entry-thumb-img,
  .member-columns-feed-row .entry-thumb-img,
  .president-columns-box .entry-thumb-img {
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    aspect-ratio: auto !important;
  }

  /* ② 経営コラム一覧 ＆ お知らせ一覧 ＆ 著者別アーカイブ（カードコンテナ：左右均等中央配置） */
  .post-type-archive-column .vk_posts,
  .post-type-archive-post .vk_posts,
  .tax-column_category .vk_posts,
  .tax-column_tag .vk_posts,
  .category .vk_posts,
  .tag .vk_posts,
  .author .vk_posts,
  .page-information .vk_posts,
  .page-column .vk_posts,
  .vk_posts {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 40px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* カード本体：左右均等センタリング ＆ 上下間隔24px確保 ＆ 端正な外枠 */
  .post-type-archive-column .vk_post,
  .post-type-archive-post .vk_post,
  .tax-column_category .vk_post,
  .tax-column_tag .vk_post,
  .category .vk_post,
  .tag .vk_post,
  .author .vk_post,
  .page-information .vk_post,
  .page-column .vk_post,
  .vk_posts .vk_post,
  .vk_post {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background-color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(15, 28, 63, 0.06) !important;
    box-sizing: border-box !important;
    position: relative !important;
  }

  /* テーマ内部グリッドの解除 */
  .vk_post .row,
  .vk_posts .row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .vk_post [class*="col-"],
  .vk_posts [class*="col-"],
  .vk_post .col-12,
  .vk_posts .col-12 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* 写真エリア（左右隙間ゼロ ＆ 16:9比率での綺麗で端正な画像収容） */
  .post-type-archive-column .vk_post .vk_post_imgOuter,
  .post-type-archive-post .vk_post .vk_post_imgOuter,
  .tax-column_category .vk_post .vk_post_imgOuter,
  .category .vk_post .vk_post_imgOuter,
  .author .vk_post .vk_post_imgOuter,
  .page-information .vk_post .vk_post_imgOuter,
  .page-column .vk_post .vk_post_imgOuter,
  .vk_posts .vk_post_imgOuter,
  .vk_post .vk_post_imgOuter {
    flex: 0 0 180px !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: 180px !important;
    min-height: 180px !important;
    max-height: 180px !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    position: relative !important;
    background-color: #f8fafc !important;
    box-sizing: border-box !important;
  }

  .vk_post .vk_post_imgOuter a,
  .vk_posts .vk_post_imgOuter a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
  }

  .vk_post .vk_post_imgOuter img,
  .vk_posts .vk_post_imgOuter img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
  }

  /* 本文エリア（下部パディングを12pxに引き締め） */
  .post-type-archive-column .vk_post .vk_post_body,
  .post-type-archive-post .vk_post .vk_post_body,
  .tax-column_category .vk_post .vk_post_body,
  .category .vk_post .vk_post_body,
  .author .vk_post .vk_post_body,
  .page-information .vk_post .vk_post_body,
  .page-column .vk_post .vk_post_body,
  .vk_posts .vk_post_body,
  .vk_post .vk_post_body {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px 20px 12px 20px !important; /* ボタン下の余白を程よく12pxに引き締め */
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    background-color: #ffffff !important;
    position: relative !important;
  }

  .vk_post .vk_post_title,
  .vk_posts .vk_post_title {
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.5 !important;
    margin: 0 0 10px 0 !important;
    color: #0f1c3f !important;
    display: block !important;
  }

  .vk_post .vk_post_title a,
  .vk_posts .vk_post_title a {
    color: #0f1c3f !important;
    text-decoration: none !important;
    display: block !important;
  }

  /* 【上品・絶妙余白スタイル】「続きを読む」ボタン：程よい余白で右寄せ配置 */
  .vk_post .vk_post_btnOuter,
  .vk_posts .vk_post_btnOuter,
  .vk_post_btnOuter {
    position: static !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-top: 10px !important; /* ボタン上の余白を10pxに調整 */
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    clear: both !important;
  }

  .vk_post .vk_post_btn,
  .vk_posts .vk_post_btn,
  .vk_post_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #0f1c3f !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 20px !important;
    border-radius: 4px !important;
    border: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: 0 2px 6px rgba(15, 28, 63, 0.15) !important;
    transition: all 0.25s ease !important;
    margin: 0 !important;
    cursor: pointer !important;
  }

  .vk_post .vk_post_btn:hover,
  .vk_posts .vk_post_btn:hover,
  .vk_post_btn:hover {
    background-color: #0066cc !important;
    color: #ffffff !important;
  }
}


/* ==========================================================================
   お問い合わせCTAウィジェット：タイトル背景色をボタンと同色の濃紺に統一
   ========================================================================== */
.vk_cta .cta_title,
.widget_vk_cta .cta_title,
.widget_vkexunit_cta .cta_title,
.cta_title,
.vk_cta_title,
.vk_cta-header,
[class*="vk_cta"] [class*="title"] {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border-bottom: 2px solid #0066cc !important;
}


/* ==========================================================================
   【ピンポイント追加】トップページ：お知らせ一覧を見る ボタンの中央揃え
   ========================================================================== */
/* お知らせ記事リスト自体は左寄せを維持 */
.top-news-list,
.top-news-list li,
.top-news-list li a,
.home .top-news-list,
.home .top-news-list li a {
  text-align: left !important;
}

.home .news-single-section .wp-block-buttons,
.home .news-single-section .wp-block-button,
.home div:has(> .top-news-list) + .wp-block-buttons,
.home div:has(> .top-news-list) ~ .wp-block-buttons,
.home .wp-block-buttons:has(a[href*="information"]),
.home .wp-block-buttons:has(a[href*="news"]) {
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  margin: 30px auto 0 auto !important;
  float: none !important;
}

.home .news-single-section .wp-block-button__link,
.home .wp-block-button:has(a[href*="information"]) .wp-block-button__link,
.home .wp-block-button:has(a[href*="news"]) .wp-block-button__link {
  margin: 0 auto !important;
  display: inline-block !important;
}

/* ==========================================================================
   【ピンポイント追加】コンタクトフォーム：プライバシーポリシー同意チェックの青枠完全消去
   ========================================================================== */
.wpcf7-checkbox,
.wpcf7-acceptance,
.wpcf7-form-control-wrap,
.wpcf7-form-control-wrap.acceptance,
span.wpcf7-list-item,
span.wpcf7-list-item-label,
.wpcf7-list-item.first,
input[type="checkbox"],
.wpcf7 input[type="checkbox"],
form input[type="checkbox"],
form .wpcf7-acceptance,
form table td:has(.wpcf7-acceptance) {
  border: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* チェックボックスを囲む要素の枠線をピンポイント解除 */
.wpcf7 form table td .wpcf7-form-control-wrap,
.wpcf7 form p:has(input[type="checkbox"]),
form div:has(> input[type="checkbox"]) {
  border: none !important;
  box-shadow: none !important;
}

/* ==========================================================================
   【ピンポイント追加】送信ボタン ＆ 会員サイトログインボタンのマウスオーバー色反転
   ========================================================================== */
.wpcf7 input[type="submit"],
.wpcf7 button[type="submit"],
form.wpcf7-form input[type="submit"],
.post-password-form input[type="submit"],
.post-password-form button[type="submit"] {
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border: 1px solid #0f1c3f !important;
  border-radius: 4px !important;
  padding: 12px 36px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
}

.wpcf7 input[type="submit"]:hover,
.wpcf7 button[type="submit"]:hover,
form.wpcf7-form input[type="submit"]:hover,
.post-password-form input[type="submit"]:hover,
.post-password-form button[type="submit"]:hover {
  background-color: #0066cc !important;
  border-color: #0066cc !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 12px rgba(0, 102, 204, 0.35) !important;
}

/* 専門家詳細：コラム一覧ボタン ＆ 最下部お問い合わせボタンのホバー反転 */
.btn-member-columns-archive:hover,
.btn-bottom-contact-link:hover {
  background-color: #0066cc !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(0, 102, 204, 0.35) !important;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .member-column-cards-row {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .member-category-badges-wrap {
    justify-content: flex-start !important;
  }
}

/* 専門士業・エキスパートバッジのリンクホバー演出 */
.badge-link-clickable:hover {
  opacity: 0.85 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
}

@media (max-width: 768px) {
  .member-columns-feed-row {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .expert-intro-inner {
    flex-direction: column !important;
    align-items: center !important;
  }
  .expert-intro-photo {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
  }
}

/* ==========================================================================
   専門家詳細ページ：本文見出し（自己紹介・資格・経歴・実績など）の帯デザイン化（image_bd3c79.png）
   ========================================================================== */
.single-member .entry-content h2,
.single-member .entry-content h3,
.single-member .entry-content h4,
.single-member .member-detail-section-badge {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border-left: 5px solid #0066cc !important;
  border-radius: 4px !important;
  padding: 13px 20px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-top: 35px !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  box-shadow: 0 2px 8px rgba(15, 28, 63, 0.08) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
}

.single-member .entry-content h2 *,
.single-member .entry-content h3 *,
.single-member .entry-content h4 *,
.single-member .member-detail-section-badge * {
  color: #ffffff !important;
}

.single-member .entry-content h2 *,
.single-member .entry-content h3 *,
.single-member .entry-content h4 * {
  color: #ffffff !important;
}


/* ==========================================================================
   専門家詳細ページ：本文内見出し（自己紹介・資格・経歴・実績など）の完全帯デザイン化（image_bd3c79.png準拠）
   ========================================================================== */
.single-member .entry-content h2,
.single-member .entry-content h3,
.single-member .entry-content h4,
.single-member .member-section-band-title,
.single-member .member-detail-section-badge {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background-color: #0f1c3f !important;
  color: #ffffff !important;
  border-left: 5px solid #0066cc !important;
  border-radius: 4px !important;
  padding: 13px 20px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  margin-top: 35px !important;
  margin-bottom: 20px !important;
  text-align: left !important;
  box-shadow: 0 2px 8px rgba(15, 28, 63, 0.08) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.4 !important;
}

.single-member .entry-content h2 *,
.single-member .entry-content h3 *,
.single-member .entry-content h4 *,
.single-member .member-section-band-title *,
.single-member .member-detail-section-badge * {
  color: #ffffff !important;
}

/* 経営コラム・お知らせ等のテーブル書式完全保護（エディタの色設定を100%優先） */
.single-column .entry-content table,
.single-post .entry-content table,
.single-column table,
.single-post table {
  color: inherit !important;
}
.single-column table td,
.single-column table th,
.single-post table td,
.single-post table th {
  color: inherit !important;
}


/* 専門家詳細：枠なしフラットレイアウトのスマホ最適化 */
@media (max-width: 768px) {
  .expert-intro-inner {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
  }
  .expert-intro-photo {
    width: 100% !important;
    max-width: 240px !important;
    margin: 0 auto !important;
  }
  .expert-intro-info {
    width: 100% !important;
  }
  .member-category-badges-wrap {
    justify-content: flex-start !important;
  }
}

/* ==========================================================================
   専門家詳細ページ：メイン写真のマウスオーバー（ホバーアニメーション）
   ========================================================================== */
.expert-intro-photo {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
  cursor: pointer;
}

.expert-intro-photo img {
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) !important;
  transform-origin: center center !important;
}

.expert-intro-photo:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 26px rgba(15, 28, 63, 0.14) !important;
  border-color: #cbd5e1 !important;
}

.expert-intro-photo:hover img {
  transform: scale(1.04) !important;
}

/* PC用：会長メッセージ ＆ 専門家詳細コラム 3列グリッド */
@media (min-width: 769px) {
  .member-columns-feed-row,
  .president-columns-feed-row,
  .president-columns-box .columns-feed-row {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    width: 100% !important;
  }
}
