@charset "UTF-8";

/* ==========================================================================
   酔心 父の日キャンペーン（広島ちょい呑みBOX gd72）
   ページ個別CSS（このページ専用）

   ▼ 使い方
   FutureShop 管理画面 → 該当商品ページの「ページ個別CSS」欄に
   本ファイルの内容をそのまま貼り付けてください。
   （サイト共通CSSではなくページ個別欄に貼るため、他ページには影響しません）

   ▼ 補足
   - サイト全体のテーマCSS（fs_style.css / fs_theme.css 等）は別途適用済み前提。
     本ファイルは父の日ページの「追加・上書き」分のみ。
   - style.css から、未使用ルール（旧2枚組特典 su-fathers__features /
     su-fathersFeature ＝バナー統合で廃止）を除外した抽出版です。
   ========================================================================== */

/* --------------------------------------------------------------------------
   商品詳細ページ内のバナー画像・YouTube埋め込みを画面幅内に収める
   - <p><img></p> で書かれた sp-message / sp-delifree / sp-deli 等は
     class が無く既存ルールが効かないため、ここで一括対応
   - メイン画像カルーセル(.fs-c-productCarouselMainImage) は対象外
     （FutureShop側のslick制御に干渉するため）
   -------------------------------------------------------------------------- */
.fs-body-product-gd105 .fs-l-pageMain img:not(.fs-c-productCarouselMainImage *):not(.fs-c-productMainImage *):not(.fs-c-productThumbnail *),
.fs-body-product-gd105 .fs-l-pageMain iframe {
  max-width: 100%;
  height: auto;
}

/* --------------------------------------------------------------------------
   商品メイン画像カルーセルの画像はみ出し対策（最小限）
   - fs_style.css の `.fs-c-productCarouselMainImage__image > img { max-width: 100vw }`
     が原因で、SPで画像が viewport 幅まで広がりスライド枠（viewport - padding）から
     はみ出す。画像のみ max-width: 100% に上書き。
   - figure / slick-slide / その他には一切触らない（slickの動作を守るため）
   -------------------------------------------------------------------------- */
.fs-body-product-gd105 .fs-c-productCarouselMainImage__image > img {
  max-width: 100% !important;
}

/* ==========================================================================
   商品オプション（のし・水引・名入れ・紙袋・キャンペーン）UIの統一
   - .fs-c-productSelection（ドロップダウン群）
   - .fs-c-productOption（ラジオボタン）
   を、共通の「カード型」UIに揃える
   ========================================================================== */

/* dl ラッパーをリセット（カード化は dt/dd 単位で行う） */
.fs-body-product-gd105 .fs-c-productSelection,
.fs-body-product-gd105 .fs-c-productOption {
  margin: 16px 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
}

/* 見出し（dt）: 共通グラデーションヘッダー */
.fs-body-product-gd105 .fs-c-productSelection__name,
.fs-body-product-gd105 .fs-c-productOption__name {
  margin: 14px 0 0;
  padding: 12px 16px;
  /* 酔心ブランドの深めの朱色 */
  background: linear-gradient(135deg, #a8381f 0%, #c44f31 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  border-radius: 10px 10px 0 0;
}

.fs-body-product-gd105 .fs-c-productSelection__name:first-of-type,
.fs-body-product-gd105 .fs-c-productOption__name:first-of-type {
  margin-top: 0;
}

/* ラベル領域 */
.fs-body-product-gd105 .fs-c-productSelection__label,
.fs-body-product-gd105 .fs-c-productOption__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #fff;
}

/* 必須マーク（ピンク背景に「必須」の文字）
   HTMLは "(必須)" のままだが、font-size:0 で原文を消して
   ::before で「必須」を差し込む。
   FutureShop の fs_style.css は .fs-c-requiredMark に対し
     width: 1em; height: 1em; overflow: hidden; text-indent: -999px;
   を当てて「1em四方の小箱」に固定し、::before で "*" を表示する
   設計になっているため、これらを全て解除する必要がある。 */
