/* =========================================================
   single-product.css（全文差し替え版）

   ========================================================= */


/* =========================================================
   ✅ 単品ページ：本文の基準文字サイズ（ページ内だけ）＋中央寄せ
   ※ 重複していた main.site-main を1箇所に統合
   ========================================================= */
body.single-product main.site-main{
  font-size: 18px;
  margin-right: auto !important;
  margin-left:  auto !important;
  max-width: 1160px;
}

body.single-product main.site-main li,
body.single-product main.site-main a,
body.single-product main.site-main label,
body.single-product main.site-main input,
body.single-product main.site-main select,
body.single-product main.site-main textarea{
  font-size: 18px;
}

body.single-product main.site-main p{
	font-size: 16px;
	color: #393939;
}
/* =========================================================
   ✅ 価格と税込みの文字色を黒に
   ========================================================= */
body.single-product .summary p.price,
body.single-product .summary p.price *{
  color: #000 !important;
}
body.single-product .summary .price .woocommerce-Price-amount,
body.single-product .summary .price .woocommerce-Price-currencySymbol{
  color: #000 !important;
}
body.single-product .jade-single-price__tax{
  color: #000 !important;
  opacity: 1 !important;
}


/* =========================================================
   レスポンシブ（既存）
   ========================================================= */
@media (max-width: 960px){
  .mira-sp__hero{grid-template-columns:1fr}
  .mira-sp__feature{grid-template-columns:1fr;gap:12px}
}


/* =========================================================
   本文（既存）
   ========================================================= */
.mira-sp__brand{
  display: block;
  margin: 0 0 8px;
}

.content-area{
  margin-top: 90px !important;
}

/* 背景はテキスト長にフィット（既存） */
.mira-sp__brand a{
  display: inline-block;
  padding: clamp(4px, 0.6vw, 8px) clamp(12px, 1.6vw, 18px);
  background: #E8E8E8;
  border-radius: 0;
  font-size: 18px;
  font-weight: 700;
  color: #000;
  line-height: 1.1;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  white-space: nowrap;
}


/* =========================================================
   単品ページだけ .col-full を中央＆幅固定
   ========================================================= */
body.single-product .col-full{
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 0px;
}


/* =========================================================
   紫のフォーカス枠を削除（既存）
   ========================================================= */
a:focus{
  outline: none !important;
  box-shadow: none !important;
}


/* =========================================================
   単品ページ全体を中央寄せ（既存）
   ========================================================= */
