/* =============================================
   SAN'IN TABLE — 改善版 共通スタイルシート
   ※ futureshop オリジナルCSS欄に直接貼り付け用
   ============================================= */

/* =============================================
   1. 全体・ヘッダー・サイドメニュー（明朝体一括適用・視認性強化版）
   ============================================= */

/* ほとんどのページ要素、ヘッダー、サイドメニュー、フッターを明朝体で固定 */
body,
body.fs-body-top,
body.fs-body-custom,
body.fs-body-product,
body.fs-body-category,
body.fs-body-category-itemlist,
body.fs-body-cart,
body.fs-body-search,
.fs-l-header,
.fs-p-sideMenu,
footer,
#fs-l-footer,
.fs-l-footer {
    font-family: "Noto Serif JP", "BIZ UDPMincho", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
    color: #111111 !important; /* 【改善】#333333から、よりはっきりとした漆黒に変更 */
    font-weight: 500 !important; /* 【改善】明朝体の横線がかすれないよう、標準よりやや太めに設定 */
    font-size: 1.6rem; /* PC：約16px相当 */
}

@media screen and (min-width: 769px) {
    .fs-l-header__contents {
        grid-template-columns: 30% 40% 30%;
    }
}

/* =============================================
   2. バナー・レイアウト設定
   ============================================= */

.fv-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.top-set-banners {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 20px 10px;
    gap: 15px;
}

.banner-item {
    width: 100%;
}

.banner-item img {
    width: 100%;
    height: auto;
    border-radius: 8px;
    display: block;
}

@media screen and (min-width: 769px) {
    .top-set-banners {
        max-width: 1200px;
        margin: 0 auto;
        padding: 40px 0;
    }

    .banner-item {
        width: calc(50% - 8px);
    }
}


/* =============================================
   3. 商品説明（LPパーツ）共通スタイル（視認性強化版）
   ============================================= */

.st-lp-container,
.st-lp-section {
    max-width: 1000px;
    margin: 0 auto 80px;
    padding: 0 20px;
    line-height: 2.0;
}

/* 本文テキスト */
body .st-product-desc,
body .st-lp-container p,
body .st-lp-section p,
body .st-brand-story p {
    font-size: 1.6rem;
    color: #111111 !important; /* 【改善】商品説明文もくっきり見える黒に変更 */
    margin-bottom: 1.8em;
    font-weight: 500; /* 読みやすい中太 */
    line-height: 2.0; /* 行間をしっかり空けて可読性を担保 */
}

/* =============================================
   4. 共通パーツ・インタラクション
   ============================================= */

a img {
    transition: opacity 0.4s ease;
}

a:hover img {
    opacity: 0.7;
}

/* サイドメニュー（枠線リセットとホバー効果） */
.fs-p-sideMenu .fs-pt-menu__heading--lv1,
.fs-p-sideMenu .fs-pt-menu__heading--lv2,
.fs-p-sideMenu .fs-pt-menu__heading--lv3 {
    border: none;
    border-bottom: none;
}

.fs-p-sideMenu a:hover {
    background: #c39809;
    color: #ffffff;
    transition: background 0.2s ease, color 0.2s ease;
}


/* =============================================
   5. フッター基本設定
   ============================================= */

#fs-l-footer,
.fs-l-footer,
footer {
    background-color: #2a2a2a;
    color: #cccccc;
    font-size: 0.6875rem; /* 11px */
    line-height: 1.8;
    font-weight: 400;
    padding: 50px 20px;
}

.fs-c-footer__address,
.fs-c-footer__copyright,
#fs-l-footer p,
.fs-l-footer p,
footer p {
    color: #cccccc;
    font-size: 0.6875rem;
    line-height: 1.8;
    font-weight: 400;
    margin-bottom: 0.5em;
}

#fs-l-footer a,
.fs-l-footer a,
footer a,
.fs-c-footer__link,
.fs-c-footer__navItem a {
    color: #ffffff;
    font-weight: bold;
    text-decoration: none;
    font-size: 0.6875rem;
    transition: color 0.2s ease, opacity 0.2s ease;
}

#fs-l-footer a:hover,
.fs-l-footer a:hover,
footer a:hover,
.fs-c-footer__link:hover,
.fs-c-footer__navItem a:hover {
    color: #c39809;
    text-decoration: none;
    opacity: 1;
}

#fs-l-footer hr,
.fs-l-footer hr,
footer hr {
    border: none;
    border-top: 1px solid #444444;
    margin: 20px 0;
}


/* =============================================
   6. 高級感コンテナ（tokuda-premium）
   ============================================= */

