/*
Theme Name: Kraft Child
Template: kraft
Version: 1.0.0
*/

/* タブレット以下 */
@media (max-width: 991px) {
  /* 調整 */
}

/* スマホ */
@media (max-width: 767px) {
  /* 調整 */

}


/* =========================================================
   Typography (Google Fonts loaded via functions.php)
   Headings: Noto Serif JP
   Body:     Noto Sans JP
========================================================= */

:root{
  --font-sans: "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  --font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

/* 全体の本文はゴシック */
body{
  font-family: var(--font-sans) !important;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* 見出し系は明朝 */
h1,h2,h3,h4,h5,h6,
.entry-title, .page-title, .product_title{
  font-family: var(--font-serif) !important;
  font-weight: 600 !important;         /* 太すぎない */
  letter-spacing: 0.02em !important;
}

/* フッター内の h4 のみ白にする */
#big_footer h4 {
  color: #ffffff !important;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important; /* 英字のみなら */
}

/* =====================================================
   Base typography blocks (Coming Soon等で使う想定)
   ===================================================== */
.xt-custom-wrapper{
  font-family: 'Noto Serif JP', serif !important;
  color: #ffffff !important;
  letter-spacing: 0.02em;
  padding: 0 20px;
}
.xt-english{
  letter-spacing: 0.2em;
  margin-bottom: 15px;
  display: block;
  text-transform: uppercase;
  font-size: 16px;
}
.xt-japanese{
  font-weight: 700;
  line-height: 1.5;
  display: block;
  font-size: 32px;
}
@media (max-width: 767px){
  .xt-english{
    font-size: 13px;
    letter-spacing: 0.15em;
  }
  .xt-japanese{
    font-size: 22px;
    line-height: 1.6;
  }
  .xt-japanese br{ display: none; }
}

/* =====================================================
   Logo sizing
   ===================================================== */
.responsive-logo img{
  width: 280px !important;
  height: auto !important;
  margin-bottom: 30px;
}
@media (max-width: 767px){
  .responsive-logo img{
    width: 180px !important;
    margin-bottom: 20px;
  }
}

/* Hero row background controls */
.hero-row {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important; /* 基本はcoverのまま */
}

/* WPBakery系で内側に背景が付くケースも拾う */
.hero-row > .vc_row,
.hero-row > .vc_row-fluid,
.hero-row.vc_row,
.hero-row.wpb_row {
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
}

/* SPだけ高さを画面比率で調整（切れを目立たせにくい） */
@media (max-width: 768px) {
  .hero-row,
  .hero-row > .vc_row,
  .hero-row > .vc_row-fluid,
  .hero-row.vc_row,
  .hero-row.wpb_row {
    min-height: 56vh !important;  /* 50〜70vhで調整 */
    background-position: center top !important; /* 主役が上寄りなら有効 */
  }
}

/* =====================================================
   Instagram button (Coming Soon限定)
   ===================================================== */
#xt-coming-soon .xt-insta-link,
#xt-coming-soon a[href*="instagram"]{
  display: inline-flex !important;
  align-items: center !important;
  padding: 14px 28px !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  text-decoration: none !important;
  letter-spacing: .08em !important;
  font-weight: 600 !important;
}
#xt-coming-soon a[href*="instagram"]:hover{
  background: #fff !important;
  color: #0f7f6f !important;
}

/* =====================================================
   Header compact tuning
   ===================================================== */
.site-header,
.header,
header{
  padding: 12px 0;
}
.site-logo img,
.header-logo img{
  max-height: 44px;
  width: auto;
}
.main-navigation,
.nav-menu{
  align-items: center;
}
.main-navigation a{
  padding: 6px 0;
}

/* =====================================================
   Global header offset (Kraft)
   ===================================================== */
:root{ --xt-header-offset: 90px; }

body.wp-theme-kraft section.page_content{
  padding-top: var(--xt-header-offset) !important;
  margin-top: 0 !important;
}

