/* =========================================
   1. サイト全体：基本設定・フォント・背景
========================================= */
:root {
  /* 和文：Noto Serif JP、未搭載環境はYu Minchoやヒラギノ明朝へフォールバック */
  --font-base: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  /* 欧文：高級感のあるPlayfair Displayを優先 */
  --font-heading: "Playfair Display", "Roboto", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif !important;

  --ink: #2F3A4A;   /* 本文：青み墨（高コントラストの暗灰色） */
  --title: #1F2A37; /* 見出し：さらに濃い墨色 */
  --gold: #CFA84A;  /* 枠線用：金色 */
}

html { font-size: 100%; }
html, body {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  background: none !important;
  background-color: transparent !important;
}

/* 最上位に大理石背景を敷く */
body::before {
  content: ""; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: -1;
  background-image: url('https://tus-o-takahashi.jp/wp-content/uploads/2025/07/大理石＿HP背景＿制作20250707-e1751871625492.png');
  background-size: cover; background-position: center center; background-repeat: no-repeat;
  opacity: 1;
}
@media screen and (max-width: 768px) { body::before { background-attachment: scroll; } }

/* テキスト選択時のハイライト色を淡いゴールドに変更（おしゃれ要素） */
::selection { background-color: rgba(182, 148, 96, 0.3); color: inherit; }
::-moz-selection { background-color: rgba(182, 148, 96, 0.3); color: inherit; }

body, #wrapper, .site-body, .entry-content p, .page-content p, li {
  font-family: var(--font-base) !important;
  font-size: 1rem !important; /* PCで約16px */
  line-height: 1.8 !important;
  letter-spacing: 0.05em !important;
  color: var(--ink) !important;
}

@media screen and (max-width: 768px) {
  body, .entry-content p, .page-content p { font-size: 0.9375rem !important; /* スマホ：15px相当 */ }
}

/* 全体リンク */
a { color: #195D9E; text-decoration: underline; transition: 0.3s ease; }
a:hover { color: #B69460; text-decoration: none; }


/* =========================================
   2. 見出し・段落・リストのスタイル
========================================= */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading) !important;
  color: var(--title) !important;
  font-weight: 700 !important;
  margin-top: 1.5em; margin-bottom: 0.5em; line-height: 1.5;
}
h1 { font-size: 2rem !important; }
h2 { font-size: 1.75rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }
h5 { font-size: 1.125rem !important; }
h6 { font-size: 1rem !important; }

.no-deco-heading { border: none !important; padding: 0 !important; margin-bottom: 0.5em; background: none !important; font-weight: 600; }
.my-heading, .my-block { width: 400px; margin: 0 auto; }

.entry-body h1, .entry-body h2, .entry-body h3, .entry-body h4, .entry-body h5, .entry-body h6,
.page-header-title, .no-deco-heading, .wp-block-heading { color: var(--title) !important; letter-spacing: 0.04em; }

.entry-body h3.wp-block-heading, .entry-body h3, h3#contact {
  font-size: clamp(18px, 2vw, 22px) !important; line-height: 1.5 !important;
  border-left: 3px solid var(--gold); padding-left: 0.8em; margin-top: 2.2em; margin-bottom: 1em;
}

.site-body .entry-content h1.no-deco-heading, .site-body .entry-content h2.no-deco-heading{
  font-size: clamp(18px, 4.8vw, 24px) !important; line-height: 1.25 !important; color:#212028 !important; letter-spacing:0.05em;
}

@media (max-width: 767px){
  .page-header-title { font-size: 22px !important; line-height: 1.45 !important; }
  h2.no-deco-heading, .entry-body h2.wp-block-heading { font-size: 20px !important; line-height: 1.5 !important; }
  .entry-body h3.wp-block-heading, .entry-body h3, h3#contact { font-size: 17px !important; padding-left: 0.65em !important; }
}

.entry-body p { margin-bottom: 1.15em !important; }
.entry-body ul, .entry-body ol { padding-left: 1.4em !important; margin-bottom: 1.2em !important; }
.entry-body li { margin-bottom: 0.45em !important; }

