/*
Theme Name: Lightning Child Sample
Theme URI:
Template: lightning
Description:
Author:
Tags:
Version: 0.6.1
*/
/* ========================================================
   サイト全体のフォントを Noto Sans JP に完全統一
   ======================================================== */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Sans:wght@400;700&display=swap');

html, body, h1, h2, h3, h4, h5, h6, p, blockquote, input, textarea, select, button {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif !important;
}

/* ========================================================
   サイト共通：パンくずリストの超シンプル化カスタム
   ======================================================== */

/* 背景 枠線 を完全に消去して透明にする */
#breadcrumb,
.breadcrumb {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 0 5px !important;
  margin: 0 !important;
}

/* 一番最初 1階層目 の HOME リンクだけをブルーにする */
.breadcrumb-list li:first-child a,
#breadcrumb-list li:first-child a {
  color: #0075C2 !important;
  text-decoration: none !important;
  font-weight: 500;
  transition: color 0.2s ease;
}

/* HOMEをホバーしたときはブルーのまま下線を出す */
.breadcrumb-list li:first-child a:hover,
#breadcrumb-list li:first-child a:hover {
  text-decoration: underline !important;
  color: #005a96 !important;
}

/* 2階層目以降のすべてのリンク aタグ テキスト 現在地をグレーにする */
#breadcrumb li,
.breadcrumb-list li,
.breadcrumb-item,
.breadcrumb-list li:not(:first-child) a,
#breadcrumb-list li:not(:first-child) a {
  color: #A2A2A2 !important;
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 10px;
  letter-spacing: 0.03em;
  text-decoration: none !important;
}

/* 2階層目以降のリンクをホバーしたときは 下線を出す */
.breadcrumb-list li:not(:first-child) a:hover,
#breadcrumb-list li:not(:first-child) a:hover {
  text-decoration: underline !important;
  color: #A2A2A2 !important;
}

/* 区切りカラーを一括指定 */
.breadcrumb-list li::after,
.breadcrumb-list li::before,
#breadcrumb li::after {
  color: #A2A2A2 !important;
}

/* HOMEの左側にある 家アイコン を完全に消し去る */
.breadcrumb-list li i,
.breadcrumb-list li a i,
.breadcrumb-list li a::before {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* 区切り文字を上書きする 暗号化コードでエラーを回避 */
.breadcrumb-list li:not(:last-child):after,
#breadcrumb-list li:not(:last-child):after {
  content: "\FF1E" !important;
  font-family: 'Noto Sans', sans-serif !important;
  font-size: 11px !important;
  color: #A2A2A2 !important;
  margin-left: 0.6em !important;  
  margin-right: 0.6em !important; 
}
/* 一番最後の項目 現在地 の後ろの区切りを消滅させる */
.breadcrumb-list li:last-child:after,
#breadcrumb-list li:last-child:after {
  content: none !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* 二重表示防止 */
.breadcrumb-list li+li::before,
#breadcrumb-list li+li::before {
  content: none !important;
  display: none !important;
}

/* ========================================================
   サイト共通：PCのみ スマホ SP のみで効く改行コントロール
   ======================================================== */

/* デフォルト状態 PC大画面 での動き */
.pc-br {
  display: inline !important;
}
.sp-br {
  display: none !important;
}

/* 画面幅が768px以下 スマホ タブレット になったときの動き */
@media (max-width: 768px) {
  .pc-br {
    display: none !important;
  }
  .sp-br {
    display: inline !important;
  }
}

/* ========================================================
   全ページ共通：不要なデフォルト要素を非表示
   ======================================================== */

/* 1. 上部の青い見出し帯を消去 */
.single-product .page-header,
.single-technology .page-header,
.single-post .page-header,
.page .page-header,
.blog .page-header,       
.archive .page-header {    
  display: none !important;
}

/* 2. 自動出力される タイトル 日付 投稿者 を非表示 */
.single-product .entry-header,
.single-technology .entry-header,
.single-post .entry-header,
.page .entry-header {
  display: none !important;
}

/* 3. 本文下のカテゴリーやタグのバッジ 投稿ナビ を非表示 */
.single-product .entry-footer,
.single-technology .entry-footer,
.single-post .entry-footer,
.page .entry-footer {
  display: none !important;
}

/* 4. 最下部の アーカイブ カテゴリー の青いエリア を非表示 */
.single-product .site-body-bottom,
.single-technology .site-body-bottom,
.single-post .site-body-bottom,
.page .site-body-bottom,
.blog .site-body-bottom,       
.archive .site-body-bottom {    
  display: none !important;
}

/* 5. 上部にできる不自然な余白を消す調整 */
.single-product .site-body-container,
.single-technology .site-body-container,
.single-post .site-body-container,
.page .site-body-container {
  padding-top: 40px;
}

/* 6. ページ内の余白調整 */
@media (min-width: 992px) {
  .site-body { padding: 0 0 3.5rem !important;}
}

.page .site-body-container {
    padding-top: 0!important;
}

/* ========================================================
   製品紹介ページ 概要エリア 特徴エリア 技術情報 共通デザイン
   ======================================================== */

/* 全体を包む大きな外枠 */
.product-page-wrapper,
.tech-page-wrapper {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  border: 1px solid #A9A9A9;
  border-radius: 6px;
  background-color: #ffffff;
  padding: 40px; 
  box-sizing: border-box;
  width: 90%;
  margin: 0 auto 50px;
}

/* 英語サブタイトルのデザイン */
.product-page-wrapper .eng-sub-title,
.tech-page-wrapper .eng-sub-title {
  display: block;
  font-size: 13px;
  color: #a0a0a0;
  letter-spacing: 0.15em;
  margin-top: -20px;    
  margin-left: -20px;   
  margin-bottom: 25px;  
  font-weight: 500;
  line-height: 1;
}

/* ファーストビュー 概要コンテナ */
.custom-product-container {
  display: flex;
  align-items: center; 
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin-bottom: 20px;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 0 !important; 
}

/* 各カラムの幅 PC時 */
.product-info-column {
  flex: 1;
  max-width: 50%;
}
.product-image-column {
  flex: 1;
  max-width: 50% !important;
  text-align: center;
}
.product-image-column img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.product-main-name,
.tech-main-name {
  font-size: 38px;
  font-weight: 500 !important;
  color: #333333;
  margin: 0 0 20px 0 !important;
  line-height: 1.3;
}

/* タグの共通スタイル */
.product-tag-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 25px;
}
.custom-tag {
  font-size: 12px;        
  font-weight: 500 !important;
  color: #ffffff;
  border-radius: 6px;
  display: inline-flex; 
  align-items: center;
  justify-content: center;
  width: 115px;
  height: 36px;
  padding: 8px 14px !important;
  box-sizing: border-box; 
  text-align: center;
}

