@charset "UTF-8";

/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* ▼ ホバー時にテキスト色＋下線追加 */
.c-gnav > .menu-item > a:hover .ttl {
  color: var(--color_main);
}

/* ① a 要素の高さが 100% のままでも線の位置を変える */
.c-gnav > .menu-item > a::after {
  bottom: auto;
  /* デフォルトの bottom:0 を無効化 */
  top: 70%;
  /* 文字＋余白の位置へ移動（必要に応じて調整可） */
  margin-top: 0px;
  /* ラインの距離調整（ここを変えれば微調整可能） */
  width: 100%;
  height: 2px;
  background: var(--color_main);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s;
}

/* ② hover時に線を伸ばす */
.c-gnav > .menu-item > a:hover::after {
  transform: scaleX(1);
}

/* ③ hoverで文字を赤くする（※重複していたが残しておきます） */
.c-gnav > .menu-item > a:hover .ttl {
  color: var(--color_main);
}

/* ▼ ここから追記部分（現在ページのメニューを赤色固定＋下線固定） */

/* 現在ページの文字を赤にする */
.c-gnav .current-menu-item > a .ttl,
.c-gnav .current_page_item > a .ttl {
  color: var(--color_main);
}

/* 現在ページの下線を常時表示 */
.c-gnav .current-menu-item > a::after,
.c-gnav .current_page_item > a::after {
  transform: scaleX(1);
}

/* トップページ */
/* =========================================================
   TOP 商品カテゴリ
   ========================================================= */
/* グリッド */
.cat-icon-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 32px;
  justify-items: center;
}

/* カード */
.cat-icon-card {
  text-align: center;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 丸アイコン（赤系点線） */
.cat-icon-circle {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  border: 2px dotted #e06b1c;
  /* ← 修正済み */
  padding: 4px;
  /* ← 間隔が小さく見えるため視覚的に調整 */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

/* アイキャッチ画像 */
.cat-icon-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* ← 画像が丸く綺麗に収まる */
  border-radius: 50%;
  /* 念のため2重丸対策 */
}

/* ピンクのラベル (#FFDBDB) */
.cat-icon-label {
  margin-top: 12px;
  background: #ffdbdb;
  padding: 6px 12px;
  border-radius: 5px;
  font-size: 14px;
  color: #c30d25;
  /* ← 修正済み */
  font-weight: 600;
  display: inline-block;
}

/* 1440pxで8列 */
@media screen and (min-width: 1440px) {
  .cat-icon-grid {
    grid-template-columns: repeat(8, 1fr);
  }
}
/* ── SP版グリッド：デフォルト非表示 ── */
.cat-icon-grid {
  display: none;
}

/* ── 959px以下：グリッド表示、スライダー非表示 ── */
@media (max-width: 959px) {

  .cat-icon-splide {
    display: none !important;
  }

  .cat-icon-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 0 12px;
  }

  .cat-icon-grid .cat-icon-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
  }
}

/* ── 600px以下：2列 ── */
@media (max-width: 600px) {

  .cat-icon-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* 商品カテゴリここまで */

/* トップページ用：表示順 1〜5 の商品を表示 */
/* ▼ 全体ラッパー */
.top-product-pickup {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
  justify-content: space-between;
}

/* ▼ カード */
/* ▼ 基本（PC）：5列 */
.pickup-card {
  position: relative;
  width: calc(20% - 1.6rem);
  text-align: left;
}

/* ▼ 959px 以下：2列 */
@media (max-width: 959px) {
  .pickup-card {
    width: calc(50% - 1rem);
    margin-bottom: 1.5rem;
  }
}

/* ▼ 599px 以下：1列 */
@media (max-width: 599px) {
  .pickup-card {
    width: 100%;
    margin: 0 auto 1.5rem;
  }
}

/* ▼ ランキングバッジ（自動可変） */
.pickup-rank {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-40%, -40%);
  width: clamp(40px, 8vw, 60px);
  height: clamp(40px, 8vw, 60px);
  border-radius: 50%;
  border: 2px solid #fff;
  background: #c30d25;
  color: #fff;
  font-size: clamp(0.8rem, 2.8vw, 1.3rem);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
}

/* ▼ 画像ラッパー（元のデザインを維持） */
.pickup-imgwrap {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ffdbdb;
  padding: 0.5rem;
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
}