body.admin-bar section.page_content{
  padding-top: calc(var(--xt-header-offset) + 32px) !important;
}
@media (max-width: 782px){
  body.admin-bar section.page_content{
    padding-top: calc(var(--xt-header-offset) + 46px) !important;
  }
}
@media (max-width: 991px){
  :root{ --xt-header-offset: 90px; }
}

/* SPはヘッダーが低いことが多いので別値 */
@media (max-width: 768px){
  :root{
    --xt-header-offset: 130px; /* ←ここも微調整 */
  }
}

/* ヘッダー自体の高さを安定させる設定 */
  #header {
    background-color: #003321 !important; /* Xuan Thiのブランドカラーを強制適用 */
}


/* =====================================================
   WooCommerce: Single Product layout polish
   ===================================================== */

/* Gallery: rounded corners */
body.single-product .woocommerce-product-gallery{
  border-radius: 16px !important;
  overflow: hidden !important;
}
body.single-product .woocommerce-product-gallery *{
  border-radius: 16px !important;
}

/* 商品名（h1） */
body.single-product .summary.entry-summary > h1.product_title.entry-title{
  font-size: 24px !important;
  line-height: 1.2 !important;
  margin: 0 0 10px !important;
}

/* 価格（少し小さく） */
body.single-product .summary.entry-summary p.price{
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 6px 0 12px !important;
}

/* ショート説明（全体） */
body.single-product .summary.entry-summary .woocommerce-product-details__short-description{
  font-size: 15px;
  line-height: 1.75;
  margin: 0 0 18px;
}

/* ショート説明内のキャッチ（あなたのDOMだとh3） */
body.single-product .woocommerce-product-details__short-description > h3{
  font-size: 18px !important;
  line-height: 1.35 !important;
  margin: 14px 0 10px !important;
  font-weight: 600 !important;
}

/* カタログ運用：購入UIを非表示 */
body.single-product form.cart .quantity,
body.single-product form.cart button.single_add_to_cart_button{
  display: none !important;
}

/* バリエーションの属性名が薄くなるのを防ぐ */
body.single-product .variations td.label,
body.single-product .variations th.label,
body.single-product .variations .label,
body.single-product .variations label{
  color: #111 !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 10px !important;
}

/* タブを必ず全幅にする（左カラム化事故対策） */
body.single-product div.product .woocommerce-tabs{
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  clear: both !important;
  display: block !important;
  margin-top: 20px;
}

/* 説明タブ先頭に自動で出るh2だけ消す */
body.single-product .woocommerce-Tabs-panel--description > h2:first-child{
  display: none !important;
}

/* 商品コード（SKU）/カテゴリーなどのメタ情報を非表示 */
body.single-product .product_meta{
  display: none !important;
}

/* =====================================================
   Variations (Woo Variation Swatches) : Elegant tuning
   ===================================================== */

body.single-product form.variations_form{
  margin-top: 10px !important;
}

/* 見出し（ハンドル：〜） */
body.single-product form.variations_form .variations .label,
body.single-product form.variations_form .variations label{
  font-size: 13px;
  letter-spacing: .04em;
  color: rgba(0,0,0,.68);
}

/* Swatchボタン共通 */
body.single-product form.variations_form .variable-items-wrapper .variable-item,
body.single-product form.variations_form .variable-items-wrapper .variable-item.button,
body.single-product form.variations_form .wvs-style-button .variable-item{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  padding: 10px 14px !important;
  margin: 0 10px 10px 0 !important;
  min-height: 44px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: transform .12s ease, border-color .12s ease, background-color .12s ease;
}

/* ボタン内の文字 */
body.single-product form.variations_form .variable-items-wrapper .variable-item span,
body.single-product form.variations_form .variable-items-wrapper .variable-item.button span,
body.single-product form.variations_form .wvs-style-button .variable-item span{
  font-size: 14px;
  letter-spacing: .02em;
  color: rgba(0,0,0,.82);
}