.tokuda-premium-container,
.tokuda-premium-container * {
    font-family: "Times New Roman", "Yu Mincho", "YuMincho",
                 "Hiragino Mincho ProN", "Hiragino Mincho Pro",
                 "MS PMincho", serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.tokuda-premium-container .price,
.tokuda-premium-container .gold-label,
.tokuda-premium-container .green-label {
    font-family: "Georgia", "Times New Roman", serif !important;
}

.tokuda-premium-container {
    color: #333333;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.tokuda-premium-container h1,
.tokuda-premium-container h2,
.tokuda-premium-container .hero-title {
    font-weight: 600;
    letter-spacing: 0.1em;
}


/* =============================================
   7. 徳田商店様オリジナル・フッターカスタマイズ
   ============================================= */

/* 全体のフォントサイズと【明朝体】の強制適用 */
#fs-l-footer .tokuda-footer-nav,
.fs-l-footer .tokuda-footer-nav,
footer .tokuda-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
  padding: 45px 20px !important;
  color: #ffffff !important;
  font-size: 18px !important;
  font-family: "Noto Serif JP", "BIZ UDPMincho", "YuMincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;
}

/* 各メニューブロックの横幅調整 */
#fs-l-footer .tokuda-footer-nav__group,
.fs-l-footer .tokuda-footer-nav__group,
footer .tokuda-footer-nav__group {
  flex: 1;
  min-width: 260px;
  margin-bottom: 35px;
}

/* 見出し設定（商品を探す、など） */
#fs-l-footer .tokuda-footer-nav__title,
.fs-l-footer .tokuda-footer-nav__title,
footer .tokuda-footer-nav__title {
  font-weight: bold !important;
  font-size: 20px !important;  
  color: #ffffff !important;
  border-bottom: 1px solid #666666 !important;
  padding-bottom: 10px !important;
  margin-bottom: 20px !important;
  letter-spacing: 0.05em;
}

.tokuda-footer-nav__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tokuda-footer-nav__list li {
  margin-bottom: 12px !important;
  line-height: 1.5 !important;
}

/* リンク文字の設定 */
#fs-l-footer .tokuda-footer-nav__list a,
.fs-l-footer .tokuda-footer-nav__list a,
footer .tokuda-footer-nav__list a {
  color: #dddddd !important;   
  font-weight: normal !important;
  font-size: 17px !important;   
  text-decoration: none !important;
  transition: color 0.2s ease;
}

#fs-l-footer .tokuda-footer-nav__list a:hover,
.fs-l-footer .tokuda-footer-nav__list a:hover,
footer .tokuda-footer-nav__list a:hover {
  color: #c39809 !important;
  text-decoration: underline !important;
}

/* 下部の会社情報エリア */
.tokuda-footer-info {
  margin-top: 35px !important;
  padding-top: 20px !important;
  border-top: 1px dashed #555555 !important;
}

#fs-l-footer .tokuda-footer-info__company,
.fs-l-footer .tokuda-footer-info__company,
footer .tokuda-footer-info__company {
  font-weight: bold !important;
  font-size: 18px !important;
  color: #ffffff !important;
  margin-bottom: 10px !important;
}

#fs-l-footer .tokuda-footer-info__text,
.fs-l-footer .tokuda-footer-info__text,
footer .tokuda-footer-info__text {
  font-size: 15px !important;  
  color: #aaaaaa !important;  
  line-height: 1.6 !important;
  font-weight: normal !important;
}


/* =============================================
   8. 商品一覧：商品名・価格（意図的にゴシックにする箇所）
   ============================================= */

.fs-c-productName,
.fs-c-productName__name,
.fs-p-itemListItem__name,
.fs-c-itemListItem__name {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif !important;
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.6;
    color: #333333;
}

.fs-c-price,
.fs-c-price__value,
.fs-p-itemListItem__price,
.fs-c-itemListItem__price,
.fs-c-price--special,
.fs-c-price__value--special {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif !important;
    font-size: 1.4rem;
    font-weight: bold;
    color: #B22222;
}


/* =============================================
   9. レスポンシブ調整（スマホ：～768px）
   ============================================= */
@media (max-width: 768px) {

    body,
    body.fs-body-top,
    body.fs-body-custom,
    body.fs-body-product,
    body.fs-body-category,
    body.fs-body-category-itemlist,
    body.fs-body-cart,
    body.fs-body-search {
        font-size: 1.45rem;
    }

    body .st-product-desc,
    body .st-lp-container p,
    body .st-lp-section p,
    body .st-brand-story p {
        font-size: 1.45rem;
        line-height: 1.8;
    }

    body .st-product-title,
    body .st-lp-title {
        font-size: 1.7rem;
    }

    .st-icon-row {
        gap: 15px;
        padding: 25px 10px;
        flex-wrap: wrap;
    }

    .st-icon-item {
        flex: 0 0 calc(50% - 8px);
    }

    body .st-icon-item span {
        font-size: 1rem;
    }

    #fs-l-footer,
    .fs-l-footer,
    footer {
        padding: 20px 10px;
    }

    #fs-l-footer p,
    .fs-l-footer p,
    footer p,
    .fs-c-footer__address,
    .fs-c-footer__copyright {
        font-size: 0.625rem;
    }

    .fs-l-footer a,
    #fs-l-footer a,
    footer a,
    .fs-c-footer__link,
    .fs-c-footer__navItem a {
        font-size: 0.625rem;
    }

    /* カスタムフッター（スマホ） */
    #fs-l-footer .tokuda-footer-nav,
    .fs-l-footer .tokuda-footer-nav,
    footer .tokuda-footer-nav {
        flex-direction: column;
        padding: 40px 20px !important;
        font-size: 16px !important;
    }
    
    #fs-l-footer .tokuda-footer-nav__list a,
    .fs-l-footer .tokuda-footer-nav__list a,
    footer .tokuda-footer-nav__list a {
        font-size: 16px !important;
    }

    #fs-l-footer .tokuda-footer-nav__title,
    .fs-l-footer .tokuda-footer-nav__title,
    footer .tokuda-footer-nav__title {
        font-size: 18px !important;
    }

    .tokuda-footer-nav__group {
        width: 100% !important;
        min-width: 100% !important;
        margin-bottom: 30px !important;
    }

    .tokuda-footer-info__company,
    .tokuda-footer-info__company a {
        font-size: 16px !important;
    }
}

/* 件数表示の非表示 */
.fs-c-pageCount {
    display: none !important;
}


/* =============================================
   10. 【限定】商品詳細ページ専用：価格表示（拡大 ＆ ￥調整）
   ※ body.fs-body-product（商品詳細ページ）の時だけ動くように厳密に固定しました
   ============================================= */

/* 1. 商品詳細ページだけの金額エリアを強制拡大（他のページには影響しません） */
body.fs-body-product .fs-c-price,
body.fs-body-product .fs-c-price__value {
  font-family: "Helvetica Neue", Arial, sans-serif !important; 
  font-size: 34px !important;  /* 金額を大きく */
  font-weight: bold !important;
  color: #B22222 !important;   /* 赤色をキープ */
  line-height: 1.2 !important;
}

/* 2. 商品詳細ページだけの「￥」マークを個別に小さく・美しく調整 */
body.fs-body-product .fs-c-price__currencyMark {
  font-family: "Helvetica Neue", Arial, sans-serif !important; /* 明朝体から変更して巨大化を防止 */
  font-size: 28px !important;        /* 数字より一回り小さく */
  font-weight: bold !important;
  color: #B22222 !important;
  vertical-align: 0.12em !important; /* 数字の底辺と高さを揃える */
  display: inline-block !important;
  margin-right: 0px !important;     /* 数字との隙間調整 */
}

/* 3. 商品詳細ページだけの「(税込)」を小さく上品に */
body.fs-body-product .fs-c-price__taxLabel,
body.fs-body-product .fs-c-price__taxLabel + span {
  font-size: 14px !important;        /* 14pxに縮小 */
  font-weight: normal !important;
  color: #666666 !important;         /* 柔らかいグレー */
  vertical-align: 0.25em !important; /* 少し上に持ち上げる */
  display: inline-block !important;
  margin-left: 6px !important;
}

/* お気に入りボタン（通常時）の視認性アップ */
.fs-c-productState__favorite .fs-c-icon--heart, 
.fs-c-favorite-button .fs-c-icon--heart {
    color: #c8161d !important; /* 例：「カートへ」ボタンに近い、視認性の高い赤系 */
    font-size: 1.25rem;       /* 少しサイズを大きくして押しやすく */
    opacity: 0.7;             /* 馴染みつつも主張する透明度 */
    transition: all 0.3s ease;
}

/* ホバー（マウスを載せた）時の演出 */
.fs-c-productState__favorite:hover .fs-c-icon--heart,
.fs-c-favorite-button:hover .fs-c-icon--heart {
    color: #c8161d !important;
    opacity: 1;
    transform: scale(1.1);    /* ふわっと少し大きくなる演出 */
}

/* すでにお気に入りに登録されている状態（アクティブ時） */
.fs-c-favorite-button--is-active .fs-c-icon--heart {
    color: #c8161d !important;
    opacity: 1;
}





/* コンセプトエリアのデザイン */
.concept-section {
    padding: 60px 20px;
    text-align: center;
    background-color: #f9f7f2; /* 落ち着いたオフホワイト系 */
}

.concept-title {
    font-family: "Yu Mincho", "游明朝", serif;
    font-size: 28px;
    margin-bottom: 30px;
    color: #333;
}

.concept-text {
    line-height: 2.0;
    color: #555;
    margin-bottom: 25px;
}

.concept-link {
    display: inline-block;
    padding: 10px 30px;
    border: 1px solid #333;
    text-decoration: none;
    color: #333;
    transition: 0.3s;
}

.concept-link:hover {
    background: #333;
    color: #fff;
}

/* ゴシック体エリア（特定のパーツにこのクラスを付与） */
.force-gothic,
.force-gothic * {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif !important;
}
/* これをCSSの最後にコピペしてください */
.gothic-text,
.gothic-text * {
    font-family: "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif !important;
}


/* =============================================
   【修正・最適化】優先フォント適用ルール
   特定のエリアでフォントを変えたい場合、
   親要素にクラス名「custom-font-override」を付与してください
   ============================================= */

/* 指定エリア内だけ別のフォントを適用する（最強の優先順位） */
.custom-font-override,
.custom-font-override * {
    font-family: inherit !important; /* 親の設定を継承、または個別に指定 */
}

/* 商品詳細ページなど、特定の箇所で強制的に特定のフォントを指定したい場合 */
.override-sans-serif,
.override-sans-serif * {
    font-family: "Helvetica Neue", "Arial", sans-serif !important;
}

/* =============================================
   既存のCSSに対する「優先順位」の適正化
   ※既存のコードの該当部分を以下のように修正します
   ============================================= */

/* 元の全体指定：ここで!importantを外し、詳細度を下げることで
   個別のクラス指定が効きやすくします */
body:not(.custom-font-override) {
    font-family: "Noto Serif JP", "BIZ UDPMincho", serif !important;
}

/* 今後の指針：特定のパーツのラッパーに任意のクラスを付与し、CSSで制御する */
/* 例：フリーページで「ゴシック系にしたい」場合 */
.gothic-page-layout {
    font-family: sans-serif !important;
}

/* 徳田商店LP専用フォント設定 */
.tokuda-lp-container {
    /* 本文：ゴシック体（Noto Sans JP）をベースに設定 */
    font-family: "Noto Sans JP", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    font-size: 16px;
    line-height: 1.8;
    color: #333;
}

/* 見出し：明朝体（Noto Serif JP）を適用 */
.tokuda-lp-container h1,
.tokuda-lp-container h2,
.tokuda-lp-container h3,
.tokuda-lp-container .serif {
    font-family: "Noto Serif JP", "Yu Mincho", "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
    line-height: 1.4;
    font-weight: 600; /* 見出しは少し太めに */
}

/* ラベル等の英数字用（オプション：必要に応じて） */
.tokuda-lp-container .hero-label,
.tokuda-lp-container .section-label {
    font-family: "Noto Sans JP", sans-serif !important;
    letter-spacing: 0.15em;
}

/* ① PCなどの画面では、スマホ用の改行を無効化（非表示）にする */
.sp-br {
  display: none;
}

/* ② 画面幅が767px以下（スマホ）になったときだけ、改行を有効化（表示）にする */
@media screen and (max-width: 767px) {
  .sp-br {
    display: inline;
  }
}

/* スマホのみ（画面幅が767px以下のとき） */
@media screen and (max-width: 767px) {
  .sp-br {
    display: block;
  }
}

/* それ以外のサイズでは改行させない */
@media screen and (min-width: 768px) {
  .sp-br {
    display: inline;
  }
}


/* ==========================================================================
   徳田商店様：全ページ背景色統一カスタマイズ
   ========================================================================== */

/* 1. サイト全体の最背面のベースをベージュに統一（白抜け防止） */
body {
    background-color: #f9f9eb !important; /* ※ここのコードを徳田商店様のベージュに変えてください */
}

/* 2. ラッパー（全体を包むコンテナ）がある場合、そこも透過またはベージュに指定 */
#fs-l-container, 
.fs-c-container {
    background-color: transparent !important;
}

/* 3. サイドメニュー（レフトナビ）自体の背景を維持する設定 */
.fs-c-sideLayout,
.fs-c-menuList {
    background-color: #f9f9eb !important; /* ※ここも同じベージュに */
}