.single-product div.product{
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   単品ページ：サイドバーを消して本文を全幅に（既存）
   ========================================================= */
@media (min-width: 768px){
  .single-product .widget-area{
    display: none;
  }

  .single-product.left-sidebar .content-area{
    width: 100% !important;
    float: none !important;
    margin-right: 0 !important;
  }
}


/* =========================================================
   ダウンロード資料エリア（既存）
   ========================================================= */
.single-product .wc-downloads-block{
  margin-top: 32px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e5e5e5;
}

.single-product .wc-downloads-heading{
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 16px;
}

.single-product .wc-downloads-sep{
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 32px 0 20px;
}

.single-product .wc-downloads-list{
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.single-product .wc-downloads-item{
  margin: 0;
}

.single-product .wc-downloads-link{
  display: flex;
  align-items: center;
  padding: 12px 20px;
  background: #f3f3f3;
  text-decoration: none;
  color: #000;
  font-size: 18px;
  border-bottom: 1px solid #e0e0e0;
}

.wc-downloads-item + .wc-downloads-item{
  margin-top: 4px;
}

.single-product .wc-downloads-item:last-child .wc-downloads-link{
  border-bottom: none;
  margin-bottom: 10px;
}

.single-product .wc-downloads-link .wc-dl-label{
  flex: 1 1 auto;
}

.single-product .wc-downloads-link .wc-dl-size{
  margin-left: 24px;
  white-space: nowrap;
}

.single-product .wc-downloads-link .wc-dl-icon{
  margin-left: auto;
}

.single-product .wc-downloads-link::after{
  content: none !important;
}

.single-product .wc-downloads-link:hover{
  background: #e7e7e7;
  color: #000;
}


/* =========================================================
   関連製品エリア（既存）
   ========================================================= */
.single-product .related.products > h2{
  font-size: 22px;
  font-weight: 700;
  margin: 32px 0 16px;
}

.single-product .related ul.products li.product{
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
  padding: 16px;
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.single-product .related ul.products li.product:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.12);
}

.single-product .related ul.products li.product img{
  width: 100%;
  height: auto;
  display: block;
}

.single-product .related ul.products li.product .product-brand-label,
.single-product .related ul.products li.product .loop-brand,
.single-product .related ul.products li.product .wcj-product-listing-brand{
  display: inline-block;
  padding: 4px 10px;
  margin-bottom: 8px;
  background: #f3f3f3;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: #555;
  line-height: 1.2;
}

.single-product .related ul.products li.product .woocommerce-loop-product__title{
  font-size: 16px;
  margin: 10px 0 4px;
  line-height: 1.4;
}
.single-product .related ul.products li.product .price{
  font-size: 16px;
}


/* =========================================================
   単品：カテゴリリボン（既存）
   ========================================================= */
.single-product .single-product-brand-wrap{
  margin-bottom: 8px;
}
.single-product .single-product-brand{
  display: inline-block;
  padding: 4px 16px;
  background: #E8E8E8;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #000;
}


/* =========================================================
   単品：数量の下にカートボタン（調整）
   ② カートに入れるボタンの上：広く
   ※ form.cart の重複を避け、summary側に集約
   ========================================================= */
.single-product .summary form.cart{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.single-product .summary form.cart .quantity{
  width: auto;
}
.single-product .summary form.cart .single_add_to_cart_button{
  min-width: 260px;
  text-align: center;

  /* ✅ 上の空白を広く（数量→ボタン） */
  margin-top: 16px;
}


/* =========================================================
   単品ページ：上部エリア調整（既存）
   ========================================================= */
.single-product .jade-sp-summary{
  max-width: 460px;
}

.jade-sp__brand-label{
  display: inline-block;
  padding: 4px 18px;
  background: #f3f3f3;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #333;
}

.jade-sp__number{
  margin: 4px 0 12px;
  font-size: 14px;
  color: #000;
}

.jade-sp__qty-label{
  display: block;
  margin: 20px 0 8px;
  font-weight: 600;
  font-size: 18px;
}


/* =========================================================
   ✅ ボタン2つ：横幅を広く（画像2枚目くらい）
   - カートボタン & 見積ボタンを同幅にする
   ========================================================= */
.single-product .single_add_to_cart_button{
  background: #2A3F59 !important;
  border-radius: 999px;
  padding: 14px 72px;
  font-size: 18px;
  font-weight: 700;
  border: 2px solid transparent;
  box-sizing: border-box;

  /* ✅ 横幅アップ（上限は summary 幅に追従） */
  width: min(420px, 100%);
}
.single-product .single_add_to_cart_button:hover{
  background: #fff !important;
  color: #2A3F59 !important;
  border: 2px solid #2A3F59 !important;
  filter: none !important;
  text-decoration: none;
}

/* hover：見積ボタンも背景↔文字を反転 */
.single-product .summary .jade-quote-btn:hover{
  background: #fff !important;
  color: #5B898B !important;
  border: 2px solid #5B898B !important;
  filter: none !important;
}

/* a/button 共通で文字色が上書きされる場合の保険 */
.single-product .single_add_to_cart_button:hover *{
  color: #2A3F59 !important;
}
.single-product .summary .jade-quote-btn:hover *{
  color: #5B898B !important;
}
.single-product form.cart .quantity{
  margin: 0;
}

.jade-sp__brand-label,
.jade-sp__brand-label a{
  color: #000;
}
.jade-sp__brand-label a:hover,
.jade-sp__brand-label a:visited,
.jade-sp__brand-label a:active{
  color: #000;
}


/* =========================================================
   ✅ specs（使用イメージ + 製品詳細）横配置（既存）
   ========================================================= */
.jade-specs-wrap{
  max-width: 1160px;
  margin: 0 auto;
}

.jade-specs-grid{
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 40px;
  align-items: start;
}

.jade-specs-image{
  width: 400px;
}

.jade-specs-image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0;
  object-fit: cover;
}

.jade-specs-content{
  max-width: 680px;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.03em;
  color: #000;
  margin-left: 120px !important;
}
.jade-specs-content h2,
.jade-specs-content h3{
  font-size: 22px;
  line-height: 1.5;
  margin: 0px 0 10px;
  color: #393939!important;
  font-weight: 500!important;
}
.jade-specs-content p{
  margin: 0 0 16px;
  font-size: 16px!important;
  margin: 0px 0 40px;
  line-height:2;
  color: #393939!important;	
}

@media (max-width: 960px){
  .jade-specs-grid{
    grid-template-columns: 320px 1fr;
    gap: 16px;
  }
  .jade-specs-image{
    width: 320px;
    max-width: none;
  }
}


/* =========================================================
   オプション製品 / 他ブランド同等製品（カードエリア）
   - カテゴリ帯：#E8E8E8（2枚目風）
   - 価格：右寄せ
   - 比率：308×377 相当（縦横比固定）
   ========================================================= */
.jade-related-block{
  margin-top: 40px;
}

.jade-related-block__title{
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 18px;
}

.jade-related-block__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px;
}

/* カード本体：比率 308×377（= 377/308 ≒ 1.224） */
.jade-related-card{
  display: block;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.06);
  overflow: hidden;
  text-decoration: none;
  color: inherit;

  aspect-ratio: 308 / 377;
}

/* 画像エリア */
.jade-related-card__media{
  position: relative;
  padding: 14px 40px 0;
  overflow: hidden;
}

/*テゴリ帯（2枚目風）：背景 #E8E8E8 / 角なし */
.jade-related-card__ribbon{
  position: absolute;
  top: 24px;
  left: 0px;
  z-index: 2;
  display: inline-block;
  padding: 6px 20px;
  background: #E8E8E8;
  border-radius: 0;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #000;
  line-height: 1.2;
}

/* 画像：少し縮小 → hoverで拡大（他ページ同等） */
.jade-related-card__img{
  display: block;
  width: 100%;
  height: 220px;
  object-fit: contain;

  transform: scale(0.90);
  transform-origin: center;
  transition: transform .18s ease;
}

