@charset "UTF-8";

/*
  default.css — 皮の但馬屋 ショップサーブ テンプレート用
  tajimaya-white.css の CSS変数を参照
  ヘッダー・フッターは tajimaya-white.css が担当
*/

/* =============================================
   リセット
   ============================================= */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { overflow-y: scroll; height: 100%; }
body {
  margin: 0; padding: 0;
  color: var(--charcoal, #2c2520);
  font-size: 15px;
  line-height: 1.6;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  background-color: var(--white, #fff);
  height: 100%;
  word-wrap: break-word;
  font-family: var(--ff-sans, 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif);
}
div, dl, dt, dd, ul, ul li, ol, ol li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, p, blockquote, th, td,
section, nav, article, aside, hgroup, header, address, figure, figcaption {
  margin: 0; padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal; font-weight: normal;
}
table { border-collapse: collapse; border-spacing: 0; width: 100%; }
caption, th { text-align: left; }
q::before, q::after { content: ''; }
hr { display: none; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; }
img, abbr, acronym, fieldset { border: 0; }
img {
  -ms-interpolation-mode: bicubic;
  border: none;
  vertical-align: top;
  line-height: 0;
  max-width: 100%;
  height: auto;
  width: auto;
}
ul li, ol li { list-style-type: none; }
input[type="text"], input[type="password"] {
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box;
  font-family: var(--ff-sans, sans-serif);
  padding: 0 2%;
}
select {
  background-color: var(--white, #fff);
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box;
}
textarea {
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box;
  padding: 2%;
}
a { outline: none; text-decoration: none; }
a:link, a:visited { color: var(--charcoal, #2c2520); text-decoration: none; }
a:hover { color: var(--gold, #9a7d52); text-decoration: none; }
a:hover img {
  opacity: .80;
  cursor: pointer;
  transition: opacity .3s;
}
a:active { text-decoration: none; color: var(--gold, #9a7d52); }
input[type="button"], input[type="submit"], input[type="image"] {
  -webkit-appearance: none;
  border-radius: 0;
  box-sizing: border-box;
}
input[type="radio"], input[type="checkbox"] {
  position: relative; top: 3px;
}

/* ヘッダー固定分の余白（tajimaya-white.cssで定義） */

/* =============================================
   ラッパー・コンテンツエリア
   ============================================= */
#wrapper {
  width: 100%;
  background-color: var(--white, #fff);
  min-height: 100%;
}
#contents {
  width: min(1200px, 100%);
  margin: 0 auto;
  padding: 32px 16px 40px;
  overflow: auto;
  padding-top: calc(var(--header-h, 90px) + 24px);
}
@media (max-width: 768px) {
  #contents {
    padding-top: calc(var(--header-h, 70px) + 16px);
  }
}
#sub-column {
  box-sizing: border-box;
  float: left;
  margin-right: 40px;
  padding-bottom: 80px;
  word-break: break-all;
  width: 240px;
}
#main-column {
  box-sizing: border-box;
  float: right;
  width: calc(100% - 280px);
}
#main-column-full {
  width: 100%;
  margin: 0 auto 60px;
}

/* =============================================
   見出し
   ============================================= */
article h1 {
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  border: none;
  font-size: 140%;
  color: var(--dark, #1a1612);
  letter-spacing: 0.05em;
  padding: 0 0 10px;
  margin-bottom: 20px;
}
article h2 {
  background: none;
  font-size: 80%;
}
#main-column h2 {
  border: none;
  font-size: 140%;
  color: var(--dark, #1a1612);
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  letter-spacing: 0.08em;
  padding: 0 0 10px;
  margin-bottom: 24px;
  border-bottom: 1px solid var(--border, #e0dbd3);
  background: none;
}
@media screen and (max-width: 768px) {
  #main-column h2 { font-size: 120%; }
}

/* =============================================
   パンくずリスト
   ============================================= */
#bread-crumb { margin: 0 0 20px; }
#bread-crumb-listTop ol, .bread-crumb-listCate ol {
  width: 100%; margin: 0; padding: 0; overflow: hidden;
}
#bread-crumb-listTop ol li, .bread-crumb-listCate ol li {
  float: left;
  font-size: 11px;
  letter-spacing: 0.03em;
  padding: 0 10px 0 13px;
  color: var(--text-dim, #888);
  background: url(/hpgen/HPB/theme/img/breadcrumb_bg.gif) no-repeat left center;
}
#bread-crumb-listTop ol li:first-child { background: none; padding-left: 0; }
#bread-crumb ol li a { color: var(--text-sub, #5a524a); }
#bread-crumb ol li a:hover { color: var(--gold, #9a7d52); }

/* =============================================
   商品一覧
   ============================================= */
.newItem .column-set, #itemList .column-set,
.pickup .column-set, .ranking .column-set, .recommend .column-set {
  width: 100%; overflow: hidden;
}
.column4 {
  float: left; width: 22%; margin: 0 4% 24px 0; padding-bottom: 20px;
}
.column4:nth-child(4n) { margin: 0 0 24px; }
.column4:nth-child(4n+1) { clear: both; }
.column5 {
  float: left; width: 16%; margin: 0 5% 20px 0; padding-bottom: 10px;
}
.column5:nth-child(5n) { margin: 0 0 20px; }
.column5:nth-child(5n+1) { clear: both; }
.column4 .itemThumb-wrap, .column5 .itemThumb-wrap { margin: 0 0 10px; }
.column4 .itemThumb, .column5 .itemThumb { margin-bottom: 5px; text-align: center; }
.column4 .itemThumb a, .column5 .itemThumb a { height: 100%; width: 100%; display: block; }
.column4 .itemThumb a img, .column5 .itemThumb a img {
  height: 100%; max-height: 100%; max-width: 100%; width: 100%;
}
.column4 h3, .column5 h3 {
  font-size: 12px;
  font-family: var(--ff-sans, sans-serif);
  line-height: 1.4;
  margin-bottom: 8px;
  color: var(--dark, #1a1612);
  font-weight: 400;
}

/* 商品一覧の商品名（写真のみ表示時） */
article #main-column #itemList section.column4 h2,
article #main-column #itemList section.column5 h2 {
  font-size: 12px !important;
  font-family: var(--ff-sans, sans-serif) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  height: auto !important;
  letter-spacing: 0 !important;
  margin-bottom: 6px !important;
  color: var(--dark, #1a1612) !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
}

/* お気に入りボタン */
#itemList .column4 .sps-wishAddItem,
#itemList .column5 .sps-wishAddItem,
#itemList .column4 .sps-wishAddItemOk,
#itemList .column5 .sps-wishAddItemOk {
  text-align: right;
  margin-top: 4px;
}
#itemList .column4 .sps-wishAddItem img,
#itemList .column5 .sps-wishAddItem img,
#itemList .column4 .sps-wishAddItemOk img,
#itemList .column5 .sps-wishAddItemOk img {
  width: auto !important;
  height: auto !important;
  max-width: 80px !important;
  max-height: 24px !important;
  display: inline-block !important;
  margin-left: auto;
}
.column4 p, .column5 p { font-size: 12px; text-align: right; }
.column4 img, .column5 img { vertical-align: bottom; }
.column4 p.price, .column5 p.price,
.column4 p.fx_price, .column5 p.fx_price { text-align: right; }
p.price span.selling_price, p.price span.taxin { color: var(--charcoal, #2c2520); }
.column4 p.sp_price, .column5 p.sp_price { color: var(--gold-dim, #7a6040); text-align: right; }
p.sp_price span.special_price, p.sp_price span.selling_price,
p.sp_price span.taxin { color: var(--gold-dim, #7a6040); }
.column4 p.inner-catch, .column5 p.inner-catch {
  line-height: 1.5; text-align: left; margin-bottom: 7px; color: var(--text-sub, #5a524a);
}
.column3 .badge, .column4 .badge, .column5 .badge {
  height: 35px; padding: 4px 0 0 4px; position: absolute; width: 35px; z-index: 10;
}

/* 在庫確認ボタン */
.column4 p.sps-itemList-stockDisp a, .column5 p.sps-itemList-stockDisp a {
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box;
  display: block;
  padding: 4px 8px;
  text-align: center;
  font-size: 12px;
  color: var(--charcoal, #2c2520);
  transition: background 0.2s, color 0.2s;
}
.column4 p.sps-itemList-stockDisp a:hover { background: var(--dark); color: #fff; }

/* 新着・ピックアップ・ランキング */
.newItem { position: relative; margin-bottom: 40px; }
.pickup { position: relative; margin-bottom: 40px; }
.ranking { position: relative; }
.ranking .column5 { margin-bottom: 20px; }
.ranking .column5 .itemThumb { position: relative; }

/* ページャー */
#itemList_wrap #pager-top { width: 100%; padding: 30px 0 0; overflow: hidden; }
#itemList_wrap #pager-bm { border-top: 1px solid var(--border, #e0dbd3); overflow: hidden; padding: 15px 0 30px; width: 100%; }
#itemList_wrap #pager-top ul, #itemList_wrap #pager-bm ul { overflow: hidden; }
#itemList_wrap #pager-top ul li, #itemList_wrap #pager-bm ul li {
  float: left; padding: 0 4px; font-size: 12px; color: var(--text-sub, #5a524a);
}
#pager-top ul li.selected, #pager-bm ul li.selected {
  font-weight: 700; color: var(--gold, #9a7d52);
}
#itemList_wrap #pager-top .selectbox { margin-bottom: 10px; font-size: 12px; }
#itemList_wrap #pager-top .pagerlist, #itemList_wrap #pager-bm .pagerlist { float: right; }
#itemList_wrap #pager-top .quantity, #itemList_wrap #pager-bm .quantity {
  float: left; font-size: 12px; color: var(--text-sub, #5a524a);
}

/* =============================================
   ハーフコンテンツ
   ============================================= */
.half-cont_wrap01, .half-cont_wrap02 { overflow: hidden; }
.half-cont { float: left; width: 48%; margin-right: 4%; }
.half-cont:nth-child(2n) { float: left; width: 48%; margin-right: 0; }

/* =============================================
   お知らせ
   ============================================= */
.news { padding-bottom: 20px; margin-bottom: 30px; }
.news .news-contents { overflow: hidden; padding: 5px 0 0; }
dl.news-box {
  font-size: 13px;
  color: var(--charcoal, #2c2520);
  padding: 12px 0;
  border-bottom: 1px solid var(--border, #e0dbd3);
}
.news-box dd { line-height: 1.6; }
.news-box dd a { color: var(--charcoal, #2c2520); }
.news-box dd a:hover { color: var(--gold, #9a7d52); }

/* =============================================
   カテゴリ・グループ
   ============================================= */
#main-column .group, #main-column .category { padding-bottom: 20px; margin-bottom: 30px; }
.category h3 {
  border-bottom: 1px solid var(--border, #e0dbd3);
  color: var(--text-sub, #5a524a);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  padding: 0 0 5px;
  margin: 5px 0 15px;
}
.group ul { line-height: 2; margin-top: -5px; }
.group ul li {
  display: inline-block; font-size: 13px; padding: 0 17px 0 0;
  background: url(/hpgen/HPB/theme/img/slash_000.gif) no-repeat right center;
}
.group ul li:last-child { background-image: none; padding: 0; }
.category ul { line-height: 1.4; }
.category ul li {
  display: inline-block; font-size: 12px;
  padding: 0 3px 0 12px;
  background: url(/hpgen/HPB/theme/img/slash_000.gif) no-repeat left center;
}
.category ul li:first-child { background-image: none; padding: 0 3px 0 0; }

/* =============================================
   サイドバー
   ============================================= */
#sub-column { background: var(--white, #fff); }
#sub-column section { margin-bottom: 28px; border: none; }
#sub-column h2 {
  font-family: var(--ff-sans, sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--dark, #1a1612);
  padding: 10px 0 10px 10px;
  margin-bottom: 12px;
  border-left: 3px solid var(--gold, #9a7d52);
  border-bottom: 1px solid var(--border, #e0dbd3);
  background: var(--off-white, #f9f7f4);
  text-transform: none;
}
#sub-column .group, #sub-column .category, #sub-column #followUs, #sub-column .newItem, #sub-column .link {
  border: none; left: 0; margin: 0; padding: 0; top: 0; width: 100%;
}
#sub-column .category { margin-bottom: 32px; }
#sub-column .group nav, #sub-column .category nav, #sub-column .link nav {
  border-top: none; margin-bottom: 16px;
}
#sub-column .group nav ul li, #sub-column .category nav ul li, #sub-column .link nav ul li {
  background-image: none;
  border-bottom: 1px solid var(--border, #e0dbd3);
  background-color: var(--white, #fff);
  display: block;
  font-size: 12px;
  padding: 0;
}
#sub-column .group nav ul li:first-child,
#sub-column .category nav ul li:first-child,
#sub-column .link nav ul li:first-child {
  border-top: 1px solid var(--border, #e0dbd3);
}
#sub-column .group nav ul li a,
#sub-column .category nav ul li a,
#sub-column .link nav ul li a {
  color: var(--charcoal, #2c2520);
  display: block;
  padding: 8px 8px 8px 16px;
  position: relative;
  line-height: 1.4;
}
#sub-column .group nav ul li a::before,
#sub-column .category nav ul li a::before,
#sub-column .link nav ul li a::before {
  content: '›';
  position: absolute;
  left: 4px;
  color: var(--gold, #9a7d52);
}
#sub-column .group nav ul li a:hover,
#sub-column .category nav ul li a:hover,
#sub-column .link nav ul li a:hover {
  color: var(--gold, #9a7d52);
  opacity: 1;
}
/* 第2階層 */
#sub-column .category nav ul li.cat2 a {
  display: block;
  padding: 5px 4px 5px 24px;
  color: var(--text-sub, #888);
  font-size: 11px;
}
/* sps-itemListAllCategory */
#sub-column .sps-itemCategoryMain li.cat1 .sitelink a {
  font-size: 12px;
  font-weight: 600;
  color: var(--charcoal, #2c2520);
  display: block;
  padding: 9px 8px 9px 0;
  border-bottom: 1px solid var(--border, #e0dbd3);
}
#sub-column .sps-itemCategoryMain li.cat1 .sitelink a:hover { color: var(--gold, #9a7d52); }
#sub-column .sps-itemCategorySub li.cat2 .sitelink a {
  font-size: 11px;
  color: var(--text-sub, #888);
  display: block;
  padding: 4px 4px 4px 20px;
  border-bottom: 1px solid var(--border, #e0dbd3);
}
#sub-column .sps-itemCategorySub li.cat2 .sitelink a:hover { color: var(--gold, #9a7d52); }

/* サイドナビ 商品カテゴリ */
#sub-column .category {
  margin-bottom: 34px;
}

#sub-column .category h3 {
  margin: 20px 0 8px;
  padding: 0 0 7px;
  border-bottom: 2px solid var(--border, #e0dbd3);
  color: var(--dark, #1a1612);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.5;
}

#sub-column .category h3:first-of-type {
  margin-top: 0;
}

#sub-column .category nav ul,
#sub-column .category ul {
  margin: 0;
  padding: 0;
  line-height: 1.5;
}

#sub-column .category nav ul li,
#sub-column .category ul li {
  display: block;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--border, #e0dbd3);
  background: none;
}

#sub-column .category nav ul li:first-child,
#sub-column .category ul li:first-child {
  border-top: 0;
}

#sub-column .category nav ul li a,
#sub-column .category ul li a,
#sub-column .category nav ul li a:link,
#sub-column .category nav ul li a:visited,
#sub-column .category ul li a:link,
#sub-column .category ul li a:visited {
  display: block;
  position: relative;
  padding: 8px 8px 8px 18px;
  color: var(--charcoal, #2c2520);
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.55;
  text-decoration: none;
  background: #fff;
  transition: color 0.18s, background-color 0.18s, padding-left 0.18s;
}

#sub-column .category nav ul li a::before,
#sub-column .category ul li a::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--gold, #9a7d52);
  opacity: 0.65;
  transform: translateY(-50%);
}

#sub-column .category nav ul li a:hover,
#sub-column .category ul li a:hover {
  padding-left: 22px;
  color: var(--gold-dim, #7a6040);
  background: var(--off-white, #f9f7f4);
}

#sub-column .category nav ul li.cat2 a,
#sub-column .category ul li.cat2 a,
#sub-column .sps-itemCategorySub li.cat2 .sitelink a {
  padding-left: 24px;
  color: var(--text-sub, #5a524a);
  font-size: 12px;
}

#sub-column .category nav ul li.cat2 a::before,
#sub-column .category ul li.cat2 a::before,
#sub-column .sps-itemCategorySub li.cat2 .sitelink a::before {
  left: 12px;
  width: 3px;
  height: 3px;
  opacity: 0.45;
}

#sub-column .category nav ul li.cat2 a:hover,
#sub-column .category ul li.cat2 a:hover,
#sub-column .sps-itemCategorySub li.cat2 .sitelink a:hover {
  padding-left: 28px;
}

/* 検索ボックス（サイド） */
.leftSearch { box-sizing: border-box; margin: 0; overflow: hidden; }
.leftSearch #searchbox_wrap { margin: 15px 0; width: 100%; }
.leftSearch #searchbox { overflow: hidden; margin: 0 auto; width: 100%; }
.leftSearch #searchbox form {
  height: 48px; position: relative; width: 100%;
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box;
}
.leftSearch #searchbox input.searchbox {
  background: var(--white, #fff);
  border: none;
  box-sizing: border-box;
  height: 46px;
  padding: 0 60px 0 10px;
  width: 100%;
  font-size: 13px;
  color: var(--charcoal, #2c2520);
}
.leftSearch #searchbox input.searchSubmit {
  background-color: var(--dark, #1a1612);
  height: 48px;
  position: absolute;
  right: 0; top: 0;
  width: 56px;
  filter: invert(1);
}

/* カレンダー */
#subc_calendar { background-color: var(--light, #f2eeea); margin-bottom: 20px; width: 100%; }
div.subc_cal_cont { background-color: var(--white, #fff); }
div#subc_calendar h2 {
  padding: 16px 0 8px; position: relative; text-align: left;
  background: none; color: var(--charcoal, #2c2520); display: block;
  font-size: 11px; letter-spacing: 0.15em;
}
div#subc_calendar h2::before { content: "CALENDAR"; }
div.cal_wrapper { padding: 7px 2% 0; }
div.cal_wrapper table.cal { width: 100%; line-height: 1.4; font-size: 11px; }
div.cal_wrapper table.cal th {
  height: 20px;
  position: relative;
  text-align: center;
}
div.cal_wrapper table.cal tr th p.month {
  font-size: 11px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 100%;
  line-height: 20px;
}
div.cal_wrapper table.cal tr th input {
  border: none;
  background-color: transparent;
  cursor: pointer;
  position: absolute;
  top: 0;
  height: 20px;
  width: 20px;
  z-index: 2;
}
div.cal_wrapper table.cal tr th input.prev {
  left: 0;
  background: url(/hpgen/HPB/theme/img/calendar_pleft.gif) no-repeat center center transparent;
}
div.cal_wrapper table.cal tr th input.next {
  right: 0;
  background: url(/hpgen/HPB/theme/img/calendar_pright.gif) no-repeat center center transparent;
}
div.cal_wrapper table.cal tr td { border: solid 1px var(--border, #e0dbd3); text-align: center; }
div.cal_wrapper table.cal tr td div.Holyday { background-color: var(--gold, #9a7d52); color: #fff; }
div.cal_wrapper table.cal tr td div.backward { color: var(--text-dim, #888); background-color: var(--white, #fff); }
div.cal_wrapper table.cal tr td div.pointer:hover { background-color: var(--light, #f2eeea); }
div.subc_cal_cont .cap { font-size: 11px; padding: 0 2%; }
div.subc_cal_cont .cap ul { margin: 3px 0 0; }
div.subc_cal_cont .cap li { display: inline-block; line-height: 1.6; overflow: hidden; }

/* メルマガ */
#sub-column #snav_mailMag { background-color: var(--light, #f2eeea); margin-bottom: 20px; width: 100%; }
#sub-column div.snav_mailMag_cont { padding: 12px; text-align: center; }
#sub-column div.snav_mailMag_cont p {
  font-size: 11px; line-height: 1.6; color: var(--text-sub, #888); text-align: left; margin-bottom: 10px;
}
#sub-column div.snav_mailMag_cont input.mailAddress {
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box; display: inline-block;
  height: 38px; width: 75%; vertical-align: middle;
  background: var(--white, #fff);
}
#sub-column div.snav_mailMag_cont input.mailAddress:focus {
  border-color: var(--gold, #9a7d52); outline: none;
}
#sub-column div.snav_mailMag_cont input.submit_mailMag {
  background-color: var(--dark, #1a1612); border: none;
  box-sizing: border-box; color: #fff; font-size: 11px;
  margin-left: -4px; height: 38px; width: 22%;
  cursor: pointer; vertical-align: middle;
  transition: background 0.2s;
}
#sub-column div.snav_mailMag_cont input.submit_mailMag:hover { background-color: var(--gold, #9a7d52); }
#sub-column div.snav_mailMag_cont p:last-child {
  background-color: var(--white, #fff);
  border: 1px solid var(--border, #e0dbd3);
  box-sizing: border-box; height: 2.8em; line-height: 2.8em; margin: 10px 0 0; font-size: 12px;
}
#sub-column #snav_followUs { padding: 0; margin-bottom: 20px; }
#sub-column #snav_followUs nav ul { overflow: hidden; display: flex; gap: 6px; flex-wrap: wrap; }
#sub-column #snav_followUs nav ul li { float: none; margin: 0; padding: 0; }
#subc_freeArea { margin: 0 0 20px; }
#sub-column img { max-width: 100%; height: auto; display: block; }
#sub-column a img:hover { opacity: 0.8; transition: opacity 0.2s; }

/* =============================================
   商品詳細ページ
   ============================================= */
/* 商品詳細 2カラムレイアウト（PC: 画像左・カート右） */
#itemDetail-cont { overflow: visible; }
#itemDetail-cont form.shopping_form {
  display: flex;
  flex-wrap: nowrap;
  gap: 40px;
  align-items: flex-start;
}
#itemDetail-cont .itemThumb-wrap {
  flex: 0 0 46%;
  max-width: 480px;
  min-width: 240px;
  width: auto;
  margin: 0;
  float: none;
}
.itemThumb-main { text-align: left; }
#itemDetail-cont .itemThumb-wrap .itemThumb-main img { height: auto; margin: 0 0 5px; }
#itemDetail-cont .itemThumb-wrap .itemThumb ul {
  display: grid;
  grid-template-columns: repeat(6, 1fr); /* PC: 6列固定 */
  gap: 5px;
  overflow: visible;
}
#itemDetail-cont .itemThumb-wrap .itemThumb ul li {
  float: none;
  padding: 0; margin: 0;
  aspect-ratio: 1;
  height: auto; width: auto;
  overflow: hidden;
}
#itemDetail-cont .itemThumb-wrap .itemThumb ul li a {
  display: block;
  width: 100%; height: 100%;
}
#itemDetail-cont .itemThumb-wrap .itemThumb ul li img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
#itemDetail-cont .itemOutline {
  flex: 1 1 0;
  min-width: 0;
  width: auto;
  float: none;
}
article#Detail #main-column h1 {
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  background: none; border: none;
  font-size: 120%; font-weight: 400;
  color: var(--dark, #1a1612);
  height: auto; line-height: 1.5;
  margin-bottom: 20px; padding: 0;
  letter-spacing: 0.04em;
}

/* 価格 */
section#itemDetail-wrap table.price { line-height: 1.8; margin: 0 0 20px; }
section#itemDetail-wrap table.price th { font-size: 13px; padding: 0 0 1px; color: var(--text-sub, #5a524a); }
section#itemDetail-wrap table.price td { font-size: 13px; }
table.price tr.price span.selling_price, table.price tr.price span.taxin {
  color: var(--charcoal, #2c2520);
  font-size: 120%; font-weight: 700; margin-bottom: 3px;
  font-family: var(--ff-en, 'Montserrat', sans-serif);
}
table.price tr.sp_price span.special_price,
table.price tr.sp_price span.taxin {
  color: var(--gold-dim, #7a6040);
  font-size: 120%; font-weight: 700; margin-bottom: 3px;
  font-family: var(--ff-en, 'Montserrat', sans-serif);
}
table.price tr.fx_price span.strike span.fixed_price,
table.price span.strike { text-decoration: line-through; }

/* スペックテーブル */
section#itemDetail-wrap table.spec {
  line-height: 1.8; margin: 15px 0; font-size: 13px;
  font-family: var(--ff-sans, sans-serif);
}
section#itemDetail-wrap table.spec th {
  line-height: 1.4; padding: 5px 5px 5px 0;
  vertical-align: top; width: 40%;
  color: var(--text-sub, #5a524a); font-weight: 400;
}
section#itemDetail-wrap table.spec td {
  line-height: 1.6; padding: 5px 5px 5px 0; color: var(--charcoal, #2c2520);
}

/* アイコン（NEW / PICK UP 等） */
#pi_cart .icons { margin-bottom: 12px; }
#pi_cart .icons ul.ico_itemType {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
#pi_cart .icons ul.ico_itemType li {
  float: none;
  display: flex;
  align-items: center;
}
/* icon img はJSでバッジに置き換えるため非表示 */
#pi_cart .icons ul.ico_itemType li img { display: none; }

/* カートに追加ボタン（input[type="image"]） */
section#itemDetail-wrap .cartArea input[type="image"] {
  height: 48px;
  width: auto;
  max-width: 220px;
  display: block;
  margin-top: 14px;
  cursor: pointer;
  transition: opacity 0.2s;
}
section#itemDetail-wrap .cartArea input[type="image"]:hover {
  opacity: 0.8;
}

/* バリエーションテーブル */
section#itemDetail-wrap .cartArea table.variation {
  table-layout: auto;
  width: 100%;
}
section#itemDetail-wrap .cartArea table.variation th {
  background: var(--light, #f2eeea);
  border: 1px solid var(--border, #e0dbd3);
  font-size: 12px; font-weight: 500;
  padding: 6px 8px; text-align: center;
  color: var(--charcoal, #2c2520);
  white-space: nowrap;
}
section#itemDetail-wrap .cartArea table.variation td {
  font-size: 12px; padding: 5px 7px; text-align: center;
  border: 1px solid var(--border, #e0dbd3);
  color: var(--charcoal, #2c2520);
  white-space: nowrap; /* ダークブラウン等の折り返しを防ぐ */
}
/* 購入ボタン列は折り返し許可 */
section#itemDetail-wrap .cartArea table.variation th:last-child,
section#itemDetail-wrap .cartArea table.variation td:last-child {
  white-space: normal;
  width: 1%;          /* ボタン幅に合わせて縮める */
}
/* バリエーション内カートボタン（JSで置き換え後） */
.cart-var-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 9px 12px;
  background: var(--dark, #1a1612);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.04em;
  font-family: var(--ff-sans, sans-serif);
  white-space: nowrap;
  transition: background 0.2s;
  box-sizing: border-box;
}
.cart-var-btn:hover { background: var(--gold, #9a7d52); }
.cart-var-btn .cv-icon {
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}
.cart-var-btn .cv-text { line-height: 1; }
section#itemDetail-wrap .cartArea table.variation span.nostock { color: #c00; }
section#itemDetail-wrap .cartArea tr.t-variation { background-color: var(--light, #f2eeea); }

/* 返品についての詳細はこちら（p.cancel内リンク） */
#pi_cart p.cancel { margin: 8px 0; }
#pi_cart p.cancel a,
#pi_cart p.cancel a:link,
#pi_cart p.cancel a:visited {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-dk, #c8bfb5);
  padding: 10px 16px;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--charcoal, #2c2520);
  background: var(--white, #fff);
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  box-sizing: border-box;
}
#pi_cart p.cancel a:hover {
  background: var(--light, #f2eeea);
  border-color: var(--gold, #9a7d52);
  color: var(--gold, #9a7d52);
}

/* NEW / PICK UP バッジ（JSで置き換え後） */
#pi_cart .icons ul.ico_itemType li .item-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ff-en, 'Montserrat', sans-serif);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  padding: 4px 9px;
  line-height: 1;
}
#pi_cart .icons ul.ico_itemType li .item-badge.badge-new {
  background: #e0468c;
  color: #fff;
}
#pi_cart .icons ul.ico_itemType li .item-badge.badge-pickup {
  background: transparent;
  color: var(--dark, #1a1612);
  border: 1.5px solid var(--dark, #1a1612);
}
#pi_cart .icons ul.ico_itemType li .item-badge.badge-sale {
  background: #c00;
  color: #fff;
}
#pi_cart .icons ul.ico_itemType li .item-badge.badge-recommend {
  background: var(--gold, #9a7d52);
  color: #fff;
}
#pi_cart .icons ul.ico_itemType li .item-badge.badge-soldout {
  background: var(--mid, #c8bfb5);
  color: var(--dark, #1a1612);
}

/* infoArea（お問い合わせ・メールで紹介・リンクをコピー） */
#pi_cart ul.infoArea {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}
#pi_cart ul.infoArea li {
  display: block;
}
/* 3つ目（リンクをコピー）は2列フル幅 */
#pi_cart ul.infoArea li:nth-child(3) {
  grid-column: 1 / -1;
}
/* GIF画像は非表示 → CSSテキストボタンに置き換え */
#pi_cart ul.infoArea li a img {
  display: none;
}
#pi_cart ul.infoArea li a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--border-dk, #c8bfb5);
  padding: 10px 16px;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: var(--charcoal, #2c2520);
  background: var(--white, #fff);
  transition: background 0.2s, border-color 0.2s, color 0.2s;
  box-sizing: border-box;
  cursor: pointer;
}
#pi_cart ul.infoArea li a:link,
#pi_cart ul.infoArea li a:visited {
  color: var(--charcoal, #2c2520);
}
#pi_cart ul.infoArea li a:hover {
  background: var(--light, #f2eeea);
  border-color: var(--gold, #9a7d52);
  color: var(--gold, #9a7d52);
}
/* ボタンテキスト＆アイコン */
#pi_cart ul.infoArea li:nth-child(1) a::before { content: "💬"; font-size: 14px; }
#pi_cart ul.infoArea li:nth-child(1) a::after  { content: "お問い合わせ"; }
#pi_cart ul.infoArea li:nth-child(2) a::before { content: "✉"; font-size: 14px; }
#pi_cart ul.infoArea li:nth-child(2) a::after  { content: "メールで紹介"; }
/* リンクをコピーボタン（JS追加） */
#pi_cart ul.infoArea li:nth-child(3) a::before { content: "🔗"; font-size: 14px; }
#pi_cart ul.infoArea li:nth-child(3) a::after  { content: "リンクをコピー"; }
#pi_cart ul.infoArea li:nth-child(3) a[data-copied]::before { content: "✓"; color: #2a9d5c; }
#pi_cart ul.infoArea li:nth-child(3) a[data-copied]::after  { content: "コピーしました"; color: #2a9d5c; }
#pi_cart ul.infoArea li:nth-child(3) a[data-copied] {
  border-color: #2a9d5c;
  background: #f0faf4;
}

/* 商品説明文 */
section#itemDetail-wrap .description { margin: 20px 0 0; width: 100%; padding: 0; }
section#itemDetail-wrap .description p {
  font-size: 14px; line-height: 1.85; color: var(--dark, #1a1612);
}

/* 商品説明テーブル（cellspacing/border属性をCSSで上書き） */
section#itemDetail-wrap .description table {
  width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 16px 0;
  font-size: 13px;
  line-height: 1.75;
  font-family: var(--ff-sans, sans-serif);
}
section#itemDetail-wrap .description table th {
  width: 22%;
  background: var(--off-white, #f9f7f4);
  border: 1px solid var(--border, #e0dbd3) !important;
  padding: 10px 12px;
  text-align: center;
  vertical-align: middle;
  font-weight: 500;
  font-size: 12px;
  color: var(--text-sub, #5a524a);
  white-space: nowrap;
}
section#itemDetail-wrap .description table td {
  border: 1px solid var(--border, #e0dbd3) !important;
  padding: 10px 14px;
  vertical-align: middle;
  color: var(--charcoal, #2c2520);
  font-size: 13px;
  line-height: 1.8;
}
/* 奇数行に薄い背景 */
section#itemDetail-wrap .description table tr:nth-child(odd) td {
  background: var(--white, #fff);
}
section#itemDetail-wrap .description table tr:nth-child(even) td {
  background: var(--off-white, #f9f7f4);
}
section#itemDetail-wrap .description table tr:nth-child(even) th {
  background: var(--light, #f2eeea);
}
/* ホバー行ハイライト */
section#itemDetail-wrap .description table tr:hover th,
section#itemDetail-wrap .description table tr:hover td {
  background: var(--silver, #e8e2db);
  transition: background 0.15s;
}
/* =============================================
   サイズ表（ヘッダー行に複数th が並ぶテーブル）
   → th の width:22% を上書きして等幅に
   ============================================= */
section#itemDetail-wrap .description table:has(tr > th + th) {
  table-layout: fixed;
}
section#itemDetail-wrap .description table:has(tr > th + th) th {
  width: auto;          /* 22% を解除 */
  text-align: center;
  background: var(--off-white, #f9f7f4);
  font-size: 12px;
  font-weight: 600;
  color: var(--text-sub, #5a524a);
  letter-spacing: 0.04em;
}
section#itemDetail-wrap .description table:has(tr > th + th) td {
  text-align: center;
}
/* 左端の列（サイズ名 S/M/L...）は少し狭く */
section#itemDetail-wrap .description table:has(tr > th + th) tr > *:first-child {
  width: 13%;
  font-weight: 600;
  color: var(--dark, #1a1612);
}
/* 偶数行ハイライト（サイズ表） */
section#itemDetail-wrap .description table:has(tr > th + th) tr:nth-child(even) td {
  background: var(--off-white, #f9f7f4);
}
section#itemDetail-wrap .description table:has(tr > th + th) tr:nth-child(odd) td {
  background: var(--white, #fff);
}

@media (max-width: 768px) {
  section#itemDetail-wrap .description table th {
    width: 28%;
    padding: 8px 8px;
    font-size: 11px;
  }
  section#itemDetail-wrap .description table td {
    padding: 8px 10px;
    font-size: 12px;
  }
  /* SP: サイズ表の列幅 */
  section#itemDetail-wrap .description table:has(tr > th + th) tr > *:first-child {
    width: 16%;
  }
  section#itemDetail-wrap .description table:has(tr > th + th) th,
  section#itemDetail-wrap .description table:has(tr > th + th) td {
    padding: 7px 4px;
    font-size: 11px;
  }
}

/* お客様の声 */
section.userreview { padding: 20px 0 0; margin-bottom: 30px; }
section.userreview h2 {
  color: var(--dark, #1a1612);
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  font-size: 120% !important; font-weight: 400;
  letter-spacing: 0.06em; padding: 0; margin-bottom: 15px; display: block;
}
section.userreview table.userreview_list { width: 100%; margin: 10px 0 0; line-height: 1.6; border-bottom: 1px solid var(--border, #e0dbd3); }
section.userreview table.userreview_list tr td.userreview_user { font-size: 12px; }
section.userreview table.userreview_list tr td.userreview_date { font-size: 12px; text-align: right; }
section.userreview table.userreview_list td.userreview_comment { padding: 10px 0 20px; }
article #main-column section.userreview .comment,
article #main-column section.rating .comment {
  background: var(--light, #f2eeea);
  color: var(--charcoal, #2c2520);
  display: inline-block; font-size: 14px;
  margin: 1.5em 0 0; max-width: 100%; min-width: 120px; padding: 7px 10px; position: relative;
}
article #main-column section.userreview .comment::before,
article #main-column section.rating .comment::before {
  border: 10px solid transparent;
  border-bottom: 15px solid var(--light, #f2eeea);
  content: ""; left: 4%; position: absolute; top: -23px;
}
article #main-column section.userreview .comment p,
article #main-column section.rating .comment p {
  background: none; font-size: 13px; padding: 5px 10px 10px;
}

/* =============================================
   ショッピングガイド
   ============================================= */
section #guide p { font-size: 13px; line-height: 1.8; margin: 5px 0 10px; }
section #guide table { line-height: 1.4; border-top: 1px solid var(--border, #e0dbd3); }
section #guide table th {
  background-color: var(--light, #f2eeea);
  border-top: 1px solid var(--border, #e0dbd3);
  color: var(--charcoal, #2c2520);
  font-size: 13px; font-weight: 400;
  padding: 14px 20px; width: 100px;
}
section #guide table td {
  font-size: 13px; border-top: 1px solid var(--border, #e0dbd3); padding: 14px 20px;
}
section #guide table tr:last-child { border-bottom: 1px solid var(--border, #e0dbd3); }

/* =============================================
   フリーページ・店長日記
   ============================================= */
#JournalList h2, #Journal h2 {
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  font-weight: 400; letter-spacing: 0.06em;
  color: var(--dark, #1a1612); background: none; border: none;
  border-bottom: 1px solid var(--border, #e0dbd3); padding-bottom: 8px;
}
#JournalList .journal-cont p, #Journal .journal-cont p {
  font-size: 14px; line-height: 1.85; color: var(--dark, #1a1612);
}
#Journal .more {
  background-color: var(--dark, #1a1612); border-radius: 0;
  box-sizing: border-box; color: #fff; cursor: pointer;
  display: block; width: 160px; height: 40px;
  font-size: 12px; text-align: center; vertical-align: middle;
  margin: 10px 0 0; padding: 10px 0;
  letter-spacing: 0.08em; transition: background 0.2s;
}
#Journal .more:hover { background-color: var(--gold, #9a7d52); }

/* =============================================
   カートページ・お問い合わせ
   ============================================= */
#contact { margin: 0 auto; }
#contact h4 { font-size: 13px; }
#contact table { width: 100%; margin: 10px 0 0; word-break: break-all; }
#contact table th {
  width: 28%; padding: 18px 20px; font-size: 13px; font-weight: 400;
  color: var(--charcoal, #2c2520); background-color: var(--light, #f2eeea);
  border-top: 1px solid var(--border, #e0dbd3); border-bottom: 1px solid var(--border, #e0dbd3);
}
#contact em { color: var(--gold-dim, #7a6040); margin-left: 5px; font-size: 12px; }
#contact table td {
  width: 72%; font-size: 13px; padding: 18px 20px; color: var(--dark, #1a1612);
}
#contact .btn-confirm { text-align: center; padding: 20px; border-bottom: none; }

/* ボタン全般 */
input[type="submit"], input[type="button"] {
  cursor: pointer;
}
#center-seo input[type="submit"],
#center-seo input[type="button"],
#center3 input[type="submit"],
#center3 input[type="button"],
#contact #center1 .centerbox .mainCont input[type="button"],
#contact #center1 .centerbox .mainCont input[type="submit"] {
  background-color: var(--dark, #1a1612);
  border: 1px solid var(--dark, #1a1612);
  border-radius: 0;
  color: #fff;
  font-family: var(--ff-sans, sans-serif);
  letter-spacing: 0.06em;
  transition: background 0.2s, border-color 0.2s;
}
#center-seo input[type="submit"]:hover,
#center-seo input[type="button"]:hover,
#center3 input[type="submit"]:hover,
#center3 input[type="button"]:hover,
#contact #center1 .centerbox .mainCont input[type="button"]:hover,
#contact #center1 .centerbox .mainCont input[type="submit"]:hover {
  background-color: var(--gold, #9a7d52);
  border-color: var(--gold, #9a7d52);
}
/* 購入ボタン（ゴールド） */
.cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="購入手続きへ進む"],
.cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="確認画面に進む"],
.cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="　 次へ　 "],
.cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="　この内容で注文する　"] {
  background-color: var(--gold, #9a7d52) !important;
  border-color: var(--gold, #9a7d52) !important;
  color: #fff !important;
}
/* マイページ表示切替ボタン */
#center3 input.sps-my-display[type="button"],
#center3 input.sps-my-change-display[type="button"] {
  background-color: var(--white, #fff) !important;
  border: 1px solid var(--border, #e0dbd3) !important;
  color: var(--charcoal, #2c2520) !important;
}
/* カートリンク */
#center-seo .centerbox a, #center3 .centerbox a { color: var(--gold, #9a7d52); }
#center-seo .centerbox a:hover, #center3 .centerbox a:hover { color: var(--gold-dim, #7a6040); }
/* マイページ見出し */
#center-seo h3.title1, #center3 h3.title1 {
  background: var(--dark, #1a1612) !important;
  color: #fff !important;
  font-family: var(--ff-disp, 'Cormorant Garamond', serif) !important;
  font-weight: 400 !important;
  letter-spacing: 0.08em !important;
}
#contact #center1 .centerbox h3.title1 {
  background: var(--dark, #1a1612);
  color: #fff;
  font-family: var(--ff-disp, 'Cormorant Garamond', serif);
  font-weight: 400;
  letter-spacing: 0.08em;
}

/* フォームフォーカス */
input[type="text"]:focus, input[type="password"]:focus, textarea:focus, select:focus {
  border-color: var(--gold, #9a7d52) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(154,125,82,0.15) !important;
}

/* =============================================
   ユーティリティ
   ============================================= */
.w100 { width: 100%; }
.bold { font-weight: bold; }
.small { font-size: 88%; }
.alL { text-align: left !important; }
.alR { text-align: right !important; }
.alC { text-align: center !important; }
.mb0  { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb80 { margin-bottom: 80px !important; }
.mt0  { margin-top: 0 !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.pb0  { padding-bottom: 0 !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb30 { padding-bottom: 30px !important; }

/* =============================================
   ショップサーブ gnav 非表示
   ============================================= */
#gnav { display: none !important; }
#floating-menu { display: none !important; }

/* =============================================
   レスポンシブ（タブレット 1024px以下）
   ============================================= */
@media screen and (max-width: 1024px) {
  #contents { padding: calc(var(--header-h, 90px) + 24px) 12px 32px; }
  #sub-column { width: 200px; margin-right: 24px; }
  #main-column { width: calc(100% - 224px); }
}

/* =============================================
   レスポンシブ（768px以下）
   ============================================= */
@media screen and (max-width: 768px) {
  #contents { padding: calc(var(--header-h, 57px) + 16px) 12px 32px; }
  #sub-column {
    float: none; width: 100%; margin-right: 0; padding-bottom: 32px;
  }
  #main-column { float: none; width: 100%; }
  #main-column h2 { font-size: 115%; }

  /* 商品一覧 2カラム */
  .column4 { width: 48%; margin: 0 4% 20px 0; }
  .column4:nth-child(4n) { margin: 0 4% 20px 0; }
  .column4:nth-child(4n+1) { clear: none; }
  .column4:nth-child(2n) { margin: 0 0 20px; }
  .column4:nth-child(2n+1) { clear: both; }
  .column5 { width: 48%; margin: 0 4% 20px 0; }
  .column5:nth-child(5n) { margin: 0 4% 20px 0; }
  .column5:nth-child(5n+1) { clear: none; }
  .column5:nth-child(2n) { margin: 0 0 20px; }
  .column5:nth-child(2n+1) { clear: both; }

  /* 商品詳細 */
  #itemDetail-cont form.shopping_form {
    flex-direction: column;
    gap: 0;
  }
  #itemDetail-cont .itemThumb-wrap {
    flex: none;
    width: 100%;
    max-width: 100%;
    margin: 0 0 8px;
  }
  #itemDetail-cont .itemOutline {
    width: 100%;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
  article#Detail #main-column h1 { font-size: 105%; }

  /* カート */
  #main-column-full { box-sizing: border-box; padding: 0 2%; width: 100%; }
  #contact { width: 100%; margin: 0 auto; }

  /* ハーフ */
  .half-cont { float: none; width: 100%; margin-right: 0; margin-bottom: 20px; }
  .half-cont:nth-child(2n) { float: none; width: 100%; margin-right: 0; }

  /* フリーページ */
  #JournalList .journal-cont p, #Journal .journal-cont p { font-size: 13px; }

  /* サイドバー */
  #sub-column h2 { font-size: 11px; }
  #sub-column .category { margin-bottom: 24px; }
}

/* =============================================
   レスポンシブ（480px以下）
   ============================================= */
@media screen and (max-width: 480px) {
  a:hover { color: var(--charcoal, #2c2520); }
  .column4 h3, .column5 h3 { font-size: 12px; }

  /* 商品詳細 サムネイル（480px以下）6列固定 */
  #itemDetail-cont .itemThumb-wrap .itemThumb ul {
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
  }

  /* カートボタン */
  .cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="購入手続きへ進む"],
  .cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="確認画面に進む"],
  .cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="　 次へ　 "],
  .cart-section #contact #center1 .centerbox .mainCont input[type="button"][value="　この内容で注文する　"] {
    display: block; width: 100%; margin: 10px auto 0;
  }

  /* 入力テーブル */
  #contact #center1 .centerbox .mainFrame .mainCont .bordlayoutp3 .sps-inputTable td,
  #contact .sps-inputTable td {
    border-left: 0; border-right: 0;
    box-sizing: border-box; display: block; width: 100% !important;
  }
}

/* =============================================
   商品ページ 修正
   ============================================= */
article#Detail #pi_cart p.review_txt,
article#Detail #pi_cart .review_txt,
#itemDetail-cont #pi_cart p.review_txt,
#itemDetail-cont #pi_cart .review_txt {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 2px;
  margin: 10px 0 6px;
  line-height: 1;
  color: var(--charcoal, #2c2520);
}

article#Detail #pi_cart p.review_txt img,
article#Detail #pi_cart .review_txt img,
#itemDetail-cont #pi_cart p.review_txt img,
#itemDetail-cont #pi_cart .review_txt img {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 1px 0 0 !important;
  vertical-align: middle;
}

article#Detail #pi_cart p.review_txt a,
article#Detail #pi_cart .review_txt a,
#itemDetail-cont #pi_cart p.review_txt a,
#itemDetail-cont #pi_cart .review_txt a {
  display: inline-flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  #sub-column,
  #sub-column section,
  #sub-column .category,
  #sub-column .group,
  #sub-column .link {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #sub-column nav,
  #sub-column .category nav,
  #sub-column .group nav,
  #sub-column .link nav,
  #sub-column .category .fukidashi,
  #sub-column .sps-itemCategoryMain,
  #sub-column .sps-itemCategorySub,
  #sub-column .category ul,
  #sub-column .category li {
    display: block !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #sub-column .category h2 {
    margin-bottom: 10px;
  }

  #sub-column .category nav ul,
  #sub-column .sps-itemCategoryMain,
  #sub-column .sps-itemCategorySub {
    margin: 0;
    padding: 0;
  }

  #sub-column .category nav ul li,
  #sub-column .sps-itemCategoryMain li,
  #sub-column .sps-itemCategorySub li {
    float: none !important;
    clear: none !important;
    width: 100% !important;
  }

  #sub-column .category nav ul li a,
  #sub-column .sps-itemCategoryMain li .sitelink a,
  #sub-column .sps-itemCategorySub li .sitelink a {
    box-sizing: border-box;
    min-height: 38px;
    line-height: 1.5;
  }
}

/* PCサイドナビ 商品カテゴリB: Eストアー初期カテゴリ */
#sub-column .category section.fukidashi,
#sub-column .category .fukidashi {
  display: block !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#sub-column .category section.fukidashi h3,
#sub-column .category .fukidashi h3,
#sub-column .category .fukidashi .categoryName,
#sub-column .category .fukidashi .title {
  margin: 20px 0 9px !important;
  padding: 0 0 8px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-dk, #c8bfb5) !important;
  background: transparent !important;
  color: var(--dark, #1a1612) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.5 !important;
}

#sub-column .category section.fukidashi ul,
#sub-column .category .fukidashi ul,
#sub-column .category section.fukidashi ol,
#sub-column .category .fukidashi ol {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#sub-column .category section.fukidashi li,
#sub-column .category .fukidashi li {
  display: block !important;
  float: none !important;
  clear: none !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(200, 191, 181, 0.7) !important;
  background: transparent !important;
}

#sub-column .category section.fukidashi a,
#sub-column .category .fukidashi a,
#sub-column .category section.fukidashi a:link,
#sub-column .category section.fukidashi a:visited,
#sub-column .category .fukidashi a:link,
#sub-column .category .fukidashi a:visited {
  display: block !important;
  position: relative !important;
  box-sizing: border-box !important;
  min-height: 32px !important;
  padding: 7px 8px 7px 18px !important;
  background: #fff !important;
  color: var(--dark, #1a1612) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
  transition: color 0.18s, background-color 0.18s, padding-left 0.18s !important;
}

#sub-column .category section.fukidashi a::before,
#sub-column .category .fukidashi a::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 50% !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: var(--gold, #9a7d52) !important;
  opacity: 0.38 !important;
  transform: translateY(-50%) !important;
}

#sub-column .category section.fukidashi a:hover,
#sub-column .category .fukidashi a:hover {
  padding-left: 22px !important;
  background: var(--off-white, #f9f7f4) !important;
  color: var(--gold-dim, #7a6040) !important;
}

section.userreview table.userreview_list td.userreview_rate,
section.userreview table.userreview_list td.userreview_rate p {
  line-height: 1.4;
}

section.userreview table.userreview_list td.userreview_rate img,
section.userreview .userreview_rate img,
section.userreview img[src*="star"],
section.userreview img[alt*="星"],
section.userreview img[alt*="おすすめ"] {
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
  margin: 0 1px 0 0 !important;
  vertical-align: middle !important;
}

/* 商品ページ PCサイドナビ 商品カテゴリB 最終調整 */
html.product-page #sub-column .category section.fukidashi,
html.product-page #sub-column .category .fukidashi {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

html.product-page #sub-column .category section.fukidashi h3,
html.product-page #sub-column .category .fukidashi h3,
html.product-page #sub-column .category .fukidashi .categoryName,
html.product-page #sub-column .category .fukidashi .title {
  display: flex !important;
  align-items: center !important;
  min-height: 30px !important;
  margin: 18px 0 8px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(154, 125, 82, 0.28) !important;
  color: var(--dark, #1a1612) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
}

html.product-page #sub-column .category section.fukidashi ul,
html.product-page #sub-column .category .fukidashi ul,
html.product-page #sub-column .sps-itemCategoryMain,
html.product-page #sub-column .sps-itemCategorySub {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

html.product-page #sub-column .category section.fukidashi li,
html.product-page #sub-column .category .fukidashi li,
html.product-page #sub-column .sps-itemCategoryMain li,
html.product-page #sub-column .sps-itemCategorySub li {
  display: block !important;
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(200, 191, 181, 0.55) !important;
}

html.product-page #sub-column .category section.fukidashi .sitelink,
html.product-page #sub-column .category .fukidashi .sitelink {
  display: block !important;
  width: 100% !important;
}

html.product-page #sub-column .category section.fukidashi a,
html.product-page #sub-column .category .fukidashi a,
html.product-page #sub-column .sps-itemCategoryMain li .sitelink a,
html.product-page #sub-column .sps-itemCategorySub li .sitelink a {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  box-sizing: border-box !important;
  min-height: 29px !important;
  width: 100% !important;
  padding: 5px 8px 5px 20px !important;
  background: transparent !important;
  color: var(--dark, #1a1612) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.45 !important;
}

html.product-page #sub-column .category section.fukidashi a::before,
html.product-page #sub-column .category .fukidashi a::before,
html.product-page #sub-column .sps-itemCategoryMain li .sitelink a::before,
html.product-page #sub-column .sps-itemCategorySub li .sitelink a::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  width: 3px !important;
  height: 3px !important;
  border-radius: 50% !important;
  background: var(--gold, #9a7d52) !important;
  opacity: 0.42 !important;
  transform: translateY(-50%) !important;
}

html.product-page #sub-column .category section.fukidashi a:hover,
html.product-page #sub-column .category .fukidashi a:hover,
html.product-page #sub-column .sps-itemCategoryMain li .sitelink a:hover,
html.product-page #sub-column .sps-itemCategorySub li .sitelink a:hover {
  padding-left: 23px !important;
  background: var(--off-white, #f9f7f4) !important;
  color: var(--gold-dim, #7a6040) !important;
}

@media screen and (max-width: 768px) {
  html.product-page #sub-column .category section.fukidashi a,
  html.product-page #sub-column .category .fukidashi a,
  html.product-page #sub-column .sps-itemCategoryMain li .sitelink a,
  html.product-page #sub-column .sps-itemCategorySub li .sitelink a {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
  }

  html.product-page #sub-column .category section.fukidashi h3,
  html.product-page #sub-column .category .fukidashi h3,
  html.product-page #sub-column .category .fukidashi .categoryName,
  html.product-page #sub-column .category .fukidashi .title {
    min-height: 38px !important;
    margin-top: 22px !important;
    font-size: 14px !important;
  }
}
