.elementor-widget-woocommerce-product-title .elementor-heading-title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-16061 .elementor-element.elementor-element-306d59c .elementor-heading-title{color:#282929;font-family:"Noto Sans JP", Sans-serif;font-weight:700;}.woocommerce .elementor-16061 .elementor-element.elementor-element-e3db698 .flex-viewport:not(:last-child){margin-bottom:0px;}.woocommerce .elementor-16061 .elementor-element.elementor-element-e3db698 .flex-control-thumbs li{padding-right:calc(0px / 2);padding-left:calc(0px / 2);padding-bottom:0px;}.woocommerce .elementor-16061 .elementor-element.elementor-element-e3db698 .flex-control-thumbs{margin-right:calc(-0px / 2);margin-left:calc(-0px / 2);}.elementor-16061 .elementor-element.elementor-element-2f49a7b .elementor-heading-title{color:#222324;font-family:"Noto Sans JP", Sans-serif;font-weight:700;}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-16061 .elementor-element.elementor-element-b965d30 .cart button, .elementor-16061 .elementor-element.elementor-element-b965d30 .cart .button{transition:all 0.2s;}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:767px){.elementor-16061 .elementor-element.elementor-element-7402a81.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-16061 .elementor-element.elementor-element-306d59c{text-align:center;}.elementor-16061 .elementor-element.elementor-element-306d59c .elementor-heading-title{font-size:18px;}.elementor-16061 .elementor-element.elementor-element-e3db698{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-16061 .elementor-element.elementor-element-e3db698 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-16061 .elementor-element.elementor-element-cc00402{padding:10px 10px 0px 10px;}.elementor-16061 .elementor-element.elementor-element-32687b9.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-16061 .elementor-element.elementor-element-2f49a7b{text-align:center;}.elementor-16061 .elementor-element.elementor-element-2f49a7b .elementor-heading-title{font-size:18px;}.elementor-16061 .elementor-element.elementor-element-8dbe327{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;}.elementor-16061 .elementor-element.elementor-element-8dbe327 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-16061 .elementor-element.elementor-element-b965d30 > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-16061 .elementor-element.elementor-element-01174eb > .elementor-widget-container{padding:0px 10px 0px 10px;}}/* Start custom CSS for html, class: .elementor-element-59446cb */.footer,  .footer_fixed {
display:none;
}


a.menu-item{
color:grey;
}
	
body {
   background-color: #ffffff!important;
  
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-images, class: .elementor-element-e3db698 *//* Woo 商品画像を中央寄せ（Elementor対応） */
.elementor-widget-woocommerce-product-images
.woocommerce-product-gallery {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.woocommerce div.product div.images {
    margin-bottom: 0em;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-73efc8d */.elementor-column-gap-default
> .elementor-column
> .elementor-element-populated {
  padding: 5px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-371474a *//* =========================
   Site Reviews（glsr）を tt-card に馴染ませる
   対象：#tt-reviews 内だけ
========================= */
#tt-reviews.tt-reviews-card{
  padding: 14px 14px 16px;
}

#tt-reviews .tt-reviews-head{
  text-align: center;
  margin-bottom: 10px;
}
#tt-reviews .tt-reviews-title{
  margin: 0;
  font-weight: 900;
  letter-spacing: .01em;
}
#tt-reviews .tt-reviews-sub{
  margin: 6px 0 0;
  font-size: 12px;
  color: #666;
  font-weight: 700;
}

/* サマリー（★4.9 / 件数）を横並び＆カード感 */
#tt-reviews .tt-reviews-summary .glsr-summary-wrap{
  margin: 10px auto 12px;
}
#tt-reviews .tt-reviews-summary .glsr-summary{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #ececf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,.06);
}
#tt-reviews .glsr-summary-rating .glsr-tag-value{
  font-size: 22px;
  font-weight: 900;
  color: #111;
  line-height: 1;
}
#tt-reviews .glsr-summary-stars{
  transform: translateY(1px);
}
#tt-reviews .glsr-summary-text .glsr-tag-value{
  font-size: 12px;
  font-weight: 800;
  color: #555;
  white-space: nowrap;
}