/* ▼ 通常時：画像は枠いっぱいに表示 */
.pickup-imgwrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 6px;
}

/* ▼ 商品名 */
.pickup-name {
  margin-top: 1.2rem;
  font-weight: 700;
  font-size: 1rem;
  text-align: left;
}

/* ▼ カテゴリ名 */
.pickup-cat a {
  display: inline-block;
  background: #ffdbdb;
  color: #c30d25;
  padding: 0.2rem 0.5rem;
  border-radius: 5px;
  margin: 0.4rem 0;
  font-size: 0.9rem;
  font-weight: 600;
}
/* ★ iPhone対策：画像周りのピンク背景の余白を増やす */
.pickup-imgwrap {
  padding: 0.9rem;
  /* ← デフォルト 0.5rem を広げる */
}
.pickup-name {
  font-size: 1.2rem;
}

/* ▼ 金額 */
.pickup-price {
  margin-top: 0.4rem;
  font-weight: 700;
  font-size: 1rem;
  text-align: left;
}

.tax {
  font-size: 0.85rem;
  color: #666;
}

/* ▼ PC 1024px〜 */
@media (min-width: 1024px) {
  .pickup-name {
    font-size: 1rem;
  }

  .pickup-cat a {
    font-size: 0.875rem;
  }

  .pickup-price {
    font-size: 1rem;
  }
}
/* ▼ 599px以下*/
@media (max-width: 599px) {
  .pickup-imgwrap img {
    width: 88%;
    /* ← 画像を小さくする（背景が見える） */
    height: 88%;
    margin: auto;
    /* 中央に配置 */
  }
  .pickup-rank {
    transform: translate(0%, 0%);
    width: clamp(5rem, 14vw, 7rem);
    height: clamp(5rem, 14vw, 7rem);
    font-size: clamp(2rem, 4.5vw, 2.5rem);
  }
  .pickup-price {
    font-size: 1.2rem;
  }

  .tax {
    font-size: 0.85rem;
  }
}

/* トップページ用：表示順 1〜5 の商品を表示 ここまで */
/* =========================================================
   TOP 商品ランキング（カード） - [top_product_ranking]
   ========================================================= */

.top-product-ranking {
  width: 100%;
  padding: 2.5rem 0;
}

/* 横並び：PC 5列 / タブレット 3列 / スマホ 1列 */
.top-product-ranking .ranking-cards {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr); /* PC：5列 */
  gap: 1.5rem; /* カード間 40px */
}

/* カード（aタグ） */
.top-product-ranking .ranking-card {
  display: block;
  text-decoration: none;
  color: inherit;
  border-radius: 0.5rem;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s;
  overflow: visible; /* 冠がはみ出せるように */
  position: relative;
  background: #fff;
}

.top-product-ranking .ranking-card:hover {
  transform: translateY(-0.5rem); /* 8px */
}

/* 冠画像：カード最上部に表示 */
.top-product-ranking .ranking-card__crown {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 0.75rem;
  padding-bottom: 0.25rem;
}

.top-product-ranking .ranking-card__crown img {
  width: 4.5rem; /* 72px */
  height: auto;
  display: block;
}

/* 画像ラッパー（正方形・最大225px相当を意識して収まるように） */
.top-product-ranking .ranking-card__img-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1; /* 正方形（必要なら調整） */
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  overflow: hidden; /* 画像は角丸の中に収める */
  margin: 0; /* figureの余白対策 */
}

/* 画像（正方形にフィット） */
.top-product-ranking .ranking-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-product-ranking .ranking-card__crown {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%); /* 半分くらい上に持ち上げる */
  z-index: 3;
  pointer-events: none;
  background: transparent; /* 背景不要 */
  padding: 0; /* 余白不要 */
}
/* 冠画像サイズ（レスポンシブ） */
.top-product-ranking .ranking-card__crown img {
  width: clamp(4.5rem, 6vw, 7.25rem); /* だいたい 56px〜100px */
  height: auto;
  display: block;
}

/* 本文（白い部分）はそのまま */
.top-product-ranking .ranking-card__body {
  background: #fff;
  padding: 1rem 0.8rem 1rem;
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

/* 冠が重なる分、本文と画像の間隔を少しだけ詰めたいなら（任意） */
@media (max-width: 599px) {
  .top-product-ranking .ranking-card__body {
    padding: 1.25rem 1.25rem 1.5rem;
  }
}

/* 7) 商品名：少し大きく */
.top-product-ranking .ranking-card__title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0.75rem 0 0.5rem;
}