/* タグのカラーバリエーション */
.tag-blue { background-color: #007BFF; }
.tag-purple { background-color: #7842F5; }
.tag-green { background-color: #28A745; }
.tag-orange { background-color: #FF9800; }
.tag-red { background-color: #DC3545; }
.tag-cyan { background-color: #17A2B8; }
.tag-gray { background-color: #6C757D; }

/* 紹介文 */
.product-lead-text {
  font-size: 15px;
  color: #444444;
  line-height: 1.8;
  margin: 0;
}

/* 上下線付きの見出し */
.product-sec-title-wrap {
  margin: 50px 0 30px 0;
}
.product-sec-title-top-line {
  height: 6px;
  background-color: #2587C0;
  width: 100%;
}
.product-sec-title {
  font-size: 22px;
  font-weight: 600;
  color: #2587C0;
  margin: 4px 0;
  letter-spacing: 0.1em;
  padding: 0 0 0 5px !important;
  border-top: none !important;
  border-bottom: 0 !important;
}
.product-sec-title-bottom-line {
  height: 1.2px;
  background-color: #2587C0;
  width: 100%;
}

/* 特徴エリアのリスト */
.product-features-list {
  list-style-type: disc;
  padding-left: 20px;
  margin: 20px 0 50px 0;
}
.product-features-list li {
  font-size: 18px;
  color: #333333;
  line-height: 1.6;
  margin-bottom: 10px;
}

/* 製品例エリア */
.product-eg-desc-text {
  font-size: 15px;
  color: #444444;
  line-height: 1.8;
  margin-bottom: 35px;
  padding: 0 5px;
}
.product-eg-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px 25px;
  margin-bottom: 20px; 
}
.product-eg-item {
  text-align: center;
}
.product-eg-item img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease;
}
.product-eg-item img:hover {
  transform: translateY(-5px);
}
.product-eg-name {
  font-size: 18px;
  font-weight: 500;
  color: #333333;
  padding-bottom: 10px;
  border-bottom: 1px solid #2587C0;
  display: block;
  margin: 0;
}

/* SP表示 スマホ用のレスポンシブ設定 */
@media (max-width: 768px) {
  .product-page-wrapper, .tech-page-wrapper {
    padding: 25px 12px;
    margin-bottom: 40px;
    width: 98%;
  }
  .product-page-wrapper .eng-sub-title, 
  .tech-page-wrapper .eng-sub-title {
    margin-top: -10px;    
    margin-left: -10px;   
  }	
  
  .custom-product-container {
    flex-direction: column;
    gap: 30px;
  }
  .product-info-column,
  .product-image-column {
    max-width: 100% !important;
    width: 100%;
  }
  .product-info-column { order: 1; }
  .product-image-column { order: 2; }
  
  .product-main-name { font-size: 26px; }
  .product-lead-text br { display: none; }
  
  .product-sec-title-wrap { margin: 40px 0 20px 0; }
  .product-sec-title-top-line { height: 8px; }
  .product-sec-title { font-size: 19px; margin: 8px 0; }
  
  .product-features-list li { font-size: 15px; }
  
  .product-eg-grid {
    grid-template-columns: 1fr;
    gap: 35px;
  }
}

/* リスト内挿入画像のスタイリング */
.feature-inline-img {
  margin: 15px 0 20px 0;
  max-width: 500px; 
  width: 100%;
}
.feature-inline-img img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;        
  border: 1px solid #dee2e6; 
}
@media (max-width: 768px) {
  .feature-inline-img {
    max-width: 100%;
    margin: 10px 0;
  }
}

/* フロー図エリアの画像スタイリング */
.product-flow-img {
  margin: 25px 0 45px 0;
  max-width: 760px; 
  width: 100%;
  box-sizing: border-box;
}
.product-flow-img img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;        
  border: 1px solid #dee2e6; 
}
@media (max-width: 768px) {
  .product-flow-img {
    margin: 20px 0 35px 0;
    max-width: 100%;
  }
}

/* 動画エリアのレスポンシブ埋め込み（videoタグにも完全対応版） */
.product-video-wrap {
  margin: 25px 0 45px 0;
  max-width: 760px; 
  width: 100%;
  box-sizing: border-box;
}
.product-video-inner {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; 
  background-color: #fff; /* 動画の左右に隙間ができた時のためのシックな黒背景 */
  border-radius: 4px;
}
/* iframe だけでなく video タグにも同じ100%全幅デザインを適用 */
.product-video-inner iframe,
.product-video-inner video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 4px; 
  object-fit: contain; /* 動画の元の比率を絶対に崩さずに枠内に収める */
}
@media (max-width: 768px) {
  .product-video-wrap {
    margin: 20px 0 35px 0;
    max-width: 100%;
  }
}

/* ========================================================
   共通オプション 左右2分割レイアウト
   ======================================================== */
.product-split-container {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  display: flex;
  align-items: center;       
  justify-content: space-between;
  gap: 40px;                  
  width: 100%;
  margin: 20px 0 40px 0;
  box-sizing: border-box;
}
.product-split-text {
  flex: 1;
  max-width: 60%;
}
.product-split-text .product-features-list {
  margin: 0;
}
.product-split-image {
  flex: 1;
  max-width: 40%;
  text-align: center;
}
.product-split-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 4px;        
  border: 1px solid #dee2e6; 
}
@media (max-width: 768px) {
  .product-split-container {
    flex-direction: column;  
    gap: 25px;
  }
  .product-split-text,
  .product-split-image {
    max-width: 100%;
    width: 100%;
  }
  .product-split-text { order: 1; }
  .product-split-image { order: 2; }
}

/* 横2列 縦2段に整列させるグリッド */
.grid-2col-2row {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: 20px;                                             
  margin-bottom: 40px;
  width: 100%;
}
@media (max-width: 768px) {
  .grid-2col-2row {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

/* ========================================================
   仕様表 テーブルエリア レスポンシブ制御
   ======================================================== */
.product-table-wrap {
  margin: 30px 0 50px 0;
  width: 100%;
}

/* 初期状態ではスマホ用縦並びテーブルを完全に非表示 */
.sp-only-table {
  display: none !important;
}
.pc-only-table {
  display: block !important;
}

.product-spec-table {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  width: 100%;
  border-collapse: collapse; 
  border: 1px solid #dee2e6; 
  background-color: #ffffff;
}
.product-spec-table th,
.product-spec-table td {
  border: 1px solid #dee2e6; 
  padding: 16px 20px;       
  font-size: 15px;
  line-height: 1.5;
  text-align: center;        
  vertical-align: middle;    
}
.product-spec-table th {
  background-color: #f2f2f2; 
  font-weight: 500;
  color: #333333;
  width: 16%;               
  min-width: 100px;         
}
.product-spec-table td {
  color: #222222;
}

/* スマホ表示 画面幅768px以下 の時の完全切り替えルール */
@media (max-width: 768px) {
  
  /* PC用テーブルを消し スマホ用テーブルを召喚 */
  .pc-only-table {
    display: none !important;
  }
  .sp-only-table {
    display: block !important;
  }
  
  /* 横スクロール用の設定をリセットし 画面幅100%に完全固定 */
  .product-table-wrap {
    overflow-x: visible !important;
  }
  
  .product-spec-table th,
  .product-spec-table td {
    padding: 12px 12px !important;     
    font-size: 13.5px !important;      
    text-align: left !important; /* スマホでは左寄せのほうが見やすいため調整 */
    white-space: normal !important; /* 強制1行指定を解除し 枠内できれいに自動改行 */
  }
  
  /* スマホ用テーブルの見出し（型式名）を会社ブルーで太く際立たせる */
  .product-spec-table th.sp-table-type-title {
    background-color: #2587C0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-align: center !important;
    width: 100% !important;
  }
  
  /* 左側の項目名（機械形式 など）の横幅を32%に均一固定して縦のラインを美しく整列 */
  .product-spec-table tbody tr th:not(.sp-table-type-title) {
    width: 32% !important;
    min-width: 32% !important;
    background-color: #f8f9fa !important;
  }
}

/* ========================================================
   電磁フィーダ専用 追加オプションパーツ
   ======================================================== */
.product-btn-link {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #2587C0; 
  color: #ffffff !important;  
  text-decoration: none !important;
  padding: 14px 35px;
  border-radius: 6px;        
  font-size: 15px;
  font-weight: 600;
  margin-top: 10px;
  margin-bottom: 40px;
  box-sizing: border-box;
  transition: background-color 0.3s ease;
}
.product-btn-link:hover {
  background-color: #1d6996;
}

.electro-capability-box {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  background-color: #f8f9fa; 
  border: 2px solid #dee2e6; 
  border-radius: 6px;
  padding: 35px 25px;
  margin: 25px 0 30px 0;
  box-sizing: border-box;
  width: 100%;
}
.electro-capability-title {
  text-align: center; 
  font-size: 18px;
  font-weight: 500;
  color: #000000;
  margin: 0 0 30px 0;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.electro-card-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 15px; 
}
.electro-card-item {
  background-color: #ffffff; 
  border: 1px solid #dee2e6; 
  border-radius: 6px;
  padding: 15px 12px;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0,0,0,0.02); 
}
.electro-card-item img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto 15px auto;
  border-radius: 4px;
}
.electro-card-text {
  font-size: 15px;
  color: #333333;
  margin: 0;
  padding: 5px 0;
  font-weight: 500;
}
@media (max-width: 768px) {
  .electro-capability-box {
    padding: 25px 15px;
  }
  .electro-capability-title {
    font-size: 15px; 
    text-align: left; 
    margin-bottom: 20px;
  }
  .electro-card-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .product-btn-link {
    width: 100%; 
  }
}

/* ========================================================
   振動スクリーン専用 4列見本カード 小見出し
   ======================================================== */
.grid-4col {
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 20px; 
  margin-bottom: 40px;
  width: 100%;
}
.product-sub-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #333333;
  margin: 35px 0 20px 0;
  line-height: 1.4;
  border-left: 4px solid #2587C0 !important;
  padding: 2px 0 2px 8px !important; 
  border-bottom: none !important; 
}
h3.product-sub-title::before,
h3.product-sub-title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.screen-card-item {
  background-color: #ffffff;
  border: 1px solid #dee2e6; 
  border-radius: 4px;        
  padding: 15px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
.screen-card-img-wrap {
  text-align: center;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.screen-card-img-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.screen-card-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.screen-card-title {
  font-size: 14px;
  font-weight: 600; 
  color: #333333;
  margin: 0 0 8px 0;
  line-height: 1.4;
  padding: 0 !important;
  background-color: #fff !important;
}
.screen-card-desc {
  font-size: 12px;
  color: #666666;
  line-height: 1.5;
  margin: 0;
}
.grid-flexible {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  margin-bottom: 40px;
  width: 100%;
}
.grid-2col-left {
  display: grid;
  grid-template-columns: repeat(2, 1fr); 
  gap: 20px;
  margin-bottom: 40px;
  width: 100%;
}
@media (max-width: 768px) {
  .grid-4col {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .product-sub-title {
    font-size: 16px;
    margin: 25px 0 15px 0;
  }
  .screen-card-title { text-align: center; }
  .screen-card-desc { text-align: center; }
  .grid-flexible {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .grid-2col-left {
    grid-template-columns: 1fr;
    gap: 15px;
  }
}

/* ========================================================
   製品紹介ページ共通 製品カードエリア ＆ 統合見出し
   ======================================================== */

/* 新設：全体を包括する中央寄せの器 */
.product-catalog-container {
  text-align: center !important;
  width: 100% !important;
  margin: 50px auto !important;
}

/* ── info-hero-title のスタイルを完全継承 ＋ ブルーカスタム ── */
.product-catalog-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  color: #0076C0 !important; /* 文字カラーを指定のブルーに可変 */
  text-align: center !important;
  z-index: 2 !important;
  margin: 0 auto 20px auto !important;
  display: inline-block !important;
  border-bottom: 2px solid #0076C0 !important; /* 下線カラーを指定のブルーに可変 */
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
	padding: 0 !important;
    border-top: 0 !important;
}

/* カタロググリッド本体（外枠のコンテナ） */
.product-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 20px;
  width: 90%;
  margin: 0 auto !important; /* 外枠側にマージンを逃がしたため 0 auto に適正化 */
}

.product-card-item {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 6px;
  padding: 20px;
  text-decoration: none !important; 
  box-sizing: border-box;
  text-align: left; /* カードの中身は読みやすく左寄せを厳守 */
  transition: all 0.3s ease;
}
.product-card-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}
.card-eng-title {
  font-size: 11px;
  color: #999999;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}
.card-img-wrap {
  text-align: center;
  margin-bottom: 15px;
  height: 180px; 
  display: flex;
  align-items: center;
  justify-content: center;
}
.card-img-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.card-jp-title {
  font-size: 18px;
  font-weight: 500;
  color: #333333;
  margin: 0 0 12px 0;
  line-height: 1.4;
  min-height: 40px; 
  position: none !important;
  border-bottom:none !important;
}
.card-jp-title::after,
.card-jp-title::before {
  content: none !important;
  display: none !important;
}
.card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 15px;
  min-height: 24px;
}
.c-mini-tag {
  font-size: 10px;
  font-weight: 600;
  color: #ffffff;
  padding: 3px 8px;
  border-radius: 4px;
}
.card-more-btn {
  font-size: 13px;
  font-weight: 500;
  color: #FF0000; 
  display: inline-block;
}

/* ────────────────────────────────────────────────────────
   【SP表示】スマホ表示のレスポンシブ微調整（画面幅768px以下）
   ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  
  .product-catalog-container {
    margin: 35px auto !important; /* スマホ用にセクションの上下余白をスマートに */
  }
  
  /* ご要望：スマホ時に26pxへ美しく自動リサイズ */
  .product-catalog-title {
    font-size: 22px !important;
    margin-bottom: 25px !important;
  }
  
  .product-catalog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ========================================================
   開いている製品のカードをグレー化
   ======================================================== */
.post-28 .card-feeder,
.post-110 .card-conveyor,
.post-124 .card-electromagnetic,
.post-131 .card-screen,
.post-168 .card-pharma,
.post-180 .card-dryer-cooler,
.post-185 .card-heat,
.post-190 .card-spiral,
.post-202 .card-bowl,
.post-208 .card-convertible,
.post-216 .card-tablet{
  background-color: #F2F2F2 !important; 
  border-color: #D6D6D6 !important;     
  pointer-events: none;                 
  opacity: 0.8;                         
}
.post-28 .card-feeder .card-more-btn,
.post-110 .card-conveyor .card-more-btn,
.post-124 .card-electromagnetic .card-more-btn,
.post-131 .card-screen .card-more-btn,
.post-168 .card-pharma .card-more-btn,
.post-180 .card-dryer-cooler .card-more-btn,
.post-185 .card-heat .card-more-btn,
.post-190 .card-spiral .card-more-btn,
.post-202 .card-bowl .card-more-btn,
.post-208 .card-convertible .card-more-btn,
.post-216 .card-tablet .card-more-btn{
  visibility: hidden; 
}