.fs-body-product-gd105 .fs-c-productSelection__name .fs-c-requiredMark,
.fs-body-product-gd105 .fs-c-productOption__name .fs-c-requiredMark {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  text-indent: 0 !important;
  padding: 2px 8px !important;
  background: #ec407a !important;
  color: #fff !important;
  font-size: 0 !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.05em !important;
  white-space: nowrap !important;
}

.fs-body-product-gd105 .fs-c-productSelection__name .fs-c-requiredMark::before,
.fs-body-product-gd105 .fs-c-productOption__name .fs-c-requiredMark::before {
  content: "必須" !important;
  display: inline-block !important;
  font-size: 11px !important;
  color: #fff !important;
  line-height: 1.4 !important;
}

/* ---------- 販売価格を視認性の高い赤に（青→赤） ---------- */
.fs-body-product-gd105#fs_ProductDetails .fs-c-productPrice--selling .fs-c-price__value,
.fs-body-product-gd105#fs_ProductDetails .fs-c-productPrice--selling .fs-c-price__currencyMark {
  color: #d0021b !important;
}

/* 本体（dd）: カードボディ */
.fs-body-product-gd105#fs_ProductDetails .fs-c-productSelection__selection,
.fs-body-product-gd105 .fs-c-productOption__option {
  margin: 0;
  padding: 14px 16px;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-top: none;
  border-radius: 0 0 10px 10px;
}

/* ドロップダウンを上品なスタイルに統一 */
.fs-body-product-gd105#fs_ProductDetails .fs-c-productSelection .fs-c-dropdown {
  position: relative;
}

.fs-body-product-gd105#fs_ProductDetails .fs-c-productSelection .fs-c-dropdown__menu {
  width: 100%;
  font-size: 15px;
  padding: 12px 40px 12px 14px;
  background-color: #fff;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236b1f2a' stroke-width='2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
  border: 2px solid #e0e0e0;
  border-radius: 8px;
  color: #222;
  line-height: 1.5;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fs-body-product-gd105#fs_ProductDetails .fs-c-productSelection .fs-c-dropdown__menu:hover {
  border-color: #c5b0b5;
}

.fs-body-product-gd105#fs_ProductDetails .fs-c-productSelection .fs-c-dropdown__menu:focus {
  outline: none;
  border-color: #1f3a5f;
  box-shadow: 0 0 0 3px rgba(31, 58, 95, 0.15);
}

/* オプションのコメント（豪華特典の説明文など） */
.fs-body-product-gd105 .fs-c-productOption__comment {
  margin-top: 12px;
  padding: 10px 12px;
  background: #fff7f0;
  border-left: 3px solid #d7a35a;
  font-size: 13px;
  line-height: 1.7;
  color: #555;
  border-radius: 4px;
}

/* ==========================================================================
   商品説明エリア（リッチコンテンツ）
   .fs-p-productDescription 内に独自のセクションを構築
   - クラス名 prefix: su-（Suishin の略）で名前空間を分離
   ========================================================================== */

/* 父の日キャンペーン：テーマカラー = 紺・藍（ネイビー）× 金（ゴールド）
   ※ 変数名 --su-wine は「ブランド主役色」の意味で踏襲（値はネイビー）
   ※ --su-fathers / --su-fathers-light は父の日特典・専用FAQの淡いネイビー背景 */
.fs-body-product-gd105 .fs-p-productDescription {
  --su-wine: #1f3a5f;        /* 主役のネイビー（旧ワインレッド枠） */
  --su-wine-light: #2e5685;  /* ネイビー（明） */
  --su-cream: #f6efe3;       /* 生成り（金と相性のよい温かみ） */
  --su-gold: #d7a35a;        /* ゴールド（共通アクセント・据え置き） */
  --su-fathers: #cdd9e8;     /* 淡いネイビー（特典セクション地） */
  --su-fathers-light: #e7eef6;
  --su-text: #333;
  --su-muted: #666;
  --su-border: #e8e1d6;
  color: var(--su-text);
  line-height: 1.8;
  font-feature-settings: "palt" 1;
}