/* 8) カテゴリ名：ピンク背景＋赤文字（希望デザイン） */
.top-product-ranking .ranking-card__cat {
  display: inline-block;
  background-color: #ffdbdb;
  color: #c30d25;
  padding: 0.25rem 0.6rem;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 0.3rem;
  margin: 0.2rem 0 0.8rem;
}

/* 金額：PCで14px相当（rem） */
.top-product-ranking .ranking-card__price {
  margin: 0.75rem 0 0;
  font-size: 0.9rem; /* 14px */
  font-weight: 700;
  color: #111;
}

.top-product-ranking .ranking-card__price .tax {
  font-size: 0.75rem; /* 12px */
  font-weight: 600;
  color: #666;
  margin-left: 0.25rem;
}

/* =========================
   タブレット（〜1024px）
   ========================= */
@media (max-width: 1024px) {
  .top-product-ranking .ranking-cards {
    grid-template-columns: repeat(3, 1fr); /* タブレット：3列 */
    gap: 5rem 1.5rem; /* 少し詰める */
  }
  .top-product-ranking .ranking-card__img-wrapper {
    aspect-ratio: 1 / 0.8;
  }
  .top-product-ranking .ranking-card__title {
    font-size: 1.1rem;
  }
  .top-product-ranking .ranking-card__crown img {
    width: clamp(5.5rem, 6.5vw, 8rem);
  }
}

/* =========================
   スマホ（〜599px）
   ========================= */
@media (max-width: 599px) {
  .top-product-ranking .ranking-cards {
    grid-template-columns: 1fr; /* スマホ：1列 */
    gap: 6.5rem;
  }
  .top-product-ranking .ranking-card__crown {
    transform: translate(-50%, -45%); /* 半分くらい上に持ち上げる */
  }
  /* 冠画像サイズ（レスポンシブ） */
  .top-product-ranking .ranking-card__crown img {
    width: clamp(4.5rem, 6vw, 7.25rem); /* だいたい 56px〜100px */
    height: auto;
    display: block;
  }
  .top-product-ranking .ranking-card__title {
    font-size: 1.25rem;
  }
  .top-product-ranking .ranking-card__crown img {
    width: clamp(8rem, 9.5vw, 10rem);
  }
  .top-product-ranking .ranking-card__price {
    font-size: 1.1rem;
  }

  .top-product-ranking .ranking-card__price .tax {
    font-size: 0.85rem;
  }
}
/* トップページ用：売筋商品ランキング表示順 1〜5 の商品を表示 ここまで */

/* 商品詳細ページ */
.product-spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.25rem 0;
  background: #fff;
}

.product-spec-table th,
.product-spec-table td {
  border-bottom: 1px solid #eee;
  padding: 0.75rem 0.9rem;
}

.product-spec-table th {
  width: 16ch;
  background: #f7f7f7;
  font-weight: 600;
}

.product-section {
  margin: 1.75rem 0;
}

.product-section h2 {
  margin: 0 0 0.5rem;
  font-size: 1.15rem;
}

.product-tax__inner {
  display: flex;
  gap: 1.25rem;
  color: #666;
  font-size: 0.95rem;
}

.richtext ul {
  padding-left: 1.2em;
}

/* 商品一覧ページ */
.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px;
}

.product-card {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  transition:
    transform 0.15s ease,
    box-shadow 0.15s ease;
}

.product-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.product-card__thumb img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

.product-card__body {
  padding: 12px;
}

.product-card__title {
  font-size: 1rem;
  line-height: 1.5;
  margin: 0 0 0.3rem;
}