/* レビュー一覧：1件ずつカード化 */
#tt-reviews .tt-reviews-list .glsr-reviews{
  display: grid;
  gap: 10px;
}
#tt-reviews .tt-reviews-list .glsr-review{
  display: grid;
  grid-template-columns: 32px 1fr;
  grid-template-areas:
    "av meta"
    "av body";
  gap: 6px 10px;

  padding: 12px;
  border: 1px solid #ececf2;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,.05);
}

/* アバター */
#tt-reviews .glsr-review-avatar{
  grid-area: av;
  margin: 0 !important;
  align-self: start;
}
#tt-reviews .glsr-review-avatar img{
  width: 32px !important;
  height: 32px !important;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.06);
}

/* 上段メタ（★・日付・名前） */
#tt-reviews .glsr-review-rating{
  grid-area: meta;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
}
#tt-reviews .glsr-review-date{
  margin: 0 !important;
}
#tt-reviews .glsr-review-date .glsr-tag-value{
  font-size: 11px;
  color: #777;
  font-weight: 700;
}
#tt-reviews .glsr-review-author{
  grid-area: meta;
  justify-self: end;
  margin: 0 !important;
}
#tt-reviews .glsr-review-author .glsr-tag-value{
  font-size: 12px;
  font-weight: 800;
  color: #111;
}

/* 点数タイトル（h4の"5"）は非表示（星があるので） */
#tt-reviews .glsr-review-title{
  display: none !important;
}

/* 本文 */
#tt-reviews .glsr-review-content{
  grid-area: body;
  margin: 0 !important;
}
#tt-reviews .glsr-review-content .glsr-tag-value p{
  margin: 0 !important;
  font-size: 13px;
  line-height: 1.55;
  color: #111;
  font-weight: 400;
}

/* “Review of ◯◯” を消す（hide=assigned_links の保険） */
#tt-reviews .glsr-review-assigned_links{
  display: none !important;
}

/* Site Reviewsの余計な上下マージンを潰す */
#tt-reviews .glsr, 
#tt-reviews .glsr *{
  box-sizing: border-box;
}
#tt-reviews .glsr-reviews-wrap,
#tt-reviews .glsr-summary-wrap{
  padding: 0 !important;
}

/* SP微調整 */
@media (max-width: 900px){
  #tt-reviews.tt-reviews-card{ padding: 12px 12px 14px; }
  #tt-reviews .glsr-summary-rating .glsr-tag-value{ font-size: 20px; }
  #tt-reviews .tt-reviews-list .glsr-review{ padding: 10px; }
  #tt-reviews .glsr-review-content .glsr-tag-value p{ font-size: 12px; }
}

/* =========================
   Review Summary：カードをやめてフラット表示
========================= */

/* ラッパーの余白だけ最小限 */
#tt-reviews .tt-reviews-summary{
  margin: 8px 0 12px;
}

/* ★ ここが重要：カード装飾を全解除 */
#tt-reviews .tt-reviews-summary .glsr-summary{
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

/* 数値（4.9） */
#tt-reviews .glsr-summary-rating .glsr-tag-value{
  font-size: 20px;
  font-weight: 900;
  color: #111;
  line-height: 1;
}

/* 星 */
#tt-reviews .glsr-summary-stars{
  transform: translateY(1px);
}

/* 件数テキスト */
#tt-reviews .glsr-summary-text .glsr-tag-value{
  font-size: 12px;
  font-weight: 700;
  color: #666;
}

/* 念のため wrap 側の装飾も除去 */
#tt-reviews .glsr-summary-wrap{
  padding: 0 !important;
  margin: 0 !important;
}

/* ===== Theme tokens（3アクセントで彩度UP） ===== */
:root{
  --tt-blue:#2563eb;     /* 信頼 */
  --tt-green:#16a34a;    /* 安心 */
  --tt-orange:#f59e0b;   /* 注意 */
  --tt-pink:#ec4899;     /* ほんの少しだけ遊び（バッジ等） */

  --tt-border:rgba(0,0,0,.10);
  --tt-text:#0f172a;
  --tt-sub:#334155;

  --tt-shadow: 0 10px 26px rgba(2,6,23,.08);
}