@media (max-width: 768px) {
  .tech-main-name {
    font-size: 26px;    
    margin-bottom: 30px;
  }
}

/* ========================================================
   技術情報専用：見出し 各種インデント装飾
   ======================================================== */
.product-sub-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #333333;
  margin: 35px 0 20px 0;
  line-height: 1.2;
  border-left: 4px solid #2587C0 !important;
  padding: 2px 0 2px 8px !important; 
  border-bottom: none !important; 
}
h3.product-sub-title::before,
h3.product-sub-title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.tech-desc-block {
  margin: 10px 0 30px 24px;       
  padding-left: 0;                
  border-left: none !important;   
}
.tech-desc-block p {
  font-size: 15px;
  line-height: 1.6;
  color: #333333;
  margin: 0;
}
.tech-numbered-list {
  margin: 25px 0 40px 45px;       
  padding: 0;
  list-style-type: decimal;       
}
.tech-numbered-list li {
  font-size: 14px;
  color: #333333;
  line-height: 1.8;
  margin-bottom: 10px;
  padding-left: 5px;
}
@media (max-width: 768px) {
 /* .tech-desc-block { margin-left: 15px; }*/
  .tech-numbered-list { margin-left: 25px; }
}

/* ========================================================
   技術情報 「設備構成」 専用レイアウト
   ======================================================== */
.tech-hopper-split {
  display: flex;
  align-items: flex-start;   
  justify-content: space-between;
  gap: 30px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 50px;
  box-sizing: border-box;
}
.tech-hopper-left {
  flex: 1;
  max-width: 60%;         
}
.tech-table-wrap {
  margin: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.tech-spec-table {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #dee2e6;
  background-color: #ffffff;
}
.tech-spec-table th,
.tech-spec-table td {
  border: 1px solid #dee2e6;
  padding: 10px 10px !important;   
  font-size: 12px !important;       
  text-align: center;
  vertical-align: middle;
  white-space: nowrap !important;  
}
.tech-spec-table th {
  background-color: #f2f2f2;
  font-weight: 500;
  color: #333333;
}
.tech-hopper-right {
  flex: 1;
  max-width: 40%;
  text-align: center;
}
.tech-hopper-right img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.tech-hang-split {
  display: flex;
  align-items: center;       
  justify-content: space-between;
  gap: 30px;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 40px;
  box-sizing: border-box;
}
.tech-hang-left {
  flex: 1;
  max-width: 60%;
}
.tech-hang-right {
  flex: 1;
  max-width: 40%;
  text-align: center;
}
.tech-hang-right img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 4px;
  border: 1px solid #dee2e6;
  box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}

.tech-formula-box {
  background-color: #f8f9fa; 
  border-left: 4px solid #2587C0; 
  padding: 15px 20px;
  margin: 20px 0;
  border-radius: 0 4px 4px 0;
}
.tech-formula-box p {
  font-size: 14px;
  font-weight: 700;          
  color: #222222;
  margin: 0;
  letter-spacing: 0.03em;
}
@media (max-width: 768px) {
  .tech-hopper-split,
  .tech-hang-split {
    flex-direction: column;
    gap: 25px;
  }
  .tech-hopper-left,
  .tech-hopper-right,
  .tech-hang-left,
  .tech-hang-right {
    max-width: 100%;
    width: 100%;
  }
  .tech-hopper-left { order: 1; }
  .tech-hopper-right { order: 2; }
  .tech-hang-left { order: 1; }
  .tech-hang-right { order: 2; }
  .tech-formula-box p { font-size: 14px; }
}

/* ========================================================
   技術情報ページ共通 技術カードエリア ＆ 統合見出し
   ======================================================== */

/* 新設：全体を包括する中央寄せの器 */
.tech-catalog-container {
  text-align: center !important;
  width: 100% !important;
  margin: 50px auto !important;
}

.tech-catalog-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif !important;
  font-size: 30px !important;
  font-weight: 500 !important;
  color: #0076C0 !important; 
  text-align: center !important;
  z-index: 2 !important;
  margin: 0 auto 20px auto !important;
  display: inline-block !important;
  border-bottom: 2px solid #0076C0 !important; 
  letter-spacing: 0.08em !important;
  line-height: 1.3 !important;
  padding: 0 !important;
  border-top: 0 !important;
}

/* カタロググリッド本体 */
.tech-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 20px;
  width: 90%;
  margin: 0 auto !important; /* マージンを親コンテナ側に逃がしたため 0 auto に最適化 */
}

.tech-card-item {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border: 1px solid #E0E0E0;
  border-radius: 6px;
  padding: 20px;
  text-decoration: none !important; 
  box-sizing: border-box;
  text-align: left; /* カード内のテキストは可読性のため左寄せ */
  transition: all 0.3s ease;
}
.tech-card-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.05);
}
.tech-card-img-wrap {
  text-align: center;
  margin-bottom: 15px;
  height: 180px; 
  display: flex;
  align-items: center;
  justify-content: center;
}
.tech-card-img-wrap img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.tech-card-jp-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 500;
  color: #333333;
  margin: 0 0 15px 0;
  line-height: 1.4;
  min-height: 40px; 
  border-bottom: none !important; 
}
.tech-card-jp-title::after,
.tech-card-jp-title::before {
  content: none !important;
  display: none !important;
}
.tech-card-more-btn {
  font-size: 13px;
  font-weight: 500;
  color: #FF0000; 
  margin-top: auto; 
  display: inline-block;
}

/* ────────────────────────────────────────────────────────
   スマホ表示のレスポンシブ微調整（画面幅768px以下）
   ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  
  .tech-catalog-container {
    margin: 35px auto !important;
  }
  
  /* スマホ時は30pxからさらに程よくコンパクトな24pxに自動縮小して文字溢れをガード */
  .tech-catalog-title {
    font-size: 24px !important;
    margin-bottom: 15px !important;
  }
  
  .tech-catalog-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* ========================================================
   【自動カレント】今開いている技術ページのカードをグレー化
   ======================================================== */
.post-265 .card-tech-merit,        
.post-276 .card-tech-sive,         
.post-296 .card-tech-equipment,    
.post-314 .card-tech-maintenance,  
.post-322 .card-tech-fea {
  background-color: #F2F2F2 !important;
  border-color: #D6D6D6 !important;
  pointer-events: none; 
  opacity: 0.8;
}
.post-265 .card-tech-merit .tech-card-more-btn,
.post-276 .card-tech-sive .tech-card-more-btn,
.post-296 .card-tech-equipment .tech-card-more-btn,
.post-314 .card-tech-maintenance .tech-card-more-btn,
.post-322 .card-tech-fea .tech-card-more-btn {
  visibility: hidden;
}

/* ========================================================
   固定ページ共通 各情報ページのメインビジュアル
   ======================================================== */
.info-hero-container {
  position: relative;
  width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  height: 400px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.info-hero-container::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2); 
  z-index: 1;
}
.info-hero-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 38px;
  font-weight: 500;
  color: #ffffff !important;
  text-align: center;
  z-index: 2;                  
  margin: 0;
  display: inline-block;
  border-bottom: 2px solid #ffffff !important; 
  letter-spacing: 0.08em;
}

.info-lead-container {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  text-align: center;
  margin: 30px auto 60px auto;
  width: 90%;
  max-width: 1000px;
}
.info-lead-text {
  font-size: 14px;
  line-height: 1.8;
  color: #333333;
  margin: 0;
}
@media (max-width: 768px) {
  .info-hero-container { height: 200px; }
  .info-hero-title { font-size: 26px; }
  .info-lead-text {
    font-size: 14px;           
    text-align: center;
  }
}

/* ========================================================
   会社概要 アクセスマップ専用スタイル
   ======================================================== */
.company-page-wrap {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  width: 90%;
  max-width: 1000px;
  margin: 40px auto 60px auto;
}
.company-main-title {
  font-size: 36px;
  color: #2587C0 !important;   
  font-weight: 300;
  margin-top: 0;
  margin-bottom: 10px;
  letter-spacing: 0.05em;
  border-bottom: none !important; 
  border-top: none !important;
}
.company-main-title.map-sec-title {
  font-weight: 500 !important;   
  margin-top: 10px;
}
.company-main-title::after,
.company-main-title::before {
  content: none !important;
  display: none !important;
}

.company-info-table,
.company-info-table tr,
.company-info-table th,
.company-info-table td {
  border: none !important;
  border-bottom: none !important;
}
.company-info-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
}
.company-info-table th {
  color: #2587C0 !important;   
  font-weight: 500;
  text-align: left;
  vertical-align: top;
  padding: 20px 10px 20px 0;
  font-size: 14px;
}
.company-info-table td {
  text-align: left;
  vertical-align: top;
  padding: 20px 0 20px 10px;
  color: #333333;
  font-size: 14px;
  line-height: 1.7;
}
.company-info-table td a {
  color: #333333;
  text-decoration: underline solid 1px !important; 
  transition: color 0.2s ease;
}
.company-info-table td a:hover {
  color: #2587C0;               
}

