/*商品詳細ページ　本店URLの下線*/
div.__spec .btoc_link {
  text-decoration: underline;
  color: #1210ad;
}

/*商品詳細ページの価格表示：「税抜」（\7A0E\629C）と半角スペース（\00A0）を追加表示して文字サイズを大きく*/
.c-tax-price.__tax-price.__is-out-in::before {
    content: "\7A0E\629C\00A0";
    font-size: 0.8em;
}
.c-tax-price.__tax-price.__is-out-in{
    font-size: 1.1em;
}

/*商品詳細ページ　税込価格の前にスペース*/
.c-tax-sub-price.__tax-sub-price.__is-out-in {
    margin-left: 0.4em;
}

.p-product-set table tbody tr td.__description h2.__name {
    font-size: 1.3em;
}

div.__inner .aside section.__block .__heading.__heading--default, .aside section.__block .__heading.__heading--custom {
  padding-left:10px;
}

/*注文へ進むボタンを目立つように*/
div.__inner .main.main--cart section.__shipping-wrap .__shipping .__control ul li.__to-order .__button{
  background-color:#eb742ce0;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 1.2em;
}

/*お気に入りに追加ボタンの色を変更*/
.main.main--product-detail section.__information .__secondary .__control span.__bookmark .__button, .main.main--product-detail section.__information .__secondary .__control span.__download .__button {
        color: #333333;
    }

div.__inner .main.main--product-detail section.__information .__secondary .__control span.__bookmark .__button.__is-added {
    background-color: #fffce9;
}

/*カテゴリのヘッダ画像を横幅一杯に*/
section.__category-image img {
    width: 100%;
}


/*-----------------------------------------------------*/

/*カートの合計表示：「税抜」（\7A0E\629C）と半角スペース（\00A0）を追加表示して文字サイズを大きく*/
div.main--cart div.__price span.c-tax-price.__tax-price.__is-none::before {
    content: "\7A0E\629C\00A0";
    font-size: 0.7em;
}
div.main--cart div.__price span.c-tax-price.__tax-price.__is-none {
    font-size: 1.2em;
}

/*カート内容確認画面*/
div.main--order-confirm div.__total-price span.c-tax-price.__tax-price.__is-none::before,
div.main--order div.__total-price span.c-tax-price.__tax-price.__is-none::before {
    content: "\7A0E\629C\00A0";
    font-size: 0.7em;
}
div.main--order-confirm div.__total-price span.c-tax-price.__tax-price.__is-none,
div.main--order div.__total-price span.c-tax-price.__tax-price.__is-none {
    font-size: 1.1em;
}

div.main--order-confirm div.__total-price dd#shipping-cost div.__price::before,
div.main--order div.__total-price dd#shipping-cost div.__price::before {
    content: "\7A0E\629C\00A0";
    font-size: 0.7em;
}
div.main--order-confirm div.__total-price dd#shipping-cost div.__price,
div.main--order div.__total-price dd#shipping-cost div.__price{
    font-size: 1.1em;
}

div.main--order-confirm div.__total-price dd#extra_cost div.__price::before,
div.main--order div.__total-price dd#extra_cost div.__price::before {
    content: "\7A0E\629C\00A0";
    font-size: 0.7em;
}
div.main--order-confirm div.__total-price dd#extra_cost div.__price,
div.main--order div.__total-price dd#extra_cost div.__price {
    font-size: 1.1em;
}

/*=====================================================
  業販サイト デザインCSS（2026-07 追加）
  ブランド色: 深緑 #1E6E3C ／ アクセント: オレンジ #E8720C
=====================================================*/

:root {
  --b2b-green: #1E6E3C;
  --b2b-green-dark: #14522B;
  --b2b-green-pale: #EAF3ED;
  --b2b-orange: #E8720C;
  --b2b-orange-dark: #C95F04;
  --b2b-border: #DCE4DE;
  --b2b-text: #333333;
  --b2b-bg: #F4F6F5;
}

body {
  font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
  background-color: var(--b2b-bg);
  color: var(--b2b-text);
}