/* ===== Page ===== */
.tt-product{
  padding:12px 12px;
  background:
    radial-gradient(900px 280px at 20% 0%, rgba(37,99,235,.10), transparent 60%),
    radial-gradient(900px 280px at 80% 10%, rgba(22,163,74,.10), transparent 60%),
    linear-gradient(180deg, #f7f8ff 0%, #ffffff 55%);
}
.tt-product-inner{
  max-width:980px;margin:0 auto;
  display:grid;gap:10px;
}

/* ===== Cards ===== */
.tt-card,.tt-fv,.tt-acc{
  background:#fff;
  border:1px solid var(--tt-border);
  border-radius:16px;
  box-shadow: var(--tt-shadow);
}

/* 既存paddingがバラつかないように統一 */
.tt-card{ padding:12px 12px; }
.tt-acc{ padding:0; }

/* ===== FV（余白を詰める + カラフルに） ===== */
.tt-fv{
  padding:12px 12px;
  margin-bottom:0 !important; /* インライン margin-bottom 潰す */
  background:
    linear-gradient(135deg, rgba(37,99,235,.10) 0%, rgba(22,163,74,.08) 55%, rgba(236,72,153,.06) 100%),
    #fff;
  position:relative;
  overflow:hidden;
}
.tt-fv::after{
  content:"";
  position:absolute; inset:-60px -80px auto auto;
  width:220px;height:220px;border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(236,72,153,.22), transparent 60%);
  filter: blur(0px);
  pointer-events:none;
}

.tt-fv-top{
  display:flex;flex-wrap:wrap;gap:8px;
  align-items:center;margin-bottom:8px;
}
.tt-fv-badge{
  font-size:12px;font-weight:950;color:#fff;
  background: linear-gradient(90deg, var(--tt-blue), #4f46e5);
  padding:6px 11px;border-radius:999px;
  box-shadow:0 12px 26px rgba(37,99,235,.25);
}
.tt-fv-mini{
  font-size:12px;color:rgba(15,23,42,.78);
  font-weight:800;
  background:rgba(255,255,255,.70);
  border:1px solid rgba(255,255,255,.70);
  padding:5px 10px;border-radius:999px;
}

.tt-fv-title{
  margin:0 0 6px;
  font-size:20px;line-height:1.25;
  color:var(--tt-text);
  font-weight:950;
  letter-spacing:.01em;
}
.tt-fv-sub{
  margin:0 0 10px;
  color:var(--tt-sub);
  font-weight:750;
  font-size:13px;line-height:1.6;
}

/* 3ポイントを色分け */
.tt-fv-points{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin:0 0 10px;
}
.tt-point{
  font-size:12px;font-weight:950;color:var(--tt-text);
  border-radius:12px;
  padding:9px 10px;
  text-align:center;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  position:relative;
}
.tt-point:nth-child(1){
  background: linear-gradient(180deg, rgba(37,99,235,.12), rgba(255,255,255,1));
  border-color: rgba(37,99,235,.22);
}
.tt-point:nth-child(2){
  background: linear-gradient(180deg, rgba(22,163,74,.12), rgba(255,255,255,1));
  border-color: rgba(22,163,74,.22);
}
.tt-point:nth-child(3){
  background: linear-gradient(180deg, rgba(245,158,11,.14), rgba(255,255,255,1));
  border-color: rgba(245,158,11,.24);
}

.tt-fv-note{
  font-size:12px;line-height:1.55;
  color:#0f172a;
  border-left:4px solid rgba(37,99,235,.55);
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.92));
  border-radius:12px;
  padding:10px 10px;
}

/* FVの直後のセクション上余白も詰める */
.tt-fv + section,
.tt-fv + .tt-card{
  margin-top:0 !important;
}

/* ===== Typography ===== */
.tt-h2{
  margin:0 0 8px;
  font-size:15px;font-weight:950;
  color:var(--tt-text);
}
.tt-muted{
  margin:8px 0 0;
  font-size:12px;color:#64748b;
  font-weight:800;line-height:1.6;
}
.tt-muted-compact{ margin:6px 0 0; }
.tt-small{ font-size:12px;color:#64748b;font-weight:800;margin-left:6px; }

/* ===== 3-column unified block（見出しに色チップ） ===== */
.tt-split{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:10px;
}
.tt-block{
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:10px 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,252,1) 100%);
  position:relative;
  overflow:hidden;
}
.tt-block::after{
  content:"";
  position:absolute; inset:auto -40px -40px auto;
  width:140px;height:140px;border-radius:999px;
  background: radial-gradient(circle at 30% 30%, rgba(37,99,235,.14), transparent 60%);
  pointer-events:none;
}
.tt-block:nth-child(2)::after{
  background: radial-gradient(circle at 30% 30%, rgba(22,163,74,.14), transparent 60%);
}
.tt-block:nth-child(3)::after{
  background: radial-gradient(circle at 30% 30%, rgba(245,158,11,.14), transparent 60%);
}