/* 本文の詳細サイズ調整 */
.entry-body, .entry-body p, .entry-body li, .entry-body td, .entry-body th, .entry-body dd, .entry-body label,
.entry-body input, .entry-body textarea, .entry-body select, .entry-body figcaption, .entry-body .wp-element-caption,
.entry-body .arkb-boxLink__content, .entry-body .ark-block-notice__body, .entry-body .vk_faq_content {
  font-size: 14px !important; line-height: 1.9 !important; letter-spacing: 0.02em;
}
@media (max-width: 767px){
  .entry-body, .entry-body p, .entry-body li, .entry-body td, .entry-body th, .entry-body dd, .entry-body label,
  .entry-body input, .entry-body textarea, .entry-body select, .entry-body figcaption, .entry-body .wp-element-caption,
  .entry-body .arkb-boxLink__content, .entry-body .ark-block-notice__body, .entry-body .vk_faq_content { font-size: 13px !important; line-height: 1.85 !important; }
}
.has-small-font-size, .entry-body .has-small-font-size { font-size: 13px !important; line-height: 1.85 !important; }


/* =========================================
   3. 不要な要素の非表示＆トップの余白消去
========================================= */
/* WPコピーライト・パンくずリスト・ページヘッダー・メタデータの非表示 */
.site-footer-copyright p:nth-child(2),
#breadcrumb.breadcrumb,
.page-header,
.entry-meta { display: none !important; }

/* reCAPTCHAバッジ非表示（※要規約テキスト） */
.grecaptcha-badge { visibility: hidden !important; }

/* トップページのメインコンテンツ上下の隙間を消す */
.home .site-body, .home .site-body-container { padding-top: 0 !important; padding-bottom: 0 !important; margin-bottom: 0 !important; }
.home .main-section { margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important; }
.home .site-footer { margin-top: 0 !important; padding-top: 0 !important; }
.home .main-section > :last-child, .home .entry-body > :last-child { margin-bottom: 0 !important; }