.jade-related-card:hover .jade-related-card__img{
  transform: scale(1.04);
}

/* 本文 */
.jade-related-card__body{
  padding: 14px 18px 18px;
}

/* 商品名 */
.jade-related-card__name{
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0 0 8px;
  color: #111;
}

/* ✅ 価格：右寄せ（円 / 税込） */
.jade-related-card__price{
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  gap: 6px;

  font-weight: 700;
  line-height: 1;
  color: #111;
}

.jade-related-card__price .jade-price-amount{
  font-size: 16px;
  letter-spacing: .02em;
}
.jade-related-card__price .jade-price-yen{
  font-size: 14px;
  font-weight: 700;
}
.jade-related-card__price .jade-price-tax{
  font-size: 12px;
  font-weight: 600;
  opacity: .75;
}


/* =========================================================
   ✅ 幅が狭い時：2列 ＋ 商品名/値段が消えないようにする
   （aspect-ratio 固定を解除して高さ可変に）
   ========================================================= */
@media (max-width: 1100px){
  .jade-related-block__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }

  .jade-related-card{
    aspect-ratio: auto;
    height: auto;
    overflow: visible;
    display: flex;
    flex-direction: column;
  }

  .jade-related-card__media{
    padding: 12px 20px 0;
  }

  .jade-related-card__img{
    height: 180px;
  }

  .jade-related-card__body{
    padding: 12px 14px 14px;
  }
}

@media (max-width: 960px){
  .jade-related-card__img{
    height: 160px;
  }
}


/* =========================================================
   余白微調整（既存）
   ========================================================= */
.single-product div.product form.cart{
  padding: 0px !important;
}
.single-product div.product p.price{
  margin: 0px 0px !important;
}


/* =========================================================
   単品：製品番号 / 価格（既存）
   ========================================================= */
.jade-product-number{
  margin-top: 6px;
  font-size: 14px;
  opacity: .75;
}

.jade-single-price__tax{
  font-size: 14px;
  font-weight: 600;
  margin-left: 6px;
  opacity: .8;
}


/* =========================================================
   カート下（見積ボタン + 2つのリンク）
   ② カートボタン下（見積まで）を狭く
   ========================================================= */
.jade-single-under-cart{
  margin-top: 6px; /* ✅ 14px→6px：カートと見積の間を狭く */
  width: 100%;
}

/* 見積書ボタン：カートボタンと同サイズ・同形状 */
.single-product .summary .jade-quote-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: min(420px, 100%);
  min-width: 0;

  background: #5B898B !important;
  color: #fff !important;
  border-radius: 999px;
  padding: 14px 0;
  font-size: 18px;
  font-weight: 700;
  border: none;
  border: 2px solid transparent;
  box-sizing: border-box;

  margin-top: 6px;
}

.single-product .summary .jade-quote-btn:hover{
  filter: brightness(0.95);
  text-decoration: none;
}