.tt-k{
  font-size:12px;font-weight:950;
  color:var(--tt-text);
  margin-bottom:6px;
  display:flex;align-items:center;gap:8px;
}
.tt-k::before{
  content:"";
  width:10px;height:10px;border-radius:3px;
  background: var(--tt-blue);
  box-shadow:0 10px 20px rgba(37,99,235,.22);
}
.tt-block:nth-child(2) .tt-k::before{ background: var(--tt-green); box-shadow:0 10px 20px rgba(22,163,74,.20); }
.tt-block:nth-child(3) .tt-k::before{ background: var(--tt-orange); box-shadow:0 10px 20px rgba(245,158,11,.22); }

.tt-p-compact{
  font-size:12.5px;line-height:1.65;
  color:#0f172a;
  font-weight:700;
}
.tt-bullets{
  margin:0;padding-left:18px;
  display:grid;gap:6px;
  color:#0f172a;
  font-weight:400;
  font-size:12.5px;line-height:1.65;
}

/* ===== Chips（カラフルに） ===== */
.tt-chips{display:flex;flex-wrap:wrap;gap:8px;}
.tt-chip{
  font-size:12px;font-weight:950;color:#0f172a;
  border-radius:999px;
  padding:7px 11px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
}
.tt-chip:nth-child(1){ border-color:rgba(37,99,235,.28); background:rgba(37,99,235,.08); }
.tt-chip:nth-child(2){ border-color:rgba(22,163,74,.28); background:rgba(22,163,74,.08); }
.tt-chip:nth-child(3){ border-color:rgba(236,72,153,.28); background:rgba(236,72,153,.08); }
.tt-chip:nth-child(4){ border-color:rgba(245,158,11,.30); background:rgba(245,158,11,.10); }