.company-section-hr {
  border: none;
  border-top: 1px solid #2587C0;
  margin: 50px 0 0 0;
}
.map-location-block {
  margin-bottom: 40px;
}
.map-location-title {
  font-size: 25px;
  color: #2587C0 !important; 
  font-weight: 700 !important; 
  margin-top: 0;
  margin-bottom: 15px;
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.map-location-title::after,
.map-location-title::before {
  content: none !important;      
  display: none !important;      
  width: 0 !important;
  height: 0 !important;
}

.map-embed-container {
  width: 100%;
  max-width: 800px;              
  margin-bottom: 30px;
}
.map-embed-container iframe {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;           
  max-height: 600px;
  border: 1px solid #E0E0E0;
  border-radius: 4px;
}
@media (max-width: 768px) {
  .company-info-table tr {
    display: flex;
    flex-direction: column;      
    padding: 15px 0;
  }
  .company-info-table th,
  .company-info-table td {
    width: 100% !important;
    padding: 0 !important;
  }
  .company-info-table th {
    margin-bottom: 6px;
    font-size: 15px;
  }
  .company-info-table td {
    font-size: 14px;
  }
  .map-location-title { font-size: 20px; }
}

/* ========================================================
   プライバシーポリシー 専用スタイル
   ======================================================== */
.privacy-page-wrap {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  width: 90%;
  max-width: 850px;            
  margin: 40px auto 60px auto;
}
.privacy-main-title {
  font-size: 36px;
  color: #2587C0 !important; 
  font-weight: 500;
  margin-top: 0; 
  margin-bottom: 10px; 
  letter-spacing: 0.05em;
  border-bottom: none !important;
  border-top: none !important; 
  padding-bottom: 0 !important;
}
.privacy-main-title::after,
.privacy-main-title::before {
  content: none !important;
  display: none !important;
}
.privacy-lead-text {
  font-size: 15px;
  color: #333333;
  line-height: 1.8;
  margin-bottom: 35px;
}
.privacy-text {
  font-size: 14px !important;
  color: #333333;
  line-height: 1.8;
  margin-top: 0;
  margin-bottom: 15px;
}
.privacy-text-sub {
  font-size: 13px;
  color: #666666;
  margin-top: -10px;
  margin-bottom: 25px;
  padding-left: 1em;
}
.privacy-sec-title {
  font-size: 16px;
  color: #333333;
  font-weight: 700 !important;
  margin-top: 40px;
  margin-bottom: 15px;
  border: none !important;
  padding: 0 !important;
}
.privacy-sec-title::after,
.privacy-sec-title::before {
  content: none !important;
  display: none !important;
}

.privacy-num-list {
  list-style: none !important; 
  padding-left: 0 !important;
  margin-top: 0;
  margin-bottom: 25px;
}
.privacy-num-list li {
  font-size: 14px !important;
  color: #333333;
  line-height: 1.8;
  position: relative;
  padding-left: 1.8em;         
  margin-bottom: 12px;
}
.privacy-num-list li span.num-prefix {
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 700;
  color: #2587C0;              
}
.privacy-bullet-list {
  padding-left: 20px !important;
  margin-top: 0;
  margin-bottom: 25px;
  list-style-type: disc !important; 
}
.privacy-bullet-list li {
  font-size: 14px !important;  
  color: #333333;
  line-height: 1.8;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .privacy-main-title { font-size: 28px; }
  .privacy-sec-title { font-size: 15px; }
  .privacy-lead-text,
  .privacy-text,
  .privacy-num-list li,
  .privacy-bullet-list li {
    font-size: 14px !important; 
    line-height: 1.7;
  }
}
	
/* ========================================================
   サイトTOP HOME 専用：NEWS お知らせ セクション
   ======================================================== */
.news-wrapper {
  background-color: #FAFAFA !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important; 
  box-sizing: border-box !important;
  margin-top: 60px !important;
  width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
.news-wrapper > * {
  max-width: 930px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 90% !important;
}
.news-section-title {
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif;
  font-size: 30px;
  color: #2587C0 !important;   
  font-weight: 500;
  text-align: center;
  margin: 40px auto;
  display: block;
  border-top:none !important;
  border-bottom: none !important; 
  padding-bottom: 0 !important;  
}
.news-section-title::after,
.news-section-title::before {
  content: none !important;      
  display: none !important;      
  width: 0 !important;
  height: 0 !important;
}
.news-section-title span {
  display: inline-block;
  line-height: 1.2 !important;
  padding-bottom: 0 !important;
  border-bottom: 1.6px solid #2587C0 !important;
}

ul.wp-block-latest-posts {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
  background-color: transparent !important;
}
ul.wp-block-latest-posts li {
  border-bottom: 1px dashed #DCDCDC !important;
  padding: 20px 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}
.wp-block-latest-posts__post-date {
  order: 1 !important;           
  font-size: 12px !important;
  color: #888888 !important;
  margin-bottom: 8px !important; 
  font-weight: 400;
}
.wp-block-latest-posts__post-title {
  order: 2 !important;           
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #333333 !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.2s ease;
}
.wp-block-latest-posts__post-title:hover {
  color: #2587C0 !important;
}

.news-more-btn-wrap {
  text-align: right;
  margin-top: 25px!important;
  width: 100%;
  display: block !important;
}
.news-more-btn {
  display: inline-block;
  font-family: 'Noto Sans', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #2587C0 !important;   
  background-color: #ffffff;    
  border: 1px solid #2587C0 !important; 
  border-radius: 4px;
  padding: 10px 28px;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: all 0.3s ease;
}
.news-more-btn:hover {
  background-color: #2587C0;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(37, 135, 192, 0.15);
}
@media (max-width: 768px) {
  .news-wrapper {
    padding-top: 40px !important;       
    padding-bottom: 40px !important;
    padding-left: 0 !important;         
    padding-right: 0 !important;
  }
  .news-section-title { margin-bottom: 25px !important; }
  .wp-block-latest-posts__post-title { font-size: 16px !important; }
}

/* ========================================================
   投稿 固定ページ共通 コメント欄の完全非表示
   ======================================================== */
#comments,
.comments-area,
.comment-respond,
#reply-title {
  display: none !important;
}

/* ========================================================
   NEWS一覧 サムネイル画像リデザイン
   ======================================================== */
.blog .vk_post_imgOuter,
.archive .vk_post_imgOuter,
.vk_posts .vk_post_imgOuter,
.site-content .vk_post_imgOuter {
  width: 160px !important;
  height: 120px !important;
  flex: 0 0 160px !important;     
  border: 1px solid #E2E8F0 !important; 
  box-sizing: border-box !important;
  overflow: hidden;
  position: relative;
  background-image: url('https://nde4pp.co.jp/test/wp-content/uploads/2026/06/tech_top02-150x120-1.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.blog .vk_post_imgOuter_singleTermLabel,
.archive .vk_post_imgOuter_singleTermLabel,
.vk_posts .vk_post_imgOuter_singleTermLabel {
  display: none !important;
}

/* ========================================================
   NEWS関連専用 左右レイアウト サイドバー余白拡大
   ======================================================== */
@media (min-width: 992px) {
  .blog .sub-section, .blog .subSection, .blog .side-section, .blog .sideSection, .blog .sideSection-col-two, .blog .sidebar,
  .archive .sub-section, .archive .subSection, .archive .side-section, .archive .sideSection, .archive .sideSection-col-two, .archive .sidebar {
    width: calc(33.33333% - 5rem) !important;      
    flex: 0 0 calc(33.33333% - 5rem) !important;
    max-width: calc(33.33333% - 5rem) !important;
    margin-left: 0 !important;                      
    margin-right: 0 !important;
  }
}

.blog .sub-section .vk_post_imgOuter,
.blog .subSection .vk_post_imgOuter,
.blog .sideSection-col-two .vk_post_imgOuter,
.blog .sidebar .vk_post_imgOuter,
.archive .sub-section .vk_post_imgOuter,
.archive .subSection .vk_post_imgOuter,
.archive .sideSection-col-two .vk_post_imgOuter,
.archive .sidebar .vk_post_imgOuter {
  width: 80px !important;                      
  height: 60px !important;                      
  flex: 0 0 80px !important;                  
}

.blog .sub-section .vk_posts .vk_post:first-child,
.blog .sub-section .vk_posts li:first-child,
.blog .sidebar .vk_posts .vk_post:first-child,
.blog .sidebar .vk_posts li:first-child,
.archive .sub-section .vk_posts .vk_post:first-child,
.archive .sub-section .vk_posts li:first-child,
.archive .sidebar .vk_posts .vk_post:first-child,
.archive .sidebar .vk_posts li:first-child {
  border-top: none !important;                  
  padding-top: 5px !important;                 
}

.blog .sub-section .vk_post_title,
.blog .subSection .vk_post_title,
.blog .sideSection-col-two .vk_post_title,
.blog .sidebar .vk_post_title,
.archive .sub-section .vk_post_title,
.archive .subSection .vk_post_title,
.archive .sideSection-col-two .vk_post_title,
.archive .sidebar .vk_post_title {
  font-size: 14px !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 6px !important;   
  font-weight: 500 !important;      
  line-height: 1.4 !important;
}

.blog .sub-section .vk_post_title a,
.blog .subSection .vk_post_title a,
.blog .sideSection-col-two .vk_post_title a,
.blog .sidebar .vk_post_title a,
.archive .sub-section .vk_post_title a,
.archive .subSection .vk_post_title a,
.archive .sideSection-col-two .vk_post_title a,
.archive .sidebar .vk_post_title a {
  text-decoration: none !important; 
  color: #333333 !important;        
}
.blog .sub-section .vk_post_title a:hover,
.blog .subSection .vk_post_title a:hover,
.blog .sideSection-col-two .vk_post_title a:hover,
.blog .sidebar .vk_post_title a:hover,
.archive .sub-section .vk_post_title a:hover,
.archive .subSection .vk_post_title a:hover,
.archive .sideSection-col-two .vk_post_title a:hover,
.archive .sidebar .vk_post_title a:hover {
  color: #2587C0 !important;
  text-decoration: none !important; 
}

.blog .main-section::before,
.blog .mainSection::before,
.blog .mainSection-col-two::before,
.blog main[role="main"]::before,
.archive .main-section::before,
.archive .mainSection::before,
.archive .mainSection-col-two::before,
.archive main[role="main"]::before {
  content: "お知らせ" !important;    
  display: block !important;
  color: #333333 !important; 
  font-size: 32px !important; 
  font-weight: 500 !important; 
  font-family: 'Noto Sans JP', sans-serif !important;
  margin-top: 10px !important;      
  margin-bottom: 35px !important;   
  letter-spacing: 0.02em;
}

.blog .sub-section .widget_link_list,
.blog .subSection .widget_link_list,
.blog .sidebar .widget_link_list,
.blog .sub-section .widget_search,
.blog .subSection .widget_search,
.blog .sidebar .widget_search,
.archive .sub-section .widget_link_list,
.archive .subSection .widget_link_list,
.archive .sidebar .widget_link_list,
.archive .sub-section .widget_search,
.archive .subSection .widget_search,
.archive .sidebar .widget_search {
  display: none !important;
}

.blog .vk_post_body,
.archive .vk_post_body {
  display: flex !important;
  flex-direction: column !important;
}

.blog .vk_post_date,
.archive .vk_post_date {
  order: 1 !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important; 
}
.blog .vk_post_title,
.archive .vk_post_title {
  order: 2 !important;
  margin-top: 0 !important;
  margin-bottom: 10px !important; 
  font-size: 18px !important; 
  line-height: 1.4 !important;
  font-weight: 500 !important; 
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
.blog .vk_post_excerpt,
.archive .vk_post_excerpt { 
  order: 3 !important; 
}
.blog .vk_post_btnOuter,
.archive .vk_post_btnOuter { 
  order: 4 !important; 
}

.blog .vk_post_title a,
.archive .vk_post_title a {
  text-decoration: none !important; 
  border-bottom: none !important;   
  font-weight: 500 !important;      
  color: #333333 !important;        
}
.blog .vk_post_title a:hover,
.archive .vk_post_title a:hover {
  color: #2587C0 !important;
  text-decoration: none !important; 
}

.blog .sub-section-title,
.blog .subSection-title,
.blog .sideSection-title,
.archive .sub-section-title,
.archive .subSection-title,
.archive .sideSection-title {
  font-weight: 500 !important; 
}

/* ========================================================
   コンタクトフォーム
   ======================================================== */
.wpcf7-form p,
.wpcf7 p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}
.custom-form-title {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  border-bottom: 2px solid #2587C0 !important;
  padding-bottom: 8px !important;
  margin-bottom: 15px !important;
}
p.custom-form-note {
  font-size: 14px !important;
  color: #E2574C !important;
  font-weight: 500 !important;
  margin-top: 0 !important;
  margin-bottom: 25px !important;
  display: block !important;
  line-height: 1.4 !important;
}

.custom-form-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 40px !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
.custom-form-table tr {
  border-bottom: 1px solid #E2E8F0 !important;
}
.custom-form-table tr:nth-child(odd) {
  background-color: #FAFAFA !important;
}
.custom-form-table th,
.custom-form-table td {
  padding: 15px 20px !important;
  border: none !important;
  vertical-align: middle !important;
}
.custom-form-table th {
  width: 23% !important;
  text-align: left;
  font-size: 15px !important;
  color: #333333 !important;
  font-weight: 500 !important;
  position: relative !important; 
}

.badge-required {
  position: absolute !important;
  right: 20px !important;        
  top: 50% !important;           
  transform: translateY(-50%) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 8px !important;   
  border-radius: 2px !important;
  display: inline-block;
  line-height: 1.4 !important;
  border: 1px solid #E2574C !important;
  color: #E2574C !important;
  background-color: #ffffff !important;
}
.form-sub-note {
  color: #E2574C !important;
  font-size: 11px !important;
  font-weight: normal !important;
  margin-top: 6px !important;
  display: inline-block;
  line-height: 1.4 !important;
}

.custom-form-table input[type="text"],
.custom-form-table input[type="email"],
.custom-form-table textarea,
.custom-form-table #zip {
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 14px !important;
  border: 1px solid #2587C0 !important;
  border-radius: 4px !important;
  background-color: #ffffff !important;
  font-size: 15px !important;
  color: #333333 !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease;
}
.custom-form-table input:focus,
.custom-form-table textarea:focus,
.custom-form-table #zip:focus {
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(37, 135, 192, 0.2) !important;
}
.custom-form-table textarea {
  height: 200px !important;
}

.custom-form-actions {
  text-align: center !important;
  margin-top: 30px !important;
}
.custom-form-actions input[type="button"],
.custom-form-actions input[type="submit"] {
  display: inline-block !important;
  width: 100% !important;
  max-width: 500px !important;
  background-color: #2587C0 !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  padding: 14px 0 !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  transition: all 0.3s ease;
}
.custom-form-actions input:hover {
  background-color: #1A6B9B !important;
  box-shadow: 0 4px 12px rgba(37, 135, 192, 0.2);
}

.custom-form-table tr.custom-form-section-header {
  background-color: #ffffff !important;
  border-bottom: 2px solid #2587C0 !important;
}
.custom-form-table tr.custom-form-section-header th {
  width: 100% !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  padding: 35px 20px 12px 20px !important;
}
.custom-form-table tr.custom-form-section-header th::after,
.custom-form-table tr.custom-form-section-header .badge-required {
  display: none !important;
}

.custom-form-multi-item {
  margin-bottom: 16px !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
}
.custom-form-multi-item:last-child {
  margin-bottom: 0 !important;       
}
.custom-form-multi-item .wpcf7-form-control-wrap {
  display: inline-flex !important;
  align-items: center !important;
}
.multi-item-label {
  display: inline-block !important;
  width: 140px !important;          
  font-size: 14px !important;
  color: #555555 !important;
  flex: 0 0 140px !important;       
}
.custom-form-table .input-short {
  width: 160px !important;          
  flex: 0 0 160px !important;
}

.form-sub-note-black {
  font-size: 12px !important;
  color: #4A5568 !important;
  line-height: 1.6 !important;
  margin-top: 4px !important;
  margin-bottom: 20px !important;  
  padding-left: 140px !important;
}

.custom-form-table .wpcf7-radio {
  display: block !important;
}
.custom-form-table .wpcf7-list-item {
  display: inline-block !important;
  margin-right: 24px !important;
  margin-left: 0 !important;
  margin-top: 6px !important;
  margin-bottom: 6px !important;
}
.custom-form-table .wpcf7-list-item-label {
  margin-left: 6px !important;
  font-size: 14px !important;
  color: #333333 !important;
}
.custom-form-table .input-other-text {
  margin-top: 12px !important;     
  display: block !important;       
  width: 100% !important;
}

.purpose-block {
  margin-bottom: 25px !important; 
  display: block !important;
  width: 100% !important;
  clear: both !important;
}
.purpose-block:last-child {
  margin-bottom: 0 !important;
}
.purpose-title-line {
  font-size: 14px !important;
  color: #333333 !important;
  margin-bottom: 10px !important; 
  display: block !important;       
  width: 100% !important;
  clear: both !important;
  line-height: 1.4 !important;
}
.purpose-label {
  display: inline-block !important;
  width: 65px !important;
  font-weight: 700 !important;
}
.purpose-fields-line {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  font-size: 14px !important;
  color: #333333 !important;
  width: 100% !important;         
  padding-left: 0 !important;     
}
.purpose-fields-line .wpcf7-form-control-wrap {
  display: inline-block !important;
  width: auto !important;          
  vertical-align: middle !important;
}
.custom-form-table .purpose-fields-line input[type="text"].input-mini {
  width: 100px !important;         
  max-width: 100% !important;
  display: inline-block !important;
  margin: 0 8px !important;        
  padding: 8px 12px !important;
  text-align: center !important;
}

@media (max-width: 767px) {
  .purpose-fields-line {
    line-height: 2.4 !important;
  }
}

.custom-form-stacked-item {
  display: block !important;
  width: 100% !important;
  margin-bottom: 20px !important; 
}
.custom-form-stacked-item:last-child {
  margin-bottom: 0 !important;
}
.stacked-item-label {
  display: block !important;
  width: 100% !important;
  font-size: 14px !important;
  color: #555555 !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}
.stacked-item-sub {
  font-size: 11px !important;
  color: #777777 !important;
  font-weight: normal !important;
  display: block !important;
  margin-top: 2px !important;
}
.custom-form-stacked-item .wpcf7-form-control-wrap {
  display: inline-block !important;
  width: auto !important;
}

@media (max-width: 767px) {
  .custom-form-table th,
  .custom-form-table td {
    display: block !important;
    width: 100% !important;
    padding: 10px 15px !important;
  }
  .custom-form-table th {
    background-color: rgba(37, 135, 192, 0.05) !important;
    border-bottom: 1px dashed #2587C0 !important;
  }
  .custom-form-multi-item {
    flex-direction: row !important; 
    flex-wrap: wrap !important;
  }
  .form-sub-note-black {
    padding-left: 0 !important;
    margin: 12px 0 !important;
  }
}

.custom-form-table th {
  border-right: 1px solid #E2E8F0 !important; 
}
.custom-form-table tr.custom-form-section-header th {
  border-right: none !important;
}
.custom-form-actions input[type="submit"],
.custom-form-actions input[type="button"] {
  display: block !important;
  margin: 0 auto !important; 
}

.page .sub-section .widget_search,
.page .subSection .widget_search,
.page .side-section .widget_search,
.page .sideSection .widget_search,
.page .sideSection-col-two .widget_search,
.page .sidebar .widget_search {
  display: none !important; 
}

.custom-form-table tr.custom-form-section-header + tr {
  background-color: #FAFAFA !important; 
}

/* フォームの単位テキスト（℃やmm）の微調整 */
.custom-form-unit {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #333333 !important;
  margin: 0 0 3px 4px !important; /* 入力枠との間に心地よい隙間を空ける */
  display: inline-block !important;
  vertical-align: middle !important;
}

/* 入力欄のマルチアイテム内の横並びを綺麗に保つ */
.custom-form-multi-item {
  display: flex !important;
  align-items: center !important; /* 入力枠、ラベル、単位の縦方向の中心をピシッと揃える */
  margin-bottom: 12px !important;
}
.custom-form-multi-item:last-child {
  margin-bottom: 0 !important;
}

/* ========================================================
   お問い合わせ専用 最上部ページレイアウト
   ======================================================== */
.company-main-title {
  font-size: 36px !important;
  color: #2587C0 !important;
  font-weight: 300 !important;
  margin-top: 0 !important;
  margin-bottom: 60px !important;
  letter-spacing: 0.05em !important;
  border-bottom: none !important;
  border-top: none !important;
}
.company-main-title::after,
.company-main-title::before {
  content: none !important;
  display: none !important;
}

.contact-tabs-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important; 
  gap: 15px !important;
  margin-bottom: 45px !important;
  width: 100% !important;
}
.contact-tab-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px 10px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 4px !important;
  text-align: center !important;
  transition: all 0.25s ease !important;
  box-sizing: border-box !important;
  border: 2px solid transparent !important;
}
.contact-tab-btn:hover {
  opacity: 0.85 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.contact-tabs-grid .tag-blue   { background-color: #007BFF !important; }
.contact-tabs-grid .tag-purple { background-color: #7842F5 !important; }
.contact-tabs-grid .tag-orange { background-color: #FF9800 !important; }
.contact-tabs-grid .tag-green  { background-color: #28A745 !important; }
.contact-tabs-grid .tag-red    { background-color: #DC3545 !important; }
.contact-tabs-grid .tag-cyan   { background-color: #17A2B8 !important; }
.contact-tabs-grid .tag-gray   { background-color: #6C757D !important; }
.contact-tabs-grid .tag-other  { background-color: #3E8CA5 !important; } 

.contact-box-title {
  font-size: 20px !important;
  color: #2587C0 !important;
  border: 1.6px solid #2587C0 !important; 
  padding: 4px 18px !important;
  margin-top: 50px !important;
  margin-bottom: 20px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  background-color: #ffffff !important;
}
.contact-sub-text {
  font-size: 13.5px !important; 
  color: #4A5568 !important;
  line-height: 1.6 !important;
}

.contact-pdf-wrapper {
  text-align: center !important;
  margin: 30px 0 !important;
}
.contact-pdf-icon {
  width: 75px !important;
  height: auto !important;
  transition: opacity 0.2s ease;
}
.contact-pdf-icon:hover {
  opacity: 0.8;
}

.contact-info-list {
  margin-top: 25px !important;
  padding-left: 5px !important;
}
.contact-info-item {
  font-size: 18px !important; 
  color: #333333 !important;
  margin-bottom: 1px !important;
  font-weight: 500 !important;
}
.contact-info-label {
  color: #2587C0 !important; 
  font-weight: 300 !important;
}
.contact-mail-link {
  color: #333333 !important;
  text-decoration: underline !important;
}
.contact-mail-link:hover {
  color: #2587C0 !important;
}

.contact-phone-text {
  font-size: 18px !important;
  font-weight: 300 !important;
  color: #333333 !important;
  padding-left: 5px !important;
}
.contact-phone-time {
  font-size: 15px !important;
  font-weight: normal !important;
  color: #666666 !important;
  margin-left: 10px !important;
}

.contact-rules-board {
  padding-left: 5px !important;
}
.contact-board-heading {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  margin-top: 20px !important;
  margin-bottom: 10px !important;
}
.contact-board-list {
  padding-left: 20px !important;
  margin-bottom: 15px !important;
}
.contact-board-list li {
  font-size: 14px !important;
  color: #333333 !important;
  line-height: 1.7 !important;
  margin-bottom: 12px !important;
  list-style-type: disc !important;
}
.contact-board-caption {
  font-size: 13px !important;
  color: #666666 !important;
}
.contact-board-text {
  font-size: 14px !important;
  color: #333333 !important;
  line-height: 1.7 !important;
}

@media (max-width: 991px) {
  .contact-tabs-grid {
    grid-template-columns: repeat(2, 1fr) !important; 
    gap: 12px !important;
  }
  .contact-tab-btn {
    font-size: 14px !important;
    padding: 14px 8px !important;
  }
}

@media (max-width: 767px) {
  .company-main-title {
    font-size: 28px !important;
    margin-bottom: 20px !important;
  }
  .contact-box-title {
    font-size: 17px !important;
    padding: 10px 15px !important;
  }
  .contact-info-item {
    font-size: 15px !important; 
    line-height: 1.4 !important;
  }
  .contact-info-label {
    display: block !important;  
    margin-bottom: 4px !important;
  }
  .contact-phone-text {
    font-size: 20px !important;
  }
  .contact-phone-time {
    display: block !important;
    margin-left: 0 !important;
    margin-top: 6px !important;
    font-size: 14px !important;
  }
}

@media (min-width: 992px) {
  .custom-contact-container {
    max-width: 930px !important;    
    margin-left: auto !important;   
    margin-right: auto !important;
    margin-top: 30px !important;
    width: 100% !important;
  }
}

/* ========================================================
   その他のお問い合わせページ 専用拡張スタイル
   ======================================================== */
.contact-lead-red {
  color: #ff0000 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  margin-top: 40px !important;
  margin-bottom: 30px !important;
}
.contact-section-bold-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  margin-top: 25px !important;
  margin-bottom: 12px !important;
}
.contact-plain-info-lines {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #333333 !important;
  line-height: 1.8 !important;
  margin-top: 25px !important;
  margin-bottom: 35px !important;
}

.contact-blue-direct-btn {
display: inline-block !important;
  background-color: #2587C0 !important; 
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  padding: 12px 35px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 2px 6px rgba(37, 135, 192, 0.15) !important;
  cursor: default !important; /* カーソルを通常の矢印のままにする設定 */
}
.contact-form-trigger-spacer {
  margin-bottom: 60px !important; 
}
.contact-tabs-grid .tag-other.is-active {
  background-color: #ffffff !important;
  color: #3E8CA5 !important; 
  border: 2px solid #3E8CA5 !important;
}

@media (max-width: 767px) {
  .contact-lead-red {
    font-size: 14px !important;
    br { display: none; } 
  }
  .contact-blue-direct-btn {
    display: block !important;
    text-align: center !important; 
    width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================
   お問い合わせ 全8色対応 タグボタン反転
   ======================================================== */
.contact-tabs-grid .tag-blue.is-active {
  background-color: #ffffff !important;
  color: #007BFF !important;
  border: 2px solid #007BFF !important;
}
.contact-tabs-grid .tag-purple.is-active {
  background-color: #ffffff !important;
  color: #7842F5 !important;
  border: 2px solid #7842F5 !important;
}
.contact-tabs-grid .tag-orange.is-active {
  background-color: #ffffff !important;
  color: #FF9800 !important;
  border: 2px solid #FF9800 !important;
}
.contact-tabs-grid .tag-green.is-active {
  background-color: #ffffff !important;
  color: #28A745 !important;
  border: 2px solid #28A745 !important;
}
.contact-tabs-grid .tag-red.is-active {
  background-color: #ffffff !important;
  color: #DC3545 !important;
  border: 2px solid #DC3545 !important;
}
.contact-tabs-grid .tag-cyan.is-active {
  background-color: #ffffff !important;
  color: #17A2B8 !important;
  border: 2px solid #17A2B8 !important;
}
.contact-tabs-grid .tag-gray.is-active {
  background-color: #ffffff !important;
  color: #6C757D !important;
  border: 2px solid #6C757D !important;
}
.contact-tabs-grid .tag-other.is-active {
  background-color: #ffffff !important;
  color: #3E8CA5 !important;
  border: 2px solid #3E8CA5 !important;
}

/* ========================================================
   お問い合わせTOPページ 専用リード文 全8色ホバー反転
   ======================================================== */
.contact-top-lead {
  font-size: 16px !important;
  color: #333333 !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  margin-top: 0 !important;
  margin-bottom: 35px !important;
}

.contact-tabs-grid .tag-blue:hover {
  background-color: #ffffff !important;
  color: #007BFF !important;
  border: 2px solid #007BFF !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-purple:hover {
  background-color: #ffffff !important;
  color: #7842F5 !important;
  border: 2px solid #7842F5 !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-orange:hover {
  background-color: #ffffff !important;
  color: #FF9800 !important;
  border: 2px solid #FF9800 !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-green:hover {
  background-color: #ffffff !important;
  color: #28A745 !important;
  border: 2px solid #28A745 !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-red:hover {
  background-color: #ffffff !important;
  color: #DC3545 !important;
  border: 2px solid #DC3545 !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-cyan:hover {
  background-color: #ffffff !important;
  color: #17A2B8 !important;
  border: 2px solid #17A2B8 !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-gray:hover {
  background-color: #ffffff !important;
  color: #6C757D !important;
  border: 2px solid #6C757D !important;
  opacity: 1 !important;
}
.contact-tabs-grid .tag-other:hover {
  background-color: #ffffff !important;
  color: #3E8CA5 !important;
  border: 2px solid #3E8CA5 !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  .contact-top-lead {
    font-size: 14px !important;
    margin-bottom: 25px !important;
  }
}

/* ========================================================
   PC スマホ完全連動型 オリジナルカスタムヘッダーCSS
   ======================================================== */
.site-header,
.header-top,
.vk-mobile-nav-menu-btn,
.mobile-fix-nav {
  display: none !important;
}

.ex-custom-header {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
  height: 64px !important; 
  background-color: #ffffff !important;
  position: fixed !important; 
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 99999 !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
  box-sizing: border-box !important;
}
.ex-header-inner {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 1140px !important; 
  margin: 0 auto !important;
  box-sizing: border-box !important;
  overflow: hidden !important;   
}

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

.ex-header-logo {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 45px 0 20px !important; 
  height: 100% !important;
  background-color: #ffffff !important;
  z-index: 5 !important;
}
.ex-header-logo img {
  height: 30px !important;
  width: auto !important;
}

.ex-header-nav {
  flex: 1 !important;
  background-color: #0076C0 !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  padding-right: 15px !important;
  padding-left: 40px !important;
  margin-left: -40px !important;
  clip-path: polygon(30px 0, 100% 0, 100% 100%, 0 100%) !important;
  z-index: 10 !important;
}

.ex-nav-list-pc,
.ex-nav-btn-wrap,
.ex-header-contact {
  display: none !important;
}

.ex-mobile-menu-trigger {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  width: 30px !important;
  height: 20px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  z-index: 100 !important;
}
.ex-mobile-menu-trigger span {
  display: block !important;
  width: 100% !important;
  height: 2.5px !important;
  background-color: #ffffff !important;
  border-radius: 2px !important;
  transition: all 0.3s ease !important;
}

.is-drawer-open .ex-mobile-menu-trigger span:nth-child(1) {
  transform: translateY(9px) rotate(45deg) !important;
}
.is-drawer-open .ex-mobile-menu-trigger span:nth-child(2) {
  opacity: 0 !important;
}
.is-drawer-open .ex-mobile-menu-trigger span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg) !important;
}

.ex-mobile-drawer-menu {
  position: fixed !important;
  top: 64px !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100vh - 64px) !important;
  background-color: rgba(0, 118, 192, 0.98) !important;
  z-index: 4 !important;
  transform: translateX(100%) !important;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.is-drawer-open .ex-mobile-drawer-menu {
  transform: translateX(0) !important;
}
.ex-mobile-drawer-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  width: 100% !important;
}
.ex-mobile-drawer-list li {
  margin: 25px 0 !important;
}
.ex-mobile-drawer-list li a {
  color: #ffffff !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  display: block !important;
  padding: 10px 0 !important;
}
.ex-mobile-drawer-list li a.ex-mobile-drawer-btn {
  background-color: #ffffff !important;
  color: #0076C0 !important;
  display: inline-block !important;
  padding: 10px 40px !important;
  border-radius: 50px !important;
  font-size: 18px !important;
}
body.ex-lock-scroll {
  overflow: hidden !important;
}

/* ========================================================
   PC大画面 13インチノートPC最適化仕様
   ======================================================== */
@media (min-width: 992px) {
  .ex-custom-header {
    height: 80px !important; 
    width: 100% !important;
    max-width: 100% !important;
  }
  body {
    padding-top: 90px !important;
  }
  .ex-header-inner {
    max-width: 1140px !important;
  }
  .ex-header-logo {
    padding-left: 15px !important;
    padding-right: 55px !important; 
    z-index: 5 !important;
  }
  .ex-header-logo img {
    height: 36px !important;
  }
  .ex-mobile-menu-trigger,
  .ex-mobile-drawer-menu {
    display: none !important;
  }
  .ex-header-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; 
    padding-right: 15px !important;
    padding-left: 65px !important;          
    margin-left: -45px !important;
    clip-path: polygon(45px 0, 100% 0, 100% 100%, 0 100%) !important;
    z-index: 10 !important;
  }
  .ex-nav-list-pc {
    display: flex !important;
    list-style: none !important;
    margin: 0 12px 0 0 !important;
    padding: 0 !important;
    align-items: center !important;
    height: 100% !important;
    white-space: nowrap !important;
  }
  .ex-nav-list-pc li {
    margin: 0 12px !important;
  }
  .ex-nav-list-pc li a {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
  }
  .ex-nav-btn-wrap {
    display: block !important;
    white-space: nowrap !important;
  }
  .ex-btn-contact-pc {
    display: inline-block !important;
    background-color: #ffffff !important;
    color: #0076C0 !important;
    font-size: 12px !important;
    font-weight: 300 !important;
    padding: 3px 14px 4px 16px !important; 
    border-radius: 50px !important;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
    white-space: nowrap !important;
    letter-spacing: 0.16em !important; 
  }
  .ex-header-contact {
    display: flex !important;
    flex: 0 0 160px !important;
    background-color: #ff0000 !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    color: #ffffff !important;
    z-index: 15 !important;
    box-sizing: border-box !important;
  }
  .ex-contact-inner {
    line-height: 1.0 !important; 
    width: 100% !important;
    white-space: nowrap !important;
  }
  .ex-contact-note {
    font-size: 9px !important;
    margin: 4px 0 -2px 0 !important; 
  }
  .ex-contact-tel {
    font-size: 21px !important;
    font-weight: 300 !important;
    margin: 0 0 -6px 0 !important;
  }
  .ex-contact-tel a {
    color: #ffffff !important;
    text-decoration: none !important;
  }
  .ex-contact-time {
    font-size: 8px !important;
    margin: 0 !important; 
    opacity: 0.9 !important;
  }
}
	
/* ========================================================
   特定のTOPページ限定 ヘッダーとメイン画像の隙間をゼロにする吸着処理
   ======================================================== */
@media (min-width: 992px) {
  body.page-id-2,
  body.page-id-384 {
    padding-top: 48px !important;
  }
}
body.page-id-2 .page-header,
body.page-id-384 .page-header {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
	
/* ========================================================
   製品情報 技術情報の下層ページ：最下部の 前後の投稿ナビ を非表示
   ======================================================== */
.vk_posts.next-prev {
  display: none !important;
}
.type-post ~ .vk_posts.next-prev {
  display: flex !important;
}	
	
/* ========================================================
   加熱フィーダ 下部画像エリア
   ======================================================== */
.product-bottom-image-wrap {
  margin-top: 55px !important;    
  text-align: center !important;  
  width: 100% !important;
}
.product-bottom-image-wrap img {
  max-width: 100% !important;    
  height: auto !important;
  display: inline-block !important;
}
@media (max-width: 767px) {
  .product-bottom-image-wrap {
    margin-top: 35px !important;  
  }
}	

/* ========================================================
   スマホ表示 画面幅767px以下 の時だけ 左マージン46pxを適用
   ======================================================== */
@media (max-width: 767px) {
  .sp-margin-left {
    display: inline-block !important; 
    margin-left: 46px !important;
  }
}

/* ========================================================
   特定のTOPページ限定：スマホ時のメイン画像上の隙間をゼロにする
   ======================================================== */
@media (max-width: 991px) {
  /* 製品情報と技術情報TOPだけ、スマホ時のsite-bodyのpadding-topを0に上書き */
  body.page-id-2 .site-body,
  body.page-id-384 .site-body {
    padding-top: 0 !important;
  }
}

/* ========================================================
   PCヘッダー専用：ホバー時のアニメーション演出（画面幅992px以上・下線バグ修正版）
   ======================================================== */
@media (min-width: 992px) {
  
  /* ──── 1. HOME～会社情報：テキストは白キープ＆白下線がスッと伸びる ──── */
  .ex-nav-list-pc li a {
    position: relative !important;
    display: inline-block !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
  }
  
  .ex-nav-list-pc li a:hover {
    color: #ffffff !important;
  }
  
  /* 修正：scaleXを廃止し、width（横幅）でアニメーションさせる構造に変更 */
  .ex-nav-list-pc li a::after {
    content: '' !important;
    position: absolute !important;
    bottom: -3px !important; /* ユーザー様ご指定の絶妙な隙間 */
    left: 0 !important;
    width: 0 !important; /* 最初は横幅を「0」にしておく */
    height: 1px !important; 
    background-color: #ffffff !important;
    transition: width 0.3s ease !important; /* 倍率ではなく幅の変化をスッと動かす */
  }
  
  /* マウスが乗った瞬間に、1pxの太さを完全に維持したまま横幅を100%にシャッと広げる */
  .ex-nav-list-pc li a:hover::after {
    width: 100% !important;
  }

  /* ──── 2. お問い合わせボタン：透明度は下げず、浮き上がり＋白くフワッと光る光彩 ──── */
  .ex-btn-contact-pc {
    display: inline-block !important;
    transition: all 0.3s ease !important;
  }
  
  .ex-btn-contact-pc:hover {
    opacity: 1 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.6) !important; 
  }
}

/* ========================================================
   テーマ標準のフッター・ナビ要素を完全に消去（非表示化）
   ======================================================== */
.site-footer,
.site-body-bottom {
  display: none !important;
}

/* ========================================================
   完全オリジナルフッターエリア スタイリング
   ======================================================== */
.ex-custom-footer {
  width: 100% !important;
  background-color: #f8f9fa !important;
  border-top: 3px solid #2587C0 !important; /* 上部の指定ブルーの太い区切り線 */
  box-sizing: border-box !important;
  font-family: 'Noto Sans', 'Noto Sans JP', sans-serif !important;
  font-size: 13px !important;
  color: #333333 !important;
  line-height: 1.6 !important;
  display: block !important; /* 強制表示 */
}

.ex-footer-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 50px 80px 30px 80px !important;
  box-sizing: border-box !important;
}

/* ──── 中部情報エリア（PC版：横並び） ──── */
.ex-footer-main {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  margin-bottom: 45px !important;
}

.ex-footer-info-block {
  flex: 1 !important;
  max-width: 650px !important;
  text-align: left !important;
}

.ex-footer-logo {
  margin-bottom: 25px !important;
}

.ex-footer-logo img {
  max-width: 290px !important;
  height: auto !important;
  display: block !important;
}

.ex-footer-text p {
  margin: 0 0 6px 0 !important;
  font-size: 13px !important;
}

.ex-footer-text .ex-footer-branch {
  margin-top: 22px !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  color: #111111 !important;
}

/* Google Mapブロック */
.ex-footer-map-block {
  margin-left: 40px !important;
  flex-shrink: 0 !important;
}

.ex-footer-iframe-wrapper iframe {
  display: block !important;
  max-width: 100% !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04) !important;
}

/* ──── 下部コピーライトエリア（PC版：左右分散並び） ──── */
.ex-footer-bottom {
  border-top: 1px solid #dcdcdc !important; /* 下部の細い区切り線（太さ1px） */
  padding-top: 10px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.ex-footer-links {
  display: flex !important;
  align-items: center !important;
}

.ex-footer-links a {
  color: #333333 !important;
  text-decoration: none !important;
  margin-right: 30px !important;
  font-size: 10px !important;
  transition: color 0.2s ease !important;
}

.ex-footer-links a:hover {
  color: #2587C0 !important;
}

.ex-footer-copyright {
  font-size: 10px !important;
  color: #333333 !important;
  text-align: right !important;
}

.ex-footer-copyright .ex-cr-br {
  display: inline !important;
}

/* ────────────────────────────────────────────────────────
   スマホ表示のレスポンシブ微調整（画面幅768px以下）
   ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  
  .ex-footer-inner {
    padding: 35px 20px 25px 20px !important;
  }
  
  .ex-footer-main {
    flex-direction: column !important;
    margin-bottom: 35px !important;
  }
  
  .ex-footer-info-block {
    width: 100% !important;
    max-width: 100% !important;
  }
  
  .ex-footer-logo img {
    max-width: 100% !important;
  }
  
  .ex-footer-map-block {
    margin-left: 0 !important;
    margin-top: 30px !important;
    width: 100% !important;
  }
  
  .ex-footer-iframe-wrapper iframe {
    width: 100% !important;
    height: 220px !important;
  }

  .ex-footer-bottom {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    padding-top: 20px !important;
  }
  
  .ex-footer-links {
    width: 100% !important;
    max-width: 290px !important;
    justify-content: space-between !important;
    margin: 0 auto 20px auto !important;
  }
  
  .ex-footer-links a {
    margin-right: 0 !important;
    font-size: 14px !important;
  }
  
  .ex-footer-copyright {
    width: 100% !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
  }
  
  .ex-footer-copyright .ex-cr-br {
    display: block !important;
    margin-top: 4px !important;
  }
}

/* ========================================================
   サイトマップページ：右側の投稿列を非表示＆左側を100%全幅化
   ======================================================== */
/* 1. 右側の列（2番目のsitemap-col）を丸ごと非表示にする */
.veu_sitemap .sitemap-col:nth-child(2) {
  display: none !important;
}

/* 2. 左側の列（1番目のsitemap-col）の横幅を100%に引き伸ばす */
.veu_sitemap .sitemap-col:nth-child(1) {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}

/* ========================================================
   トップページ限定：NEWSとフッターの間の白い隙間を完全消去
   ======================================================== */
.home .site-body,
.home #main,
.home .entry,
.home .entry-body,
.home {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* ========================================================
   トップページ一括：スクロール連動・ふわっとフェードイン演出
   ======================================================== */
/* 1. KVセクション（ページを開いた瞬間にその場で滑らかにフェードイン） */
.ex-top-mv-container {
  opacity: 0;
  transition: opacity 1.2s ease-in-out !important;
}
.ex-top-mv-container.is-active {
  opacity: 1 !important;
}

/* 2. スクロールで現れるセクション（用途別・製品・技術・NEWS共通） */
.ex-scroll-load-section {
  opacity: 0;
  transform: translateY(40px); /* 40px下から浮き上がらせる */
  transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important; /* 高級感のある滑らかな減速の動き */
}
/* 画面内に侵入した時に発動するクラス */
.ex-scroll-load-section.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ========================================================
   製品詳細ページ専用：お見積り誘導エリア（共通スタイル）
   ======================================================== */
/* 製品内容とボタンを分ける区切り線 ＆ 上下余白 */
.ex-product-cta-section {
  margin-top: 60px !important;
  padding-top: 50px !important;
  border-top: 1px solid #D0D0D0 !important; /* 1pxのグレー区切り線 */
  text-align: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* 案内テキスト */
.ex-cta-message {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
  color: #333333 !important;
  margin: 0 0 30px 0 !important;
  line-height: 1.6 !important;
}

/* ボタン配置エリア（2つ並んだら自動で縦に積み重ねる） */
.ex-cta-btn-group {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 15px !important; /* ボタン同士の隙間 */
  width: 100% !important;
}

/* ボタン共通基本スタイル（ご指定条件：角丸、カラー#2587C0） */
.ex-cta-link-btn {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 440px !important; /* パソコンで押しやすく信頼感のある最大幅 */
  height: 60px !important;
  background-color: #2587C0 !important; /* 指定カラー：日東ブルー */
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  border-radius: 6px !important; /* 角丸設定 */
  border: 2px solid transparent !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 12px rgba(37, 135, 192, 0.15) !important;
}

/* ホバー時の美しい反転エフェクト */
.ex-cta-link-btn:hover {
  background-color: #ffffff !important;
  color: #2587C0 !important;
  border-color: #2587C0 !important;
  box-shadow: none !important;
  transform: translateY(2px) !important;
}

/* ────────────────────────────────────────────────────────
   【スマホ表示】スマートフォン表示の最適化（画面幅768px以下）
   ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .ex-product-cta-section {
    margin-top: 45px !important;
    padding-top: 35px !important;
  }
  
  .ex-cta-message {
    font-size: 14.5px !important;
    text-align: left !important; /* スマホの小画面では左寄せの方が見やすい */
    line-height: 1.5 !important;
    margin-bottom: 25px !important;
  }
  
  .ex-cta-link-btn {
    max-width: 100% !important; /* スマホ画面の横幅いっぱいに広げてタップしやすく */
    height: 55px !important;
    font-size: 15px !important;
  }
}

/* ========================================================
   スマホ専用：画面下部固定 お問い合わせ浮動ボタン（中央寄せ版）
   ======================================================== */
/* 1. パソコン表示（画面幅992px以上）のときは完全に存在を消し去る */
.ex-floating-banner {
  display: none !important;
}

/* 2. スマホ・タブレット表示（画面幅991px以下）のときに下部中央へ配置 */
@media (max-width: 991px) {
  .ex-floating-banner {
    display: block !important;
    position: fixed !important;
    bottom: 20px !important;     /* 画面下端からの浮き具合 */
    left: 50% !important;        /* 画面の左端から50%（真ん中）の位置へ移動 */
    transform: translateX(-50%) !important; /* ボタン自身の幅の半分だけ左に引っ張って、完全に「ど真ん中」にする魔法 */
    right: auto !important;      /* 前回の右寄せ（right: 20px）の設定を綺麗にリセット */
    z-index: 9999 !important;    /* どんなパーツよりも最前面に表示 */
  }

  .ex-floating-btn {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 4px !important;
    width: 280px !important;     /* ど真ん中に置くので、少しだけ横幅を広げてより押しやすく調整しました */
    height: 54px !important;
    background-color: #0076C0 !important;
    color: #ffffff !important;
    text-decoration: none !important;
    font-size: 18px !important;
    font-weight: 500 !important;
	line-height: 1.1 !important;
    border-radius: 30px !important; /* 綺麗なカプセル型 */
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.2s ease !important;
  }

.ex-floating-btn i {
    display: inline-block !important;
    line-height: 1 !important;    /* アイコン自体の上下の余白を強制リセット */
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(1px) !important; /* ★上に浮いて見えるアイコンを「1pxだけ下」に強制ワープさせて完璧な水平に */
  }

  /* タップした瞬間に優しく沈むエフェクト */
  .ex-floating-btn:active {
    transform: scale(0.96) translateY(2px) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
  }
}

/* ========================================================
   UX最適化：日東ブルーと調和する、確認画面専用の洗練テーブル
   ======================================================== */
/* クラス名が消えた確認画面のtableをキャッチ */
.wpcf7 table:not(.custom-form-table) {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 30px auto 40px auto !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 15px !important;
  color: #333333 !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}

/* 行（tr）の設定 */
.wpcf7 table:not(.custom-form-table) tr {
  border-bottom: 1px solid #E2E8F0 !important;
}

/* 1行おきに薄グレーを敷いて、専門データの視認性を極限まで高める */
.wpcf7 table:not(.custom-form-table) tr:nth-child(odd) {
  background-color: #FAFAFA !important;
}

/* セルの余白（フォームの15px 20pxに合わせつつ、すっきり見せる） */
.wpcf7 table:not(.custom-form-table) th,
.wpcf7 table:not(.custom-form-table) td {
  padding: 15px 20px !important;
  border: none !important;
  vertical-align: middle !important;
  line-height: 1.6 !important;
}

/* 左側の見出し項目（幅23%を維持し、文字色をフォームと統一） */
.wpcf7 table:not(.custom-form-table) th {
  width: 23% !important;
  text-align: left !important;
  color: #333333 !important;
  font-weight: 700 !important; /* 確認画面なので項目名をクッキリ */
  border-right: 1px solid #E2E8F0 !important; /* フォームと同じ綺麗な中央縦線 */
}

/* 右側のユーザー入力値テキスト */
.wpcf7 table:not(.custom-form-table) td {
  color: #333333 !important;
}

/* 「搬送物」などの中見出し（セクションヘッダー）も日東ブルーで完全同期 */
.wpcf7 table:not(.custom-form-table) tr:has(th[colspan]),
.wpcf7 table:not(.custom-form-table) tr th[colspan] {
  background-color: #ffffff !important;
  border-bottom: 2px solid #2587C0 !important; /* フォームと同じ日東ブルーの太線 */
}
.wpcf7 table:not(.custom-form-table) tr th[colspan] {
  width: 100% !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #333333 !important;
  padding: 35px 20px 12px 20px !important;
  border-right: none !important;
}

/* ────────────────────────────────────────────────────────
   【スマホ表示】スマホ時はフォームと同じ「縦積み」に変形させて完全調和
   ──────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .wpcf7 table:not(.custom-form-table) th,
  .wpcf7 table:not(.custom-form-table) td {
    display: block !important;
    width: 100% !important;
    padding: 10px 15px !important;
  }
  
  /* スマホ時はフォームと同じ「日東ブルー5%の薄青背景」に自動変形 */
  .wpcf7 table:not(.custom-form-table) th {
    background-color: rgba(37, 135, 192, 0.05) !important;
    border-bottom: 1px dashed #2587C0 !important;
    border-right: none !important;
  }
  
  .wpcf7 table:not(.custom-form-table) tr th[colspan] {
    background-color: #ffffff !important;
    border-bottom: 2px solid #2587C0 !important;
    padding: 25px 15px 10px 15px !important;
  }
}

/* ========================================================
   Contact Form 7：確認画面の不具合解消＆ボタンデザイン
   ======================================================== */

/* 1. 【項目名の救出】テーマの文字色白化バグを破壊し、濃いグレーで強制表示 */
.wpcf7-form.confirm table th {
  color: #333333 !important;
  font-weight: 700 !important;
  display: table-cell !important;
  visibility: visible !important;
}

/* 2. 【単位の強制ドッキング】確認画面で消されてしまう「℃」や「mm」をCSSで復活 */
.wpcf7-form.confirm [class*="temp-"] .wpcf7cf-value::after { content: " ℃" !important; font-weight: 300 !important;}
.wpcf7-form.confirm [class*="dim-"] .wpcf7cf-value::after { content: " mm" !important; font-weight: 300 !important;}

/* ========================================================
   Confirm Plus 完全攻略：消えた項目名と単位をCSSで強制蘇生
   ======================================================== */

/* テーブル全体の見た目をユーザー様のお気に入りデザインと完全同期 */
#wpcf7cpcnf table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 40px !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
}
#wpcf7cpcnf table tr {
  border-bottom: 1px solid #E2E8F0 !important;
}
#wpcf7cpcnf table tr:nth-child(odd) {
  background-color: #FAFAFA !important; /* 綺麗なゼブラ柄も復活 */
}
#wpcf7cpcnf table th,
#wpcf7cpcnf table td {
  padding: 15px 20px !important;
  border: none !important;
  vertical-align: middle !important;
}
#wpcf7cpcnf table th {
  width: 23% !important;
  text-align: left !important;
  font-size: 15px !important;
  color: #333333 !important;
  font-weight: 500 !important;
  border-right: 1px solid #E2E8F0 !important; /* 綺麗な縦の区切り線 */
}