/* 既存の <font><b> による装飾の影響を消す（ヒーロー以下を独自スタイルに） */
.fs-body-product-gd105 .fs-p-productDescription font {
  font-size: inherit;
  font-weight: inherit;
}

/* セクション共通 */
.fs-body-product-gd105 .fs-p-productDescription .su-section {
  margin: 48px 0;
}

.fs-body-product-gd105 .fs-p-productDescription .su-section__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 24px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--su-wine);
  text-align: center;
}

.fs-body-product-gd105 .fs-p-productDescription .su-section__title::before,
.fs-body-product-gd105 .fs-p-productDescription .su-section__title::after {
  content: "";
  flex: 1;
  max-width: 60px;
  height: 1px;
  background: var(--su-gold);
}

.fs-body-product-gd105 .fs-p-productDescription .su-section__title small {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: var(--su-muted);
  margin-top: 4px;
}

/* ---------- ヒーロー ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-hero {
  text-align: center;
  padding: 24px 16px 32px;
  background: linear-gradient(180deg, #fffaf0 0%, #fff 100%);
  border-radius: 12px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-hero__copy {
  display: inline-block;
  margin: 0 0 12px;
  padding: 4px 14px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  background: var(--su-wine);
  border-radius: 999px;
  letter-spacing: 0.05em;
}

.fs-body-product-gd105 .fs-p-productDescription .su-hero__title {
  margin: 0 0 6px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  color: var(--su-wine);
  letter-spacing: 0.04em;
}

.fs-body-product-gd105 .fs-p-productDescription .su-hero__title span {
  color: var(--su-gold);
}

.fs-body-product-gd105 .fs-p-productDescription .su-hero__sub {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--su-muted);
}

.fs-body-product-gd105 .fs-p-productDescription .su-hero__lead {
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: var(--su-text);
}

/* ---------- セット内容（カード） ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-set__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 父の日：酒の肴4品 */
  gap: 16px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-card {
  background: #fff;
  border: 1px solid var(--su-border);
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.fs-body-product-gd105 .fs-p-productDescription .su-card__title {
  margin: 0;
  padding: 8px 8px 9px;
  background: linear-gradient(135deg, var(--su-wine) 0%, var(--su-wine-light) 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.fs-body-product-gd105 .fs-p-productDescription .su-card__img {
  background: var(--su-cream);
}

.fs-body-product-gd105 .fs-p-productDescription .su-card__img img {
  display: block;
  width: 100%;
  height: auto;
}

.fs-body-product-gd105 .fs-p-productDescription .su-card__desc {
  padding: 14px 14px 6px;
  margin: 0;
  font-size: 13px;
  line-height: 1.7;
  color: var(--su-text);
  flex-grow: 1;
}

.fs-body-product-gd105 .fs-p-productDescription .su-card__tag {
  display: inline-block;
  margin: 0 14px 14px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  color: var(--su-wine);
  background: #fff;
  border: 1px solid var(--su-gold);
  border-radius: 4px;
  letter-spacing: 0.04em;
}

/* ---------- 父の日特典セクション ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-fathers {
  margin: 32px 0;
  padding: 24px 20px;
  background: linear-gradient(135deg, var(--su-fathers-light) 0%, var(--su-fathers) 100%);
  border-radius: 12px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.fs-body-product-gd105 .fs-p-productDescription .su-fathers__copy {
  margin-bottom: 20px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-fathers__title {
  margin: 0 0 12px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  color: #1f3a5f;
  letter-spacing: 0.06em;
}

.fs-body-product-gd105 .fs-p-productDescription .su-fathers__lead {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: #3a4a5f;
}

/* 父の日特典バナー（化粧箱＋メッセージカードを1枚にまとめた画像） */
.fs-body-product-gd105 .fs-p-productDescription .su-fathers__banner {
  margin: 0 auto;
  max-width: 480px;
}
.fs-body-product-gd105 .fs-p-productDescription .su-fathers__banner img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(31, 58, 95, 0.12);
}

/* 期間限定 送料無料バナー（「今買う理由」を訴求） */
.fs-body-product-gd105 .fs-p-productDescription .su-shipping {
  margin: 20px 0;
  padding: 16px 18px;
  background: linear-gradient(135deg, var(--su-wine) 0%, var(--su-wine-light) 100%);
  border: 2px solid var(--su-gold);
  border-radius: 12px;
  color: #fff;
  text-align: center;
}
.fs-body-product-gd105 .fs-p-productDescription .su-shipping__badge {
  display: inline-block;
  margin-bottom: 6px;
  padding: 2px 12px;
  background: var(--su-gold);
  color: #3a2600;
  font-size: 12px;
  font-weight: 700;
  border-radius: 999px;
  letter-spacing: 0.08em;
}
.fs-body-product-gd105 .fs-p-productDescription .su-shipping__main {
  margin: 4px 0 0;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
.fs-body-product-gd105 .fs-p-productDescription .su-shipping__main em {
  font-style: normal;
  color: var(--su-gold);
  font-size: 1.15em;
}
.fs-body-product-gd105 .fs-p-productDescription .su-shipping__note {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.6;
  opacity: 0.92;
}

.fs-body-product-gd105 .fs-p-productDescription .su-fathers__note {
  margin: 16px 0 0;
  font-size: 11px;
  color: #3a4a5f;
  opacity: 0.85;
}

/* ---------- 選ばれる理由（4カラム） ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-reasons__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reason {
  background: #fff;
  border: 1px solid var(--su-border);
  border-radius: 10px;
  padding: 12px;
  text-align: center;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reason__title {
  margin: 0 0 10px;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--su-wine);
  border-bottom: 2px solid var(--su-gold);
}

.fs-body-product-gd105 .fs-p-productDescription .su-reason__img {
  margin-bottom: 10px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--su-cream);
}

.fs-body-product-gd105 .fs-p-productDescription .su-reason__img img {
  display: block;
  width: 100%;
  height: auto;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reason__desc {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--su-text);
  text-align: left;
}

/* ---------- ステップ（楽しみ方） ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-steps__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: su-step-counter;
}

.fs-body-product-gd105 .fs-p-productDescription .su-step {
  position: relative;
  background: #fff;
  border: 1px solid var(--su-border);
  border-radius: 10px;
  padding: 16px 10px 12px;
  text-align: center;
}

.fs-body-product-gd105 .fs-p-productDescription .su-step__num {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--su-wine);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 4px rgba(31, 58, 95, 0.25);
}

.fs-body-product-gd105 .fs-p-productDescription .su-step__title {
  margin: 0 0 10px;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--su-wine);
  text-align: center;
  border-bottom: 1px dashed var(--su-gold);
}

.fs-body-product-gd105 .fs-p-productDescription .su-step__desc {
  margin: 0;
  font-size: 12px;
  line-height: 1.7;
  color: var(--su-text);
  text-align: left;
}

/* ---------- お客さまの声 ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-reviews__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 20px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reviews__stars {
  color: var(--su-gold);
  font-size: 18px;
  letter-spacing: 0.1em;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reviews__score {
  font-size: 22px;
  font-weight: 700;
  color: var(--su-wine);
  line-height: 1;
}

.fs-body-product-gd105 .fs-p-productDescription .su-reviews__period {
  font-size: 12px;
  color: var(--su-muted);
}

.fs-body-product-gd105 .fs-p-productDescription .su-reviews__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-review {
  background: #fff;
  border: 1px solid var(--su-border);
  border-radius: 10px;
  padding: 16px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px dashed var(--su-border);
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex-shrink: 0;
  object-fit: cover;
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__meta .su-review__stars {
  color: var(--su-gold);
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1;
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__profile {
  margin: 0;
  font-size: 12px;
  color: var(--su-muted);
}

.fs-body-product-gd105 .fs-p-productDescription .su-review__body {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: var(--su-text);
}

/* レビュー下の注記（※写真はイメージです） */
.fs-body-product-gd105 .fs-p-productDescription .su-reviews__note {
  margin: 12px 0 0;
  font-size: 11px;
  color: var(--su-muted);
  text-align: right;
  letter-spacing: 0.04em;
}

/* ---------- FAQ（通常） ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-faqList {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--su-border);
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqList > li {
  border-bottom: 1px solid var(--su-border);
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem {
  background: #fff;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q {
  position: relative;
  display: block;
  padding: 14px 44px 14px 44px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: var(--su-text);
  cursor: pointer;
  list-style: none;
  transition: background-color 0.15s ease;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q::-webkit-details-marker {
  display: none;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q::before {
  content: "Q.";
  position: absolute;
  left: 14px;
  top: 14px;
  font-weight: 700;
  color: var(--su-wine);
  font-size: 15px;
  font-family: Georgia, "Times New Roman", serif;
}

/* +/- アイコン */
.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 50%;
  width: 14px;
  height: 14px;
  background-image:
    linear-gradient(currentColor, currentColor),
    linear-gradient(currentColor, currentColor);
  background-size: 14px 2px, 2px 14px;
  background-position: center;
  background-repeat: no-repeat;
  color: var(--su-wine);
  transform: translateY(-50%);
  transition: transform 0.2s ease;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem[open] .su-faqItem__q::after {
  background-size: 14px 2px, 0 14px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q:hover {
  background-color: #faf6ee;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__a {
  position: relative;
  padding: 4px 20px 16px 44px;
  font-size: 13px;
  line-height: 1.8;
  color: var(--su-text);
  background-color: #faf6ee;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faqItem__a::before {
  content: "A.";
  position: absolute;
  left: 14px;
  top: 4px;
  font-weight: 700;
  color: var(--su-gold);
  font-size: 15px;
  font-family: Georgia, "Times New Roman", serif;
}

/* ---------- FAQ（父の日専用：ネイビーテーマ） ---------- */
.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers {
  background: linear-gradient(135deg, var(--su-fathers-light) 0%, var(--su-fathers) 100%);
  padding: 20px;
  border-radius: 12px;
}

.fs-body-product-gd105 .fs-p-productDescription .su-section__title--fathers {
  color: #1f3a5f;
}

.fs-body-product-gd105 .fs-p-productDescription .su-section__title--fathers::before,
.fs-body-product-gd105 .fs-p-productDescription .su-section__title--fathers::after {
  background: #5a7da8;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqList {
  border-top: none;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(31, 58, 95, 0.08);
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqList > li {
  border-bottom: 1px solid #dde6f0;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqList > li:last-child {
  border-bottom: none;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqItem__q::before {
  color: #1f3a5f;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqItem__q::after {
  color: #1f3a5f;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqItem__q:hover {
  background-color: #eef3f9;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqItem__a {
  background-color: #eef3f9;
}

.fs-body-product-gd105 .fs-p-productDescription .su-faq--fathers .su-faqItem__a::before {
  color: #5a7da8;
}

/* ==========================================================================
   商品詳細について（.fs-p-card.su-spec）
   既存の .articleList_Info を活用しつつ、ワインレッド+ゴールドの
   テーマで上書きして見た目を統一する
   ========================================================================== */

.fs-body-product-gd105 .fs-p-card.su-spec {
  --c-text: #333;
  --c-border: #e8e1d6;
  --c-accent: #d7a35a;
  --c-wine: #1f3a5f;
  --c-cream: #faf6ee;
  background: #fff;
  margin: 32px 0;
  padding: 0;
  color: var(--c-text);
  line-height: 1.8;
}

/* セクションタイトル（センター + 左右の金線、他セクションと統一） */
.fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 0 20px;
  padding: 0;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--c-wine);
  text-align: center;
  border-bottom: none;
}

.fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title::before,
.fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title::after {
  content: "";
  flex: 1;
  max-width: 60px;
  height: 1px;
  background: var(--c-accent);
}

.fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title span {
  display: inline-block;
}

/* 各行（dl）：テーブル風に統一 */
.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info {
  display: grid;
  grid-template-columns: 11em 1fr;
  column-gap: 24px;
  align-items: start;
  margin: 0;
  padding: 18px 16px;
  border-top: 1px solid var(--c-border);
  border-bottom: none;
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info:last-of-type {
  border-bottom: 1px solid var(--c-border);
}

/* 偶数行に薄いクリーム背景（縞模様で読みやすく） */
.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info:nth-of-type(even) {
  background: var(--c-cream);
}

/* 左カラム（dt）：ワインレッドの見出し + 金のアクセントバー */
.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt {
  position: relative;
  margin: 0;
  padding-left: 14px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.6;
  color: var(--c-wine);
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.35em;
  bottom: 0.35em;
  width: 4px;
  background: var(--c-accent);
  border-radius: 2px;
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt small {
  font-size: 11px;
  font-weight: 500;
  color: #999;
  letter-spacing: 0;
}

/* 右カラム（dd）：装飾を解除してクリーンに */
.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd {
  margin: 0;
  padding-left: 0;
  border-left: none;
  font-size: 14px;
  line-height: 1.8;
  color: var(--c-text);
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd p {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.8;
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd p:last-child {
  margin-bottom: 0;
}

.fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd p > b {
  display: inline-block;
  margin-right: 4px;
  color: var(--c-wine);
  font-weight: 700;
}

/* ---------- 栄養成分表示（3カラム サブカード） ---------- */
.fs-body-product-gd105 .fs-p-card.su-spec .su-nutrition {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 8px;
  padding: 12px;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__title {
  margin: 0 0 8px;
  padding-bottom: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--c-wine);
  border-bottom: 1px dashed var(--c-accent);
  letter-spacing: 0.04em;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  font-size: 12px;
  line-height: 1.5;
  border-bottom: 1px dotted #f0e8d8;
  color: #555;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list li:last-child {
  border-bottom: none;
}

.fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list li > span:last-child {
  font-weight: 700;
  color: var(--c-wine);
  font-size: 13px;
}

/* ---------- レスポンシブ（タブレット） ---------- */
@media (max-width: 991px) {
  .fs-body-product-gd105 .fs-p-productDescription .su-set__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reasons__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-steps__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reviews__list {
    grid-template-columns: 1fr;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .su-nutrition {
    grid-template-columns: 1fr;
  }
}

/* ---------- レスポンシブ（スマホ） ---------- */
@media (max-width: 640px) {
  .fs-body-product-gd105 .fs-p-productDescription .su-section {
    margin: 36px 0;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-section__title {
    font-size: 18px;
    gap: 10px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-section__title::before,
  .fs-body-product-gd105 .fs-p-productDescription .su-section__title::after {
    max-width: 32px;
  }

  .fs-body-product-gd105 .fs-p-productDescription .su-hero {
    padding: 20px 12px 24px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-hero__title {
    font-size: 20px;
  }

  .fs-body-product-gd105 .fs-p-productDescription .su-set__grid {
    grid-template-columns: 1fr;
  }

  .fs-body-product-gd105 .fs-p-productDescription .su-fathers {
    padding: 20px 14px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-fathers__title {
    font-size: 18px;
  }

  .fs-body-product-gd105 .fs-p-productDescription .su-reasons__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reason__title {
    font-size: 13px;
  }

  .fs-body-product-gd105 .fs-p-productDescription .su-steps__list {
    grid-template-columns: repeat(2, 1fr);
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-step__title {
    font-size: 12px;
    min-height: auto;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-step__desc {
    font-size: 11px;
  }

  /* 商品詳細スペック：縦積み */
  .fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title {
    font-size: 18px;
    gap: 10px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title::before,
  .fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title::after {
    max-width: 32px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info {
    grid-template-columns: 1fr;
    row-gap: 8px;
    padding: 14px 12px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt {
    font-size: 14px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd {
    font-size: 13px;
    padding-left: 14px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .su-nutrition {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   PC（デスクトップ）向け文字サイズアップ
   - シニア層が多いため、PC表示時のリッチコンテンツの文字を大きめに
   - 992px以上で適用（SPは従来サイズを維持）
   ========================================================================== */
@media (min-width: 992px) {

  /* セクション共通 */
  .fs-body-product-gd105 .fs-p-productDescription .su-section__title {
    font-size: 26px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-section__title small {
    font-size: 16px;
  }

  /* ヒーロー */
  .fs-body-product-gd105 .fs-p-productDescription .su-hero__copy {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-hero__title {
    font-size: 30px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-hero__sub {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-hero__lead {
    font-size: 16px;
  }

  /* セット内容カード */
  .fs-body-product-gd105 .fs-p-productDescription .su-card__title {
    font-size: 17px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-card__desc {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-card__tag {
    font-size: 13px;
  }

  /* 父の日特典セクション */
  .fs-body-product-gd105 .fs-p-productDescription .su-fathers__title {
    font-size: 26px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-fathers__lead {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-fathers__note {
    font-size: 12px;
  }

  /* 選ばれる理由 */
  .fs-body-product-gd105 .fs-p-productDescription .su-reason__title {
    font-size: 16px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reason__desc {
    font-size: 14px;
  }

  /* 楽しみ方ステップ */
  .fs-body-product-gd105 .fs-p-productDescription .su-step__title {
    font-size: 16px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-step__desc {
    font-size: 14px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-step__num {
    width: 32px;
    height: 32px;
    font-size: 15px;
  }

  /* お客さまの声 */
  .fs-body-product-gd105 .fs-p-productDescription .su-reviews__stars {
    font-size: 22px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reviews__score {
    font-size: 26px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reviews__period {
    font-size: 13px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-review__meta .su-review__stars {
    font-size: 16px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-review__profile {
    font-size: 14px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-review__body {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-review__avatar {
    width: 56px;
    height: 56px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-reviews__note {
    font-size: 12px;
  }

  /* FAQ */
  .fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q {
    font-size: 16px;
    padding: 16px 50px 16px 50px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-faqItem__q::before {
    font-size: 18px;
    top: 16px;
    left: 18px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-faqItem__a {
    font-size: 15px;
    padding: 6px 24px 18px 50px;
  }
  .fs-body-product-gd105 .fs-p-productDescription .su-faqItem__a::before {
    font-size: 18px;
    left: 18px;
  }

  /* 商品詳細について */
  .fs-body-product-gd105 .fs-p-card.su-spec .fs-p-card__title {
    font-size: 26px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info {
    grid-template-columns: 12em 1fr;
    column-gap: 28px;
    padding: 22px 18px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt {
    font-size: 17px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dt small {
    font-size: 12px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd,
  .fs-body-product-gd105 .fs-p-card.su-spec .articleList_Info dd p {
    font-size: 16px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__title {
    font-size: 15px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list li {
    font-size: 14px;
  }
  .fs-body-product-gd105 .fs-p-card.su-spec .su-nutritionItem__list li > span:last-child {
    font-size: 15px;
  }
}