/* ===== Steps ===== */
.tt-steps{
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;flex-wrap:wrap;
}
.tt-step{
  display:flex;align-items:center;gap:8px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:9px 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(248,250,252,1) 100%);
}
.tt-step-num{
  width:24px;height:24px;border-radius:9px;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:950;
  color:#fff;
  background: linear-gradient(90deg, var(--tt-blue), #4f46e5);
  box-shadow:0 12px 22px rgba(37,99,235,.20);
}
.tt-step-arrow{color:#94a3b8;font-weight:950;}

/* ===== Accordion (details) ===== */
.tt-acc-sum{
  list-style:none;
  cursor:pointer;
  display:flex;align-items:center;gap:10px;
  padding:12px 12px;
  user-select:none;
  background:
    linear-gradient(180deg, rgba(248,250,252,1), rgba(255,255,255,1));
  border-radius:16px;
}
.tt-acc-sum::-webkit-details-marker{display:none;}

.tt-acc-ico{
  width:28px;height:28px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  color:#0f172a;
  background:rgba(37,99,235,.10);
  border:1px solid rgba(37,99,235,.22);
}
#tt-reviews .tt-acc-ico{ background:rgba(236,72,153,.10); border-color:rgba(236,72,153,.22); }
.tt-acc-warn .tt-acc-ico{ background:rgba(245,158,11,.12); border-color:rgba(245,158,11,.30); }

.tt-acc-title{font-weight:950;color:#0f172a;}
.tt-acc-sub{
  margin-left:auto;
  font-size:12px;color:#64748b;
  font-weight:900;
}

.tt-acc-body{
  border-top:1px solid rgba(0,0,0,.08);
  padding:12px 12px 12px;
}

/* 開閉の矢印（右端） */
.tt-acc-sum::after{
  content:"⌄";
  margin-left:8px;
  color:#64748b;
  font-weight:950;
  transform: translateY(-1px);
}
details[open] > .tt-acc-sum::after{ content:"⌃"; }

/* ===== FAQ inside accordion ===== */
.tt-faq{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:9px 10px;
  margin:0 0 8px;
  background:#fff;
}
.tt-faq:last-child{margin-bottom:0;}
.tt-faq summary{
  cursor:pointer;
  font-weight:950;
  color:#0f172a;
  list-style:none;
}
.tt-faq summary::-webkit-details-marker{display:none;}
.tt-faq-a{
  margin-top:8px;
  color:#0f172a;
  font-weight:400;
  font-size:12.5px;
  line-height:1.7;
}

/* ===== Site Reviews compact styling（そのまま） ===== */
.tt-reviews-summary .glsr-summary-wrap{margin:0 0 8px;}
.tt-reviews-list .glsr-reviews{display:grid;gap:10px;margin-top:6px;}
.tt-reviews-list .glsr-review{
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  padding:10px 10px;
  background:#fff;
}
.tt-reviews-list .glsr-review-title{display:none;}
.tt-reviews-list .glsr-review-assigned_links{display:none;}
.tt-reviews-list .glsr-review-date{font-size:12px;color:#64748b;}
.tt-reviews-list .glsr-review-author{font-weight:950;}
.tt-reviews-list .glsr-pagination{margin-top:10px;}
.tt-reviews-list .glsr-pagination a,
.tt-reviews-list .glsr-pagination button{
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  border-radius:12px;
  padding:6px 10px;
  font-weight:950;
}

/* ===== Responsive ===== */
@media (max-width:900px){
  .tt-fv-title{font-size:18px;}
  .tt-fv-points{grid-template-columns:1fr;gap:6px;}
  .tt-split{grid-template-columns:1fr;gap:8px;}
  .tt-step-arrow{display:none;}
  .tt-steps{gap:8px;}
  .tt-step{width:100%;justify-content:flex-start;}
}


/* =========================
   🔧 太字になりすぎている問題の修正
   3ブロック統合より下の本文を通常ウェイトに戻す
========================= */

/* 通常本文は regular */
.tt-product p,
.tt-product li,
.tt-product .tt-p-compact,
.tt-product .tt-bullets li,
.tt-product .tt-faq-a,
.tt-product .glsr-review-content p{
  font-weight: 500;
}

/* 見出し・ラベル・タイトルだけ太字 */
.tt-h2,
.tt-k,
.tt-acc-title,
.tt-fv-title,
.tt-step-txt b,
.tt-review-author .glsr-tag-value{
  font-weight: 900;
}

/* 箇条書きの「キーワード」だけ少し強調したい場合 */
.tt-bullets li b,
.tt-faq-a b{
  font-weight: 700;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e3abf0d *//* ===== CTA セクション ===== */
.tt-cta{
  margin: 14px 0 10px;
  padding: 16px 14px 14px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f9f9ff 100%);
  border: 1px solid rgba(79,70,229,.25);
  border-radius: 16px;
  box-shadow:
    0 10px 28px rgba(79,70,229,.12),
    inset 0 1px 0 rgba(255,255,255,.6);
  text-align: center;
  position: relative;
}

/* 上部アクセントライン（うっすら） */
.tt-cta::before{
  content:"";
  position:absolute;
  top:0; left:12px; right:12px;
  height:3px;
  border-radius:0 0 6px 6px;
  background: linear-gradient(
    90deg,
    rgba(79,70,229,.0),
    rgba(79,70,229,.6),
    rgba(79,70,229,.0)
  );
}

/* タイトル */
.tt-cta-title{
  margin: 0 0 6px;
  font-size: 18px;
  font-weight: 900;
  color:#111;
  letter-spacing:.02em;
}

/* サブ説明 */
.tt-cta-sub{
  margin: 0;
  font-size: 12.5px;
  font-weight: 700;
  color:#555;
  line-height:1.6;
}

/* CTA直前の安心ワードを入れる場合 */
.tt-cta-note{
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  color:#333;
}

/* モバイル最適化 */
@media (max-width:768px){
  .tt-cta{
    padding: 14px 12px 12px;
    border-radius: 14px;
  }
  .tt-cta-title{
    font-size:16px;
  }
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-images, class: .elementor-element-8dbe327 *//* Woo 商品画像を中央寄せ（Elementor対応） */
.elementor-widget-woocommerce-product-images
.woocommerce-product-gallery {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-b965d30 *//* 価格全体を中央寄せ */
.woocommerce-variation-price,
.woocommerce-variation-price .price {
  text-align: center;
  margin: 16px 0 18px;
}

/* 割引前価格（del） */
.woocommerce-variation-price del {
  display: inline-block;
  font-size: 14px;
  color: #777;
  margin-right: 6px;
}

/* ▶︎ を擬似要素で追加 */
.woocommerce-variation-price del::after {
  content: " ▶︎ ";
  color: #111;
  font-weight: 700;
  margin: 0 4px;
}

/* 割引後価格（ins） */
.woocommerce-variation-price ins {
  display: inline-block;
  text-decoration: none;
  font-size: 22px;
  font-weight: 900;
  color: #111;
}


/* 注文ボタン全体 */
.single_add_to_cart_button {
  display: block;
  margin: 0 auto;              /* 中央寄せ */
  width: 86%;                  /* 少し細くして読みやすく */
  max-width: 360px;

  background: linear-gradient(135deg, #ff3d7f, #ff6a3d);
  color: #fff;

  font-size: 15px;
  font-weight: 900;
  padding: 14px 12px;

  border-radius: 999px;
  border: none;
  box-shadow: 0 10px 24px rgba(255, 61, 127, 0.35);

  transition: transform .15s ease, box-shadow .15s ease;
}

/* ホバー */
.single_add_to_cart_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(255, 61, 127, 0.45);
}

/* 押下 */
.single_add_to_cart_button:active {
  transform: translateY(1px);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c1cfe41 *//* 注文ボタン直下：安心ブロック */
.single-product .tt-buy-after{
  width: 100%;
  max-width: 520px;
  margin: 10px auto 0;
  padding: 12px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #fff;
}

/* チェック3点 */
.single-product .tt-buy-check{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
  font-size: 13px;
  line-height: 1.6;
}
.single-product .tt-buy-check li{
  position: relative;
  padding-left: 22px;
}
.single-product .tt-buy-check li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: 900;
}

/* 利用実績 */
.single-product .tt-buy-proof{
  margin-top: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.single-product .tt-proof-badge{
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: rgba(0,0,0,.06);
}
.single-product .tt-proof-text{
  font-size: 12px;
  color: #555;
}

/* FAQ（1問だけ：押さなかった人を戻す） */
.single-product .tt-buy-faq{
  margin-top: 10px;
  border-top: 1px dashed rgba(0,0,0,.12);
  padding-top: 10px;
}
.single-product .tt-buy-faq summary{
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
  list-style: none;
}
.single-product .tt-buy-faq summary::-webkit-details-marker{
  display: none;
}
.single-product .tt-buy-faq summary::after{
  content: "＋";
  float: right;
  font-weight: 900;
}
.single-product .tt-buy-faq[open] summary::after{
  content: "－";
}
.single-product .tt-faq-body{
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.7;
  color: #555;
}



/* =========================
   他の商品を見る CTA（ページ最下部）
========================= */
.tt-related-cta{
  margin-top: 24px;
  padding: 18px 12px 28px;
  background:
    linear-gradient(180deg, rgba(37,99,235,.06), rgba(255,255,255,1));
  border-top: 1px solid rgba(0,0,0,.08);
}

.tt-related-inner{
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.tt-related-lead{
  margin: 0 0 12px;
  font-size: 13px;
  color: #475569;
  font-weight: 700;
}

/* ボタン */
.tt-related-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;

  min-width: 220px;
  padding: 12px 18px;

  font-size: 14px;
  font-weight: 900;
  color: #2563eb;
  text-decoration: none;

  background: #ffffff;
  border: 2px solid rgba(37,99,235,.35);
  border-radius: 999px;

  box-shadow: 0 10px 22px rgba(37,99,235,.12);
  transition: all .2s ease;
}

.tt-related-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(37,99,235,.18);
  border-color: #2563eb;
}

.tt-related-btn:active{
  transform: translateY(0);
}

/* SP最適化 */
@media (max-width: 768px){
  .tt-related-btn{
    width: 100%;
    max-width: 360px;
    font-size: 15px;
    padding: 14px 18px;
  }
}/* End custom CSS */