/*---------------------------------------
  最上部インフォバー（ヘッダーフリースペース）
---------------------------------------*/
.b2b-topbar {
  background: var(--b2b-green-dark);
  color: #fff;
  font-size: 12.5px;
}
.b2b-topbar .__in {
  max-width: 1280px;
  margin: 0 auto;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
}
.b2b-topbar .__t { letter-spacing: .05em; font-weight: 500; }
.b2b-topbar .__btoc {
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
  padding: 2px 12px;
  white-space: nowrap;
}
.b2b-topbar .__btoc:hover { background: rgba(255,255,255,.15); }

/*---------------------------------------
  ヘッダー
---------------------------------------*/
.header .__banner {
  background: #fff;
  border-bottom: 1px solid var(--b2b-border);
}
.header .__banner .__logo img { max-height: 64px; width: auto; }

/* SPヘッダーのカートアイコンを目立たせる */
.header .__view-cart a {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background-color: #efd4a1;
 /*  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.6'/%3E%3Ccircle cx='18' cy='21' r='1.6'/%3E%3Cpath d='M2.5 3h2l2.4 12.2a2 2 0 0 0 2 1.6h8.6a2 2 0 0 0 2-1.6L21.5 7H6'/%3E%3C/svg%3E"); */
  background-repeat: no-repeat;
  background-position: center 55%;
  background-size: 24px 24px;
  box-shadow: 0 2px 6px rgba(0,0,0,.18);
}
.header .__view-cart a:hover { background-color: var(--b2b-orange-dark); }
.header .__view-cart .__counter {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 20px;
  height: 20px;
  line-height: 20px;
  border-radius: 10px;
  background: #D7263D;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  padding: 0 4px;
  box-sizing: border-box;
}

/*---------------------------------------
  グローバルナビ（PC）
---------------------------------------*/
.gnav-pc { background: var(--b2b-green); }
.gnav-pc .__menu ul {
  display: flex;
  justify-content: center;
  align-items: stretch;
  max-width: 1280px;
  margin: 0 auto;
}
.gnav-pc .__menu .__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: #fff !important;
  padding: 13px 26px;
  font-weight: 700;
  letter-spacing: .05em;
  text-decoration: none;
  transition: background-color .15s;
}
.gnav-pc .__menu .__item a span { color: #fff !important; }
.gnav-pc .__menu .__item a:hover { background: var(--b2b-green-dark); }

/* 「カートを見る」をアイコン付きオレンジボタン化 */
.gnav-pc .__menu .__item--cart a {
  background: #47a518;
}
.gnav-pc .__menu .__item--cart a:hover { background: var(--b2b-orange-dark); }
.gnav-pc .__menu .__item--cart a::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1.6'/%3E%3Ccircle cx='18' cy='21' r='1.6'/%3E%3Cpath d='M2.5 3h2l2.4 12.2a2 2 0 0 0 2 1.6h8.6a2 2 0 0 0 2-1.6L21.5 7H6'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ログインもわかりやすく */
.gnav-pc .__menu .__item--login a::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center / contain;
}

/*---------------------------------------
  見出し（メイン・サイド共通）
---------------------------------------*/
.c-heading-main,
.b2b-h {
  background: var(--b2b-green);
  color: #fff;
  border-radius: 6px;
  padding: .55em .9em;
  font-size: 1.15em;
  font-weight: 700;
  letter-spacing: .06em;
  border: none;
  margin-bottom: 14px;
}
.c-heading-main span, .b2b-h span { color: #fff; }

.c-heading-aside {
  background: var(--b2b-green);
  color: #fff;
  border-radius: 6px;
  padding: .5em .8em;
  font-weight: 700;
  letter-spacing: .05em;
  border: none;
}
.c-heading-aside span { color: #fff; }

/*---------------------------------------
  トップバナー
---------------------------------------*/
.main .__block--banner img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

/*---------------------------------------
  カテゴリアイコングリッド（フリースペース1）
---------------------------------------*/
.b2b-catgrid .__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(152px, 1fr));
  gap: 10px;
}
.b2b-catgrid .__grid li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  height: 100%;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 10px;
  padding: 16px 8px 12px;
  text-decoration: none;
  color: var(--b2b-text);
  transition: box-shadow .15s, transform .15s, border-color .15s;
}
.b2b-catgrid .__grid li a:hover {
  border-color: var(--b2b-green);
  background: var(--b2b-green-pale);
  box-shadow: 0 3px 10px rgba(30,110,60,.16);
  transform: translateY(-2px);
}
.b2b-catgrid .__icon { color: var(--b2b-green); line-height: 0; }
.b2b-catgrid .__icon svg { width: 46px; height: 46px; }
.b2b-catgrid .__label {
  font-size: 12.5px;
  font-weight: 500;
  text-align: center;
  line-height: 1.35;
}
.b2b-catgrid .__label _s1{
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  line-height: 1.30;
}