/* =========================================
   4. UIパーツ（ボタン・フッター・CTA・戻るボタン）
========================================= */
/* ボタンデザイン */
button, .wp-block-button__link { background-color: #195D9E; color: #fff; border-radius: 4px; padding: 10px 20px; font-weight: bold; transition: 0.2s ease; }
button:hover, .wp-block-button__link:hover { background-color: #B69460; }
.vk_button_link.btn, .wp-block-button__link, .fixed-cta a img { transition: transform .25s ease, box-shadow .25s ease, opacity .25s ease; }
.vk_button_link.btn:hover, .wp-block-button__link:hover { transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }

/* ホバー時に矢印だけスッと動かす（おしゃれ要素） */
.vk_button_link .arkb-inline-icon, .vk_button_link i[class*="fa-arrow"], .wp-block-button__link i[class*="fa-arrow"] { transition: transform 0.3s ease !important; }
.vk_button_link:hover .arkb-inline-icon, .vk_button_link:hover i[class*="fa-arrow"], .wp-block-button__link:hover i[class*="fa-arrow"] { transform: translateX(4px) !important; }

/* PAGE TOPボタンの金色化 */
.page_top_btn { background-color: #B69460 !important; border-color: #B69460 !important; transition: 0.3s ease; }
.page_top_btn:hover { background-color: #D9BD64 !important; border-color: #D9BD64 !important; }

/* フッター */
.site-footer { background-color: #1E3A3A; color: #FFFFFF; border-top: 3px solid #B69460; }
.site-footer a:link, .site-footer .social-media a { color: #FFFFFF; text-decoration: none; }
.site-footer a:visited { color: #E0CDA9; text-decoration: none; }
.site-footer a:hover, .site-footer .social-media a:hover { color: #D9BD64; text-decoration: underline; }

/* 固定CTA */
.fixed-cta { position: fixed; bottom: 30px; right: 30px; z-index: 9999; transition: opacity 0.3s ease; }
.fixed-cta img { width: 240px; height: auto; filter: drop-shadow(0 10px 18px rgba(0,0,0,.14)); transition: transform 0.3s ease, filter 0.3s ease; }
.fixed-cta a:hover img { transform: translateY(-2px) scale(1.05); filter: drop-shadow(0 0 12px rgba(255, 215, 0, 0.8)); }
@media screen and (max-width: 768px) {
  .fixed-cta { bottom: 12px; left: 8px; right: auto; }
  .fixed-cta img { width: 140px; opacity: 0.9; }
  .fixed-cta img:hover { transform: scale(1.03); opacity: 1; }
}

/* Marble Luxe Footer Box */
.footer-disaster {
  display: block !important; background: linear-gradient(180deg, #0b121c, #080e16) !important; color: #F9F9F9 !important;
  padding: 24px !important; margin: 40px 0 !important; border-radius: 12px !important;
  border: 3px solid var(--gold) !important; box-shadow: 0 15px 35px rgba(0,0,0,0.4) !important; text-align: left !important;
}
.footer-disaster h4 { font-size: 18px !important; color: #F5E8B2 !important; text-align: center !important; margin-bottom: 15px !important; letter-spacing: 0.1em !important; }
.footer-disaster p { font-size: 14px !important; color: rgba(255,255,255,0.9) !important; line-height: 1.8 !important; }
.footer-disaster a { color: #D7B45A !important; font-size: 14px !important; text-decoration: underline !important; }

/* スマホのパンくずカプセル */
@media (max-width: 768px){
  .vk_breadcrumb, .breadcrumb, .breadcrumbs, .page-breadcrumb, .vk-breadcrumb, nav.breadcrumb { padding: 0 !important; margin: 8px 0 12px !important; border: none !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
  .vk_breadcrumb *, .breadcrumb *, .breadcrumbs *, .page-breadcrumb *, .vk-breadcrumb *, nav.breadcrumb * { font-size: 13px !important; line-height: 1.35 !important; }
}

/* サイトロゴ */
.site-logo img { max-height: 100px; height: auto; width: auto; }


/* =========================================
   5. コンポーネント（CF7・ブロックなど）
========================================= */
/* Contact Form 7 */
input[type="text"], input[type="password"], input[type="datetime"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], select, textarea, .field {
  display: block; width: 100%; margin-bottom: 0; padding: 0 12px; border: 1px solid rgba(23,26,34,.16) !important;
  border-radius: 6px !important; background-color: rgba(255,255,255,.88) !important; box-shadow: none !important;
  color: var(--ink) !important; font-size: 13px !important; transition: background-color 0.24s ease-in-out;
}
input[type="text"], input[type="email"], input[type="tel"], select, .field { height: auto !important; line-height: 1.6 !important; padding: 0.8em 0.9em !important; }
textarea { min-height: 140px !important; line-height: 1.5em; padding: 0.8em 0.9em !important; overflow: auto; }
.entry-body .wpcf7 input[type="text"]:focus, .entry-body .wpcf7 input[type="email"]:focus, .entry-body .wpcf7 input[type="tel"]:focus, .entry-body .wpcf7 select:focus, .entry-body .wpcf7 textarea:focus { outline: none; border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(182,148,96,.12) !important; }

.inquiry th { text-align: left; font-size: 14px; color: #444; padding: 13px; width: 30%; background: #f7f7f7; border: solid 1px #d7d7d7; }
.inquiry td { font-size: 13px; border: solid 1px #d7d7d7; padding: 12px; }
.entry-content .inquiry tr, .entry-content table { border: solid 1px #d7d7d7; }
.haveto { font-size: 7px; padding: 5px; background: #ff9393; color: #fff; border-radius: 2px; margin-right: 5px; position: relative; bottom: 1px; }
.any { font-size: 7px; padding: 5px; background: #93c9ff; color: #fff; border-radius: 2px; margin-right: 5px; position: relative; bottom: 1px; }

#formbtn, .entry-body .wpcf7 input[type="submit"] {
  display: block; padding: 0.9em 2.2em !important; width: auto !important; background: #171a22 !important; color: #fff !important;
  font-size: 13px !important; font-weight: 700; border-radius: 999px !important; margin: 25px auto 0; border: 1px solid #171a22 !important; letter-spacing: 0.08em !important;
}
#formbtn:hover, .entry-body .wpcf7 input[type="submit"]:hover { background: var(--gold) !important; color: #fff !important; border-color: var(--gold) !important; }

@media(max-width:500px) {
  .inquiry td, .inquiry th { display: block !important; width: 100% !important; border-top: none !important; -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important; }
  .inquiry tr:first-child th { border-top: 1px solid #d7d7d7 !important; }
  .inquiry .any, .inquiry .haveto { font-size: 10px; }
  .entry-body .wpcf7 input[type="submit"] { width: 100% !important; }
}

/* 前後記事カード */
.vk_posts.next-prev a.card-intext-inner, .vk_posts.next-prev a.card-intext-inner:visited { color: #fff !important; }
.vk_posts.next-prev .vk_post_title.card-title { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.55); }
.vk_posts.next-prev .vk_post_date { color: rgba(255,255,255,.85) !important; }

/* 囲みブロック・アコーディオン・FAQ */
.is-style-vk-group-double, .is-style-vk-group-shadow { background: rgba(255,255,255,0.8); backdrop-filter: blur(2px); box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.vk_faq { border-bottom: 1px solid rgba(0,0,0,0.1); padding: 0.2em 0 0.9em; }
.vk_faq_title { color: var(--title) !important; font-size: 14px !important; letter-spacing: 0.03em; }
.vk_faq_content p { color: #555 !important; }
.ark-block-accordion__title { color: var(--title) !important; font-size: 14px !important; letter-spacing: 0.03em; }
.ark-block-accordion__body { color: var(--ink) !important; }
.scroll { overflow: auto; height: 200px; width: 100%; }
.scroll-box { border-top: 1px dashed #B19567; border-bottom: 1px dashed #B19567; padding: 6px 0; background: linear-gradient(to right, #1a1a1a, #222); position: relative; overflow: hidden; }
.scroll-text { text-shadow: 0 0 6px rgba(255,255,255,0.2); font-style: italic; }
.inline-icon { background-color: transparent !important; width: 1em; height: auto; vertical-align: middle; margin-left: 0.2em; }
.badge-link { width: 300px; height: 100px; display: block; overflow: hidden; }
.badge-link img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Lightningスライダー */
.swiper-pagination { display: none !important; } /* 下のドット非表示 */
.wp-block-vk-blocks-slider, .wp-block-vk-blocks-slider .vk_slider, .wp-block-vk-blocks-slider .vk_slider_outer, .wp-block-vk-blocks-slider .swiper, .wp-block-vk-blocks-slider .swiper-wrapper { overflow: visible !important; }
.wp-block-vk-blocks-slider .swiper-slide { width: 85% !important; margin-right: 20px !important; transition: transform 0.4s ease; }
.wp-block-vk-blocks-slider .swiper-wrapper { padding-left: 3% !important; }

/* 実績カルーセル */
.stk-block-carousel .wp-block-group.is-style-vk-group-shadow { height: 100%; display: flex; flex-direction: column; }
.stk-block-carousel .wp-block-group__inner-container { padding: 24px; }
.stk-block-carousel h2.no-deco-heading { margin-top: 18px !important; margin-bottom: 0 !important; }
.stk-block-carousel p.has-small-font-size { min-height: 150px; line-height: 1.8; }
.stk-block-carousel .vk_button { margin-top: auto; }


/* =========================================
   6. 画像ホバー＆メディア埋め込み
========================================= */
/* 製品画像ホバー */
.product-image img { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.product-image img:hover { transform: scale(1.05); box-shadow: 0 8px 16px rgba(0,0,0,0.2); }


/* =========================================
   SNSホバーカード（シンプル版：文字ありで普通にホバー）
========================================= */
.sns-hover-card {
    display: block;
    position: relative;
    border-radius: 8px;
    border: 1px solid rgba(182, 148, 96, 0.35);
    background: #fff;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    cursor: pointer;
}

/* 画像のスムーズなアニメーション設定 */
.sns-hover-card img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform 0.4s ease, filter 0.4s ease;
}

/* ★ ホバーしたときの動き（全体が浮き上がり、画像が少しズーム） ★ */
.sns-hover-card:hover {
    transform: translateY(-5px);
    border-color: rgba(182, 148, 96, 0.75);
    box-shadow: 0 15px 35px rgba(33, 32, 40, 0.15);
}

.sns-hover-card:hover img {
    transform: scale(1.03);
    filter: brightness(1.05);
}

/* 設計実績 白黒→カラー */
.works-page img { filter: grayscale(100%); transition: filter 0.3s ease, transform 0.3s ease; }
.works-page img:hover, .works-page img:active { filter: grayscale(0%); transform: scale(1.02); }

/* Instagram / Facebook 埋め込み */
.insta-wrapper, .fb-wrapper { display: flex; justify-content: center; align-items: center; flex-direction: column; text-align: center; margin: 30px auto; padding: 20px; max-width: 95%; background: rgba(255,255,255,0.95); border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,0.12); }
.insta-wrapper iframe, .insta-wrapper blockquote, .fb-wrapper iframe, .fb-wrapper .fb-post { display: block !important; margin: 0 auto !important; float: none !important; max-width: 100% !important; width: 100% !important; height: auto !important; }
@media (max-width: 768px) { .insta-wrapper, .fb-wrapper { padding: 25px 10px; margin-bottom: 40px; } }


/* =========================================
   7. タブの横スクロール（Ultimate Blocks対応）
========================================= */
.tabs-scroll [role="tablist"]{ display:flex !important; flex-wrap:nowrap !important; align-items:center !important; gap:14px !important; justify-content:flex-start !important; }
.tabs-scroll [role="tab"], .tabs-scroll [role="tablist"] a, .tabs-scroll [role="tablist"] button{ display:inline-flex !important; align-items:center !important; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; writing-mode: horizontal-tb !important; line-height: 1.2 !important; min-width: max-content !important; padding: 10px 14px !important; border-radius: 999px !important; }
.tabs-scroll [role="tablist"] > li{ display:flex !important; flex: 0 0 auto !important; }

@media (max-width: 768px){
  .tabs-scroll{ position: relative; }
  .tabs-scroll [role="tablist"]{ overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling: touch !important; padding: 6px 0 14px !important; -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%) !important; mask-image: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 10%, rgba(0,0,0,1) 90%, rgba(0,0,0,0) 100%) !important; }
  .tabs-scroll::after{ content:""; position:absolute; left:12px; right:12px; bottom:6px; height:2px; border-radius:999px; background: linear-gradient(90deg, rgba(214,179,90,0), rgba(214,179,90,.28), rgba(214,179,90,0)); pointer-events:none; opacity:.9; }
  .tabs-scroll::before{ content:""; position:absolute; left:0; right:0; top:0; height: calc(100% - 8px); pointer-events:none; background: linear-gradient(90deg, rgba(255,255,255,.0) 0%, rgba(255,255,255,.0) 8%, rgba(255,255,255,.0) 92%, rgba(255,255,255,.0) 100%); }
  .tabs-scroll [role="tablist"] > *:first-child{ margin-left: 12px !important; }
  .tabs-scroll [role="tablist"] > *:last-child{ margin-right: 12px !important; }
  
  /* UB タブ用の上書き設定 */
  .tabs-scroll .wp-block-ub-tabbed-content-tabs-title[role="tablist"]{ display:flex !important; flex-wrap:nowrap !important; overflow-x:auto !important; overflow-y:hidden !important; -webkit-overflow-scrolling: touch !important; gap:14px !important; justify-content:flex-start !important; padding: 6px 12px 22px !important; position: relative !important; }
  .tabs-scroll .wp-block-ub-tabbed-content-tab-title-wrap[role="tab"], .tabs-scroll .wp-block-ub-tabbed-content-tab-title{ flex: 0 0 auto !important; white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; writing-mode: horizontal-tb !important; }
  .tabs-scroll .wp-block-ub-tabbed-content-tabs-title[role="tablist"]::after{ content: none !important; }
  .tabs-scroll .wp-block-ub-tabbed-content-tab-holder{ padding-bottom: 18px !important; position: relative !important; }
  .tabs-scroll .wp-block-ub-tabbed-content-tab-holder::after{ top: auto !important; bottom: 2px !important; right: 12px !important; content: "※ 横にスワイプできます" !important; font-size: 11px !important; letter-spacing: .08em !important; opacity: .6 !important; color: #8c8c8c !important; white-space: nowrap !important; pointer-events: none !important; z-index: 10 !important; position: absolute !important;}
  .tabs-scroll .wp-block-ub-tabbed-content-tabs-title[role="tablist"]{ padding-right: 12px !important; }
}


/* =========================================
   8. スマホ比較表（横スクロール固定化）
========================================= */
.entry-body .wp-block-table table { background: rgba(255,255,255,.72); border-collapse: collapse; box-shadow: 0 4px 15px rgba(0,0,0,0.05); }
.entry-body .wp-block-table th { background: rgba(23,26,34,.92); color: #fff !important; font-weight: 700; font-size: 13px !important; letter-spacing: 0.04em; padding: 0.8em 0.75em !important; text-transform: none !important; }
.entry-body .wp-block-table td { padding: 0.8em 0.75em !important; vertical-align: top; border-color: rgba(0,0,0,0.1); }
.entry-body .wp-block-table tr:nth-child(even) td { background: rgba(255,255,255,.45); }
.entry-body .wp-block-table figcaption, .entry-body .wp-block-table .wp-element-caption { color: #666 !important; font-size: 12px !important; line-height: 1.7 !important; margin-top: 0.7em; }
.is-style-vk-table-scrollable { border-radius: 8px; overflow: hidden; }

@media (max-width: 767px){
  .entry-body .wp-block-table table { min-width: 720px !important; }
  .entry-body .wp-block-table th, .entry-body .wp-block-table td { font-size: 11px !important; line-height: 1.5 !important; padding: 0.45em 0.4em !important; letter-spacing: 0 !important; }
  .entry-body .wp-block-table th { white-space: nowrap !important; }
  .entry-body .wp-block-table td { word-break: keep-all !important; }
  .entry-body .wp-block-table figcaption, .entry-body .wp-block-table .wp-element-caption { font-size: 11px !important; line-height: 1.5 !important; }
}

.sk-fixed-table { position: relative; }
.sk-fixed-table table { border-collapse: separate; border-spacing: 0; }
@media (max-width: 767px) {
  .sk-fixed-table { overflow-x: auto !important; overflow-y: visible !important; -webkit-overflow-scrolling: touch !important; position: relative !important; padding-bottom: 8px; }
  .sk-fixed-table table { min-width: 1100px !important; width: max-content !important; table-layout: auto !important; border-collapse: separate !important; border-spacing: 0 !important; background: rgba(255,255,255,.92); }
  .sk-fixed-table th, .sk-fixed-table td { white-space: normal !important; word-break: keep-all !important; overflow-wrap: break-word !important; vertical-align: top; background-clip: padding-box; }
  .sk-fixed-table th:first-child, .sk-fixed-table td:first-child { position: sticky !important; left: 0 !important; z-index: 3 !important; min-width: 120px; max-width: 140px; width: 140px; white-space: normal !important; word-break: keep-all !important; overflow-wrap: break-word !important; border-right: 1px solid rgba(0,0,0,.12) !important; box-shadow: 6px 0 10px rgba(0,0,0,.06); }
  .sk-fixed-table thead th { position: sticky !important; top: 0 !important; z-index: 4 !important; background: #212028 !important; color: #fff !important; }
  .sk-fixed-table thead th:first-child { z-index: 5 !important; background: #212028 !important; color: #fff !important; }
  .sk-fixed-table tbody td:first-child { background: #f7f7f7 !important; color: #212028 !important; font-weight: 600; }
  .sk-fixed-table tbody tr:nth-child(even) td:first-child { background: #efefef !important; }
  .sk-fixed-table figcaption, .sk-fixed-table .wp-element-caption { width: 100%; min-width: 0; white-space: normal; }
  .sk-fixed-table::after { content: "← 横にスクロールできます →"; display: block; text-align: right; font-size: 11px; color: rgba(33,32,40,.72); margin-top: 6px; letter-spacing: .04em; }
}



/* =========================================
   フッターの並び順とデザイン調整
========================================= */
footer.site-footer {
    display: flex;
    flex-direction: column;
}

/* ① ウィジェットエリアを一番上へ */
footer.site-footer .site-footer-content {
    order: 1;
}

/* ② フッターナビゲーションを真ん中へ */
footer.site-footer .footer-nav {
    order: 2;
    margin-top: 30px !important;
    margin-bottom: 15px !important;
    padding: 0 15px;
}

/* ナビゲーションの中身（文字サイズ・中央揃え） */
footer.site-footer .footer-nav ul {
    display: flex;
    justify-content: center; /* 中央揃え */
    align-items: center;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    list-style: none;
}

footer.site-footer .footer-nav ul li {
    font-size: 13px !important; /* 文字を少し小さく */
    margin: 0;
    padding: 0;
}

footer.site-footer .footer-nav ul li a {
    color: #fff !important;
    opacity: 0.8;
    text-decoration: none !important;
    transition: 0.3s;
}

footer.site-footer .footer-nav ul li a:hover {
    color: #B69460 !important; /* ホバーでゴールドに */
    opacity: 1;
}

/* 項目と項目の間に「 | 」の区切り線を入れる */
footer.site-footer .footer-nav ul li:not(:last-child)::after {
    content: "|";
    color: rgba(255,255,255,0.3);
    margin: 0 15px;
}

/* ③ コピーライトを一番下へ */
footer.site-footer .site-footer-copyright {
    order: 3;
    padding-top: 10px;
}


/* スマホ表示での微調整（被り防止・完全2段組） */
@media screen and (max-width: 768px) {
    /* 1. 左下の固定ボタンがテキストに被らないよう、フッターの一番下に余白を作る */
    footer.site-footer {
        padding-bottom: 90px !important; 
    }

    /* 2. メニューを強制的に横並びにする */
    footer.site-footer .footer-nav ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px 0 !important;
    }

    /* 3. リスト項目が縦に落ちないようにインラインブロック化 */
    footer.site-footer .footer-nav ul li {
        display: inline-flex !important;
        align-items: center !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    footer.site-footer .footer-nav ul li a {
        font-size: 11px !important;
        padding: 0 !important;
        border: none !important;
        line-height: 1 !important;
    }
    
    /* 4. 一度すべての区切り線を消す */
    footer.site-footer .footer-nav ul li::after {
        content: none !important;
    }
    
    /* 5. 1番目の項目（企業情報）の右横にだけ | を入れる */
    footer.site-footer .footer-nav ul li:nth-child(1)::after {
        content: "|" !important;
        color: rgba(255,255,255,0.3) !important;
        margin: 0 10px !important;
        display: inline-block !important;
        font-size: 11px !important;
    }
    
    /* 6. 3番目の項目（悪質行為〜）は長すぎるので横幅100%にして強制的に下へ落とす */
    footer.site-footer .footer-nav ul li:nth-child(3) {
        width: 100% !important;
        justify-content: center !important;
        margin-top: 5px !important;
    }
}



/* =========================================
   ヘッダーロゴ拡大（比率キープ・バランス調整版）
========================================= */
/* PC表示 */
@media screen and (min-width: 769px) {
    header .site-header-logo,
    header .siteHeader_logo,
    header .navbar-brand {
        height: auto !important;
        max-height: none !important;
    }
    header .site-header-logo img,
    header .siteHeader_logo img,
    header .navbar-brand img {
        height: 80px !important; /* ★ここで高さを指定（さっきの100pxは少し大きすぎたので80pxに調整しました） */
        width: auto !important;
        max-height: none !important;
        object-fit: contain !important; /* ★画像が縦や横に伸びるのを絶対に防ぐ魔法 */
    }
}

/* スマホ表示 */
@media screen and (max-width: 768px) {
    header .site-header-logo img,
    header .siteHeader_logo img,
    header .navbar-brand img {
        height: 55px !important;
        width: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}