.product-card__meta {
  color: #666;
  font-size: 0.85rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.product-card__price {
  margin-top: 0.4rem;
  font-weight: 700;
}

/* 2カラム（メイン + 右サイド） */
.prod-2col {
  display: grid;
  grid-template-columns: 1fr 280px;
  /* メイン / サイド幅 */
  gap: 24px;
}

/* モバイルは縦積み */
@media (max-width: 960px) {
  .prod-2col {
    grid-template-columns: 1fr;
  }

  .prod-sidebar {
    order: -1;
  }

  /* カテゴリ・タグページではサイドバーを下に配置（すでに絞り込み済みのため） */
  .prod-2col--filtered .prod-sidebar {
    order: 1;
  }
}

/* サイドバー */
/* コンテナ（右固定） */
.prod-sidebar {
  position: sticky;
  top: 88px;
  align-self: start;
}

.prod-sidebar__inner {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 16px;
}

/* 見出し */
.sideNavi-title {
  font-size: 1rem;
  margin: 0 0 0.5rem;
  font-weight: 700;
}

.sideNavi-title .is-text {
  display: inline-block;
}

/* 「すべての商品」 */
.sideAllArea .sideContents-title {
  margin: 0.25rem 0 0.75rem;
}

.sideAllArea .is-text {
  text-decoration: none;
}

/* セクション */
.sideContents {
  margin: 0 0 1rem;
}

.sideContents-title {
  font-weight: 700;
  margin: 0 0 0.4rem;
}

.sideContents-main {
}

/* リスト（カテゴリ） */
.sideLinkList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 6px;
}

.sideLinkList-item a {
  display: block;
  padding: 0.45rem 0.6rem;
  border-radius: 8px;
  background: #f7f7f7;
  color: #333;
  text-decoration: none;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

.sideLinkList-item a:hover {
  background: #ececec;
}

.sideLinkList-item.is-active a {
  background: #1f6feb;
  color: #fff;
}

/* タグを # タグ名 形式に（リンク前に # を付与） */
.sideLinkList--tags {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 8px;
}

.sideLinkList-item--tag a.prod-tagLink {
  position: relative;
  padding-left: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sideLinkList-item--tag a.prod-tagLink::before {
  content: "# ";
  position: absolute;
  left: 0.6rem;
  transform: translateX(-100%);
  /* 見た目用 */
}

/* アクティブタグ */
.sideLinkList-item--tag.is-active a {
  background: #1f6feb;
  color: #fff;
}

/* 空時 */
.prod-sidebar__empty {
  color: #777;
  font-size: 0.9rem;
}

/* 2カラム */
.prod-2col {
  display: grid;
  grid-template-columns: 1fr 280px;
  gap: 24px;
}

@media (max-width: 960px) {
  .prod-2col {
    grid-template-columns: 1fr;
  }
}

/* 一覧のグリッド */
.ec-shelfGrid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 16px;
}

@media (min-width: 768px) {
  .ec-shelfGrid {
    grid-template-columns:repeat(auto-fill, minmax(220px, 1fr))
  }
}


/* 別ページから #product-list 付きのURLで飛んできた際の着地位置を下げる（＝要素を上にズラす） */
#product-list {
  /* 固定ヘッダーの高さ＋見せたい余白分（例：100px）を指定 */
  scroll-margin-top: 150px; 
}

:root{
	scroll-padding: 150px; /*ずらしたい高さ*/
	scroll-behavior: smooth; /*スムーススクロール*/
}

.ec-shelfGrid__item {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  overflow: hidden;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}

.ec-shelfGrid__item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
}

.ec-shelfGrid__item-image img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
  background: #f3f4f6;
}

.ec-shelfGrid__item-name {
  font-weight: 700;
  margin: 0.5rem 0.75rem 0;
}

.ec-shelfGrid__item-desc {
  margin: 0.25rem 0.75rem 0.5rem;
  color: #555;
  font-size: 0.95rem;
}

.price02-default {
  margin: 0.25rem 0.75rem 1rem;
  font-weight: 700;
}

.ec-price__price {
  font-size: 1.5rem;
  font-weight: 800;
}

/* 詳細ページ 画像 */
.item_visual .slide-item img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
}

/* スペックDL */
.productDetailPage-specArea {
  display: grid;
  gap: 8px;
  margin: 1.5rem 0;
}

.productDetailPage-specArea-contents {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 8px;
  border-bottom: 1px solid #eee;
  padding: 0.5rem 0;
}

.productDetailPage-specArea-contents-title {
  font-weight: 700;
  background: #fff;
  border-radius: 6px;
  padding: 0.4rem 0.6rem;
}

.productDetailPage-specArea-contents-main {
  padding: 0.4rem 0.6rem;
}