/* ────────────────────────────────────────────────────────
   3. 【特大ボタン】Confirm Plus専用の「修正」「送信」デザイン
   ──────────────────────────────────────────────────────── */
.wpcf7cp-btns {
  text-align: center !important;
  display: flex !important;
  justify-content: center !important;
  gap: 20px !important;
  margin-top: 50px !important;
  margin-bottom: 30px !important;
  width: 100% !important;
}
.wpcf7cp-btns button {
  display: inline-block !important;
  width: 100% !important;
  max-width: 240px !important;
  height: 56px !important;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  border: none !important;
  transition: all 0.3s ease !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
}
/* 送信ボタン（全面日東ブルー） */
button.wpcf7cp-cfm-submit-btn {
  background-color: #2587C0 !important;
  color: #ffffff !important;
  box-shadow: 0 4px 12px rgba(37, 135, 192, 0.15) !important;
}
button.wpcf7cp-cfm-submit-btn:hover {
  background-color: #1A6B9B !important;
  box-shadow: 0 4px 16px rgba(37, 135, 192, 0.3) !important;
}
/* 修正ボタン（白背景＋日東ブルー枠） */
button.wpcf7cp-cfm-edit-btn {
  background-color: #ffffff !important;
  color: #2587C0 !important;
  border: 2px solid #2587C0 !important;
}
button.wpcf7cp-cfm-edit-btn:hover {
  background-color: #F0F7FB !important;
}