/* hover */
body.single-product form.variations_form .variable-items-wrapper .variable-item:hover,
body.single-product form.variations_form .wvs-style-button .variable-item:hover{
  border-color: rgba(0,0,0,.32) !important;
  transform: translateY(-1px);
}

/* 選択中 */
body.single-product form.variations_form .variable-items-wrapper .variable-item.selected,
body.single-product form.variations_form .wvs-style-button .variable-item.selected{
  border-color: rgba(0,0,0,.70) !important;
  background: rgba(0,0,0,.02) !important;
}

/* “謎の青背景/アウトライン”を潰す */
body.single-product form.variations_form .variable-items-wrapper,
body.single-product form.variations_form .variable-items-wrapper *{
  outline: none !important;
  box-shadow: none !important;
}

/* 無効（売り切れ等） */
body.single-product form.variations_form .variable-items-wrapper .variable-item.disabled,
body.single-product form.variations_form .wvs-style-button .variable-item.disabled{
  opacity: .45 !important;
  border-color: rgba(0,0,0,.12) !important;
  background: rgba(0,0,0,.01) !important;
  transform: none !important;
}

/* ×アイコン（疑似要素の場合） */
body.single-product form.variations_form .variable-items-wrapper .variable-item.disabled:before,
body.single-product form.variations_form .variable-items-wrapper .variable-item.disabled:after{
  color: rgba(0,0,0,.35) !important;
  border-color: rgba(0,0,0,.35) !important;
}

@media (max-width: 767px){
  body.single-product form.variations_form .variable-items-wrapper .variable-item,
  body.single-product form.variations_form .wvs-style-button .variable-item{
    padding: 10px 12px !important;
    margin: 0 8px 8px 0 !important;
    border-radius: 12px !important;
  }
}

/* =====================================================
   商品説明：注意書き（価格と発送）ボックス（復活・整理版）
   - 「説明」タブ本文の ul をボックス化
   ===================================================== */

body.single-product .woocommerce-Tabs-panel--description ul{
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 20px 24px !important;   /* 枠線と文字の距離（ここだけ見ればOK） */
  margin: 14px 0 22px !important;
  list-style-position: outside;
}

/* li：黒ポチと文字の距離＋行間 */
body.single-product .woocommerce-Tabs-panel--description ul li{
  padding-left: 6px;              /* ●と文字の距離 */
  margin: 0 0 8px !important;
  line-height: 1.6 !important;
  margin-left: 0.4em;             /* ボックス左端からの見え方微調整 */
}
body.single-product .woocommerce-Tabs-panel--description ul li:last-child{
  margin-bottom: 0 !important;
}

/* li内がpの場合（あなたのDOM）：余白を統一 */
body.single-product .woocommerce-Tabs-panel--description ul li p{
  margin: 4px 0 8px 0;
  line-height: 1.6;
}

/* ●を少し薄く */
body.single-product .woocommerce-Tabs-panel--description ul li::marker{
  color: rgba(0,0,0,.6);
}

/* =====================================================
   商品説明内 h3（セクション見出し）—
   ===================================================== */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h3{
  font-size: 20px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .03em !important;
  margin: 2.5em 0 .8em !important;
}
@media (max-width: 768px){
  .single-product .woocommerce-tabs .woocommerce-Tabs-panel--description h3{
    font-size: 18px !important;
  }
}

/* Products（商品一覧）だけ：上の余白を増やす */
body.post-type-archive-product .wpb-content-wrapper{
  padding-top: 56px;
}

/* Blog（投稿一覧）だけ：上の余白を増やす */
body.blog .wpb-content-wrapper,
body.archive.category .wpb-content-wrapper,
body.archive.tag .wpb-content-wrapper{
  padding-top: 60px;
}

/* =========================
   Header menu vertical centering (Kraft / style5想定)
   PC幅だけに限定して崩れを防ぐ
   ========================= */