@media (max-width: 720px) {
  .productDetailPage-specArea-contents {
    grid-template-columns: 1fr;
  }
}

/* =========================================
   商品詳細ページ レイアウト（レスポンシブ対応）
   ========================================= */
.productDetailPage-wrap {
  display: flex;
  flex-direction: column;
  /* モバイル：縦並び */
  gap: 2rem;
}

/* PC（1200px以上）では画像左・テキスト右 */
@media screen and (min-width: 1200px) {
  .productDetailPage-wrap {
    flex-direction: row;
    /* 横並び */
    justify-content: space-between;
    align-items: flex-start;
  }

  .productDetailPage-leftBlock {
    width: 48%;
    /* 左：画像 */
  }

  .productDetailPage-rightBlock {
    width: 48%;
    /* 右：テキスト */
  }
}

/* タブレット（768〜1199px）でもある程度横並びを維持 */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .productDetailPage-wrap {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }

  .productDetailPage-leftBlock,
  .productDetailPage-rightBlock {
    width: 100%;
  }
}

/* スマホ（〜767px）：縦並びで中央寄せ */
@media screen and (max-width: 767px) {
  .productDetailPage-wrap {
    flex-direction: column;
    gap: 1.5rem;
  }

  .productDetailPage-leftBlock,
  .productDetailPage-rightBlock {
    width: 100%;
  }

  .productDetailPage-leftBlock img {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* =========================================
   各要素のデザイン調整
   ========================================= */

/* 画像ブロック */
.productDetailPage-leftBlock {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.productDetailPage-leftBlock img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

/* テキストブロック */
.productDetailPage-rightBlock {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* タイトル */
.productDetailPage-productName {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* 説明文 */
.productDetailPage-descriptionDetail {
  line-height: 1.7;
  color: #444;
  margin-bottom: 1.5rem;
}

/* =========================================
   WooCommerce　カートボタン　カスタマイズ
   ========================================= */
/* 説明文とカートを入れるコンテナ */
.ec-productRole__wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ec-productRole__cart form {
  display: flex;
  justify-content: space-between;
}
.ec-productRole__cart input {
  display: flex;
  background-color: transparent;
  border: none;
  padding: 0;
}

/* 標準の上下矢印を非表示にする */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
  cursor: grab;
}

.quantity {
  display: flex;
  background-color: transparent;
  border-radius: 7.5px;
  border: 1px solid #e2e0e0;
}


.qty-minus,
.qty-plus {
  padding: 0.5rem 1rem;
}

@media screen and (max-width: 767px) {
  .ec-productRole__wrapper {
  }

  .ec-productRole__cart {
    display: flex;
  }

  .ec-productRole__cart form {
    flex-direction: column;
    gap: 16px;
    width: 100%;
  }
  .quantity {
    width: fit-content;
  }
}

.woocommerce-message {
  margin-top: 2rem;
  border-top-color: #c30c25;
}

.woocommerce-message .button.wc-forward {
  display: block;
  margin-top: 1.5rem;
  background-color: transparent;
  border: 1px solid #f5a32d;
  border-radius: 6px;
}

.woocommerce-message::before {
  color: #c30c25;
}

.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
  background-color: transparent;
}

/* カートボタンの通常時の色 */
.woocommerce button.button.single_add_to_cart_button {
  background-color: #c30d25 !important; /* 背景色（例：赤系） */
  color: #fff !important; /* 文字の色（白） */
  max-width: 285.5px !important;
  width: 100%;
}

/* 商品詳細ページのボタン */
.single_add_to_cart_button {
  padding-top: 15px !important; /* 上の余白 */
  padding-bottom: 15px !important; /* 下の余白 */
  height: 100% !important; /* 文字の行間を詰めて調整しやすくする */
}

/* カートボタンにマウスを乗せた時の色 */
.woocommerce button.button.single_add_to_cart_button:hover {
  background-color: #ffdbdb !important; /* 少し暗い色 */
  color: #fff !important;
}

/* 金額表示 */
.ec-productRole__price {
  margin-top: 1rem;
}

.ec-price__price {
  font-size: 1.8rem;
  font-weight: 800;
  color: #222;
}

.ec-price__tax {
  font-size: 0.95rem;
  color: #555;
}

.ec-price__shipping{
font-size: 1.1rem;
color: #E61D0B;
letter-spacing: 1.5px;
font-weight: 700;
}

/* スペック表 */
.productDetailPage-specArea {
  margin-top: 2rem;
  display: grid;
  gap: 0.5rem;
}

.productDetailPage-specArea-contents {
  display: grid;
  grid-template-columns: 160px 1fr;
  border-bottom: 1px solid #eee;
  padding: 0.5rem 0;
}

.productDetailPage-specArea-contents-title {
  font-weight: 700;
  background: #fff;
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
}

.productDetailPage-specArea-contents-main {
  padding: 0.5rem 0.75rem;
  color: #333;
}

@media screen and (max-width: 767px) {
  .productDetailPage-specArea-contents {
    grid-template-columns: 1fr;
  }
}

/* 関連商品セクション（4件横並び → スマホで縦） */
.productDetailPage-wideBlock .ec-shelfGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.productDetailPage-wideBlock .ec-shelfGrid__item {
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  transition: all 0.2s ease;
}

.productDetailPage-wideBlock .ec-shelfGrid__item:hover {
  transform: translateY(-4px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.06);
}

/* トップページ カテゴリー名 */
.product-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.product-category-card {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
  border: 1px solid #eee;
  border-radius: 5px;
  padding: 1rem 1.4rem;
  text-decoration: none;
  color: #333;
  font-weight: 600;
  transition: 0.2s ease;
  font-size: 0.8rem;
}

.product-category-card:hover {
  background: #fff5e0;
  border-color: #f4b400;
  color: #000;
  transform: translateY(-2px);
}

/* 投稿　タイトル */
.p-postList__body .p-postList__title {
  color: #c30d25;
}

/* 商品一覧ページ */

.productListPage-title {
  display: flex;
  align-items: center;
  color: #c30d25;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 1.35px;
  border-bottom: 1px dashed #f5a32d;
  margin-bottom: 1.5rem;
  gap: 0.5rem;
}

.ec-shelfGrid__item a {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ec-shelfGrid__item-name {
  color: #000;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.495px;
  margin-top: 26px !important;
}

.ec-shelfGrid__item-desc {
  color: #000;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
}

.price02-default {
  color: #000;
  font-size: 14px;
  font-weight: 600;
  line-height: 16.328px;
  letter-spacing: 0.495px;
  margin-top: auto !important;
}

.ec-shelfGrid__item-category {
  color: #c30d25;
  font-size: 16px;
  font-weight: 600;
  line-height: 1;
  border-radius: 5px;
  background: #ffdbdb;
  display: flex;
  padding: 5px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin: 0.25rem 0.75rem 1rem;
}

/* 一覧ページサイドバー */

.prod-sidebar .prod-sidebar__inner {
  border: none;
  background: none;
}

.sideContents-title__link {
  color: #c30d25;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  border-radius: 6px;
  border: 1px dashed #c30d25;
  background: #fff;
  display: flex;
  width: 100%;
  padding: 27px 15.622px;
  justify-content: center;
  align-items: center;
  gap: 7.811px;
}

.sideIcon-arrow {
  width: 20px;
  height: auto;
  aspect-ratio: 1 / 1;
}

dt.sideContents-title {
  display: flex;
  padding: 8.071px 80px 10.929px 0;
  align-items: center;
  align-self: stretch;
  color: #404040;
  font-family: "Hiragino Kaku Gothic Pro";
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 1;
  border-bottom: 1px solid #f00;
}

.sideLinkList .sideLinkList-item a {
  display: flex;
  width: 100%;
  padding: 13px 23px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  flex-shrink: 0;
  color: #333;
  font-size: 16px;
  font-style: normal;
  font-weight: 300;
  line-height: 22px;
  letter-spacing: 1.35px;
  border-radius: 6px;
  border: 1px solid #f5a32d;
  background: #fff;
}

.sideLinkList-item.sideLinkList-item--tag {
  width: 100%;
}

.sideLinkList--tags {
  grid-template-columns: 1fr !important;
  place-items: center;
  width: 100%;
}

/* 商品詳細ページ */

.productDetailPage-leftBlock {
  width: 100%;
}

.slide-item img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.productDetailPage-wrap {
  display: grid;
  width: 100%;
  grid-template-columns: 271fr 421fr;
}

@media (max-width: 600px) {
  .productDetailPage-wrap {
    display: flex;
    width: 100%;
    flex-direction: column;
  }
}

.productDetailPage-priceNum {
  color: #000;

  font-size: 12px;
  font-weight: 300;
  line-height: 22px;
}

.ec-productRole__price {
  margin-top: 0;
}

.productDetailPage-specArea {
  grid-column: span 2 / span 2;
  width: 100%;
  display: flex;
  padding: 46px;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  border-radius: 6px;
  border: 1px solid #d0d0d0;
}

@media (max-width: 600px) {
  .productDetailPage-specArea {
    padding: 20px;
  }
}

.productDetailPage-specArea-contents,
.productDetailPage-rightBlock {
  width: 100%;
}

.productDetailPage-specArea-contents-main {
  text-align: end;
}

@media (max-width: 767px) {
  .productDetailPage-specArea-contents-main {
    text-align: start;
  }
}

.productDetailPage-specArea-contents:first-child {
  border-top: 0.75px solid #e2e0e0;
}

.prod-2col .prod-sidebar {
  position: relative;
  top: 0;
}

/* 投稿詳細カスタマイズ */

.single .w-singleTop {
  position: relative;
  top: -240px;
  margin: 0;
}

@media (max-width: 500px) {
  .single .w-singleTop {
    top: -250px;
  }
}

@media (max-width: 400px) {
  .single .w-singleTop {
    top: -230px;
  }
}

.single .c-categoryList:before {
  display: none;
}

.single .c-categoryList__link {
  background-color: transparent;
  border-radius: 3.847px;
  border: 0.641px solid #f5a32d;
  color: #333;
  padding: 8px 21px;
}

.c-postTimes__posted.icon-posted {
  font-weight: 700;
}

.single .p-pnLinks__link {
  padding: 0;
}

.p-pnLinks .-prev .p-pnLinks__link {
  /* padding-left: 5rem; */
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: #c30d25;
  font-weight: 600;
  letter-spacing: 1.35px;
  padding: 0;
}

.p-pnLinks .-prev .p-pnLinks__link:before,
.p-pnLinks .-next .p-pnLinks__link:after {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 2px solid #c30d25;
  width: 4rem;
  height: auto;
  aspect-ratio: 1/ 1;
  border-radius: 50%;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}

.p-pnLinks .-prev .p-pnLinks__link:before {
  content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.219597 5.19358L4.4624 9.43638L5.5229 8.37588L1.8104 4.66338L5.5229 0.950882L4.4624 -0.109619L0.219597 4.13308C0.0789969 4.27378 0 4.46448 0 4.66338C0 4.86228 0.0789969 5.05298 0.219597 5.19358Z' fill='%23C30D25'/%3E%3C/svg%3E") !important;
}

.p-pnLinks .-next .p-pnLinks__link:after {
  content: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='10' viewBox='0 0 6 10' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.3032 5.19358L1.0605 9.43638L0 8.37588L3.7125 4.66338L0 0.950882L1.0605 -0.109619L5.3032 4.13308C5.4438 4.27378 5.5228 4.46448 5.5228 4.66338C5.5228 4.86228 5.4438 5.05298 5.3032 5.19358Z' fill='%23C30D25'/%3E%3C/svg%3E") !important;
}

.p-pnLinks .-prev:before {
  display: none;
}

.p-pnLinks .-next .p-pnLinks__link {
  /* padding-left: 5rem; */
  display: flex;
  align-items: center;
  gap: 1.5rem;
  color: #c30d25;
  font-weight: 600;
  letter-spacing: 1.35px;
  padding: 0;
}

@media (max-width: 600px) {
  .p-pnLinks .-next .p-pnLinks__link:after,
  .p-pnLinks .-prev .p-pnLinks__link:before {
    width: 2rem;
    height: 2rem;
  }

  .p-pnLinks .-next .p-pnLinks__link,
  .p-pnLinks .-prev .p-pnLinks__link {
    gap: 0.5rem;
  }
}

.p-pnLinks .-next:before {
  display: none;
}

/* 親要素：SWELLの標準スタイルをリセットしてFlexを適用 */
.l-articleBottom__title.c-secTitle {
  display: flex !important;
  color: #c30d25;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;

  position: relative;
  border: none !important;
  padding: 0 !important;
}

/* 疑似要素：Flexアイテムとして配置 */
.l-articleBottom__title.c-secTitle::before {
  content: "";
  flex-shrink: 0;
  display: block;
  width: 14px;
  height: 20px;

  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="20" viewBox="0 0 14 20" fill="none"><path d="M6.70833 0C4.92917 0 3.22288 0.706769 1.96483 1.96483C0.706769 3.22288 0 4.92917 0 6.70833C0 8.98917 1.14042 10.9921 2.875 12.2092V14.375C2.875 14.6292 2.97597 14.8729 3.15569 15.0526C3.33541 15.2324 3.57917 15.3333 3.83333 15.3333H9.58333C9.8375 15.3333 10.0813 15.2324 10.261 15.0526C10.4407 14.8729 10.5417 14.6292 10.5417 14.375V12.2092C12.2762 10.9921 13.4167 8.98917 13.4167 6.70833C13.4167 4.92917 12.7099 3.22288 11.4518 1.96483C10.1938 0.706769 8.48749 0 6.70833 0ZM3.83333 18.2083C3.83333 18.4625 3.9343 18.7063 4.11402 18.886C4.29375 19.0657 4.5375 19.1667 4.79167 19.1667H8.625C8.87917 19.1667 9.12292 19.0657 9.30264 18.886C9.48237 18.7063 9.58333 18.4625 9.58333 18.2083V17.25H3.83333V18.2083Z" fill="%23C30D25"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;

  position: static !important;
  transform: none !important;
  margin: 0 !important;
}

/* もし後ろ側（::after）に何か線や点が出ている場合は消す */
.l-articleBottom__title.c-secTitle::after {
  content: none !important;
}

/* SWELL標準の装飾（afterの線など）が不要な場合は消す */
.l-articleBottom__title.c-secTitle::after {
  display: none !important;
}

.single .l-content {
  background-color: #fff;
  margin-top: 100px;
}

.single#body_wrap {
  background-color: #fbfaef;
}

/* 1. まずは全ページでウィジェット（ブログパーツ）を非表示にする */

/* 2. 投稿ページ（.single）の時だけ表示させる */
.single #before_footer_widget {
  display: block !important;
  /* または absolute を使っているなら指定不要ですが、念のため */
}

#before_footer_widget,
.single-guide #before_footer_widget {
  display: none !important;
}

.single #breadcrumb {
  display: none;
}