/* 【スマホ用の縦並びスイッチ】 */
@media (max-width: 767px) {
  #wpcf7cpcnf table th,
  #wpcf7cpcnf table td {
    display: block !important;
    width: 100% !important;
    padding: 10px 15px !important;
  }
  #wpcf7cpcnf table th {
    background-color: rgba(37, 135, 192, 0.05) !important;
    border-bottom: 1px dashed #2587C0 !important;
    border-right: none !important;
  }
  .wpcf7cp-btns {
    flex-direction: column-reverse !important;
    gap: 15px !important;
    padding: 0 15px !important;
  }
  .wpcf7cp-btns button {
    max-width: 100% !important;
    height: 52px !important;
  }
}

/* ハニーポットが原因で生まれる最下部の空行を非表示に */
#wpcf7cpcnf table tr:last-child {
  display: none !important;
}

/* ========================================================
   Confirm Plus：確認画面のレイアウト・フッター食い込み完全修正
   ======================================================== */
/* 1. 元の入力用のタイトル、注記、テーブルを物理的に消滅させる（前回同様） */
form.wpcf7cp-form-hide .custom-form-title,
form.wpcf7cp-form-hide .custom-form-note,
form.wpcf7cp-form-hide .custom-form-table {
  display: none !important;
}

/* 2. ★超重要：親のフォーム自体が、確認画面の高さに合わせて正しく広がるようにする */
form.wpcf7cp-form-hide {
  height: auto !important;
  min-height: auto !important;
  position: relative !important;
  display: block !important;
}