@media (min-width: 992px){

  /* ヘッダー内のメニュー周りをflex化して縦中央へ */
  header .navbar-collapse,
  header .menu_style5_bearer{
    display: flex !important;
    align-items: center !important;
    height: 100%;
  }

  /* 実際の ul をflexにして、上下ズレの原因を消す */
  header ul#menu-global-menu-1.nav.navbar-nav.navbar-right{
    display: flex !important;
    align-items: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    line-height: 1.2 !important; /* bodyの1.9の影響を切る */
  }

  /* li / a の上下余白を整える（見た目の微調整） */
  header ul#menu-global-menu-1.nav.navbar-nav.navbar-right > li > a{
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    line-height: 1.2 !important;
  }
}


/* ==============================
   商品詳細CTA（購入導線）最終版：見出し＋説明＋ボタン2つ
   ============================== */

/* CTA全体：見出し/説明/ボタン2つ をGridで固定配置 */
body.single-product #xuanthi-product-ctas{
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "title title"
    "note  note"
    "btn1  btn2";
  gap: 12px 28px;
  align-items: start;

  /* 既存の崩れ防止：余計な余白/装飾をリセット */
  margin: 28px 0 0 !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid #d9d9d9;
}

/* 本文フォントの統一（商品説明 + CTA説明文） */
:root{
  --font-sans: "Noto Sans JP", system-ui, -apple-system, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
}

/* 商品ページの「本文（商品説明）」 */
body.single-product .woocommerce-product-details__short-description,
body.single-product .woocommerce-product-details__short-description p,
body.single-product .summary .product_meta,
body.single-product .summary .product_meta *{
  font-family: var(--font-sans) !important;
  font-weight: 400;
  letter-spacing: 0;
}

/* CTAブロック内の説明文（あなたの#xuanthi-product-ctas配下を全部） */
body.single-product #xuanthi-product-ctas,
body.single-product #xuanthi-product-ctas *{
  font-family: var(--font-sans) !important;
  font-weight: 400;
  letter-spacing: 0;
}

/* もし説明文を ::before で出している場合の保険 */
body.single-product #xuanthi-product-ctas::before{
  font-family: var(--font-sans) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}


/* 見出し（疑似要素） */
body.single-product #xuanthi-product-ctas::before{
  content: "商品のご購入はこちら" !important;
  grid-area: title;
  font-family: "Noto Serif JP", serif !important;
  font-weight: 700;              /* 太く */
  font-size: 16px;
  letter-spacing: .08em;
  color: #000;                   /* 黒 */
  display: block !important;
}

/* 説明文（疑似要素） */
body.single-product #xuanthi-product-ctas::after{
  content: "現在ご購入はお問い合わせフォームか店舗でのご購入となります\A店舗はベトナム・日本にございます" !important;
  grid-area: note;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #333 !important;
  line-height: 1.7 !important;

  white-space: pre-line !important; /* \A を改行として表示 */
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* 既存の「矢印」や下線演出を完全に無効化（ズレの原因） */
body.single-product #xuanthi-product-ctas a,
body.single-product #xuanthi-product-ctas a:hover{
  text-decoration: none !important;
  border-bottom: 0 !important;
}

body.single-product #xuanthi-product-ctas a::before,
body.single-product #xuanthi-product-ctas a::after{
  content: none !important;
  display: none !important;
}

/* ボタン化（2つのリンク） */
body.single-product #xuanthi-product-ctas a{
  background: #013A31 !important;
  color: #fff !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-height: 64px;
  padding: 18px 22px !important;

  font-weight: 700 !important;
  letter-spacing: .02em !important;

  border: 0 !important;
  border-radius: 0 !important; /* PM案が角丸なしなら0 */
  box-shadow: none !important;

  width: 100% !important;
}

/* 1つ目＝お問い合わせ / 2つ目＝店舗一覧 をGrid上の位置に固定 */
body.single-product #xuanthi-product-ctas a:nth-of-type(1){ grid-area: btn1; }
body.single-product #xuanthi-product-ctas a:nth-of-type(2){ grid-area: btn2; }