/* ④ 見積ボタンと下リンクの間を広く */
.jade-single-links{
  margin-top: 20px; /* ✅ 10px→20px */
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* 1行（文言 + こちら）をまとめるラッパー */
.jade-single-link-row{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  color: #2A3F59;
}

/* 行の先頭アイコン（「こちら」には付かない） */
.jade-single-link-row::before{
  content: "";
  width: 48px;
  height: 48px;
  display: inline-block;
  flex: 0 0 48px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.jade-single-link-row::before{
  vertical-align: middle;
}

/* アイコン画像 */
.jade-single-link-row--option::before{
  background-image: url("/wp-content/uploads/2025/12/option.png");
}
.jade-single-link-row--equivalent::before{
  background-image: url("/wp-content/uploads/2025/12/62eb27f892e25ad3cd8dc32f3e8e7317.png");
}

/* 「こちら」リンク（左アイコン不要） */
.jade-single-link{
  display: inline;
  margin-left: 2px;
  color: #2A3F59 !important;
  text-decoration: underline;
  font-weight: 700;
  white-space: nowrap;
}
.jade-single-link:hover{
  opacity: .85;
}


/* =========================================================
   製品説明（ACF）（既存）
   ========================================================= */
.jade-single-description{
  margin-top: 14px;
  font-size: 16px!important;
  line-height: 1.9;
  color: #000;
}

/* 画像横の文章（specifications）も黒に統一 */
.jade-specs-content{
  color: #000;
}
.jade-specs-content p,
.jade-specs-content li{
  color: #000;
}

/* 製品仕様（description テーブル/本文）の文字も黒に */
.jade-wide--specs,
.jade-wide--specs *{
  color: #000;
}


/* =========================================================
   after summary に出すブロックは float 回り込みを解除
   ========================================================= */
.single-product div.product::after{
  content:"";
  display:block;
  clear:both;
}

.jade-specs-wrap,
.jade-wide,
.wc-downloads-block,
.jade-related-block{
  clear: both;
  width: 100%;
}


/* =========================================================
   ✅ 上部の説明文（.prod_info1 p）を本文と同じ見え方へ統一
   ========================================================= */
body.single-product .prod_info1 p{
  font-size: 16px !important;
  line-height: 2 !important;
  margin: 10px 0 !important;
  font-weight: 400 !important;
  color: #393939 !important;
}


/* =========================================================
   ✅ 製品仕様（.jade-wide-specs）：最新版（要件反映）
   ① 右エリア背景：白
   ② 項目上下：黒線
   ③ 右エリア：中央寄せ
   左列背景：#E8E8E8
   ========================================================= */
body.single-product section.jade-wide.jade-wide-specs{
  max-width: 1100px;
  margin: 0 auto;
}

body.single-product section.jade-wide.jade-wide-specs .jade-wide__title{
  font-size: 20px;
  font-weight: 700;
  margin: 0 0 12px;
}

body.single-product section.jade-wide.jade-wide-specs .jade-wide__body table{
  width: 100%;
  border-collapse: collapse;
  border: none!important;
  background: transparent!important;
}

/* 行の上下を黒線に */
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr{
  border-top: 1px solid #000!important;
}
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr:last-child{
  border-bottom: 1px solid #000!important;
}

/* 左列（th想定） */
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body th{
  width: 38%;
  background: #E8E8E8!important;
  text-align: center!important;
  font-weight: 700;
  padding: 14px 18px;
  border-right: 1px solid #000!important; /* 中央の縦線（黒）※不要なら削除 */
  vertical-align: middle;
  white-space: nowrap;
}

/* 右列（td想定） */
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body td{
  background: #fff!important;
  text-align: center;
  font-weight: 600;
  padding: 14px 22px;
  vertical-align: middle;
}

/* th ではなく td の場合の保険 */
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr > td:first-child{
  background: #E8E8E8!important;
  text-align: center!important;
  font-weight: 700;
  border-right: 1px solid #000!important;
  white-space: nowrap;
}
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr > td:last-child{
  background: #fff!important;
  text-align: center;
  font-weight: 600;
}

body.single-product section.jade-wide.jade-wide-specs .jade-wide__body table tbody td,
body.single-product section.jade-wide.jade-wide-specs .jade-wide__body table tbody th{
  background: transparent;
}

@media (max-width: 768px){
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body th{
    width: 42%;
    padding: 12px 12px;
    white-space: normal;
  }
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body td{
    padding: 12px 14px;
  }
}


.jade-wide__body th{
	background-color: #E8E8E8!important;
	text-align: center!important;
}

.jade-wide__body td{
	background-color: #fff!important;
}

/* 製品仕様：各項目（行）の上下に線 */
.jade-wide__body table{
  width: 100%;
  border-collapse: collapse; /* 線を1本にする */
}

.jade-wide__body table tbody tr{
  border-top: 1px solid #999;
}

/* 最終行の下線 */
body.single-product .jade-wide__body table tbody tr:last-child{
  border-bottom: 1px solid #999;
}

/* 余白（任意） */
.jade-wide__body table th,
.jade-wide__body table td{
  padding: 14px 18px;
}

.jade-wide__body table{
  width: 100%;
  table-layout: fixed; /* 幅指定を効かせる */
}

.jade-wide__body table th{
  width: 28%;
  white-space: nowrap; /* 項目名を折り返さない */
}

.jade-wide__body table td{
  width: 72%;
}

/* =========================================================
   ✅ ボタン統一（在庫あり/在庫切れ/お取り寄せ 共通）
   - サイズ：2枚目寄せ（大きめ・同幅・丸い）
   - 余白　：ボタン間 14px / 上 18px 目安
   - 色　　：カート #2A3F59 / 見積 #5B898B / お問合せ #EB7575 / 購入リクエスト #466541
   ※ single-product.css の「一番最後」に置く
   ========================================================= */

/* ボタンは中央寄せ（数量などは左のまま） */
body.single-product .summary .cart .single_add_to_cart_button,
body.single-product .summary a.jade-quote-btn,
body.single-product .summary .jade-cta-btn{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2枚目っぽい “共通の形” */
body.single-product .summary .cart .single_add_to_cart_button,
body.single-product .summary a.jade-quote-btn,
body.single-product .summary .jade-cta-btn{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 350px !important;     /* 2枚目の横幅上限。必要なら 480〜560で調整 */
  min-height: 60px !important;     /* 高さを揃える */
  padding: 18px 22px !important;
  border-radius: 999px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  border: 2px solid transparent !important;
}

.single-product div.product form.cart {
    margin-bottom: 1em!important;
}

/* ボタン間隔：上のボタン→次のボタン（2枚目寄せ） */
body.single-product .summary .cart .single_add_to_cart_button{ margin-top: 18px !important; }
body.single-product .summary a.jade-quote-btn{ margin-top: 14px !important; }
body.single-product .summary .jade-cta-wrap{ margin-top: 18px !important; }
body.single-product .summary .jade-cta-btn + .jade-cta-btn{ margin-top: 14px !important; }

/* --- 色指定（通常時） --- */
body.single-product .summary .cart .single_add_to_cart_button{
  background: #2A3F59 !important;
  color: #fff !important;
}
body.single-product .summary a.jade-quote-btn{
  background: #5B898B !important;
  color: #fff !important;
}
body.single-product .summary .jade-cta-btn--contact{
  background: #EB7575 !important;
  color: #fff !important;
}
body.single-product .summary .jade-cta-btn--request{
  background: #466541 !important;
  color: #fff !important;
}

body.single-product .summary .jade-cta-btn--quote{
  background: #5B898B !important;
  color: #fff !important;
}

/* --- hover（白反転） --- */
body.single-product .summary .cart .single_add_to_cart_button:hover{
	background: #fff !important;
	color: #2A3F59 !important;
	border-color: #2A3F59 !important;
	filter: none !important;
	border: 2px solid #2A3F59 !important;
}
body.single-product .summary a.jade-quote-btn:hover{
	background: #fff !important;
	color: #5B898B !important;
	border-color: #5B898B !important;
	filter: none !important;
	border: 2px solid #5B898B !important;	
}
body.single-product .summary .jade-cta-btn--contact:hover{
	background: #fff !important;
	color: #EB7575 !important;
	border-color: #EB7575 !important;
	filter: none !important;
	border: 2px solid #EB7575 !important;	
}
body.single-product .summary .jade-cta-btn--request:hover{
	background: #fff !important;
	color: #466541 !important;
	border-color: #466541 !important;
	filter: none !important;
	border: 2px solid #466541 !important;
}

body.single-product .summary .jade-cta-btn--quote:hover{
	background: #fff !important;
	color: #5B898B !important;
	border-color: #5B898B !important;
	filter: none !important;
	border: 2px solid #5B898B !important;
}

/* テーマ側の button/a の装飾に負けない保険 */
body.single-product .summary a.button,
body.single-product .summary button.button{
  border: 0 !important;
}

/* ボタン間の空白を広げる */
body.single-product .summary .jade-quote-btn,
body.single-product .summary .jade-cta-btn--quote{
  margin-top: 18px !important;
  margin-bottom: 30px;
}

body.single-product .summary .jade-cta-btn--contact,
body.single-product .summary .jade-cta-btn--request{
  margin-top: 18px !important;
  margin-bottom: 30px;	
}

/* =========================================================
   ✅ 在庫状態ごとに不要UIを非表示
   - お取り寄せ：個数〜カートボタン一式を消す
   - 在庫切れ：個数を消す（カートは元々出ない想定だが念のため）
   ========================================================= */

/* お取り寄せ（backorder） */
body.single-product.jade-is-backorder .summary .jade-sp__qty-label,
body.single-product.jade-is-backorder .summary form.cart,
body.single-product.jade-is-backorder .summary .quantity{
  display: none !important;
}

/* 在庫切れ（outofstock） */
body.single-product.jade-is-outofstock .summary .jade-sp__qty-label,
body.single-product.jade-is-outofstock .summary form.cart,
body.single-product.jade-is-outofstock .summary .quantity{
  display: none !important;
}

body.single-product.jade-is-backorder .summary .jade-single-under-cart:nth-of-type(n+2){
  display: none !important;
}

.jade-cta-note--outofstock{
	color:#EB7575 !important;
}

.jade-cta-note--backorder{
	color:#466541 !important;
}

/* =========================================================
   ✅ 自作ギャラリー（プラグイン無し）: 見た目は現状踏襲
   ========================================================= */
body.single-product .jade-gallery{
  width: 100%;
  max-width: 520px;        /* 左カラム内での上限 */
}

body.single-product .jade-gallery__stage{
  position: relative;
  height: 520px;           /* メイン枠の固定（揺れなくなる） */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

body.single-product .jade-gallery__main{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
}

body.single-product .jade-gallery__main img{
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

/* 左右の丸い矢印（今と同じ雰囲気） */
body.single-product .jade-gallery__nav{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.25);
  background: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
  z-index: 2;
}
body.single-product .jade-gallery__nav--prev{ left: 8px; }
body.single-product .jade-gallery__nav--next{ right: 8px; }

body.single-product .jade-gallery__nav::before{
  content:"";
  width: 10px;
  height: 10px;
  border-top: 2px solid #2A3F59;
  border-right: 2px solid #2A3F59;
  display: block;
}
body.single-product .jade-gallery__nav--prev::before{ transform: rotate(-135deg); }
body.single-product .jade-gallery__nav--next::before{ transform: rotate(45deg); }

/* サムネ */
body.single-product .jade-gallery__thumbs{
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: center;
  margin-top: 16px;
}

body.single-product .jade-gallery__thumb{
  width: 86px;
  height: 86px;
  padding: 0;
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  display: grid;
  place-items: center;
}

body.single-product .jade-gallery__thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

body.single-product .jade-gallery__thumb.is-active{
  border-color: #2A3F59;
}

/* レスポンシブ */
@media (max-width:1024px){
  body.single-product .jade-gallery__stage{ height: 420px; }
}
@media (max-width:640px){
  body.single-product .jade-gallery__stage{ height: 320px; }
  body.single-product .jade-gallery__thumb{ width: 72px; height: 72px; }
}

/* =========================================================
   ✅ 商品画像ギャラリー：画像比率が違ってもサイズが可変しないように固定
   - 枠（表示エリア）を固定（aspect-ratio）
   - 画像は枠内に contain で収める（トリミングしない）
   ========================================================= */

/* 表示エリア（slick / flex どちらでも効くようにまとめて指定） */
body.single-product .woocommerce-product-gallery .slick-list,
body.single-product .woocommerce-product-gallery .slick-track,
body.single-product .woocommerce-product-gallery .flex-viewport{
  /* “枠の高さ”を固定：1/1 なら正方形、4/3 などに変えてもOK */
  aspect-ratio: 1 / 1;
  /* aspect-ratio が効かないケースの保険（古いCSS上書き対策） */
  height: auto;
}

/* 画像リンク（中央寄せ） */
body.single-product .woocommerce-product-gallery__image{
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* 画像そのもの：枠内に収める（切らない） */
body.single-product .woocommerce-product-gallery__image img{
  width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  display: block;
}

/* =========================================================
   ✅ WPGS(slick) メイン画像：切替でサイズが変わらないように
   - 表示エリアに固定高さを与える（inline height も上書き）
   - 画像は contain で中央寄せ
   ========================================================= */

/* 高さはここだけ触ればOK（PC想定） */
body.single-product{
  --jade-gallery-h: clamp(360px, 38vw, 540px);
}

/* WPGS / slick の「表示窓」を全部同じ高さに固定 */
body.single-product .woocommerce-product-gallery .wpgs-for-slick,
body.single-product .woocommerce-product-gallery .slick-list,
body.single-product .woocommerce-product-gallery .flex-viewport{
  height: var(--jade-gallery-h) !important;
  max-height: var(--jade-gallery-h) !important;
  overflow: hidden;
}

/* トラック＆各スライドも同じ高さに（ズレ防止） */
body.single-product .woocommerce-product-gallery .slick-track,
body.single-product .woocommerce-product-gallery .slick-slide{
  height: var(--jade-gallery-h) !important;
}

/* 中央寄せ（画像が小さく見えても真ん中に） */
body.single-product .woocommerce-product-gallery .slick-slide > div,
body.single-product .woocommerce-product-gallery__image{
  height: 100% !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* ✅ メイン画像だけ：固定枠の中で収める（切らない） */
body.single-product .woocommerce-product-gallery .wpgs-for-slick img,
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block;
}

/* ✅ サムネ（下のギャラリー）は必ず表示させる */
body.single-product .woocommerce-product-gallery .wpgs-nav{
  display: block !important;
}

/* ✅ サムネ画像は height:auto で描画（これが重要） */
body.single-product .woocommerce-product-gallery .wpgs-nav img{
  width: 100% !important;
  height: auto !important;
  max-height: 90px !important;
  object-fit: contain !important;
  display: block !important;
}

/* =========================================================
   ✅ 下のサムネ（切り替え部分）だけ元の高さに戻す
   - “メイン固定” の影響をサムネに受けさせない
   ========================================================= */

/* サムネ列（wpgs-nav）側は高さ固定を解除 */
body.single-product .woocommerce-product-gallery .wpgs-nav,
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-list,
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-track,
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-slide{
  height: auto !important;
  max-height: none !important;
}

/* サムネの見た目（元のサイズ感に） */
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-slide{
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* サムネ画像：縦長にならないように */
body.single-product .woocommerce-product-gallery .wpgs-nav img{
  width: 100% !important;
  height: auto !important;
  max-height: 90px !important;
  object-fit: contain !important;
}

/*製品名*/
h1{
    font-size: 2.217924em;
    line-height: 1.214;
    letter-spacing: -1px;
}

.jade-cta-btn{
	max-width: 350px !important;
    min-height: 60px !important;
}

/* =========================================================
   ✅ 仕切り線（ダウンロード資料の上線と同じ感じ）
   - 赤線の位置：specificationsブロックの前 / 製品仕様ブロックの前
   ========================================================= */
body.single-product .jade-specs-wrap{
  margin-top: 32px;              /* 線の前の余白 */
  padding-top: 32px;             /* 線の後の余白 */
  border-top: 1px solid #e5e5e5; /* wc-downloads-sep と同じ線 */
}

body.single-product .jade-wide--specs{
  margin-top: 32px;
  padding-top: 32px;
  border-top: 1px solid #e5e5e5;
}

/* =========================================================
   ✅ 商品画像ギャラリー下の「謎の空白」を詰める
   （DevToolsで選んでいた div.woo-product-gallery-slider が原因）
   ========================================================= */
body.single-product div.product .woo-product-gallery-slider.woocommerce-product-gallery{
  margin-bottom: 0px !important;
  padding-bottom: 0 !important;
}

body.single-product div.product .woo-product-gallery-slider.woocommerce-product-gallery{
	height: auto !important;
}

.jade-cta-note{
	font-size: 15px!important;
    line-height: normal!important;
}

/* =========================================================
   ✅ ギャラリー：矢印かぶり & サムネ行ズレ 修正（WPGS/slick想定）
   ========================================================= */

@media  (min-width: 1401px){
 .woocommerce-product-gallery__image.single-product-main-image.slick-slide.slick-current.slick-active {
    left: -40px!important;
}

}

@media (max-width: 1400px) and (min-width: 768px){
  .woocommerce-product-gallery__image.single-product-main-image.slick-slide.slick-current.slick-active {
    left: 0px !important;
    width: 30vw !important;
}
}

@media (max-width: 767px){
  .woocommerce-product-gallery__image.single-product-main-image.slick-slide.slick-current.slick-active {
    left: 0px !important;
}
}


/* =========================================================
   ✅ サムネ（wpgs-nav）：横幅を矢印の内側に収める
   ========================================================= */
body.single-product .woocommerce-product-gallery .wpgs-nav{
  position: relative;
  width: 100% !important;
  max-width: 100% !important;

  /* 矢印分の余白を内側に確保（数値は好みで調整） */
  padding-left: 44px;
  padding-right: 44px;

  box-sizing: border-box;
}

/* slickの表示領域をwpgs-navの内側100%に */
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-list{
  width: 99% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}

/* 矢印は padding の外側に被らないように “内側” に固定 */
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-prev,
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-next{
  position: absolute !important;
  top: 14% !important;
  transform: translateY(-50%) !important;
  z-index: 5 !important;
}

body.single-product .woocommerce-product-gallery .wpgs-nav .slick-prev{ left: 8px !important; }
body.single-product .woocommerce-product-gallery .wpgs-nav .slick-next{ right: 8px !important; }

/* =========================================================
   ✅ スマホ：空白/崩れ対策（末尾に追記）
   ========================================================= */
@media (max-width: 767px){
	.storefront-breadcrumb{
		margin:0!important;
	}

  /* ① 上の余白が広すぎる場合（ヘッダー高さに合わせて調整） */
  .content-area{
    margin-top: 0px !important; /* 90px → 48px 目安 */
  }

  /* ② ギャラリーの“固定高さ”をスマホだけ小さくする */
  body.single-product{
    --jade-gallery-h: 280px;   /* 260〜320で好みに調整 */
  }

  /* ③ 使用イメージ＋文章：スマホは2列→1列（= 2行）にする */
  .jade-specs-grid{
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .jade-specs-image{
    width: 100% !important;
    max-width: 100% !important;
  }
  .jade-specs-content{
    margin-left: 0 !important; 
    max-width: 100% !important;
  }

body.single-product .woocommerce-product-gallery .wpgs-nav {
    height: 100px !important;
}

.site-main {
    width: 90%!important;
}
	
}

/* =========================================================
   ✅ スマホ：製品仕様テーブルの th を折り返す（はみ出し対策）
   ========================================================= */
@media (max-width: 767px){

  /* まず nowrap を解除して改行させる */
  body.single-product .jade-wide__body table th,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body th,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr > td:first-child{
    white-space: normal !important;
    overflow-wrap: anywhere !important; /* 長い語も折る */
    word-break: break-word !important;
  }

  /* ついでにセルの幅配分を少し調整（必要なら） */
  body.single-product .jade-wide__body table th{ width: 40% !important; }
  body.single-product .jade-wide__body table td{ width: 60% !important; }
}

/* =========================================================
   ✅ スマホ：製品仕様テーブル
   - th/td フォント 12px
   - 左列（項目）は折り返す＆左寄せ
   ========================================================= */
@media (max-width: 767px){

  /* th/td を 12px に */
  body.single-product .jade-wide__body table th,
  body.single-product .jade-wide__body table td,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body th,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body td{
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  /* 左列（項目）：折り返しOK＋左寄せ */
  body.single-product .jade-wide__body table th,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body th,
  body.single-product section.jade-wide.jade-wide-specs .jade-wide__body tr > td:first-child{
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

	.slick-list {
    	margin-left: 40px !important;
	}
}

/* =========================================================
   ✅ ギャラリー：メイン画像が左に寄るのを修正（slick / WPGS）
   ========================================================= */

/* スライド内のレイアウトを中央寄せにする */
body.single-product .woocommerce-product-gallery .slick-slide,
body.single-product .woocommerce-product-gallery .slick-slide > div{
  display: flex !important;
  justify-content: center !important;
}

/* 画像リンク（a）も中央寄せ */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image{
  margin-left: auto !important;
  margin-right: auto !important;
}

/* メイン（wpgs-for）だけ：1枚のスライドを枠幅いっぱいにする */
body.single-product .woocommerce-product-gallery .wpgs-for-slick .slick-slide{
  width: 100% !important;
}

/* =========================================================
   ✅ 単品：個数（数量）と 色（バリエーション）の間隔を広げる
   ========================================================= */
body.single-product form.cart .quantity{
  margin-bottom: 16px;   /* ← 好みで 12〜24px に調整OK */
}

/* 念のため：variations側にも上余白 */
body.single-product form.cart table.variations{
  margin-top: 0;
}

/* =========================================================
   ✅ 可変商品の並び替え中だけフォームを隠して「一瞬逆」を防ぐ
   ========================================================= */
html.jade-var-moving body.single-product form.variations_form{
  visibility: hidden;
}

/* （任意）ガタつき防止：隠れている間も高さを確保したい場合 */
html.jade-var-moving body.single-product form.variations_form{
  min-height: 140px;
}

/* ✅ まず：セレクト（属性選択）は必ず表示 */
body.single-product form.variations_form table.variations,
body.single-product form.variations_form table.variations *{
  display: revert !important;
}

/* ✅ ボタン/個数だけ消す（箱ごと消さない＝セレクトは残る） */
body.single-product .woocommerce-variation-add-to-cart button.single_add_to_cart_button,
body.single-product .woocommerce-variation-add-to-cart .quantity,
body.single-product .woocommerce-variation-add-to-cart .woocommerce-variation-add-to-cart-enabled,
body.single-product .woocommerce-variation-add-to-cart .woocommerce-variation-add-to-cart-disabled{
  display: none !important;
}

/* ✅ それでも残る余白だけ詰める */
body.single-product .woocommerce-variation-add-to-cart{
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
body.single-product .woocommerce-variation.single_variation{
  margin: 0 !important;
  padding: 0 !important;
}

/* ✅ 変なズレの原因：table.variations の th/td が list-item になってるのを戻す */
body.single-product div.product form.variations_form table.variations{
  width: 100% !important;
  table-layout: auto !important;
}

body.single-product div.product form.variations_form table.variations th,
body.single-product div.product form.variations_form table.variations td{
  display: table-cell !important;
  list-style: none !important;
  float: none !important;
  clear: none !important;
  padding: 0 !important;
  vertical-align: middle !important;
  background: transparent !important;
}

/* ✅ ラベル列を小さめに、セレクト列を広く */
body.single-product div.product form.variations_form table.variations th.label{
  width: 70px !important;
  white-space: nowrap !important;
}

body.single-product div.product form.variations_form table.variations td.value{
  width: auto !important;
}

/* ✅ セレクトと「クリア」を横並びで揃える */
body.single-product div.product form.variations_form table.variations td.value{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
body.single-product div.product form.variations_form table.variations td.value select{
  flex: 0 0 auto;
}
body.single-product div.product form.variations_form table.variations td.value a.reset_variations{
  margin: 0 !important;
}

/* =========================================================
   ✅ お取り寄せ（jade-is-backorder）時：3枚目UIにする
   ========================================================= */

/* 通常は購入リクエストは出さない */
body.single-product .jade-cta-wrap--request{
  display: none;
}

/* お取り寄せ時だけ表示 */
body.single-product.jade-is-backorder .jade-cta-wrap--request{
  display: block;
  margin-top: 18px;
}

/* お取り寄せ時：カート周りを隠す（在庫切れと同じ作り） */
body.single-product.jade-is-backorder .summary .jade-sp__qty-label,
body.single-product.jade-is-backorder .summary form.cart{
  display: none !important;
}

/* =========================================================
   ✅ お取り寄せ（jade-is-backorder）時：3枚目UIにする
   ========================================================= */

/* 通常は購入リクエストは出さない */
body.single-product .jade-cta-wrap--request{
  display: none;
}

/* お取り寄せ時だけ表示 */
body.single-product.jade-is-backorder .jade-cta-wrap--request{
  display: block;
  margin-top: 18px;
}

/* お取り寄せ時：カート周りを隠す（在庫切れと同じ作り） */
body.single-product.jade-is-backorder .summary .jade-sp__qty-label,
body.single-product.jade-is-backorder .summary form.cart{
  display: none !important;
}

/* お取り寄せ時：見積ボタンはそのまま（既存の jade-quote-btn を使う前提） */
.purchase-request-buttons {
    margin-top: 20px;
    display: none; /* 初期状態では非表示 */
}

.purchase-request, .quote-request {
    background-color: #2c3e50;
    color: white;
    padding: 10px 20px;
    margin-right: 10px;
    text-decoration: none;
}

.purchase-request:hover, .quote-request:hover {
    background-color: #34495e;
}
/* =========================================================
   ✅ ギャラリー最終決定版：強制レイアウト修正
   ========================================================= */

/* 1. 巨大な縦並びを「絶対に」防ぐ（JS起動前でも横に並べる） */
.woocommerce-product-gallery .wpgs-for,
.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow: hidden !important;
    height: 500px !important; /* 巨大化防止 */
}

/* スライダー起動前は1枚目以外を物理的に隠す */
.wpgs-for:not(.slick-initialized) > div:nth-child(n+2) {
    display: none !important;
}

/* 2. メイン画像：500pxの枠内に中央配置 */
body.single-product .wpgs-for-slick,
body.single-product .wpgs-for-slick .slick-list,
body.single-product .wpgs-for-slick .slick-track,
body.single-product .wpgs-for-slick .slick-slide {
    height: 500px !important;
    width: 100% !important;
    left: 0 !important; /* マイナス値を強制リセット */
    margin: 0 auto !important;
}

body.single-product .wpgs-for-slick .slick-slide img {
    height: 500px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important; /* 画像を枠内に収める */
    margin: 0 auto !important;
}

/* 3. サムネイル（下の画像）：中央寄せ ＆ サイズ固定 */
body.single-product .wpgs-nav {
    display: block !important;
    margin-top: 15px !important;
    padding: 0 44px !important;
}

body.single-product .wpgs-nav .slick-track {
    display: flex !important;
    justify-content: center !important; /* サムネを中央へ */
    transform: none !important; /* JSによる位置計算ミスを無効化 */
    width: auto !important;
}

body.single-product .wpgs-nav .slick-slide {
    width: 80px !important;
    height: 80px !important;
    margin: 0 5px !important;
    flex: 0 0 auto !important;
}

body.single-product .wpgs-nav .slick-slide img {
    height: 100% !important;
    object-fit: contain !important;
}

/* 4. 矢印の位置調整（被り防止） */
.wpgs-for .slick-prev, .wpgs-for .slick-next {
    top: 50% !important;
    z-index: 99 !important;
}

/* 5. 画像が表示されない問題の保険 */
.woocommerce-product-gallery {
    opacity: 1 !important;
    visibility: visible !important;
}