/* 3. ★核心：空中浮遊している確認テーブルの浮き輪を奪い、地に足をつけさせる */
#wpcf7cpcnf {
  position: relative !important; /* 絶対配置（浮遊）を解除して通常ブロック化 */
  display: block !important;
  height: auto !important;
  clear: both !important;
  margin-top: 20px !important;
  margin-bottom: 60px !important; /* フッターとの間に美しいソーシャルディスタンス（隙間）を確保 */
}

/* 確認中のぐるぐる */
.wpcf7-spinner {
    visibility: hidden;
    display: inline-block;
    background-color: #23282d;
    opacity: 0.75;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 100%;
    padding: 0;
    margin: 20px 0 24px !important;
    position: relative;
}
/* 確認後のメッセージ */
.wpcf7 form .wpcf7-response-output {
    margin: 0 0.5em 1em !important;
}

/* ========================================================
   「TOPへ戻る」ボタン カスタム
   ======================================================== */
/* マウスホバー時：影を少し濃くして、ボタンを2pxだけ上にフワッと浮かせる */
.page_top_btn:hover {
  transform: translateY(-2px) !important; /* 親指やマウスで「押せる感」を出す演出 */
}

/* ========================================================
   緊急用：非表示になったメインビジュアルを強制的に引っ張り出す
   ======================================================== */
.ex-top-mv-container {
  opacity: 1 !important;
}