/* モバイル：縦積み */
@media (max-width: 768px){
  body.single-product #xuanthi-product-ctas{
    grid-template-columns: 1fr;
    grid-template-areas:
      "title"
      "note"
      "btn1"
      "btn2";
    gap: 12px;
  }
}

/* Base Button */
.button,
.btn,
a.button,
input[type="submit"] {
  padding: 10px 22px;
  font-size: 14px;
  line-height: 1.4;
  border-radius: 4px;
}

/* Large CTA only */
.button.is-large {
  padding: 12px 26px;
  font-size: 15px;
}


/* CTAボタン色変更 */
body.single-product #xuanthi-product-ctas a{
  background-color: #013A31 !important;
  border-color: #013A31 !important;
  color: #fff !important;

  font-weight: 600;
  text-decoration: none;
}

/* hover時（少しだけ濃くして上品に） */
body.single-product #xuanthi-product-ctas a:hover{
  background-color: #5FA69A !important;
  border-color: #5FA69A !important;
  color: #fff !important;
}

/* =====================================================
   【最強化】JSの上書きを封じ込め、隙間をゼロにする
   ===================================================== */

@media (max-width: 991px) {
    /* ログイン中、かつ特定のID(#header)に対して、
       html/body/div と親要素を並べることで詳細度を極限まで上げます */

    html body.admin-bar #header,
    html body.admin-bar div#header.header-sticky,
    html body.admin-bar .is-sticky #header,
    html body.admin-bar header#header[style] {
        /* [style]属性への直接書き込みさえも !important で上書きします */
        position: fixed !important;
        top: 46px !important;    /* スマホ管理バーの高さ */
        margin-top: 0 !important;
        transition: none !important; /* アニメーションによる計算ズレを停止 */
    }

    /* ログアウト状態（通常時）は常に 0 に固定 */
    html body:not(.admin-bar) #header,
    html body:not(.admin-bar) #header.header-sticky {
        top: 0 !important;
    }

    /* 2重にかかっていた padding-top を整理して余計な余白を消す */
    body.wp-theme-kraft section.page_content {
        padding-top: 90px !important; /* ヘッダーの高さ分だけ */
    }
}

  /* User Voice 本文 */
  .testimonial {
  font-size: 14px !important;
  line-height: 1.9 !important;
}

/* 名前 */
.testimonial span {
  display: block;
  margin-top: 20px;
  font-size: 13px !important;
  letter-spacing: 1px; !important
}

/* Instagramリンク */
.testimonial span a {
  font-size: 12px !important;
  color: #888;
  text-decoration: none;
}

.testimonial span a:hover {
  opacity: 0.7;
}

/* =========================================================
   Privacy Policy Typography System (scoped)
   - h1: page title
   - h2: major sections (1〜13)
   - h3: sub sections ((1)(2)(3) etc.)
   - body: readable legal text
========================================================= */

.policy{
  /* 本文の基準（ここを変えると全体が追従） */
  font-size: 16px;
  line-height: 1.9;
  letter-spacing: 0.02em;
}

/* 目次と本文の間を広げる */
.policy__body{
  margin-top: 40px;
}

/* 文章の色味（真っ黒より少し柔らかい） */
.policy,
.policy p,
.policy li,
.policy dd{
  color: rgba(0,0,0,0.82);
}

/* リンクは品よく（下線は細く） */
.policy a{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(1,58,49,0.25);
}
.policy a:hover{
  border-bottom-color: rgba(1,58,49,0.55);
}

/* ---------------------------------
   H1（ページタイトル）
--------------------------------- */
.policy__title{
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.25;
  margin: 0 0 6px;
  letter-spacing: 0.03em;
  font-weight: 700;
}

/* メタ情報（最終更新日） */
.policy__meta{
  margin: 0;
  font-size: 0.95em;
  opacity: 0.75;
}