/* ボタンカスタマイズ */

.single .swell-block-button__link {
  padding: 23px !important;
  white-space: nowrap;
}

.single .max-width-300 a {
  min-width: fit-content;
  width: 100% !important;
  max-width: clamp(260px, 10vw + 200px, 300px) !important;
}

.single-guide .max-width-465 a {
  min-width: fit-content;
  width: 100% !important;
  max-width: clamp(260px, 10vw + 200px, 465px) !important;
}

@media (min-width: 600px) {
  .single .margin-left-auto {
    margin: 0 0 0 auto !important;
  }

  .single .margin-right-auto {
    margin: 0 auto 0 0 !important;
  }
}

/* ご利用ガイド詳細スタイル */

.single-guide#body_wrap {
  background-color: #fff;
}

.guidePage-title {
  display: flex;
  align-items: center;
  color: #c30d25;
  font-size: 26px;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 1.35px;
  margin-bottom: 1.5rem;
  gap: 0.5rem;
}

.guidePage_content {
  padding-bottom: 40px;
}

.top_content {
  position: absolute;
  top: -100px;
  left: calc(-50vw + 50%);
}

.single-guide .guidePage-title {
  color: #c30d25;
  font-family: "Noto Sans JP";
  font-size: 26px;
  font-weight: 600;
  line-height: 40.5px;
  /* 155.769% */
  letter-spacing: 1.35px;
}

.single-guide h2 {
  color: #c30d25;
  font-weight: 600;
  line-height: 16.328px;
  letter-spacing: 0.495px;
}

.single-guide
  .post_content
  h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  display: none;
}

.single-guide
  .post_content
  h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
  padding: 8px 20px;
  border-bottom: 2px dashed #fcc92c;
  text-align: center;
}

.single-guide .sideContents-title {
  border-bottom: none;
}
/* ============================
   スライダー全体
   ============================ */
.splide__list {
  height: auto !important;
}