/*---------------------------------------
  ブランドチップ（フリースペース2）
---------------------------------------*/
.b2b-brands .__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-left: 8px;
  padding-bottom: 16px;
}
.b2b-brands .__chips li a {
  display: inline-block;
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 999px;
  padding: .45em 1.2em;
  font-size: 13.5px;
  font-weight: 500;
  color: var(--b2b-text);
  text-decoration: none;
  transition: all .15s;
}
.b2b-brands .__chips li a:hover {
  background: var(--b2b-green);
  border-color: var(--b2b-green);
  color: #fff;
}

/*---------------------------------------
  ご利用案内カード（フリースペース3）
---------------------------------------*/
.b2b-guide .__cards {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.b2b-guide .__cards li {
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 10px;
  padding: 22px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.b2b-guide .__icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--b2b-green-pale);
  color: var(--b2b-green);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}
.b2b-guide .__icon svg { width: 30px; height: 30px; }
.b2b-guide h3 { margin: 0 0 8px; font-size: 15.5px; font-weight: 700; color: var(--b2b-text); }
.b2b-guide p { margin: 0 0 12px; font-size: 13px; line-height: 1.7; color: #555; }
.b2b-guide .__link {
  margin-top: auto;
  color: var(--b2b-green);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}
.b2b-guide .__link::after { content: " →"; }
.b2b-guide .__link:hover { text-decoration: underline; }

/* フリースペースブロックの余白 */
.main .__block--free-1, .main .__block--free-2, .main .__block--free-3 { margin-top: 8px; }

/*---------------------------------------
  商品ブロック（新着・おすすめ）
---------------------------------------*/
.p-product-block:not(.__list) .__product .__item {
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .15s, transform .15s;
}
.p-product-block:not(.__list) .__product .__item:hover {
  box-shadow: 0 4px 12px rgba(0,0,0,.10);
  transform: translateY(-2px);
}
.p-product-block:not(.__list) .__product .__item a { text-decoration: none; }
.p-product-block:not(.__list) .__product .__item .__title {
  font-size: 13px;
  line-height: 1.45;
  padding: 0 10px;
  color: var(--b2b-text);
}
.p-product-block:not(.__list) .__product .__item .__description { padding: 0 10px 10px; }
.p-product-block:not(.__list) .__product .__item .__price dd {
  color: var(--b2b-green-dark);
  font-weight: 700;
}

/* もっと見るリンクをボタン化 */
.c-more a {
  display: inline-block;
  background: #fff;
  border: 1px solid var(--b2b-green);
  color: var(--b2b-green);
  border-radius: 999px;
  padding: .55em 2em;
  font-weight: 700;
  text-decoration: none;
  transition: all .15s;
}
.c-more a:hover { background: var(--b2b-green); color: #fff; }

/*---------------------------------------
  サイドカラム
---------------------------------------*/
.aside .__block {
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 14px;
}
.aside .__block--category .__tree a {
  display: block;
  padding: 7px 4px 7px 10px;
  color: var(--b2b-text);
  text-decoration: none;
  border-bottom: 1px dotted var(--b2b-border);
  font-size: 13.5px;
}
.aside .__block--category .__tree a:hover {
  background: var(--b2b-green-pale);
  color: var(--b2b-green-dark);
}
.aside .__block--category .__tree ul ul a {
  padding-left: 22px;
  font-size: 12.5px;
  color: #555;
}

/* ボタン共通 */
.c-button, button.c-button, a.c-button {
  background: var(--b2b-green);
  border: none;
  color: #fff;
  border-radius: 6px;
  font-weight: 700;
  transition: background-color .15s;
}
.c-button:hover, button.c-button:hover, a.c-button:hover { background: var(--b2b-green-dark); color: #fff; }

/* サイドバナー */
.aside .__block--banner-1 { padding: 0; border: none; background: none; }
.aside .__block--banner-1 img { width: 100%; height: auto; border-radius: 10px; }

/* カレンダー */
.aside .__block--calendar table.cal { width: 100%; font-size: 12px; }

/*---------------------------------------
  フッター
---------------------------------------*/
.footer {
  background: #1C2B21;
  color: #E8EDE9;
  margin-top: 40px;
}
.footer .__nav a { color: #E8EDE9; text-decoration: none; }
.footer .__nav a:hover { text-decoration: underline; }
.footer .__copyright { color: #A9B8AE; }
.footer .__copyright a { color: #A9B8AE; }

/*---------------------------------------
  レスポンシブ調整
---------------------------------------*/
@media screen and (max-width: 767px) {
  /* スマホは縦型バナーに差し替え（文字の可読性確保） */
  .main .__block--banner img {
    content: url("https://files.bcart.jp/joba/uploads/design/main_banner_sp2.png");
  }
  .b2b-topbar { font-size: 11px; }
  .b2b-topbar .__in { justify-content: center; padding: 5px 8px; }
  .header .__banner .__logo img { max-height: 44px; }
  .b2b-catgrid .__grid { grid-template-columns: repeat(3, 1fr); gap: 7px; padding-left: 4px; padding-right: 4px;}
  .b2b-catgrid .__grid li a { padding: 12px 4px 10px; gap: 6px; }
  .b2b-catgrid .__icon svg { width: 38px; height: 38px; }
  .b2b-catgrid .__label { font-size: 10.5px; }
  .b2b-catgrid .__label_s1 { font-size: 10px; }
  .b2b-guide .__cards { grid-template-columns: 1fr; }
  .c-heading-main, .b2b-h { font-size: 1.05em; }
  .main .__block--banner img { border-radius: 6px; }
  .b2b-guide { padding-bottom:10px; }
}

/*===== 商品一覧レイアウト改善・SPバナー修正パッチ（2026-07-08 追加）=====*/

/*--- 1. スマホ トップバナー：content:url をやめ背景画像＋アスペクト比で切れ防止 ---*/
@media screen and (max-width: 767px) {
  .main .__block--banner {
    position: relative;
    background: url("https://files.bcart.jp/joba/uploads/design/main_banner_sp2.png") center center / contain no-repeat;
    aspect-ratio: 900 / 480;
    border-radius: 8px;
    overflow: hidden;
  }
  .main .__block--banner img { display: none !important; }
}

/*--- 2. 商品一覧（list.php）：グリッド化＋カード高さ揃え＋余白 ---*/
.main--product-list .__list--block .__product {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 18px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.main--product-list .__list--block .__product > .__item {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  background: #fff;
  border: 1px solid var(--b2b-border);
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow .15s, transform .15s;
}
.main--product-list .__list--block .__product > .__item:hover {
  box-shadow: 0 5px 16px rgba(0,0,0,.10);
  transform: translateY(-2px);
}
.main--product-list .__list--block .__product > .__item > a {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: var(--b2b-text);
}
/* 画像を正方形コンテナに収める＝どの商品も同じ位置で揃う＋周囲に余白 */
.main--product-list .__list--block .__product .__photo {
  padding: 14px 14px 6px;
  background: #fff;
}
.main--product-list .__list--block .__product .__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
}
.main--product-list .__list--block .__product .__status { padding: 4px 12px 0; }
.main--product-list .__list--block .__product .__title {
  font-size: 13px;
  line-height: 1.5;
  font-weight: 500;
  padding: 0 14px;
  margin: 6px 0 8px;
}
/* 価格をカード下端に固定＝行内で価格位置も揃う */
.main--product-list .__list--block .__product .__description {
  margin-top: auto;
  padding: 0 14px 14px;
}
.main--product-list .__list--block .__product .__price dt { font-size: 11px; color: #777; margin-bottom: 2px; }
.main--product-list .__list--block .__product .__price dd { font-size: 15px; font-weight: 700; color: var(--b2b-green-dark); }

@media screen and (max-width: 767px) {
  .main--product-list .__list--block .__product {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px 10px;
  }
  .main--product-list .__list--block .__product .__photo { padding: 12px 12px 4px; }
  .main--product-list .__list--block .__product .__title { font-size: 12px; padding: 0 10px; }
  .main--product-list .__list--block .__product .__description { padding: 0 10px 12px; }
  .main--product-list .__list--block .__product .__price dd { font-size: 14px; }
}

/*--- 3. おすすめ商品・新着商品ブロック（p-product-block）も同様に枠下端を揃える ---*/
.p-product-block:not(.__list) .__product {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 18px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-product-block:not(.__list) .__product > .__item {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: flex;
}
.p-product-block:not(.__list) .__product > .__item > a {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.p-product-block:not(.__list) .__product .__photo { padding: 14px 14px 6px; background: #fff; }
.p-product-block:not(.__list) .__product .__photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  display: block;
}
.p-product-block:not(.__list) .__product .__title { padding: 0 14px; margin: 6px 0 8px; }
.p-product-block:not(.__list) .__product .__description { margin-top: auto; padding: 0 14px 14px; }
.p-product-block:not(.__list) .__product .__price dd { color: var(--b2b-green-dark); font-weight: 700; }

@media screen and (max-width: 767px) {
  .p-product-block:not(.__list) .__product { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; }
  .p-product-block:not(.__list) .__product .__photo { padding: 12px 12px 4px; }
  .p-product-block:not(.__list) .__product .__title { padding: 0 10px; font-size: 12px; }
  .p-product-block:not(.__list) .__product .__description { padding: 0 10px 12px; }
}

/*--- 4. カテゴリの写真アイコン（試験：ホルター・ロープ）---*/
.b2b-catgrid .__icon--img {
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.b2b-catgrid .__icon--img img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  display: block;
}
@media screen and (max-width: 767px) {
  .b2b-catgrid .__icon--img img { width: 48px; height: 48px; }
}

/*===== 表示切替(グリッド/リスト)対応（2026-07-09 追加）=====*/
/* 表示切替ボタンを非表示にし、グリッド表示に固定 */
/*.main--product-list .__view-control { display: none !important; }*/
/* 万一リスト表示(セッション残り等)になっても縦長崩れを防ぐ：テーマ標準に委ねる */
.main--product-list .__list--row .__product { display: block; }
.main--product-list .__list--row .__product > .__item { width: auto; }

/*===== 商品詳細 カート投入ボタン追従(sticky)（2026-07-09 追加）=====*/
/* サイズ・色が多い商品でも「カートに入れる」が常に画面下部に見える */
.main--product-detail form.c-form .__add-cart {
  position: sticky;
  bottom: 0;
  z-index: 50;
  margin-top: 24px;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.97);
  border-top: 1px solid var(--b2b-border);
  box-shadow: 0 -4px 14px rgba(0, 0, 0, 0.12);
  text-align: center;
}
.main--product-detail form.c-form .__add-cart .__submit {
  width: 100%;
  max-width: 440px;
  padding: 14px 20px;
  font-size: 1.15em;
  font-weight: 700;
  background-color: #ff9b00;
}
/* 追従バーと重ならないよう、直前の余白を少し確保 */
.main--product-detail form.c-form .p-product-set { margin-bottom: 8px; }