/* ---------------------------------
   H2（章見出し）
--------------------------------- */
.policy__section h2{
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.35;
  margin: 0 0 10px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* 下線アクセント（すでに使ってるならお好みで） */
.policy__section h2::after{
  content: "";
  display: block;
  width: 52px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: rgba(1,58,49,0.55);
}

/* 章間の余白（読みやすさの根幹） */
.policy__section + .policy__section{
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(0,0,0,0.08);
}

/* ---------------------------------
   H3（小見出し： (1)(2)(3)）
   → 大きすぎ問題をここで完全に潰す
--------------------------------- */
.policy__subsection h3{
  font-size: 17px !important;          /* ここが肝：h2より確実に小さく */
  line-height: 1.5 !important;
  margin: 18px 0 8px;
  font-weight: 650 !important;
  letter-spacing: 0.02em;
}

/* 小見出し直下の段落は詰めすぎない */
.policy__subsection h3 + p{
  margin-top: 8px;
}


/* ---------------------------------
   段落・リスト（法務文書の読みやすさ）
--------------------------------- */
.policy p{
  margin: 10px 0 0;
}

.policy ul{
  margin: 10px 0 0;
  padding-left: 1.2em;
}

.policy li{
  margin: 6px 0;
}

/* 箇条書きの黒丸が強い場合は少し薄める */
.policy li::marker{
  color: rgba(0,0,0,0.35);
}

/* ---------------------------------
   「ただし〜」など注記を少し控えめに
--------------------------------- */
.policy__muted{
  opacity: 0.75;
}

/* ---------------------------------
   お問い合わせ（dl）整形
--------------------------------- */
.policy__dlRow dt{
  font-size: 16px !important;
  font-weight: 650;
  opacity: 0.85;
}

.policy__dlRow dd{
  font-size: 15px !important;
  margin: 0;
}

/* ---------------------------------
   目次（あれば）
--------------------------------- */
.policy__tocTitle{
  font-size: 1.0em;
  margin: 0 0 8px;
  font-weight: 650;
}

.policy__tocList{
  margin: 0;
  padding-left: 1.2em;
  line-height: 1.9;
}
/* Privacy Policy 内の h3 を抑える */
.policy__subsection h3{
  font-size: 18px !important;          /* ←小さめに */
  font-weight: 600 !important;         /* 太すぎない */
  margin: 20px 0 10px !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
}

.policy__number{
  font-size: 0.9em !important;
  opacity: 0.7 !important;
  margin-right: 6px !important;
}

.policy__steps{
  margin: 10px 0 0;
  padding-left: 1.2em;
}
.policy__steps li{
  margin: 8px 0;
}

/* 目次リンクは下線なし */
.policy__tocList a{
  border-bottom: none !important;
  text-decoration: none;
}

/* hoverも下線出さない */
.policy__tocList a:hover{
  border-bottom: none !important;
}

/* モバイル */
@media (max-width: 640px){
  .policy__dlRow{
    grid-template-columns: 1fr;
  }
  .policy__subsection h3{
    font-size: 16px !important;
  }
  .policy{
    font-size: 15px !important;
  }
  .policy__subsection h3{
    font-size: 16px !important;
  }
}

/* =========================================================
   FAQ Minimal Design (page-id-6528)
   線のみ / 影なし / 背景なし
========================================================= */

/* 全体余白 */
body.page-id-6528 .vc_tta-container{
  margin-top: 32px;
}

/* FAQ直上の h3 サイズ調整 */
body.page-id-6528 .vc_tta-container > h3{
  font-size: 18px !important;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}

body.page-id-6528 #faq{
  font-size: 24px !important;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
}

body.page-id-6528 .vc_tta-title-text{
  font-size: 15px !important;
}


/* アコーディオン全体 */
body.page-id-6528 .vc_tta.vc_general{
  border: none;
  background: transparent;
}

/* -------------------------
   質問（見出し行）
------------------------- */
body.page-id-6528 .vc_tta-panel-heading{
  background: transparent !important;
  border: none !important;
  margin: 0;
}

/* 質問テキスト */
body.page-id-6528 .vc_tta-panel-title > a{
  display: block;
  padding: 18px 0;
  text-decoration: none !important;

  border-bottom: 1px solid rgba(0,0,0,0.15);

  font-size: 17px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: rgba(0,0,0,0.85);
  background: transparent !important;
  box-shadow: none !important;
}

/* hover */
body.page-id-6528 .vc_tta-panel-title > a:hover{
  color: rgba(1,58,49,0.85);
}

/* active */
body.page-id-6528 .vc_tta-panel.vc_active .vc_tta-panel-title > a{
  border-bottom-color: rgba(1,58,49,0.35);
}

/* -------------------------
   ＋ / − アイコンを細く
------------------------- */
body.page-id-6528 .vc_tta-controls-icon{
  border: none !important;
  background: transparent !important;
}

body.page-id-6528 .vc_tta-controls-icon::before,
body.page-id-6528 .vc_tta-controls-icon::after{
  border-color: rgba(0,0,0,0.55) !important;
}

/* -------------------------
   回答部分
------------------------- */
body.page-id-6528 .vc_tta-panel-body{
  padding: 12px 0 24px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
  background: transparent !important;
}

/* テキスト整形 */
body.page-id-6528 .vc_tta-panel-body p,
body.page-id-6528 .vc_tta-panel-body li{
  line-height: 1.9;
  color: rgba(0,0,0,0.82);
}

/* リスト */
body.page-id-6528 .vc_tta-panel-body ul{
  padding-left: 1.2em;
  margin-top: 8px;
}

body.page-id-6528 .vc_tta-panel-body li{
  margin: 6px 0;
}

body.page-id-6528 .vc_tta-panel-body li::marker{
  color: rgba(0,0,0,0.35);
}

/* グレー背景強制解除 */
body.page-id-6528 .vc_tta-panel-body *{
  background: transparent !important;
  box-shadow: none !important;
}

/* 特商法専用の微調整 */
.policy__dl--legal .policy__dlRow{
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.policy__dl--legal dt{
  font-weight: 650;
  letter-spacing: 0.02em;
}

.policy__dl--legal dd{
  line-height: 1.9;
}

/* モバイル */
@media (max-width: 640px){
  body.page-id-6528 .vc_tta-panel-title > a{
    font-size: 16px !important;
    padding: 16px 0;
  }
}

/* =====================================================
   Mobile: H2 font-size tuning
   - Global h2
   - Policy pages (.policy)
   ===================================================== */
@media (max-width: 767px){

  /* ページ全体の h2 を少し小さく（一般ページも対象） */
  h2{
    font-size: 18px !important;
    line-height: 1.35 !important;
  }

  /* policy レイアウト内の h2 はさらに統一して小さめ */
  .policy__section h2{
    font-size: 17px !important;
    line-height: 1.35 !important;
  }

  /* FAQ見出し（#faq）はここで確定（推奨は16px） */
  body.page-id-6528 #faq{
    font-size: 16px !important;
    line-height: 1.5 !important;
  }
}

/* =========================
   Blogページ：タイトル周りの余白調整
   ========================= */

/* Blog(一覧)の先頭エリアにある空白（vc_empty_space）の高さを縮める */
body.blog .content-before-blog .vc_row:first-child .vc_empty_space,
body.archive .content-before-blog .vc_row:first-child .vc_empty_space {
  height: 32px !important; /* お好みで 24〜48px くらいで調整 */
}

/* 「Blog」見出し自体の上下マージンも控えめに */
body.blog .content-before-blog .vc_custom_heading,
body.archive .content-before-blog .vc_custom_heading {
  margin-top: 0 !important;
  margin-bottom: 16px !important;
}

/* body判定がズレる場合の保険（Kraftのブログ一覧ラッパー起点） */
.blog-default.wideblog .content-before-blog .vc_row:first-child .vc_empty_space {
  height: 32px !important;
}
.blog-default.wideblog .the_title h2,
.blog-default.wideblog .the_title h2 a {
  font-family: "Noto Serif JP", serif !important;
  font-weight: 600;
}
