    #itemDetailSearch>div>article>section>div>div.u-fbox>div.p-itemDetail-thumb>div>a>img {
        max-height: 300px;
    }

   .product__details-description {
        margin-left: 30px;
        margin-right: 30px;
    }

    .product__methods-description {
        margin-left: 30px;
        margin-right: 30px;
    }

    .title-sb__product-detail {
        margin-left: 10px;
    }

    @media only screen and (min-width: 767px) {
        #itemDetailSearch > div > article > section > div > section > div > div > div > div > div > div.p-item-group02 > div:nth-child(1) > div {
            display: block;
        }
    }
    /* test */

/* フォント：OS標準のゴシックを優先する（Mac=ヒラギノ／Windows=游ゴシック Medium→メイリオ） */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Meiryo, "メイリオ", sans-serif;
}

/* SPヘッダ：カートボタンのアイコン・文言をメニューボタンと同じ縦位置に揃える
   （メニュー側は icon top:16px 中心／text bottom:4px の絶対配置。カート側も同じ座標系に置く）
*/
@media only screen and (max-width: 767px) {
    .l-nav-cartButton {
        padding-top: 0;
    }
    .l-nav-cartButton a {
        display: block;
        position: relative;
        width: 100%;
        height: 100%;
    }
    .l-nav-cartButton .fa {
        position: absolute;
        left: 0;
        top: 5px;                  /* 高さ22pxの中心=16px。メニューの3本線の中心と一致 */
        width: 100%;
        height: 22px;
        line-height: 22px;
        vertical-align: baseline;  /* fa-lg の -15% ずれを打ち消す */
        font-size: 22px;
        font-size: 2.2rem;
    }
    .l-nav-cartButton .l-nav-cartBox-title {
        position: absolute;
        left: 0;
        bottom: 4px;               /* .l-nav-spMenu-text と同じ */
        width: 100%;
    }
}
/* =====================================================================
   SP（767px以下）文字サイズ・文字色の見直し
   方針：
   - 色は4段に固定する。主文字 #222 ／ 副文字 #555 ／ 補助 #767676（白地でAA 4.5:1の下限）／ リンク #274f79（既存ブランド紺）
     既存の #888（3.5:1、AA不適合）は文字色に使わない。純黒 #000 も使わない
   - 見出し（.c-title01-label）は色を触らない。TOP「カテゴリ一覧」のように紺帯の上に白文字で載るものがある
   - サイズは 10 / 11 / 12 / 13 / 14 / 16 / 17 の7段に固定する。基底13px、単独で読む文字の下限は12px
   - 商品名を主信号に置く（最大・最濃）。ラベル（品番・数量 等）は補助色・細めに落とし、値より目立たせない
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* --- 基底 --- */
  body {
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  a { color: #274f79; }

  /* --- ヘッダ --- */
  .l-header-delivery,
  .l-header-delivery span {
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
  }
  .l-header-utilityNav a span {
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
  }
  .l-nav-cartBox-title,
  .l-nav-spMenu-text {
    font-size: 10px;
    font-size: 1rem;
  }
  .l-nav-cartBox .l-nav-cartBox-list li {
    font-size: 15px;
    font-size: 1.5rem;
  }

  /* --- 見出し --- */
  .c-title01-label {
    font-size: 16px;
    font-size: 1.6rem;
  }

  /* --- 一覧の条件エリア --- */
  .c-form-item-title {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .nav-count {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .nav-count strong {
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
  }

  /* --- 商品一覧（カタログ・取引商品・検索結果 共通テーブル） --- */
  .p-item-table td {
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
  }
  /* 行ラベル（商品画像／品番／商品名／数量）は補助扱い */
  .p-item-table td:before {
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .02em;
  }
  /* 商品コードは等幅数字で揃える */
  .p-item-table td:not(.p-item-table-alignLeft) {
    font-variant-numeric: tabular-nums;
  }
  /* 商品名：主信号。最大・最濃 */
  .p-item-name a,
  .p-item-table .p-item-name a {
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.45;
  }
  .p-item-quantity-input-caption {
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .p-item-table .p-item-stock,
  .p-item-table .p-item-stock-none {
    font-size: 12px;
    font-size: 1.2rem;
  }

  /* --- 商品詳細 --- */
  .p-itemDetail .p-item-name.u-sp-item {
    color: #222;
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 1.4;
    word-break: keep-all;   /* 全角商品名が「1K｜G」のように語中で折れるのを防ぐ */
    overflow-wrap: anywhere;
  }
  .p-item-code-label,
  .p-item-code-label span {
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
  }
  .p-item-code li > span:not(.p-item-code-label) {
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    font-variant-numeric: tabular-nums;
  }
  .p-item-table-label th {
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
  }
  .p-item-table-label td {
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .p-item-category a {
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .p-itemDetail-memo .c-form-item-title {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .p-itemDetail-text,
  .p-itemDetail-text p {
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
  }
  .p-itemDetail-text strong {
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
  }

  /* --- TOP --- */
  .p-catalog-name {
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .p-news-list a,
  .p-news-title a {
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .p-category-child a {
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .p-category-parent a {
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
  }

  /* --- ボタン --- */
  .c-button02,
  .c-button01,
  .l-nav-gnav-item {
    font-size: 13px;
    font-size: 1.3rem;
  }

  /* --- フッタ --- */
  .l-footer-utility-list a {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .l-footer-copyright p {
    color: #767676;
    font-size: 10px;
    font-size: 1rem;
  }
}

/* =====================================================================
   SP 商品一覧（カタログ／取引商品／検索結果 共通）2列カード
   前提：HTMLは変更できないため、既存の <tbody> と <tr class="p-item">、5つの <td>
        （画像／品番／商品名／数量／お気に入り）を CSS grid で組み替える
   構成（1カード）：正方形画像 → 品番（小）→ 商品名（主）→ 数量入力 → お気に入りは画像右上
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* 2列グリッド */
  .p-item-table tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;            /* 2026-09-30 本人指定 12→16。ステッパー84px＋余白4で、390px幅ならカード171px・ラベル83pxに「ｹｰｽ(入数:10)：」（約74px）が入る。375px幅は75px でぎりぎり、入数3桁は省略記号 */
    row-gap: 48px;               /* カード内の要素間隔（8〜12px）より十分大きくし、商品単位の切れ目を立てる */
    padding: 16px 0 16px;        /* 上の件数・ボタン帯（余白20px）と合わせて約36pxを確保し、1段目をカード列として切り離す */
  }
  .p-item-table tr.p-item {
    display: flex;
    flex-direction: column;
    position: relative;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    background: #fff;
  }
  .p-item-table tr.p-item > td {
    display: block;
    padding: 0;
    border: none;
    width: auto;
    position: static;
  }
  .p-item-table tr.p-item > td:before {
    content: none;
  }

  /* 画像：正方形いっぱい */
  .p-item-table tr.p-item > td[data-label="商品画像"] {
    order: 1;
  }
  .p-item-table tr.p-item .p-item-thumb {
    margin: 0;
    width: 100%;
    aspect-ratio: 1 / 1;         /* 元写真は正方形。そのまま幅いっぱいに見せる */
    border-radius: 4px;
    overflow: hidden;
    background: #f4f4f4;
  }
  .p-item-table tr.p-item .p-item-thumb a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .p-item-table tr.p-item .p-item-thumb img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    display: block;
  }

  /* 品番：画像の下、小さく補助色 */
  .p-item-table tr.p-item > td[data-label="品番"] {
    order: 2;
    margin-top: 10px;
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
  }

  /* 商品名：主信号 */
  .p-item-table tr.p-item > td.p-item-table-alignLeft {
    order: 3;
    margin-top: 4px;
    flex: 1 0 auto;               /* 名前の行数差を吸収し、数量行の高さを揃える */
  }
  .p-item-table tr.p-item .p-item-name {
    margin: 0;
  }
  .p-item-table tr.p-item .p-item-name a {
    display: block;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;           /* 2026-09-30 本人指定 1.4 → 1.3rem */
    font-weight: 700;
    line-height: 1.45;
    word-break: keep-all;        /* 「2.5KG」等の英数字を語中で折らない */
    overflow-wrap: anywhere;
  }

  /* 数量：カード下段。単位ごとに「ラベル／入力」を1行 */
  .p-item-table tr.p-item > td[data-label="数量"] {
    order: 4;
    margin-top: 12px;
  }
  .p-item-table tr.p-item .p-item-flexRowToEnd {
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 8px;
  }
  .p-item-table tr.p-item .p-item-flexRowToEnd:not(:has(*)) {
    display: none;
  }
  .p-item-table tr.p-item .p-item-quantity-input-caption {
    flex: 1 1 auto;
    min-width: 0;
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 4px;
  }
  .p-item-table tr.p-item .p-item-quantity-input-value {
    flex: 0 0 auto;
  }
  /* 数量ステッパー本体の見た目は末尾「SP 数量ステッパー／カートボタン」ブロックで共通定義 */
  .p-item-table tr.p-item .js-cart-set-button {
    margin-top: 6px;
  }

  /* お気に入り：画像右上に丸いアイコン */
  .p-item-table tr.p-item > td:not([data-label]) {
    position: absolute;
    top: 6px;
    right: 6px;
    width: auto;
    z-index: 1;
  }
  .p-item-table tr.p-item .p-item-favorite-block {
    margin: 0;
  }
  .p-item-table tr.p-item .p-item-favorite > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    margin: 0;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
  }
  .p-item-table tr.p-item .p-item-favorite > a:not(.p-item-favorite-added) {
    background-color: rgba(255, 255, 255, .92);
    border: none;
    color: #9a9a9a;
  }
  .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added {
    background-color: rgba(255, 255, 255, .92);
    border: none;
    color: #FF0080;
  }
  .p-item-table tr.p-item .p-item-favorite .fa {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
  }
}

/* =====================================================================
   SP TOP（お気に入り／ランキング／最近注文した商品）を一覧と同じカード様式に揃える
   対象：.p-itemLayout-grid-scroll（横スクロール）。件数に関わらず1行に並べ、横にスクロールさせる
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .p-itemLayout-grid.p-itemLayout-grid-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    padding-bottom: 8px;
    scrollbar-width: none;       /* スクロールバーは出さない。3枚目の端が見えることで横に続くと分かる */
  }
  .p-itemLayout-grid.p-itemLayout-grid-scroll::-webkit-scrollbar {
    display: none;
  }
  .p-itemLayout-grid-scroll .c-box-col4Wrap {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 12px;
    width: max-content;          /* 件数ぶん横に伸ばす */
    min-width: 100%;
    padding: 4px 10px 8px 0;     /* 外側の .p-itemLayout-grid-scroll が二重に padding-top:15px を持つため小さく */
    font-size: inherit;
    letter-spacing: normal;
  }
  .p-itemLayout-grid-scroll .c-box {
    display: block;
    flex: 0 0 160px;             /* 2枚と少しが見える幅。3枚目の端が見えてスクロールできると分かる */
    width: 160px !important;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    scroll-snap-align: start;
  }
  .p-itemLayout-grid-scroll .p-item {
    display: flex;
    flex-direction: column;
    position: relative;
    width: 100%;
    height: 100%;
  }

  /* 画像：正方形いっぱい */
  .p-itemLayout-grid-scroll .p-item-thumb {
    order: 1;
    height: auto;
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0;
    border-radius: 4px;
    overflow: hidden;
    background: #f4f4f4;
  }
  .p-itemLayout-grid-scroll .p-item-thumb a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .p-itemLayout-grid-scroll .p-item-thumb img {
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    display: block;
  }

  /* 商品名：主信号（一覧と同値） */
  .p-itemLayout-grid-scroll .p-item-name {
    order: 2;
    margin: 10px 0 0;
    min-height: 0;
    flex: 1 0 auto;
  }
  .p-itemLayout-grid-scroll .p-item-name a {
    display: block;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;           /* 一覧カードと同値（2026-09-30） */
    font-weight: 700;
    line-height: 1.45;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  /* 価格・在庫ブロック（この得意先設定では空）：罫線と余白を消す */
  .p-itemLayout-grid-scroll .p-item-group01 {
    order: 3;
    flex: 0 0 auto;
    border-bottom: none;
    margin: 0;
    padding: 0;
  }

  /* 数量＋カートボタン */
  .p-itemLayout-grid-scroll .p-item-group02 {
    order: 4;
    margin-top: 12px;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-flexRowToEnd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 8px;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-flexRowToEnd:not(:has(*)) {
    display: none;
  }
  .p-itemLayout-grid-scroll .p-quantity-box {
    margin-top: 0;
  }
  .p-itemLayout-grid-scroll .p-item-quantity-input-caption {
    flex: 1 1 auto;
    min-width: 0;
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-right: 4px;
  }
  .p-itemLayout-grid-scroll .p-item-quantity-input-value {
    flex: 0 0 auto;
    float: none;
    width: auto;
  }
  /* 数量ステッパー本体の見た目は末尾「SP 数量ステッパー／カートボタン」ブロックで共通定義 */
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-cart {
    display: block;
    margin-top: 10px;
  }
}

/* =====================================================================
   SP ヘッダの縮小（カート帯・検索欄・3つのナビボタン）
   45px基準の帯を36px基準に、ナビボタンを73px→約52pxに詰める
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* --- カート点数＋カート／メニューボタン --- */
  .l-header {
    padding-top: 6px;
  }
  .l-nav-cartBox {
    padding: 0 100px 0 10px;      /* 右にボタン2つ（36+6+36）＋余白 */
  }
  .l-nav-cartBox .l-nav-cartBox-list li {
    height: 36px;
    padding-left: 12px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .l-nav-cartBox .l-nav-cartBox-list:after {
    top: 15px;
  }
  .l-nav-cartBox .l-nav-cartBox-blank {
    height: 36px;
  }
  .l-nav-cartButton,
  .l-nav-spMenu {
    width: 36px;
    height: 36px;
    border-radius: 3px;
  }
  .l-nav-cartButton {
    right: 52px;
  }
  .l-nav-spMenu {
    right: 10px;
  }
  /* カート：アイコン18px（中心=13px）、文言は下端3px */
  .l-nav-cartButton .fa {
    top: 4px;
    height: 18px;
    line-height: 18px;
    font-size: 17px;
    font-size: 1.7rem;
  }
  .l-nav-cartButton .l-nav-cartBox-title,
  .l-nav-spMenu-text {
    bottom: 3px;
    font-size: 9px;
    font-size: .9rem;
    line-height: 1.2;
  }
  /* メニュー：3本線を18px幅・中心13pxに */
  .l-nav-spMenu-icon {
    width: 18px;
    left: 9px;
    top: 13px;
  }
  .l-nav-spMenu-icon:before {
    margin-top: -5px;
  }
  .l-nav-spMenu-icon:after {
    margin-top: 3px;
  }

  /* --- 検索欄（文字は16pxのまま。iOSの入力時ズームを避ける） --- */
  .l-nav-keywordSearch-input[type="text"] {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .l-nav-keywordSearch-input[type="text"]::placeholder {
    font-size: 13px;
  }

  /* --- 注文履歴／お気に入り／商品一覧 の3ボタン --- */
  .l-nav-itemNav {
    padding: 8px 10px;
  }
  .l-nav-itemNav-list li {
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.25;
  }
  .l-nav-itemNav-list .fa {
    margin-bottom: 3px;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .l-nav-gnav-item {
    padding-top: 5px;
    padding-bottom: 5px;
    border-radius: 6px;
    font-size: 11px;             /* 上の文字サイズ規則（13px）より後勝ちで上書き */
    font-size: 1.1rem;
    line-height: 1.2;
  }
}

/* =====================================================================
   SP 下部固定ナビ（注文履歴／お気に入り／商品一覧）
   ヘッダ内の3ボタンを、画面下に固定した黒帯タブバーへ組み替える（orderie SP と同型）
   参照値（orderie.jp SP 実測）：帯 #1f1f1f・高さ82px・アイコン20px・文言8px太字・現在地 白／他 #999
   ここでは 文言10px（2行あるため）、全項目を白系で統一（現在地はCSSだけでは判定できないため）
   HTMLは変更不可のため、<li> 内の <span>／<br> 構造をそのまま使う
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* 帯 */
  .l-nav-itemNav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;                 /* pager-float(100)・remodal・loading-shadow より下、コンテンツより上 */
    margin: 0;
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom));
    background-color: #1f1f1f;
    box-shadow: 0 -1px 0 rgba(255, 255, 255, .06);
    transition: transform .2s ease-out;   /* 表示⇄非表示（mb_script.js が body.mb-nav-hidden を付け外しする） */
  }
  body.mb-nav-hidden .l-nav-itemNav {
    transform: translateY(100%);
  }
  .l-nav-itemNav-list {
    display: flex;
    width: 100%;
    table-layout: auto;
  }
  .l-nav-itemNav-list li {
    display: block;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    padding: 0;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
  }
  .l-nav-itemNav-list a {
    display: block;
    color: #d9d9d9;
    -webkit-tap-highlight-color: transparent;
  }
  .l-nav-itemNav-list a:active {
    opacity: .7;
  }
  /* ボタン風の白いカードを消す */
  .l-nav-itemNav-list .l-nav-gnav-item {
    background: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    padding: 0;
    color: inherit;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.2;
  }
  .l-nav-itemNav-list .fa {
    display: block;
    margin: 0 auto 5px;
    color: #fff;
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;
  }
  .l-nav-itemNav-list span {
    color: inherit;
  }

  /* 帯の下に隠れる分だけ本文の下余白を確保（帯 = 8 + 20 + 5 + 24 + 8 ≒ 65px） */
  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }
  /* ページ先頭へボタンを帯の上に逃がす */
  .l-footer-pagetop {
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
  }
}

/* =====================================================================
   SP 商品一覧 条件エリア（表示件数／並び替え／並び替え順を編集）を控えめに
   水色の箱を外し、1行のインライン表示にする。セレクトは枠と紺の矢印帯を消して文字＋小さな矢印だけ残す
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .p-itemList-condition {
    background-color: transparent;
    margin: 4px 0 6px;
    padding: 0;
    text-align: left;
  }
  .p-itemList-condition .p-commonList-condition {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
  }
  .p-itemList-condition .p-commonList-condition .js-field-messages {
    flex: 0 0 100%;
    margin: 0;
  }
  .p-itemList-condition .condition-group01,
  .p-itemList-condition .condition-group02 {
    float: none;
    margin: 0;
    white-space: nowrap;
    letter-spacing: normal;
  }
  .p-itemList-condition .condition-child,
  .p-itemList-condition .condition-viewCount,
  .p-itemList-condition .condition-sort {
    display: inline-flex;
    align-items: center;
    position: static;
    margin: 0;
    padding: 0;
  }
  /* ラベル：絶対配置を解除し、補助色の小さな文字に */
  .p-itemList-condition .c-form-item-title {
    position: static;
    display: inline-block;
    width: auto;
    margin-right: 4px;
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
  }
  /* セレクト：枠なし・紺帯なし。文字と小さな矢印だけ */
  .p-itemList-condition .c-form-selectWrap {
    display: inline-block;
    width: auto;
    margin: 0;
    border: none;
    border-bottom: 1px solid #dadada;
    background: transparent;
  }
  .p-itemList-condition .c-form-selectWrap:before {
    display: none;
  }
  .p-itemList-condition .c-form-selectWrap:after {
    right: 2px;
    top: 50%;
    margin-top: -2px;
    border-width: 4px 3.5px 0 3.5px;
    border-color: #767676 transparent transparent transparent;
  }
  .p-itemList-condition .c-form-selectWrap select {
    height: 28px;
    padding: 0 16px 0 2px;
    color: #333;
    font-size: 14px;             /* 推測：iOSでフォーカス時ズームが出たら16pxへ戻す */
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 28px;
  }
  /* 並び替え順を編集：紺のブロックボタンから、細い枠の小さなボタンへ */
  .p-itemList-condition .condition-group02 {
    flex: 1 1 auto;
  }
  .p-itemList-condition .condition-sort {
    display: flex;
    width: 100%;
  }
  .p-itemList-condition .condition-sort #p-update-button-wrap {
    display: inline-block;
    margin-left: auto;           /* 編集ボタンは右端に寄せる */
    padding-left: 10px;
  }
  .p-itemList-condition .condition-sort .p-edit-usercharge-sort {
    display: inline-block;
    width: auto;
    padding: 4px 8px;
    border: 1px solid #dadada;
    border-radius: 3px;
    background: transparent;
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.2;
  }
  /* 編集モード（更新／キャンセル／移動ボタン）は全幅に戻す */
  .p-itemList-condition #js-sort-change-box {
    flex: 0 0 100%;
  }
}

/* =====================================================================
   SP 下部固定タブバー（mb_script.js が生成する .mb-tabbar）
   5項目：TOP／商品検索／仕入れリスト／カート／注文履歴（2026-09-30 お気に入り＋取引商品 → 仕入れリスト に統合）
   orderie SP 準拠：帯 #1f1f1f・現在地 白／他 #999・アイコン20px・文言太字。文言は1行に収めるため9px
   JS 実行時は元の3ボタン（.l-nav-itemNav）を消し、非実行時は上のフォールバック（3ボタンの黒帯）が残る
   ===================================================================== */
@media only screen and (max-width: 767px) {

  body.mb-has-tabbar .l-nav-itemNav {
    display: none;
  }

  .mb-tabbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    margin: 0;
    padding: 9px 0 calc(9px + env(safe-area-inset-bottom));
    background-color: #1f1f1f;
    box-shadow: 0 -1px 0 rgba(255, 255, 255, .06);
    transition: transform .2s ease-out;
  }
  body.mb-nav-hidden .mb-tabbar {
    transform: translateY(100%);
  }
  .mb-tabbar-list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mb-tabbar-item {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
  }
  .mb-tabbar-item a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    color: #999;                 /* 非現在地 */
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-tabbar-item a:hover,
  .mb-tabbar-item a:active,
  .mb-tabbar-item a:visited {
    color: #999;
    text-decoration: none;
  }
  .mb-tabbar-item.is-current a,
  .mb-tabbar-item.is-current a:visited {
    color: #fff;                 /* 現在地 */
  }
  .mb-tabbar-item a:active {
    opacity: .7;
  }
  .mb-tabbar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    margin-bottom: 4px;
  }
  .mb-tabbar-icon svg {
    display: block;
    width: 20px;
    height: 20px;
  }
  .mb-tabbar-icon .fa {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;
    color: inherit;
  }
  .mb-tabbar-label {
    display: block;
    font-size: 9px;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .01em;
    white-space: nowrap;
  }
}

/* =====================================================================
   SP 商品一覧 条件エリアのトグル（mb_script.js が .mb-cond-toggle を生成）
   畳んだ状態＝現在値の1行（例「50件・商品コード(昇順)」）。タップで従来の表示件数／並び替え／編集ボタンが開く
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .p-itemList-condition.mb-cond-collapsible {
    margin: 2px 0 6px;
  }
  .mb-cond-toggle {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    margin: 0;
    padding: 6px 2px;
    border: none;
    background: transparent;
    color: #555;
    font-family: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.3;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-cond-toggle-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mb-cond-toggle-arrow {
    flex: 0 0 auto;
    width: 0;
    height: 0;
    margin-left: 6px;
    border-style: solid;
    border-width: 4px 3.5px 0 3.5px;
    border-color: #767676 transparent transparent transparent;
    transition: transform .15s ease-out;
  }
  .p-itemList-condition.is-open .mb-cond-toggle-arrow {
    transform: rotate(180deg);
  }
  /* 本体：畳んでいるときは非表示 */
  .p-itemList-condition.mb-cond-collapsible .p-commonList-condition {
    display: none;
  }
  .p-itemList-condition.mb-cond-collapsible.is-open .p-commonList-condition {
    display: flex;               /* 前節の flex レイアウトを復帰 */
    margin-top: 4px;
  }
}

/* =====================================================================
   SP ヘッダの圧縮（mb_script.js が検索ボックスをカート行へ移し、body.mb-header-compact を付ける）
   行構成：[ キーワード検索 ........ ][カート(点数バッジ)][メニュー]
   ボタンは 42px 角（36px では「メニュー」4文字が収まらなかった）。文言10px
   ===================================================================== */
@media only screen and (max-width: 767px) {

  body.mb-header-compact .l-header-group01 {
    padding: 8px 0 8px;
  }
  body.mb-header-compact .l-header-group02,
  body.mb-header-compact .l-nav-cartBox-list,
  body.mb-header-compact .l-nav-cartBox-blank {
    display: none;
  }
  body.mb-header-compact .l-nav-cartBox {
    position: relative;
    min-height: 42px;
    padding: 0 106px 0 10px;     /* 右にボタン2つ（42+6+42）＋余白10＋間隔6 */
  }
  body.mb-header-compact.mb-no-cart .l-nav-cartBox {
    padding-right: 58px;         /* 未ログイン：メニューのみ（42＋余白10＋間隔6） */
  }
  /* 未ログイン：「ログイン」「お客 様」を独立行にせず、ロゴの右（店名と同じ位置）に置く */
  body.mb-header-compact .l-header-userNav {
    position: absolute;
    top: 8px;
    right: 10px;
    height: auto;
    display: block;
  }
  body.mb-header-compact .l-header-userNav ul {
    float: none;
    right: auto;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  body.mb-header-compact .l-header-userNav li {
    display: block;
    padding: 0;
    margin: 0;
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
    white-space: nowrap;
  }
  body.mb-header-compact .l-header-userNav .c-button04 {
    height: 24px;
    padding: 0 10px;
    line-height: 24px;
    font-size: 11px;
    font-size: 1.1rem;
    border-radius: 3px;
  }

  /* 検索ボックス（移設後） */
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch {
    position: relative;
    width: 100%;
    margin: 0;
  }
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch-input[type="text"] {
    height: 42px;
    padding: 0 48px 0 12px;
    border: 1px solid #dadada;
    border-radius: 4px;
    background: #fff;
    font-size: 16px;             /* iOSのフォーカス時ズーム回避 */
    font-size: 1.6rem;
    line-height: 40px;
  }
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch-input[type="text"]::placeholder {
    font-size: 13px;
    color: #9a9a9a;
  }
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 42px;
    height: 42px;
    padding: 0;
    border-radius: 0 4px 4px 0;
  }
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch-icon .fa {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 42px;
    margin: 0;
  }
  body.mb-header-compact .l-nav-cartBox .l-nav-keywordSearch-submit {
    display: none;               /* 「検索」の文字は出さない。虫眼鏡のみ */
  }

  /* カート／メニュー：42px角 */
  body.mb-header-compact .l-nav-cartButton,
  body.mb-header-compact .l-nav-spMenu {
    top: 0;
    width: 42px;
    height: 42px;
    border-radius: 4px;
  }
  body.mb-header-compact .l-nav-cartButton { right: 58px; }
  body.mb-header-compact .l-nav-spMenu { right: 10px; }

  body.mb-header-compact .l-nav-cartButton a {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    overflow: visible;
  }
  body.mb-header-compact .l-nav-cartButton .fa {
    left: -3px;
    top: 6px;
    height: 20px;
    line-height: 20px;
    font-size: 19px;
    font-size: 1.9rem;
  }
  body.mb-header-compact .l-nav-cartButton .l-nav-cartBox-title,
  body.mb-header-compact .l-nav-spMenu-text {
    bottom: 4px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.2;
    letter-spacing: -.02em;
    white-space: nowrap;
  }
  body.mb-header-compact .l-nav-spMenu-icon {
    width: 20px;
    left: 11px;
    top: 15px;
  }
  body.mb-header-compact .l-nav-spMenu-icon:before { margin-top: -6px; }
  body.mb-header-compact .l-nav-spMenu-icon:after  { margin-top: 4px; }

  /* 点数バッジ：カートボタン右上（親が overflow:hidden のためボタン内側に置く） */
  .mb-cart-badge {
    position: absolute;
    top: 1px;
    right: 1px;
    z-index: 1;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    background: #fff;
    color: #f29c1d;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
    font-size: 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    font-variant-numeric: tabular-nums;
    box-sizing: border-box;
  }
}

/* 下部タブバーのカート点数バッジ（.mb-cart-badge の共通見た目を黒帯用に上書き） */
@media only screen and (max-width: 767px) {
  .mb-tabbar .mb-tabbar-badge {
    top: -4px;
    right: auto;
    left: 50%;
    margin-left: 4px;            /* アイコン(20px)の右上に重ねる */
    background: #f29c1d;
    color: #fff;
    box-shadow: none;
  }
}

/* =====================================================================
   SP ロゴ拡大（90px → 130px）と、お気に入り／取引商品ページの「条件から検索する」非表示
   ページ種別は mb_script.js が body.mb-page-{top|search|favorite|list|cart|history} で付与
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .l-header-logo {
    width: 130px;
    padding-left: 10px;
    margin-bottom: 0;
  }
  .l-header-logo img {
    width: 100%;
    height: auto;
    display: block;
  }
  /* お気に入り／取引商品：一覧上部の「条件から検索する」（カテゴリ・詳細検索のアコーディオン）を出さない */
  body.mb-page-favorite .l-contents-side .p-search,
  body.mb-page-list .l-contents-side .p-search {
    display: none;             /* 一覧本体の左カラム側（.l-contents-col2-l 内）と #detailSearchForm 側の両方 */
  }
}

/* =====================================================================
   SP TOP：「取引商品一覧表示」バナー非表示／「カテゴリ一覧」全件をチップで表示
   （mb_script.js が .mb-hidden-sp／#item_categories_bottom.mb-cat-expanded を付与）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .mb-hidden-sp {
    display: none !important;
  }

  /* 全件チップ */
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 10px 4px;
    border-bottom: none;
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child li {
    margin: 0;
    border: none;
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child li:before {
    display: none;
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child a {
    display: inline-block;
    padding: 7px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child a:before {
    display: none;             /* 元の「＞」矢印を消す */
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child a:active {
    background: #f4f4f4;
  }
  /* 親見出し（商品分類）：分類テーブルが1つしかなく「カテゴリ一覧」と重複するため出さない */
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-parent {
    display: none;
  }
  #item_categories_bottom.mb-cat-expanded .mb-cat-all .p-category-child {
    padding-top: 4px;
  }
}

/* =====================================================================
   ローディング表示（2種）を「点3つ＋読み込んでいます」に統一（全幅。2026-10-07 本人指定でPCにも適用）
   ① 画面遷移：.load-btn クリックで common.js が #loading-shadow > #loading-progress を生成
      元：#333 60% の暗幕＋中央で黒い正方形が回転（sk-rotateplane）
   ② TOP ブロック内（最近注文／お気に入り）：.is-loading-progress（Vue の isLoading で v-show）
      元：80px の灰色正方形（#BBBBBB）が回転
   どちらも単一 div なので、::before に box-shadow で点3つ、::after に文言を描く。
   点：8px・中心間隔 20px。#d6d6d6 → #1a1a1a に濃くなりながら 5px 浮き（y 20px → 15px）、左→中→右へ 0.18s ずつ遅れる。
   1周 1.7s（点が動くのは前半 1.0s、残りは静止）。各点の山は三角形（0.24s で上がり 0.24s で戻る）なので
   キーフレームを各点の折れ点に置き timing-function: linear で結ぶと補間が厳密になる（ease だとズレる）
   ① は暗幕の代わりに白 75% の薄い幕にして下のコンテンツを沈める（操作ブロックの役割は維持）。
   150ms 未満で終わる遷移では一瞬も出さない（mbLoadAppear の遅延）
   ===================================================================== */
@media screen {
  #loading-shadow {
    display: block;
    background: rgba(255, 255, 255, .75);
    opacity: 0;
    animation: mbLoadAppear .01s linear .15s forwards;
  }
  @keyframes mbLoadAppear {
    to { opacity: 1; }
  }

  /* 元の正方形スピナーを無効化して、縦積みの箱にする */
  #loading-progress,
  .is-loading-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: auto;
    height: auto;
    margin: 0;
    background: none;
    animation: none;
    transform: none;
  }
  #loading-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    justify-content: center;
    padding-bottom: 10vh;          /* 真ん中よりやや上に見せる */
  }
  .is-loading-progress {
    padding: 20px 0 12px;          /* TOP の見出し→中身 12px のリズムに合わせて控えめに */
  }

  /* 点3つ（本体は透明、3点とも box-shadow） */
  #loading-progress::before,
  .is-loading-progress::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 0 30px;              /* 点は本体の 20px 下に描くので、その分を下余白に含める（点→文言は実質 18px） */
    border-radius: 50%;
    background: transparent;       /* 本体は透明。box-shadow は本体の真下には描かれないため、3点とも 20px 下へずらして描く */
    box-shadow: -20px 20px 0 #d6d6d6, 0 20px 0 #d6d6d6, 20px 20px 0 #d6d6d6;
    animation: mbLoadDots 1.7s linear infinite;
  }
  /* 文言 */
  #loading-progress::after,
  .is-loading-progress::after {
    content: '読み込んでいます';
    font-size: 13px;
    font-weight: 300;
    line-height: 1;
    letter-spacing: .06em;
    color: #666;
  }
  @keyframes mbLoadDots {
    0%,
    9.4% { box-shadow: -20px 20px 0 #d6d6d6, 0px 20px 0 #d6d6d6, 20px 20px 0 #d6d6d6; }
    20% { box-shadow: -20px 16.2px 0 #494949, 0px 20px 0 #d6d6d6, 20px 20px 0 #d6d6d6; }
    23.5% { box-shadow: -20px 15px 0 #1a1a1a, 0px 18.8px 0 #a7a7a7, 20px 20px 0 #d6d6d6; }
    30.6% { box-shadow: -20px 17.5px 0 #787878, 0px 16.2px 0 #494949, 20px 20px 0 #d6d6d6; }
    34.1% { box-shadow: -20px 18.8px 0 #a7a7a7, 0px 15px 0 #1a1a1a, 20px 18.8px 0 #a7a7a7; }
    37.6% { box-shadow: -20px 20px 0 #d6d6d6, 0px 16.2px 0 #494949, 20px 17.5px 0 #787878; }
    44.7% { box-shadow: -20px 20px 0 #d6d6d6, 0px 18.8px 0 #a7a7a7, 20px 15px 0 #1a1a1a; }
    48.2% { box-shadow: -20px 20px 0 #d6d6d6, 0px 20px 0 #d6d6d6, 20px 16.2px 0 #494949; }
    58.8%,
    100% { box-shadow: -20px 20px 0 #d6d6d6, 0px 20px 0 #d6d6d6, 20px 20px 0 #d6d6d6; }
  }
}

/* =====================================================================
   SP 商品一覧：下側の件数・ページャ・「一括でカートに入れる」（.p-itemList-nav-bottom）を出さない
   上側（.p-itemList-pager-float）がスクロールに追従するため重複
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .p-itemList-nav.p-itemList-nav-bottom {
    display: none;
  }
}

/* =====================================================================
   保険：PC 幅（768px以上）では mb_script.js の生成物を一切表示しない
   （SP幅で生成した後にウィンドウを広げた場合など）
   ===================================================================== */
@media only screen and (min-width: 768px) {
  .mb-tabbar,
  .mb-cond-toggle,
  .mb-cart-badge {
    display: none !important;
  }
  .p-itemList-condition.mb-cond-collapsible .p-commonList-condition {
    display: block !important;
  }
}

/* =====================================================================
   SP 数量ステッパー／カートボタン（TOP横スクロールカード・一覧2列カード 共通）
   ステッパー：元の「灰／紺の角ブロック＋罫線付き入力」を、白地の丸ボタン（26px）で数値を挟む形に変更（全体84px）。
             元CSSの絶対配置（.p-item-count に padding、ボタンを left/right:0）は flex に置き換える
   カートボタン：c-button05（灰地・灰文字＝押せない見た目）を、テーマ色 #274f79 の塗りボタンに変更
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count,
  .p-item-table tr.p-item .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 26px;
    padding: 0;
    margin: 0;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button,
  .p-item-table tr.p-item .p-item-count-button {
    position: relative;          /* ±線（absolute）の基準。static にすると .p-item-count 基準になり最初の丸に重なる */
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .15s linear;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button:hover,
  .p-item-table tr.p-item .p-item-count-button:hover {
    opacity: 1;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button:active,
  .p-item-table tr.p-item .p-item-count-button:active {
    background: #e9e9e9;
  }
  /* ±の線：ボタン内側24px（border 1px を除く）の中央に置く */
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button:before,
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button:after,
  .p-item-table tr.p-item .p-item-count-button:before,
  .p-item-table tr.p-item .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-button:before,
  .p-item-table tr.p-item .p-item-count-button:before {
    left: 7px;
    top: 11px;
    width: 10px;
    height: 2px;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-increment:after,
  .p-item-table tr.p-item .p-item-count-increment:after {
    left: 11px;
    top: 7px;
    width: 2px;
    height: 10px;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-input,
  .p-item-table tr.p-item .p-item-count-input {
    position: static;
    flex: 0 0 32px;
    width: 32px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-count-input:focus,
  .p-item-table tr.p-item .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  /* 単位ラベル：TOPカード（160px）では「ｹｰｽ(入数:24)：」（11pxで約74px）が
     ステッパー84px＋余白4pxの残り72pxに入らないため 10px に落とす。一覧カード（約180px）は 11px のまま */
  .p-itemLayout-grid-scroll .p-item-quantity-input-caption {
    font-size: 10px;
    font-size: 1rem;
    margin-right: 4px;
  }

  /* カートに入れる */
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-cart .c-button05.js-cart-set-button,
  .p-item-table tr.p-item .c-button05.js-cart-set-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    margin-top: 10px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-cart .c-button05.js-cart-set-button:active,
  .p-item-table tr.p-item .c-button05.js-cart-set-button:active {
    opacity: .8;
  }
  .p-itemLayout-grid-scroll .p-item-group02 .p-item-cart .c-button05.js-cart-set-button .fa,
  .p-item-table tr.p-item .c-button05.js-cart-set-button .fa {
    font-size: 13px;
    margin-right: 5px;
  }
}

/* =====================================================================
   SP TOP 縦リズムの整理（.l-contents.p-top 配下のみ。一覧・詳細は対象外）
   基準：セクション間 28px／見出し→中身 12px／カード内 8〜10px。
   元CSSは セクション mb40 + 見出し mb20 + 横スクロール枠の padding-top 15×2（外側・内側で二重）
   ＋ .c-box-col4Wrap padding-top 4 で、見出しから画像まで 54px 空いていた
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* スライダー → お知らせ：40 → 24 */
  .l-contents.p-top .p-top-mainSlideWrap {
    margin-bottom: 24px;
  }

  /* セクション間：40 → 28 */
  .l-contents.p-top .c-container {
    margin-bottom: 28px;
  }
  .l-contents.p-top .l-contents-side .c-container:not(:first-of-type) {
    margin-bottom: 28px;
  }

  /* 見出し → 中身：20 → 12 */
  .l-contents.p-top .c-title01 {
    margin-bottom: 12px;
  }

  /* 横スクロール枠：二重の padding-top 15 を外側 0／内側 0 に、下は内側だけ 4 残す */
  .l-contents.p-top .p-itemLayout-grid.p-itemLayout-grid-scroll {
    padding-top: 0;
    padding-bottom: 0;
  }
  .l-contents.p-top .p-itemLayout-grid-scroll .c-box-col4Wrap {
    padding-top: 2px;            /* お気に入りアイコン等がカード上端をはみ出さない最小値 */
    padding-bottom: 4px;
  }

  /* 「注文した商品はありません。」：margin30+padding30 で 143px あった箱を 56px に */
  .l-contents.p-top .p-item-error {
    margin: 0;
    padding: 18px 15px;
  }

  /* お知らせ：最終行の下余白（margin15 + padding15）を消す。区切り点線は残す */
  .l-contents.p-top .p-news-list li {
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
  .l-contents.p-top .p-news-list li:last-child {
    margin-bottom: 0;
  }

  /* カード内：画像→商品名 8／商品名→数量 10／数量行間 6／数量→カートボタン 10 */
  .l-contents.p-top .p-itemLayout-grid-scroll .p-item-name {
    margin-top: 8px;
  }
  .l-contents.p-top .p-itemLayout-grid-scroll .p-item-group02 {
    margin-top: 10px;
  }
  .l-contents.p-top .p-itemLayout-grid-scroll .p-item-group02 .p-item-flexRowToEnd {
    margin-top: 6px;
  }
  .l-contents.p-top .p-itemLayout-grid-scroll .p-item-group02 .p-item-flexRowToEnd:first-child {
    margin-top: 0;
  }

  /* カテゴリ一覧：見出し直下の 2px はそのまま。カタログ：箱の padding 20/50 → 8/20 */
  .l-contents.p-top .p-catalog-box {
    padding: 8px 20px 20px;
  }
}

/* =====================================================================
   SP 商品検索：「条件から検索する」内の整理（mb_script.js 10) chipifySearchConditions と対）
   - お気に入り設定／注文履歴 の行は出さない（下部タブバーに同じ入口があるため。本人指定 2026-09-30）
   - セレクト（商品分類／カタログ／タグ）は隠し、JS が生成する .mb-chips で選ぶ。チップの見た目は TOP カテゴリ一覧と同値
   - 商品分類（47件）は3行で畳み「すべて表示（N）」で開く
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="f"]),
  .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="o"]),
  .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="mm"]) {
    display: none;             /* mm＝商品メモ（本人指定 2026-09-30 追加） */
  }

  .l-contents-col2-l .p-search .c-form-selectWrap.mb-chipified {
    position: absolute;          /* display:none にすると一部ブラウザでフォーム送信対象から外れる懸念があるため画面外へ */
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    margin: -1px;
  }

  .mb-chips {
    position: relative;
  }
  .mb-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    --mb-chip-h: 30px;           /* 7+7 padding + 12px×1.2 line-height ≒ 28.4 → 30 で丸める（3行の高さ計算に使う） */
  }
  .mb-chip {
    display: inline-block;
    padding: 7px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-family: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-chip:active {
    background: #f0f0f0;
  }
  .mb-chip.is-selected {
    border-color: #274f79;
    background: #274f79;
    color: #fff;
  }

  /* 畳み：3行ぶん（チップ30px×3＋隙間8px×2＝106px）＋下端のフェード */
  .mb-chips-collapsible:not(.is-expanded) .mb-chips-list {
    max-height: 106px;
    overflow: hidden;
  }
  .mb-chips-collapsible:not(.is-expanded) .mb-chips-list:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    height: 24px;
    background: linear-gradient(to bottom, rgba(246,246,246,0), #f6f6f6);   /* .p-search-box-inner の地色 */
    pointer-events: none;
  }
  .mb-chips-more {
    display: block;
    margin-top: 8px;
    padding: 6px 0;
    border: none;
    background: none;
    color: #274f79;
    font-family: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    -webkit-appearance: none;
    appearance: none;
  }
  .mb-chips-more:before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 6px 2px 0;
    border-right: 2px solid #274f79;
    border-bottom: 2px solid #274f79;
    transform: rotate(45deg);
  }
  .mb-chips.is-expanded .mb-chips-more:before {
    transform: rotate(-135deg);
    margin-bottom: -2px;
  }
}

/* =====================================================================
   SP 商品検索：「条件から検索する」を軽くする（本人指定 2026-09-30：見出し・背景色・ボタンが重い、縦に長い）
   対象は一覧本体側 .l-contents-col2-l .p-search（ヘッダ内 #detailSearchForm 側は触らない）
   - 開閉ボタン（紺の塗り）→ 白地のテキスト行＋右端の開閉アイコン
   - 絞り込みボックスの地色 #f6f6f6・罫線・「カテゴリで絞り込む」「他の条件で絞り込む」見出し帯 → すべて外し、1枚のフォームとして続ける
   - 入力欄 48px → 36px、項目間 10px、内側余白 20 → 0
   - 検索ボタンは2つ（商品分類側・他の条件側、どちらも同じフォームを送信）→ 商品分類側を隠して末尾の1つに
   - 「商品メモ」CSV出力 → 見出しを消し、右寄せのテキストリンク風に
   ===================================================================== */
@media only screen and (max-width: 767px) {

  .l-contents-col2-l .p-search.js-accWrap {
    margin: 6px 0 4px;
  }

  /* 開閉行 */
  .l-contents-col2-l .p-search .p-search-button .c-button02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 2px;
    border: none;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    background: transparent;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
  }
  .l-contents-col2-l .p-search .p-search-button .c-button02:hover {
    opacity: 1;
  }
  .l-contents-col2-l .p-search .p-search-button .c-button02:after {
    display: none;             /* 元の clearfix 疑似要素が flex の3つ目の子になり、アイコンが中央へ寄るのを防ぐ */
  }
  .l-contents-col2-l .p-search .p-search-button .fa {
    float: none;
    color: #999;
    font-size: 14px;
  }

  /* 箱・見出し帯を外す */
  .l-contents-col2-l .p-search .p-search-box {
    margin: 0;
    background: transparent;
  }
  .l-contents-col2-l .p-search .p-search-box .c-title01 {
    display: none;
  }
  .l-contents-col2-l .p-search .p-search-box-inner {
    padding: 12px 2px 0;
    border: none;
  }
  .l-contents-col2-l .p-search .p-search-box-category .p-search-box-inner {
    padding-bottom: 0;
  }
  .l-contents-col2-l .p-search .p-search-box-category .p-search-box-condition > li {
    margin-bottom: 0;          /* 「すべて表示」の下は次ブロックの padding-top 12 だけにする */
  }
  .l-contents-col2-l .p-search .p-search-box-condition {
    margin-bottom: 0;
  }
  .l-contents-col2-l .p-search .p-search-box-condition > li {
    margin-bottom: 12px;
  }
  .l-contents-col2-l .p-search .p-search-box-condition .c-form-item-title {
    margin-bottom: 4px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
  }
  .l-contents-col2-l .p-search .js-field-messages:empty,
  .l-contents-col2-l .p-search .js-field-messages:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]))) {
    display: none;             /* 非表示のメッセージ枠が余白だけ残すのを防ぐ */
  }

  /* 入力欄 */
  .l-contents-col2-l .p-search input[type="text"].c-form-search-input-control {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    box-shadow: none;
  }

  /* 検索ボタン：商品分類側を隠し、末尾の1つを軽めに */
  .l-contents-col2-l .p-search .p-search-box-category .p-search-box-button {
    display: none;
  }
  .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button {
    margin: 4px 0 0;
  }
  .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button .c-button02 {
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 6px;
    line-height: 40px;
    font-size: 13px;
    font-size: 1.3rem;
  }

  /* 商品メモ CSV出力：見出しなし、右寄せのテキストリンク風 */
  .l-contents-col2-l .p-search .p-search-box-memo .p-search-box-inner {
    padding: 8px 2px 4px;
    text-align: right;
  }
  .l-contents-col2-l .p-search .p-search-box-memo .p-search-box-button .c-button02 {
    display: inline-block;
    width: auto;
    padding: 6px 2px;
    border: none;
    background: transparent;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  /* 商品分類チップの畳みフェードは地色が白になったので合わせる */
  .l-contents-col2-l .p-search .mb-chips-collapsible:not(.is-expanded) .mb-chips-list:after {
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  }
}

/* =====================================================================
   SP 商品一覧：「一括でカートに入れる」（#item-nav-top .nav-controls の c-button01＝橙）を
   カード内「カートに入れる」と同じトンマナ（#274f79 塗り・白・角丸6・高さ36・12px太字）に揃える（本人指定 2026-09-30）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .p-itemList-nav .nav-controls .c-button01 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 36px;
    padding: 0 16px;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
  }
  .p-itemList-nav .nav-controls .c-button01:active {
    opacity: .8;
  }
  .p-itemList-nav .nav-controls .c-button01 .fa {
    font-size: 13px;
    margin-right: 5px;
  }
}

/* =====================================================================
   SP 商品一覧：一覧ブロック（.p-itemList-result）の左右余白 10 → 16px（本人指定 2026-09-30）
   件数帯・ページャ・一括ボタン・カード列が同じ内側線に揃う。見出し帯（h1.c-title01）は全幅のまま
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .p-itemList-result.u-sp-pdg {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* SP 商品一覧カード：単位ラベルを TOP カードと同じ 10px に（column-gap 16 で 375px 幅のカードが 164px になり、
   11px だと「ﾎﾞｰﾙ(入数:30)：」「ｹｰｽ(入数:100)：」が省略記号になるため。2026-09-30） */
@media only screen and (max-width: 767px) {
  .p-item-table tr.p-item .p-item-quantity-input-caption {
    font-size: 10px;
    font-size: 1rem;
    margin-right: 4px;
  }
}

/* =====================================================================
   SP フッタを orderie SP と同じ様式に（本人指定 2026-09-30）
   orderie 実測（375px）：白地・左右 28px・上端に 24×2px の黒い短罫（左寄せ）・リンクは 12px #1a1a1a 太さ400、
   各行 margin-top 16px（行高 22px）・区切り線なし・矢印なし・コピーライトは 50px 下に 10px 中央・地色なし
   元の SP フッタ：行ごとに #dadada の罫線＋右端の「＞」矢印、コピーライトは #dfdfdf の帯
   ===================================================================== */
@media only screen and (max-width: 767px) {
  footer .l-footer-utility {
    position: relative;
    margin-top: 24px;
    padding: 24px 28px 0;
    background: #fff;
    border-top: none;
  }
  footer .l-footer-utility:before {
    content: '';
    position: absolute;
    top: 0;
    left: 28px;
    width: 24px;
    height: 2px;
    background: #1a1a1a;
  }
  footer .l-footer-utility-list li {
    border: none;
    margin-top: 16px;
    padding: 0;
  }
  footer .l-footer-utility-list li:first-child {
    margin-top: 0;
  }
  footer .l-footer-utility-list a {
    display: inline-block;
    padding: 0;
    color: #1a1a1a;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.8;
    text-decoration: none;
  }
  footer .l-footer-utility-list a:before {
    display: none;             /* 右端の「＞」を消す */
  }
  footer .l-footer-copyright {
    margin-top: 50px;
    padding: 0 28px 24px;
    background: transparent;
    line-height: 1.2;
    text-align: center;
  }
  footer .l-footer-copyright p {
    color: #1a1a1a;
    font-size: 10px;
    font-size: 1rem;
  }
}

/* =====================================================================
   SP 取引商品一覧・お気に入り：商品パネル（下部シート）で数量入力・カート投入（mb_script.js 12)、本人指定 2026-09-30）
   カード側の数量入力と「一括でカートに入れる」（上下の item-nav とも）は消し、画像タップ → パネルに集約する。
   パネルの中身は Vue が描いた .p-quantity-box を移動して入れる（複製しない）。ステッパーはカード内の 26px より
   ひと回り大きい 32px、数値 18px。カートボタンは 44px（画面下端に近く、片手で押す想定）
   ===================================================================== */
@media only screen and (max-width: 767px) {

  /* パネルを持つ一覧（取引商品・お気に入り＝body.mb-has-sheet、mb_script.js の SHEET_PAGES）のカード：数量入力を外す（親商品の「バリエーション一覧へ」は残す）。一括カートも上下とも外す */
  body.mb-has-sheet .p-item-table tr.p-item > td[data-label="数量"]:not(:has(.c-button-variations)) {
    display: none;
  }
  body.mb-has-sheet .p-itemList-nav .nav-controls {
    display: none;
  }
  /* 数量行が無くなりカードが「画像→品番→商品名」だけになるので、行間 48px は空きすぎる。28px に詰める */
  body.mb-has-sheet .p-item-table tbody {
    row-gap: 28px;
  }

  /* 背景の幕 */
  .mb-sheet-backdrop {
    position: fixed;
    inset: 0;
    z-index: 199;
    background: rgba(0, 0, 0, .4);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease-out, visibility 0s linear .2s;
  }
  .mb-sheet-backdrop.is-open {
    opacity: 1;
    visibility: visible;
    transition: opacity .2s ease-out;
  }

  /* シート本体 */
  .mb-sheet {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 200;
    box-sizing: border-box;
    max-height: 85vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 20px calc(20px + env(safe-area-inset-bottom));
    background: #fff;
    border-radius: 16px 16px 0 0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .12);
    transform: translateY(100%);
    visibility: hidden;
    transition: transform .25s ease-out, visibility 0s linear .25s;
  }
  .mb-sheet.is-open {
    transform: translateY(0);
    visibility: visible;
    transition: transform .25s ease-out;
  }
  /* 開いている間は背面をスクロールさせない */
  /* html の hidden がビューポートへ伝わってスクロールを止める。body まで hidden にすると body がスクロール容器になり、
     仕入れリストの追従セグメント（position: sticky）がパネルを開いた瞬間に元位置へ飛ぶので、body は clip（容器にならない）。
     clip 非対応（iOS 15 以下）は visible に落ちるが、body の hidden はもともとビューポートのスクロールを止めていない */
  html.mb-sheet-lock {
    overflow: hidden;
  }
  html.mb-sheet-lock body {
    overflow: visible;
    overflow: clip;
  }

  .mb-sheet-handle {
    width: 36px;
    height: 4px;
    margin: 0 auto 14px;
    border-radius: 2px;
    background: #d6d6d6;
  }
  .mb-sheet-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-sheet-close:before,
  .mb-sheet-close:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    margin: -1px 0 0 -8px;
    border-radius: 1px;
    background: #999;
  }
  .mb-sheet-close:before { transform: rotate(45deg); }
  .mb-sheet-close:after  { transform: rotate(-45deg); }

  /* 見出し：サムネ 64px ＋ 品番・商品名 */
  .mb-sheet-head {
    display: flex;
    align-items: flex-start;
    padding-right: 32px;          /* 閉じるボタンの分 */
  }
  .mb-sheet-thumb {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    margin: 0 12px 0 0;
    border-radius: 4px;
    overflow: hidden;
    background: #f4f4f4;
  }
  .mb-sheet-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mb-sheet-title {
    flex: 1 1 auto;
    min-width: 0;
  }
  .mb-sheet-cd {
    margin: 0 0 3px;
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
  }
  .mb-sheet-name {
    margin: 0;
  }
  .mb-sheet-name a {
    display: block;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.45;
    word-break: keep-all;
    overflow-wrap: anywhere;
    text-decoration: none;
  }

  /* 数量：単位ごとに「ラベル／ステッパー」を1行。行間は罫線で区切る */
  .mb-sheet-qty {
    margin-top: 16px;
    border-top: 1px solid #ececec;
  }
  .mb-sheet-qty .p-item-flexRowToEnd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    min-height: 48px;
    margin: 0;
    padding: 4px 0;
    border-bottom: 1px solid #ececec;
  }
  .mb-sheet-qty .p-item-flexRowToEnd:not(:has(*)) {
    display: none;
  }
  .mb-sheet-qty .p-item-quantity-input-caption,
  .mb-sheet-qty .p-item-quantity-per-case-caption,
  .mb-sheet-qty .p-item-order-lot-num-caption {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 8px;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mb-sheet-qty .p-item-quantity-per-case-value,
  .mb-sheet-qty .p-item-order-lot-num-value {
    flex: 0 0 auto;
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .mb-sheet-qty .p-item-quantity-input-value {
    flex: 0 0 auto;
  }
  .mb-sheet-qty .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 32px;
    margin: 0;
    padding: 0;
  }
  .mb-sheet-qty .p-item-count-button {
    position: relative;           /* ±線の基準（末尾のステッパーブロックと同じ理由） */
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    transition: background-color .15s linear;
  }
  .mb-sheet-qty .p-item-count-button:hover { opacity: 1; }
  .mb-sheet-qty .p-item-count-button:active { background: #e9e9e9; }
  .mb-sheet-qty .p-item-count-button:before,
  .mb-sheet-qty .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  /* ±の線：内側30px（border 1px を除く）の中央 */
  .mb-sheet-qty .p-item-count-button:before {
    left: 9px;
    top: 14px;
    width: 12px;
    height: 2px;
  }
  .mb-sheet-qty .p-item-count-increment:after {
    left: 14px;
    top: 9px;
    width: 2px;
    height: 12px;
  }
  .mb-sheet-qty .p-item-count-input {
    position: static;
    flex: 0 0 48px;
    width: 48px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .mb-sheet-qty .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }

  /* カートに入れる */
  .mb-sheet .mb-sheet-cart.c-button05 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    margin-top: 16px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-sheet .mb-sheet-cart.c-button05:active { opacity: .8; }
  /* 数量が全部 0 のとき（押せない。onclick 側でも is-disabled なら送らない） */
  .mb-sheet .mb-sheet-cart.c-button05.is-disabled {
    background: #d9d9d9;
    color: #fff;
    cursor: default;
    pointer-events: none;
  }
  .mb-sheet .mb-sheet-cart .fa {
    font-size: 15px;
    margin-right: 6px;
  }

  /* カート投入の吹き出し：パネルは畳み、吹き出しをタブバーの上に固定して見せる（tether の inline 配置を上書き）。
     幕（#tether-bg）はテーマのまま。タップで吹き出しが閉じる */
  body.mb-has-sheet .c-button-cart-balloon.mb-balloon-float {
    position: fixed !important;
    top: auto !important;
    left: 16px !important;
    right: 16px !important;
    bottom: calc(82px + 12px + env(safe-area-inset-bottom)) !important;   /* タブバー 82px ＋ 12px */
    width: auto !important;
    transform: none !important;
    z-index: 210;
    border-color: #274f79;
    border-radius: 8px;
  }
  body.mb-has-sheet .c-button-cart-balloon.mb-balloon-float .balloon-button .c-button01 {
    background-color: #274f79;
    border-color: #274f79;
    color: #fff;
    border-radius: 6px;
  }
  body.mb-has-sheet .js-cart-balloon-overlay { z-index: 205; }
}

@media only screen and (max-width: 767px) {
  /* タップしたカードにテーマの hover ハイライト（#fdffeb）が残るのを止める（タッチでは hover が貼り付く） */
  body.mb-has-sheet .p-table-highlight .p-row-highlight:hover {
    background-color: transparent;
  }
}

/* =====================================================================
   SP 仕入れリスト：セグメント（お気に入り｜取引商品）（mb_script.js 14) buildListSegment、本人決定 2026-09-30）
   見出し h1「仕入れリスト」の直下、一覧ブロックと同じ左右 16px の内側線。チップ様式（#dadada 枠・角丸16・12px）を
   2等分の帯にしたもの。選択中は #274f79 塗り・白文字。ページ再読込で切り替わるので状態は URL が持つ
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .mb-list-seg {
    display: flex;
    margin: 0;
    padding: 0;
    border: 1px solid #dadada;
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
  }
  .mb-list-seg-item {
    flex: 1 1 0;
    min-width: 0;
    display: block;
    padding: 8px 0;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  .mb-list-seg-item + .mb-list-seg-item {
    border-left: 1px solid #dadada;
  }
  .mb-list-seg-item:hover,
  .mb-list-seg-item:visited {
    color: #333;
    text-decoration: none;
  }
  .mb-list-seg-item:active {
    background: #f2f2f2;
  }
  .mb-list-seg-item.is-current,
  .mb-list-seg-item.is-current:visited {
    color: #fff;
    background: #274f79;
    border-color: #274f79;
  }
}

/* =====================================================================
   SP 仕入れリスト：セグメントを追従させる（mb_script.js 14)、本人指定 2026-10-01）
   セグメントを白地の帯（.mb-list-seg-wrap）で包み position: sticky で画面上端に貼り付ける。
   祖先 .l-contents が overflow: hidden（スクロール容器になり sticky が効かない）なので、このページだけ clip に替える
   （clip は容器を作らない。非対応の iOS 15 以下は visible＋flow-root に落ち、はみ出しの切り取りだけが無くなる）。
   帯が貼り付いている間（is-stuck）だけ下に薄い影を出し、カードの上に重なっていることを示す
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-page-list .l-contents,
  body.mb-page-favorite .l-contents {
    display: flow-root;
    overflow: visible;
    overflow: clip;
  }
  .mb-list-seg-wrap {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 80;                 /* カードより上、タブバー（90）・パネル（199〜）より下 */
    margin: 4px 0 0;
    padding: 8px 16px 6px;
    background: #fff;
    transition: box-shadow .15s linear;
  }
  .mb-list-seg-wrap.is-stuck {
    box-shadow: 0 1px 0 #ececec, 0 4px 8px rgba(0, 0, 0, .04);
  }
  .mb-list-seg-sentinel {
    height: 0;
  }
  /* 件数・ページャの帯（#item-nav-top）はテーマが scrollTop で position: fixed; top: 0（js-fixed）に切り替えるため、
     そのままだとセグメントの上に被る。この2ページだけ sticky に置き換えてセグメントの直下（--mb-seg-h、JS が実測して渡す）に重ねる。
     テーマが fixed 化に合わせて一覧に足す margin-top（inline）も打ち消す。親 .p-itemList-result が一覧全体を包むので最後まで追従する */
  body.mb-page-list .p-itemList-pager-float,
  body.mb-page-favorite .p-itemList-pager-float,
  body.mb-page-list .p-itemList-pager-float.js-fixed,
  body.mb-page-favorite .p-itemList-pager-float.js-fixed {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: calc(var(--mb-seg-h, 46px) - 1px) !important;   /* 1px 重ねて小数の丸めでも隙間を作らない */
    z-index: 79;
    width: auto !important;
    /* 親 .p-itemList-result の左右 16px の内側に収まっていたため、貼り付いた帯の両脇から背後のカードが透けていた。
       セグメントの帯と同じく画面端まで白地を広げる（中身の位置は padding で据え置き） */
    margin-left: -16px !important;
    margin-right: -16px !important;
    padding-top: 1px;
    padding-left: 16px;
    padding-right: 16px;
    background: #fff;
  }
  body.mb-page-list .js-adjust-margin-top,
  body.mb-page-favorite .js-adjust-margin-top {
    margin-top: 0 !important;
  }
  /* 2段とも貼り付いている間は、影をセグメントではなくページャの下に出す */
  body.mb-page-list .mb-list-seg-wrap.is-stuck,
  body.mb-page-favorite .mb-list-seg-wrap.is-stuck {
    box-shadow: none;
  }
  body.mb-page-list .p-itemList-pager-float.js-fixed,
  body.mb-page-favorite .p-itemList-pager-float.js-fixed {
    box-shadow: 0 1px 0 #ececec, 0 4px 8px rgba(0, 0, 0, .04);
  }
}

/* =====================================================================
   SP 仕入れリスト：カード全体をタップ対象に（mb_script.js 12)、本人指定 2026-10-01）
   以前は画像タップのみ。カードのどこを押してもパネルが開く（詳細へはパネル内の商品名から）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-has-sheet .p-item-table tr.p-item {
    cursor: pointer;             /* iOS Safari で非リンク要素のタップに click を出させる保険 */
    -webkit-tap-highlight-color: transparent;
  }
  /* パネルを下向きスワイプで閉じる：指に追従している間は transition を切る（mb_script.js bindSheetSwipe） */
  .mb-sheet.is-dragging,
  .mb-sheet-backdrop.is-dragging {
    transition: none;
  }
}

/* =====================================================================
   SP 連打時の拡大を止める（mb_script.js 15)、本人指定 2026-10-01）
   数量 ± を素早く2回押すと iOS Safari がダブルタップ拡大する。touch-action: manipulation はダブルタップ拡大だけを止め、
   スクロール・ピンチ拡大は残す。対象はステッパー（カード・パネル・商品詳細とも同クラス）とパネル全体・セグメント。
   連打で数値や±が選択状態（青い反転）にならないよう、ボタンは選択不可に
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .p-item-count,
  .p-item-count-button,
  .p-item-count-input,
  .mb-sheet,
  .mb-sheet-backdrop,
  .mb-list-seg-wrap {
    touch-action: manipulation;
  }
  .p-item-count-button {
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
  }
}

/* =====================================================================
   SP 仕入れリスト：1行1アイテムの行表示（mb_script.js 16)、本人決定 2026-10-01）
   商品検索（2列カード）と見た目を分ける。対象はパネルを持つ一覧（body.mb-has-sheet＝取引商品・お気に入り）だけ。
   行：画像 72px ／ 品番・商品名（2行まで）・単位の枠 ／ 右上にハート。1行 約115px（2列カードは1件 約237px）
   行の右端にアイコンは置かない。行タップ＝数量入力 を示すのは単位の枠（バラ／ボール／ケース）と押下時の沈み。
   商品名はリンクに見せない（詳細へはパネル内の商品名から）。ハートは画像の角から行の右上へ離す（お気に入り画面では「外す」操作のため）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-has-sheet .p-item-table tbody {
    display: block;
    padding: 4px 0 16px;
  }
  body.mb-has-sheet .p-item-table tr.p-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 32px;
    grid-template-rows: auto auto auto;
    align-content: start;
    column-gap: 12px;
    box-sizing: border-box;
    width: calc(100% + 32px);     /* 押下の地色・罫線を画面端まで（一覧の左右 padding 16px を打ち消す。width 指定が要る：テーマ側で幅が固定される） */
    margin: 0 -16px;
    padding: 12px 16px;
    border-bottom: 1px solid #ececec;
    min-height: 72px;
    transition: background-color .1s linear;
  }
  body.mb-has-sheet .p-item-table tr.p-item:first-child {
    border-top: 1px solid #ececec;
  }
  body.mb-has-sheet .p-table-highlight tr.p-item.p-row-highlight:active,
  body.mb-has-sheet .p-item-table tr.p-item:active {
    background-color: #f3f4f6;
  }
  /* 画像 72px 角丸6 */
  body.mb-has-sheet .p-item-table tr.p-item > td[data-label="商品画像"] {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: center;           /* 行の高さ（商品名1〜2行・単位の枠）に対して上下中央（本人指定 2026-10-01、当初は上付け） */
  }
  body.mb-has-sheet .p-item-table tr.p-item .p-item-thumb {
    width: 72px;
    height: 72px;
    aspect-ratio: auto;
    border-radius: 6px;
  }
  /* 品番 → 商品名 → 単位の枠 */
  body.mb-has-sheet .p-item-table tr.p-item > td[data-label="品番"] {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }
  body.mb-has-sheet .p-item-table tr.p-item > td.p-item-table-alignLeft {
    grid-column: 2;               /* ハート（右列）の下に回り込ませない */
    grid-row: 2;
    margin: 2px 0 0;
    flex: none;
  }
  body.mb-has-sheet .p-item-table tr.p-item .p-item-name a {
    display: block;                      /* 2行で切らず全文を出す（本人指定 2026-10-22「商品名が2行までしか表示されないので全部出して」） */
    overflow: visible;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.4;
    text-decoration: none;
  }
  body.mb-has-sheet .p-item-table tr.p-item > td[data-label="mb-units"] {
    grid-column: 2 / 4;
    grid-row: 3;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin-top: 8px;
    overflow: hidden;
  }
  .mb-unit-slot {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    height: 28px;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    color: #555;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1;
    white-space: nowrap;
  }
  /* ハート：行の右上。タップ範囲 32px、影と白丸は外す */
  body.mb-has-sheet .p-item-table tr.p-item > td:not([data-label]) {
    position: static;
    grid-column: 3;
    grid-row: 1 / 3;              /* 品番行だけに置くと 32px のボタンが品番行を押し広げる */
    align-self: start;
    justify-self: end;
    margin: -6px -6px 0 0;
  }
  body.mb-has-sheet .p-item-table tr.p-item .p-item-favorite > a {
    width: 32px;
    height: 32px;
    box-shadow: none;
  }
  body.mb-has-sheet .p-item-table tr.p-item .p-item-favorite > a:not(.p-item-favorite-added),
  body.mb-has-sheet .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added {
    background-color: transparent;
  }
}

/* =====================================================================
   SP カート：仕入れリストの行表示・商品パネル・商品検索の軽いフォームと同じ様式に揃える（mb_script.js 17)、本人指定 2026-10-01）
   対象はカート入力画面だけ（body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input))。cart_con／cart_processing は対象外）
   - 商品：4段の表（商品／荷姿／数量／削除、灰の見出し列・点線罫）→ 1行1アイテム。画像 72px ／ 品番・商品名 ／ 単位・入数 と ステッパー（パネルと同じ 32px 丸・18px 太字）
   - 削除：枠付きボタン → 行の右上のテキスト「削除」。押すと元の確認ダイアログ（delItemConfirm）が出る。取り消せない操作なので確認は残す
   - 見出し「カート」：仕入れリストの見出し帯（c-title01）と同じ。お届け先・お支払方法・その他注文情報は 13px 太字の小見出し
   - お届け先・お支払方法・その他注文情報：灰の箱・表の罫線を外し、1枚のフォームに。入力欄は 44px・16px（iOS のフォーカス拡大を出さない）
   - 注文内容の確認へ進む：橙 → #274f79・高さ 48・角丸 6（パネルの「カートに入れる」と同系）。買い物を続ける／カートをクリアはテキストリンク
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg {
    padding-left: 0;
    padding-right: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg > section.c-container:first-of-type {
    margin-bottom: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-totalWrap,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-tableWrap {
    margin-bottom: 0;
  }

  /* 見出し：仕入れリストの見出し帯と同じ */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) h1.title03.p-questionButton-parent {
    margin: 0 0 4px;
    min-height: 0;
    padding: 6px 10px;
    background: #c7dae5;
    border-bottom: 1px solid #afcada;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) h1.title03.p-questionButton-parent .c-title03-label {
    min-height: 0;
    padding: 2px 0 2px 13px;
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 26px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-error-alert-sec {
    margin: 0;
    padding: 0 16px;
  }
  @keyframes mb-cart-unit-reveal { to { visibility: visible; } }
  /* エラー・お知らせ（画面上部の .js-page-messages、行ごとの在庫・ロット、入力欄ごと）：テーマの赤枠の帯を、角丸6・13px の落ち着いた札に */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message {
    border: 1px solid #f1c5c5;
    background: #fdf3f3;
    color: #c0392b;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message {
    border: 1px solid #e3e3e3;
    background: #f7f7f7;
    color: #333;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message p,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message p {
    margin: 0 !important;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message p + p,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message p + p {
    margin-top: 4px !important;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message .fa,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message .fa {
    margin-right: 4px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-error-alert-sec:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]), p:not(:empty))) {
    display: none;                       /* 空のメッセージ枠が余白だけ残すのを防ぐ */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-error-alert-sec {
    padding-top: 8px;
    padding-bottom: 4px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td.p-cart-table-name > div[data-field-cd] .c-form-error-message,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .c-form-error-message {
    margin-top: 6px;
    padding: 6px 10px;
    font-size: 12px;
    font-size: 1.2rem;
  }

  /* ---- 商品の行 ---- */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table {
    margin: 0;
    border: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table tbody {
    display: block;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table tbody:first-of-type tr.p-cart {
    border-top: 1px solid #ececec;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table tr.p-cart {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto auto;
    align-items: start;
    column-gap: 12px;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    border: none;
    border-bottom: 1px solid #ececec;
    background: #fff;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-table-highlight .p-row-highlight:hover {
    background-color: transparent;       /* テーマの hover 色 #fdffeb がタップ後に貼り付くのを防ぐ */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td {
    display: block !important;
    width: auto;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td:before {
    display: none;                       /* 見出し列（商品／荷姿／数量／削除） */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item {
    display: block;
    width: auto;
    padding: 0;
    background: transparent;
  }

  /* 商品セル：画像・品番・商品名をグリッドへ直接置く */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td.p-cart-table-name,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td.p-cart-table-name > .p-cart-item,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-info {
    display: contents !important;        /* テーマの td{display:table !important} と上の block !important を上書き */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-thumb {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: center;                  /* 仕入れリストの行と同じく上下中央 */
    width: 72px;
    height: 72px;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
    background: #f6f6f6;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-thumb a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #999;
    font-size: 9px;
    text-decoration: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-code {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.6;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-code .p-cart-item-infoLabel {
    display: none;                       /* 【商品コード】 */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-name {
    grid-column: 2 / 4;
    grid-row: 2;
    margin: 2px 0 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-cart-item-name a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }
  /* 在庫・ロットのメッセージ枠：出ているときだけ行の下段に全幅で */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td.p-cart-table-name > div[data-field-cd] {
    grid-column: 1 / 4;
    grid-row: 4;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td.p-cart-table-name > div[data-field-cd]:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]), p:not(:empty))) {
    display: none;
  }

  /* 荷姿セル：単位名と入数（mb_script.js が .mb-cart-unit を足す）。元の表記は隠す */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="荷姿"] {
    grid-column: 2;
    grid-row: 3;
    align-self: center;
    margin-top: 10px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="荷姿"]:has(.mb-cart-unit) > .p-cart-item {
    display: none;                       /* JS が単位名を足すまでは元の表記（ｹｰｽ：【入数】600）を同じ文字組みで見せる */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="荷姿"] > .p-cart-item {
    visibility: hidden;                  /* 「数量」→「バラ」の差し替えのちらつきを見せない。JS が動かなかった場合は 1.5 秒後に元の表記を出す */
    animation: mb-cart-unit-reveal 0s 1.5s forwards;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 8px;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.4;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="荷姿"] > .p-cart-item > div + div {
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 400;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="荷姿"] > .p-cart-item .p-cart-item-infoLabel {
    color: inherit;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .mb-cart-unit {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 8px;
    line-height: 1.4;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .mb-cart-unit-name {
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .mb-cart-unit-per {
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
  }

  /* 数量セル：ステッパー（商品パネルと同値）。ケース行の総数（無効の数量欄）は「計 N」の小さな文字に */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="数量"] {
    grid-column: 3;
    grid-row: 3;
    justify-self: end;
    margin-top: 10px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="数量"] > .p-cart-item {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="数量"] > .p-cart-item > span {
    display: none;                       /* 「数量 ：」 */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-commonDetail-nowrap {
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 32px;
    margin: 0;
    padding: 0;
    touch-action: manipulation;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    left: auto;
    right: auto;
    top: auto;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    user-select: none;
    touch-action: manipulation;
    transition: background-color .15s linear;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:hover { opacity: 1; }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:active { background: #e9e9e9; }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:before,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:after {
    position: absolute;
    margin: 0;
    background: #333;
    border-radius: 1px;
    -webkit-transform: none;
    transform: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:before {
    content: '';
    left: 9px;
    top: 14px;
    width: 12px;
    height: 2px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-decrement:after {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-increment:after {
    content: '';
    left: 14px;
    top: 9px;
    width: 2px;
    height: 12px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input {
    position: static;
    flex: 0 0 48px;
    width: 48px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    -moz-appearance: textfield;
    touch-action: manipulation;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input::-webkit-inner-spin-button,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  /* ケース行：無効の数量欄（総数）。ステッパーの下に「計 1800」 */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count:has(> .p-item-count-input:disabled) {
    height: auto;
    margin-top: 4px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count:has(> .p-item-count-input:disabled):before {
    content: '計';
    margin-right: 4px;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input:disabled {
    flex: 0 0 auto;
    width: 4.5em;
    height: auto;
    padding: 0;
    text-align: left;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 400;
    background: transparent;
    -webkit-text-fill-color: #888;
    opacity: 1;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count:has(> .p-item-count-input:disabled) {
    justify-content: center;
    width: 112px;                        /* ステッパー（32+48+32）の幅の中央に「計 N」 */
    font-variant-numeric: tabular-nums;
  }

  /* 削除：行の右上のテキスト。押すと元の確認ダイアログが出る */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="削除"] {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    margin: -8px -8px 0 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="削除"] .c-button03 {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 8px;
    border: none;
    background: transparent;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    -webkit-tap-highlight-color: transparent;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="削除"] .c-button03 .fa {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td[data-label="削除"] .c-button03:active {
    color: #c0392b;
  }

  /* ---- 一覧の下：注記・買い物を続ける・カートをクリア ---- */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-totalWrap {
    display: block;
    padding: 0 16px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-tableWrap:not(:has(td, th, .freeEditContent)) {
    display: none;                       /* 金額表（行なし）の空枠 */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-continue {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-note {
    flex: 1 0 100%;
    margin: 0 0 6px;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.6;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton {
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton .c-button02 {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton .c-button02 .fa {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton .c-button02:after {
    content: '';
    width: 6px;
    height: 6px;
    margin-left: 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-continue > p:last-child {
    margin: 0 !important;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-continue .js-cart-delete-button {
    display: inline-flex;
    align-items: center;
    height: 36px;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    text-decoration: none;
  }

  /* ---- お届け先・お支払方法・その他注文情報：1枚のフォーム ---- */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg > section.c-container + section.c-container {
    margin: 0;
    padding: 0 16px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg > section.c-container:first-of-type + section.c-container {
    margin-top: 12px;
    padding-top: 20px;
    border-top: 8px solid #f3f4f6;       /* 商品とお届け・支払の境 */
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg > section.c-container + section.c-container h1.title03 {
    min-height: 0;
    margin: 0 0 6px;
    padding: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #formmain > .c-container > .u-sp-pdg > section.c-container + section.c-container .c-title03-label {
    min-height: 0;
    padding: 0;
    border: none;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .04em;
    line-height: 1.4;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .required {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 5px;
    border: 1px solid #c0392b;
    border-radius: 3px;
    background: transparent;
    color: #c0392b;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.3;
    vertical-align: 1px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-deliveryAddress,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment {
    position: relative;
    margin: 0 0 20px;
    padding: 0;
    background: transparent;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.7;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-deliveryAddress p + p {
    margin-top: 2px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
  }
  /* お支払方法：「変更する」は見出し行の右端のテキストリンク */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment .p-cart-edit {
    position: absolute;
    top: -30px;
    right: 0;
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment .p-cart-edit-button {
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment .p-cart-edit-button .c-button-l {
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 32px;
    padding: 0 !important;
    border: none;
    background: transparent;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment .p-cart-edit-button .fa {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-payment .p-cart-edit-note {
    margin: 4px 0 0;
    color: #888;
  }

  /* その他注文情報：表 → ラベル＋入力欄 */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table {
    display: block;
    margin: 8px 0 0;
    border: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table tbody,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table tr {
    display: block;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table tr + tr {
    margin-top: 14px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table th,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table td {
    display: block;
    width: auto;
    padding: 0;
    border: none;
    background: transparent;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table th {
    margin-bottom: 4px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .js-field-messages:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]))) {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table input[type="text"].p-cart-other-memo {
    box-sizing: border-box;
    width: 100% !important;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #222;
    font-size: 16px;                     /* 16px 未満だと iOS がフォーカス時に拡大する */
    -webkit-appearance: none;
    appearance: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table input[type="text"].p-cart-other-memo:focus {
    outline: none;
    border-color: #274f79;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table input#wishingShipmentDate {
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23999' stroke-width='1.4' d='M2.5 3.5h11v10h-11zM2.5 6.5h11M5.5 1.5v3M10.5 1.5v3'/%3E%3C/svg%3E") no-repeat right 12px center;
  }
  /* 日付のクリアボタン（addClearButtonToDatepicker） */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table td > div:first-child {
    position: relative;
  }

  /* 入力情報の保存チェック */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-save-checkbox {
    margin: 18px 16px 0;
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: left;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-save-checkbox > label {
    display: grid;
    grid-template-columns: 20px 1fr;
    column-gap: 8px;
    align-items: start;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-save-checkbox br {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-save-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #274f79;
  }

  /* 注文内容の確認へ進む */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit {
    margin: 16px 16px 8px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit-confirm {
    margin: 0;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit .p-cart-button.c-button01 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit .p-cart-button.c-button01:active {
    background: #1d3d5f;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit .p-cart-submit-label {
    font-size: inherit;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit .p-cart-button .fa {
    display: none;
  }

  /* 到着希望日のカレンダー（jQuery UI datepicker）：橙の見出し・灰の升目 → 白地・紺。入力欄の幅に合わせる */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div {
    box-sizing: border-box;
    width: calc(100vw - 32px) !important;
    max-width: 360px;
    padding: 8px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(0, 0, 0, .12);
    font-family: inherit;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-header {
    padding: 6px 0;
    border: none;
    background: transparent;
    color: #222;
    font-size: 15px;
    font-weight: 700;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div th {
    color: #888;
    font-size: 11px;
    font-weight: 400;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td {
    padding: 2px;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td .ui-state-default {
    height: 36px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: transparent;
    color: #ccc;
    font-size: 14px;
    font-weight: 400;
    line-height: 36px;
    text-align: center;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td:not(.ui-state-disabled) a.ui-state-default {
    color: #222;
    font-weight: 700;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td a.ui-state-highlight {
    text-decoration: underline;          /* 今日 */
    text-underline-offset: 4px;
  }
  /* 選択中（未入力のときは既定日が付く）は枠だけ。塗りは押している間だけ */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td a.ui-state-active {
    box-shadow: inset 0 0 0 2px #274f79;
    color: #274f79 !important;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div td a.ui-state-default:active {
    background: #274f79;
    color: #fff !important;
  }
  /* 前月・次月：白抜きアイコン（橙の見出し用）が白地で消えるので、線の矢印に置き換える */
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next {
    top: 4px;
    width: 36px;
    height: 32px;
    border: none;
    background: transparent;
    cursor: pointer;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev { left: 2px; }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next { right: 2px; }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev .ui-icon,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next .ui-icon {
    display: none;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev:after,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next:after {
    content: '';
    position: absolute;
    top: 11px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #274f79;
    border-right: 2px solid #274f79;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev:after {
    left: 15px;
    transform: rotate(-135deg);
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next:after {
    right: 15px;
    transform: rotate(45deg);
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-prev.ui-state-disabled:after,
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-next.ui-state-disabled:after {
    border-color: #d6d6d6;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-buttonpane {
    margin: 6px 0 0;
    padding: 6px 0 0;
    border-top: 1px solid #ececec;
    background: transparent;
  }
  body:is(.mb-cart-input, :has(#formmain .p-cart-table .p-item-count-input)) #ui-datepicker-div .ui-datepicker-buttonpane button {
    margin: 0;
    padding: 6px 12px;
    border: none;
    background: transparent;
    color: #274f79;
    font-size: 13px;
    font-weight: 700;
    opacity: 1;
  }
}

/* =====================================================================
   SP ログイン：白地の1カラム（mb_script.js 18) が body.mb-page-login を付ける、本人指定 2026-10-01）
   - 罫線付きの箱（80%幅）→ 枠なし・左右 24px。ロゴは 200px で上 15vh あたりに
   - 入力欄は 48px・16px（iOS のフォーカス拡大を出さない）・角丸 6・#d6d6d6 枠。ラベル 12px 太字
   - ログイン：#274f79・高さ 48・角丸 6・15px 太字（カートの「注文内容の確認へ進む」と同じ）
   - パスワード再設定・操作説明：中央のテキストリンク。操作説明の「こちら」は管理画面の装飾（赤字・黄色地）を外す
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-page-login {
    background: #fff;
  }
  body.mb-page-login #login_wrap {
    box-sizing: border-box;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    padding: 12vh 24px 40px;
    border: none;
    background: transparent;
  }
  body.mb-page-login #login_header {
    margin: 0 0 32px;
  }
  body.mb-page-login #login_header img {
    width: 200px;
    max-width: 70%;
    height: auto;
  }
  body.mb-page-login #login_header p {
    margin-top: 10px;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: .08em;
  }
  body.mb-page-login .freeEditContent:has(> p > p:only-child > br:only-child),
  body.mb-page-login .freeEditContent:empty {
    display: none;                       /* 空の自由編集枠（<p><br></p>）が余白だけ残すのを防ぐ */
  }
  body.mb-page-login .login_form_header {
    margin: 0 0 6px;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
  }
  body.mb-page-login .login_form {
    margin: 0 0 20px;
    overflow: visible;
  }
  body.mb-page-login .login_form input {
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0 14px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    color: #222;
    font-size: 16px;
    -webkit-appearance: none;
    appearance: none;
  }
  body.mb-page-login .login_form input:focus {
    outline: none;
    border-color: #274f79;
  }
  body.mb-page-login .login_form p,
  body.mb-page-login .login_form p span {
    margin-top: 6px;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.5;
  }
  body.mb-page-login .login_form br {
    display: none;
  }
  body.mb-page-login .login_form .js-field-messages:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]))) {
    display: none;
  }
  body.mb-page-login .p-login-button-border {
    margin: 28px 0 0;
  }
  body.mb-page-login .p-login-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .08em;
  }
  body.mb-page-login .p-login-button:active {
    background: #1d3d5f;
  }
  body.mb-page-login .p-login-button .fa {
    display: none;
  }
  body.mb-page-login #reminder {
    margin: 20px 0 0;
    text-align: center;
  }
  body.mb-page-login #reminder a {
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    text-decoration: none;
  }
  body.mb-page-login #reminder ~ .freeEditContent {
    margin-top: 12px;
    text-align: center;
  }
  body.mb-page-login #reminder ~ .freeEditContent p:has(> span > br:only-child) {
    display: none;                       /* 18px の空行 */
  }
  body.mb-page-login #reminder ~ .freeEditContent span,
  body.mb-page-login #reminder ~ .freeEditContent u {
    color: #888 !important;
    font-size: 12px !important;
    background: transparent !important;
    text-decoration: none;
  }
  body.mb-page-login #reminder ~ .freeEditContent a,
  body.mb-page-login #reminder ~ .freeEditContent a span,
  body.mb-page-login #reminder ~ .freeEditContent a u {
    color: #274f79 !important;
    text-decoration: none;
  }
  body.mb-page-login #reminder ~ .freeEditContent a {
    margin-left: 2px;
  }
}

/* =====================================================================
   SP 商品検索：画像右下の虫眼鏡 → 概要パネル（mb_script.js 19)、本人指定 2026-10-01）
   - ボタン：画像の右下 6px 内側に白丸 30px（#333 の線アイコン 16px・薄い影）。タップ範囲は疑似要素で 44px に広げる
   - パネル：商品パネル（.mb-sheet）と同じ下部シート。見出し（サムネ・品番・商品名）の下に概要、末尾に「商品詳細を見る」
   - 概要は詳細ページのリッチテキスト（style・class は JS で外してある）。本文 14px・行間 1.7・#333
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-has-quicklook .p-item-table tr.p-item .p-item-thumb {
    position: relative;
  }
  /* 虫眼鏡のタップでカードにテーマの hover 色（#fdffeb）が貼り付くのを止める（12) の商品パネルと同じ扱い） */
  body.mb-has-quicklook .p-table-highlight .p-row-highlight:hover {
    background-color: transparent;
  }
  .mb-ql-btn {
    position: absolute;
    right: 6px;
    bottom: 6px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .18);
    color: #333;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .mb-ql-btn:before {                 /* タップ範囲 44px */
    content: "";
    position: absolute;
    inset: -7px;
  }
  .mb-ql-btn:active {
    background: #f3f4f6;
  }
  .mb-ql-btn svg {
    display: block;
  }

  /* 概要パネル：高さは中身なり（最大 85vh、.mb-sheet と同じ）。本文 */
  .mb-ql-body {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #ececec;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
  }
  .mb-ql-body p {
    margin: 0 0 .6em;
  }
  .mb-ql-body p:last-child {
    margin-bottom: 0;
  }
  /* 段落頭・末尾の <br> は JS（qlSanitize）で落とす。CSS の br:first-child は「本文<br>本文」の改行まで消すので使わない */
  .mb-ql-body strong,
  .mb-ql-body b {
    font-weight: 700;
    color: #222;
  }
  .mb-ql-body img {
    max-width: 100%;
    height: auto;
  }
  .mb-ql-body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
  }
  .mb-ql-body th,
  .mb-ql-body td {
    padding: 6px 8px;
    border: 1px solid #ececec;
    text-align: left;
    vertical-align: top;
  }
  .mb-ql-body a {
    color: #274f79;
  }
  .mb-ql-body.is-note {
    color: #888;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .mb-ql-body.is-loading-progress {   /* 読み込み中は共通のローディング表示（点3つ＋読み込んでいます）。上の罫線は残す */
    padding: 24px 0 8px;
  }

  /* 見出しのくくり（JS が 1行だけの太字・【…】・■… に .mb-ql-h を付ける）：見出しの上に空きを取り、見出しごとに区切る */
  .mb-ql-body .mb-ql-h {
    display: block;
    margin: 1.3em 0 .25em;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .mb-ql-body .mb-ql-h.is-first {
    margin-top: 0;
  }
  /* 見出し（h3 等）がある概要の中の太字・【…】の行は小見出し：上の空きを小さく */
  .mb-ql-body .mb-ql-sub {
    display: block;
    margin: .7em 0 0;
    color: #333;
    font-weight: 700;
  }
  .mb-ql-body .mb-ql-sub.is-first {
    margin-top: 0;
  }
  .mb-ql-body section,
  .mb-ql-body div {
    margin: 0;
    padding: 0;
  }
  .mb-ql-body p:has(> .mb-ql-h:only-child) {      /* 見出しだけの段落は段落の下余白を足さない（見出しの下 .25em だけ） */
    margin-bottom: 0;
  }

  /* 右上：お気に入り（×の左）。一覧カードのハートと同じ見た目（白丸・灰／登録済みはピンク） */
  .mb-ql.has-fav .mb-sheet-head {
    padding-right: 76px;
  }
  .mb-ql-fav {
    position: absolute;
    top: 12px;
    right: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
    color: #9a9a9a;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  .mb-ql-fav[hidden] {
    display: none;
  }
  .mb-ql-fav:before {                 /* タップ範囲 44px */
    content: "";
    position: absolute;
    inset: -6px;
  }
  .mb-ql-fav.is-added {
    color: #FF0080;
  }
  .mb-ql-fav .fa {
    font-size: 15px;
    line-height: 1;
  }

  /* 商品分類：見出しの下にチップ（TOP カテゴリ一覧と同値）。階層は › でつなぐ。タップで商品分類の検索へ */
  .mb-ql-cats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 4px;
    margin-top: 12px;
  }
  .mb-ql-cats[hidden] {
    display: none;
  }
  .mb-ql-cat {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
    text-decoration: none;
  }
  a.mb-ql-cat:active {
    background: #f3f4f6;
  }
  .mb-ql-cat-sep:before {
    content: "›";
    color: #999;
    font-size: 13px;
  }
  .mb-ql-cats + .mb-ql-body {
    margin-top: 14px;
  }

  /* 末尾：商品詳細へ（カートの「買い物を続ける」と同じ紺テキスト＋＞） */
  .mb-ql-foot {
    margin: 18px 0 0;
    text-align: center;
  }
  .mb-ql-more {
    display: inline-block;
    padding: 8px 4px;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  .mb-ql-more:after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 1px 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
    transform: rotate(45deg);
  }
}
/* PC 幅に広がったときは出さない（JS は SP 幅でだけ生成するが、生成後に広げた場合の保険） */
@media only screen and (min-width: 768px) {
  .mb-ql-btn,
  .mb-ql,
  .mb-ql-backdrop {
    display: none !important;
  }
}

/* =====================================================================
   SP 商品検索・カタログ商品一覧：未ログインではカート関連（数量入力・単位・一括でカートに入れる・カートに入れる）を出さない（本人指定 2026-10-01）
   判定：JS（mb_script.js 20)）が #is-login を見て body.mb-logged-out／mb-logged-in を付ける。JS が付く前のちらつきを抑えるため、
   CSS だけでも「ヘッダにカートボタンが無い」（未ログインのヘッダ。4) の compactHeader と同じ判定）で効かせ、JS がログイン中と判定したら外す
   親商品の「バリエーション一覧へ」は残す
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-logged-out, :not(.mb-logged-in):has(.l-header-group01 .l-nav-cartBox):not(:has(.l-nav-cartButton a))):is(:has(#search_items), :has(#catalogShohinListSearch)) .p-item-table tr.p-item > td[data-label="数量"]:not(:has(.c-button-variations)),
  body:is(.mb-logged-out, :not(.mb-logged-in):has(.l-header-group01 .l-nav-cartBox):not(:has(.l-nav-cartButton a))):is(:has(#search_items), :has(#catalogShohinListSearch)) .p-item-table tr.p-item .p-item-cart,
  body:is(.mb-logged-out, :not(.mb-logged-in):has(.l-header-group01 .l-nav-cartBox):not(:has(.l-nav-cartButton a))):is(:has(#search_items), :has(#catalogShohinListSearch)) .p-item-table tr.p-item .js-cart-set-button,
  body:is(.mb-logged-out, :not(.mb-logged-in):has(.l-header-group01 .l-nav-cartBox):not(:has(.l-nav-cartButton a))):is(:has(#search_items), :has(#catalogShohinListSearch)) .p-itemList-nav .nav-controls {
    display: none !important;
  }
  /* 数量行が無くなるのでカードの行間 48px を詰める（商品パネルのページと同じ 28px） */
  body:is(.mb-logged-out, :not(.mb-logged-in):has(.l-header-group01 .l-nav-cartBox):not(:has(.l-nav-cartButton a))):is(:has(#search_items), :has(#catalogShohinListSearch)) .p-item-table tbody {
    row-gap: 28px;
  }
}

/* =====================================================================
   SP 商品検索：「条件から検索する」と商品一覧（見出し帯）の間を空ける（本人指定 2026-10-01）
   開いているとき（検索ボタン・CSV出力の下）32px、閉じているとき（開閉の行の下）16px
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-page-search, .mb-page-catalog) .l-contents-col2-l .l-contents-side .p-search.js-accWrap {
    margin-bottom: 16px;
  }
  body:is(.mb-page-search, .mb-page-catalog) .l-contents-col2-l .l-contents-side .p-search.js-accWrap.js-opened {
    margin-bottom: 32px;
  }
}

/* =====================================================================
   SP 商品検索・カタログ商品一覧：件数・ページャの帯（#item-nav-top）の追従を sticky に置き換える（本人指定 2026-10-01）
   テーマ（p_shohin_list.js）は読み込み時に測った帯の位置（offsetTop）を超えたら position: fixed にし、一覧に margin-top を足す。
   SP ではその後に「条件から検索する」を開く（9)）・商品分類を差し込む・チップ化する（10)）ので帯が下にずれ、測った位置が古くなる。
   結果、帯が元の位置に来る前に fixed になり、抜けた跡と margin-top が空白になっていた。
   仕入れリストと同じく sticky にすれば位置はブラウザが常に計算するので、早すぎる切り替えも空白も起きない。
   祖先 .l-contents の overflow: hidden は sticky を殺すので clip に（非対応 iOS15 以下は visible＋flow-root）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-page-search, .mb-page-catalog) .l-contents {
    display: flow-root;
    overflow: visible;
    overflow: clip;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-itemList-pager-float,
  body:is(.mb-page-search, .mb-page-catalog) .p-itemList-pager-float.js-fixed {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 79;                 /* カードより上、タブバー（90）・パネル（199〜）より下 */
    width: auto !important;
    margin-left: -16px !important;   /* 仕入れリストと同じく白地を画面端まで（両脇から背後が透けないように） */
    margin-right: -16px !important;
    padding-top: 0;
    padding-left: 16px;
    padding-right: 16px;
    background: #fff;
  }
  body:is(.mb-page-search, .mb-page-catalog) .js-adjust-margin-top {
    margin-top: 0 !important;
  }
}

/* =====================================================================
   SP 商品詳細（mb_script.js 22) decorateDetail が body.mb-detail を付け、品番・概要を移す。本人指定 2026-10-02）
   並び：品番 → 商品名 → 画像 → 数量・カートに入れる＋お気に入り → 概要 → 商品情報（備考・分類・タグ） → 商品メモ
   数量・カートの見た目は仕入れリストの商品パネル（.mb-sheet）と同値（行48px・丸ボタン32px・数値18px太字・紺44px）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-detail .p-itemDetail {
    padding-top: 0;
  }
  body.mb-detail .p-itemDetail .mb-dt-empty,
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s.mb-dt-empty {
    display: none;
  }

  /* 品番：商品名の直上に小さく（元の縦罫線区切りを外す） */
  body.mb-detail .p-item-code.mb-dt-code {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 12px;
    margin: 12px 0 4px;
    padding: 0;
    line-height: 1.4;
    letter-spacing: normal;
  }
  body.mb-detail .p-item-code.mb-dt-code li,
  body.mb-detail .p-item-code.mb-dt-code li:last-child {
    margin: 0;
    padding: 0;
    border: none;
  }
  body.mb-detail .p-item-code.mb-dt-code .p-item-code-label,
  body.mb-detail .p-item-code.mb-dt-code .p-item-code-label span {
    color: #767676;
    font-size: 11px;
    font-size: 1.1rem;
  }
  body.mb-detail .p-item-code.mb-dt-code li > span:not(.p-item-code-label) {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
  }

  /* 商品名 */
  body.mb-detail .p-itemDetail .p-item-name.u-sp-item {
    margin: 0 0 14px;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.45;
  }

  /* 画像：薄い地色の正方に近い枠に収める（縦長・横長でも高さが暴れない） */
  body.mb-detail .p-itemDetail-thumb {
    margin: 0;
  }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-l {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 280px;
    margin: 0;
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: #f6f6f6;
    overflow: hidden;
  }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-l a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-l img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    mix-blend-mode: multiply;     /* 白地の商品写真を枠の地色になじませる */
  }
  /* サムネ列（2枚以上のときだけ）：56px 角・角丸 */
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s {
    display: flex;
    gap: 8px;
    margin: 8px 0 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s::-webkit-scrollbar { display: none; }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s:after { display: none; }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s li {
    float: none;
    flex: 0 0 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    background: #f6f6f6;
  }
  body.mb-detail .p-itemDetail-thumb .p-item-thumb-s img {
    max-width: 52px;
    max-height: 52px;
    mix-blend-mode: multiply;
  }

  /* 情報欄：縦に並べ、order で 数量・カート → 概要 → 商品情報 → 商品メモ */
  body.mb-detail .p-itemDetail-info {
    display: flex;
    flex-direction: column;
    padding: 4px 0 0;
  }
  body.mb-detail .p-itemDetail-info > * { order: 5; }
  body.mb-detail .p-itemDetail-info > .p-item-group02 { order: 1; }
  body.mb-detail .p-itemDetail-info > .mb-dt-desc { order: 2; }
  body.mb-detail .p-itemDetail-info > .p-item-group01 { order: 3; }
  body.mb-detail .p-itemDetail-info > .p-itemDetail-memo { order: 4; }
  body.mb-detail .p-itemDetail-info > div:not([class]):not(:has(*:not(input[type="hidden"]))) { display: none; }  /* 空の拡張項目枠 */

  /* 区切り：概要・商品情報・商品メモは上に罫線と見出し */
  body.mb-detail .p-itemDetail-info > .mb-dt-desc,
  body.mb-detail .p-itemDetail-info > .p-item-group01,
  body.mb-detail .p-itemDetail-info > .p-itemDetail-memo {
    margin: 24px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #ececec;
  }
  body.mb-detail .p-itemDetail-info > [data-mb-title]:before {
    content: attr(data-mb-title);
    display: block;
    margin: 0 0 12px;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
  }

  /* 数量：単位ごとに「ラベル／ステッパー」を1行（商品パネルと同値） */
  body.mb-detail .p-itemDetail .p-item-group02 {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    min-width: 0;
    margin: 12px 0 0;
    text-align: left;
    white-space: normal;
  }
  body.mb-detail .p-itemDetail .p-item-group02 > * {
    flex: 0 0 100%;
    min-width: 0;
  }
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-flexRowToEnd {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    min-height: 52px;
    margin: 0;
    padding: 4px 0;
    border-bottom: 1px solid #ececec;
  }
  body.mb-detail .p-itemDetail .p-item-group02 > div:first-of-type .p-item-flexRowToEnd:first-child,
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-flexRowToEnd:first-of-type {
    border-top: 1px solid #ececec;
  }
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-flexRowToEnd:not(:has(*)) {
    display: none;
  }
  body.mb-detail .p-itemDetail .p-item-quantity-input-caption,
  body.mb-detail .p-itemDetail .p-item-quantity-per-case-caption,
  body.mb-detail .p-itemDetail .p-item-order-lot-num-caption {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 8px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  body.mb-detail .p-itemDetail .p-item-quantity-per-case-value,
  body.mb-detail .p-itemDetail .p-item-order-lot-num-value {
    flex: 0 0 auto;
    color: #555;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-detail .p-itemDetail .p-item-quantity-input-value {
    flex: 0 0 auto;
  }
  body.mb-detail .p-itemDetail .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 32px;
    margin: 0;
    padding: 0;
  }
  body.mb-detail .p-itemDetail .p-item-count-button {
    position: relative;           /* ±線の基準（ステッパーブロックと同じ理由） */
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color .15s linear;
  }
  body.mb-detail .p-itemDetail .p-item-count-button:hover { opacity: 1; }
  body.mb-detail .p-itemDetail .p-item-count-button:active { background: #e9e9e9; }
  body.mb-detail .p-itemDetail .p-item-count-button:before,
  body.mb-detail .p-itemDetail .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  body.mb-detail .p-itemDetail .p-item-count-button:before {
    left: 9px;
    top: 14px;
    width: 12px;
    height: 2px;
  }
  body.mb-detail .p-itemDetail .p-item-count-increment:after {
    left: 14px;
    top: 9px;
    width: 2px;
    height: 12px;
  }
  body.mb-detail .p-itemDetail .p-item-count-input {
    position: static;
    flex: 0 0 52px;
    width: 52px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;               /* 16px 以上なので iOS のフォーカス拡大は出ない */
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    touch-action: manipulation;
    -moz-appearance: textfield;
  }
  body.mb-detail .p-itemDetail .p-item-count-input::-webkit-inner-spin-button,
  body.mb-detail .p-itemDetail .p-item-count-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }
  body.mb-detail .p-itemDetail .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  /* 単価・在庫など、数量以外の行（本番で出る場合）も左右に振る */
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-price,
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-stock,
  body.mb-detail .p-itemDetail .p-item-group02 .p-item-stock-none {
    min-width: 0;
    text-align: left;
  }

  /* カートに入れる（紺 44px）＋お気に入り（44px 角のハート）を横並び */
  body.mb-detail .p-itemDetail .p-item-group02 > .p-item-cart {
    flex: 1 1 200px;                 /* 基準 0 だと数量欄の行の残り（0px）に入ってしまうので、次の行へ送る幅を持たせる */
    margin: 16px 0 0;
  }
  body.mb-detail .p-itemDetail .p-item-group02 > .p-item-favorite {
    flex: 0 0 44px;
    margin: 16px 0 0 8px;
  }
  body.mb-detail .p-itemDetail .p-item-cart .js-cart-set-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  body.mb-detail .p-itemDetail .p-item-cart .js-cart-set-button:active { opacity: .8; }
  body.mb-detail .p-itemDetail .p-item-cart .js-cart-set-button .fa { font-size: 15px; }
  body.mb-detail .p-itemDetail .p-item-favorite > a,
  body.mb-detail .p-itemDetail .p-item-favorite > a:not(.p-item-favorite-added),
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 6px;
    background: #fff;
    color: #9a9a9a;
    font-size: 18px;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added,
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added .fa {
    color: #FF0080;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added {
    border-color: #f5b3d3;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a:active { background: #f3f4f6; }
  body.mb-detail .p-itemDetail .p-questionButton-shohin_detail:not(:has(*)) { display: none; }

  /* 概要（リッチテキスト）：見出し（.mb-dt-h）ごとに区切る。数量欄の直後へ移してある */
  body.mb-detail .p-itemDetail-text.mb-dt-desc:before {
    content: "商品説明";
    display: block;
    margin: 0 0 12px;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.4;
  }
  body.mb-detail .p-itemDetail-text,
  body.mb-detail .p-itemDetail-text p {
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
  }
  body.mb-detail .p-itemDetail-text p { margin: 0 0 .6em; }
  body.mb-detail .p-itemDetail-text p:last-child { margin-bottom: 0; }
  body.mb-detail .p-itemDetail-text section,
  body.mb-detail .p-itemDetail-text div {
    margin-left: 0;
    margin-right: 0;
  }
  body.mb-detail .p-itemDetail-text .mb-dt-h {
    display: block;
    margin: 1.3em 0 .25em;
    padding: 0;
    border: none;
    background: none;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
  }
  body.mb-detail .p-itemDetail-text p:has(> .mb-dt-h:only-child) { margin-bottom: 0; }
  body.mb-detail .p-itemDetail-text > :first-child .mb-dt-h:first-child,
  body.mb-detail .p-itemDetail-text > .mb-dt-h:first-child,
  body.mb-detail .p-itemDetail-text > :first-child > :first-child > .mb-dt-h:first-child,
  body.mb-detail .p-itemDetail-text > :first-child > :first-child > :first-child > .mb-dt-h:first-child {
    margin-top: 0;
  }
  body.mb-detail .p-itemDetail-text img { max-width: 100%; height: auto; }
  body.mb-detail .p-itemDetail-text table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
  }
  body.mb-detail .p-itemDetail-text th,
  body.mb-detail .p-itemDetail-text td {
    padding: 6px 8px;
    border: 1px solid #ececec;
    text-align: left;
    vertical-align: top;
  }

  /* 商品情報：備考はラベル／値の2列（地色・枠なし） */
  body.mb-detail .p-itemDetail .p-item-table-label {
    width: 100%;
    margin: 0 0 12px;
    border: none;
    border-collapse: collapse;
  }
  body.mb-detail .p-itemDetail .p-item-table-label th,
  body.mb-detail .p-itemDetail .p-item-table-label td {
    padding: 6px 0;
    border: none;
    border-bottom: 1px solid #f2f2f2;
    background: none;
    vertical-align: top;
    line-height: 1.5;
  }
  body.mb-detail .p-itemDetail .p-item-table-label th {
    width: 88px;
    padding-right: 12px;
    color: #767676;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
    text-align: left;
  }
  body.mb-detail .p-itemDetail .p-item-table-label td {
    width: auto;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
  }
  /* 商品分類：チップ（TOP カテゴリ一覧・概要パネルと同値） */
  body.mb-detail .p-itemDetail ul.p-item-category {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 16px;
    padding: 0;
  }
  body.mb-detail .p-itemDetail ul.p-item-category li {
    margin: 0;
    padding: 0;
  }
  body.mb-detail .p-itemDetail ul.p-item-category a {
    display: inline-block;
    padding: 6px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
    text-decoration: none;
  }
  body.mb-detail .p-itemDetail ul.p-item-category a:active { background: #f3f4f6; }

  /* タグ：付いているタグはチップ、追加は入力欄＋小さいボタンを1行に */
  body.mb-detail .p-itemDetail .p-tag-area {
    display: block;
  }
  body.mb-detail .p-itemDetail .p-tag-area:before {
    content: "タグ";
    display: block;
    margin: 0 0 6px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
  }
  body.mb-detail .p-itemDetail .p-tag-frame {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }
  body.mb-detail .p-itemDetail .p-tag-frame:has(.p-tag-data) {
    margin: 0 0 8px;
  }
  body.mb-detail .p-itemDetail .p-tag-data {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 5px 6px 5px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #f6f6f6;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.3;
  }
  body.mb-detail .p-itemDetail .p-tag-data-del {
    margin-left: 4px;
    padding: 0 6px;
    color: #999;
  }
  body.mb-detail .p-itemDetail .p-tag-input {
    display: flex;
    align-items: stretch;
    gap: 8px;
  }
  body.mb-detail .p-itemDetail-info .p-tag-area .p-tag-input .p-tag-input-text {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
  }
  body.mb-detail .p-itemDetail-info .p-tag-area .p-tag-input .p-tag-input-button {
    flex: 0 0 auto;
    width: auto;
  }
  body.mb-detail .p-itemDetail .p-tag-input .p-tag-text {
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    font-size: 16px;                 /* iOS のフォーカス拡大を出さない */
  }
  body.mb-detail .p-itemDetail .p-tag-input .p-tag-button { margin: 0; }
  body.mb-detail .p-itemDetail .p-tag-input .p-tag-button .c-button03,
  body.mb-detail .p-itemDetail .p-itemDetail-memo-update .c-button03 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    height: 36px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
  }
  body.mb-detail .p-itemDetail .p-tag-input .p-tag-button .c-button03:active,
  body.mb-detail .p-itemDetail .p-itemDetail-memo-update .c-button03:active { background: #f3f4f6; }

  /* 商品メモ：ラベル 56px＋入力 36px。固定（disabled）のメモは入力欄に見せず文字だけ */
  body.mb-detail .p-itemDetail-memo {
    margin-bottom: 8px;
  }
  body.mb-detail .p-itemDetail-memo-list {
    padding: 0;
  }
  body.mb-detail .p-itemDetail-memo-list li {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 0 8px;
    padding: 0;
  }
  body.mb-detail .p-itemDetail-memo-list .c-form-item-title {
    position: static;
    flex: 0 0 56px;
    transform: none;
    color: #767676;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
  }
  body.mb-detail .p-itemDetail-memo-list .c-form-item-full {
    flex: 1 1 0;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    color: #222;
    font-size: 16px;                 /* iOS のフォーカス拡大を出さない */
  }
  body.mb-detail .p-itemDetail-memo-list .c-form-item-full:disabled {
    padding: 0;
    border-color: transparent;
    background: transparent;
    color: #333;
    -webkit-text-fill-color: #333;
    opacity: 1;
    font-size: 14px;
    font-size: 1.4rem;
  }
  body.mb-detail .p-itemDetail-memo-list .js-field-messages { flex: 0 0 100%; }
  body.mb-detail .p-itemDetail-memo-update {
    margin: 4px 0 0;
    text-align: right;
  }
}

/* =====================================================================
   SP 情報ページ：ご利用ガイド／会社概要／プライバシーポリシー（本人指定 2026-10-02「SP」）
   判定は CSS のみ：各ページの説明枠 .p-questionButton-guide／-company_profile／-privacy（サーバ HTML にある）を :has で拾う。
   JS の付与を待たないので開いた直後に元の見た目が出ない（カートで得た教訓）。
   - 3ページとも .l-contents.p-top（TOP と同じクラス）なので、TOP 向けの縦リズム規則が掛かる。ここで打ち消す
   - 本文は管理画面の貼り付けで inline の width（1240px／832px／0px）・font-size・色を持つ。!important で外す
   - 見出し帯：会社概要・プライバシーポリシーは HTML に見出しが無いので、説明枠の ::before に出す（カートの見出し帯と同値）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) {
    background: #fff;
  }
  body:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .l-contents.p-top {
    padding: 0 0 48px;
  }
  body:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .l-contents.p-top > .c-container-center {
    width: auto;
    margin: 0;
    padding: 0;
  }

  /* 見出し帯（説明枠はテーマで右寄せの浮き要素。全幅のブロックに戻す） */
  .p-questionButton-guide,
  .p-questionButton-company_profile,
  .p-questionButton-privacy {
    position: static !important;
    float: none !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  .p-questionButton-guide::before,
  .p-questionButton-company_profile::before,
  .p-questionButton-privacy::before {
    display: block;
    margin: 0 0 4px;
    padding: 8px 10px 8px 23px;
    background: #c7dae5 linear-gradient(#274f79, #274f79) 10px 50% / 4px 20px no-repeat;
    border-bottom: 1px solid #afcada;
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 26px;
  }
  .p-questionButton-guide::before { content: "ご利用ガイド"; }
  .p-questionButton-company_profile::before { content: "会社概要"; }
  .p-questionButton-privacy::before { content: "プライバシーポリシー"; }

  /* 本文の器：左右 16px、inline の幅・地色を外す */
  :is(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) ~ .freeEditContent {
    padding: 0 16px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
    overflow-wrap: anywhere;
  }
  :is(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) ~ .freeEditContent :is(div, p, ol, ul, li, table, tbody, tr, th, td, h2, h4) {
    width: auto !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  :is(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) ~ .freeEditContent :is(p, ol, ul, li, td, th, span, b) {
    color: inherit !important;
    background-color: transparent !important;
  }
  /* 空段落が余白だけ残すのを防ぐ。CSS は文字の有無を見られないので、<p><br>文</p> を巻き込まないよう場所を絞る：
     <p></p>／会社概要先頭の <p><br class="Apple-interchange-newline"></p>／ガイド末尾（STEP の後）の <p><br></p> */
  :is(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) ~ .freeEditContent p:empty,
  .p-questionButton-company_profile ~ .freeEditContent p:has(> br.Apple-interchange-newline:only-child),
  .p-questionButton-guide ~ .freeEditContent .p-guide-sec ~ p:has(> br:only-child) {
    display: none;
  }

  /* ---------- ご利用ガイド ---------- */
  /* 「ご注文の流れ」：帯ではなく小見出し */
  .p-questionButton-guide ~ .freeEditContent h2.c-title01 {
    margin: 20px 0 12px !important;
    padding: 0 !important;
    min-height: 0 !important;
    border: none !important;
    background: none !important;
  }
  .p-questionButton-guide ~ .freeEditContent h2.c-title01 .c-title01-label {
    min-height: 0 !important;
    padding: 0 !important;
    border: none !important;
    color: #222;
    font-size: 15px !important;
    letter-spacing: .04em !important;
    line-height: 1.5;
  }
  /* 操作説明（PDF）：赤字・黄地・24px の「こちら」をやめ、1行のリンク札に。札全体がタップ範囲 */
  .p-questionButton-guide ~ .freeEditContent p:has(> a[href$=".pdf"]) {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 48px;
    margin: 0 0 28px;
    padding: 10px 40px 10px 14px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    line-height: 1.5;
  }
  .p-questionButton-guide ~ .freeEditContent p:has(> a[href$=".pdf"]) span,
  .p-questionButton-guide ~ .freeEditContent p:has(> a[href$=".pdf"]) u {
    color: #222 !important;
    background: none !important;
    font-size: 14px !important;
    font-weight: 400;
    text-decoration: none;
  }
  .p-questionButton-guide ~ .freeEditContent a[href$=".pdf"] span,
  .p-questionButton-guide ~ .freeEditContent a[href$=".pdf"] u {
    color: #274f79 !important;
    font-weight: 700 !important;
  }
  .p-questionButton-guide ~ .freeEditContent a[href$=".pdf"]::before {
    content: "";
    position: absolute;
    inset: 0;                              /* 札全体をリンクのタップ範囲にする */
  }
  .p-questionButton-guide ~ .freeEditContent a[href$=".pdf"]::after {
    content: "PDF";
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    padding: 1px 5px;
    border: 1px solid #274f79;
    border-radius: 3px;
    color: #274f79;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
  }
  /* STEP：紺帯＋枠箱 → 縦線でつないだ手順。番号は小さな紺の札 */
  .p-questionButton-guide ~ .freeEditContent .p-guide-sec {
    margin: 0 !important;
    overflow: visible !important;
    color: #333 !important;
  }
  .p-questionButton-guide ~ .freeEditContent .p-guide-h4-step {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
  }
  .p-questionButton-guide ~ .freeEditContent .p-guide-h4-step > span:not(.p-guide-step-icon) { display: none; }   /* &nbsp; */
  .p-questionButton-guide ~ .freeEditContent .p-guide-step-icon {
    flex: none;
    width: 56px;
    margin: 0 !important;
    padding: 3px 0 !important;
    border-radius: 12px;
    background: #274f79 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.4;
    text-align: center;
  }
  .p-questionButton-guide ~ .freeEditContent .p-guide-wrap {
    margin: 0 0 0 27px !important;          /* 札の中心（56/2-1）に縦線 */
    padding: 6px 0 22px 37px !important;
    border: none !important;
    border-left: 2px solid #dbe4ec !important;
    background: none !important;
    overflow: visible !important;
  }
  .p-questionButton-guide ~ .freeEditContent .p-guide-wrap:last-child {
    border-left-color: transparent !important;
    padding-bottom: 0 !important;
  }
  .p-questionButton-guide ~ .freeEditContent .p-guide-wrap p {
    font-size: 14px !important;
    line-height: 1.75;
  }

  /* ---------- 会社概要 ---------- */
  /* 1社1枚のカード。1行目（社名）を見出しに、以下はラベル／値の2列 */
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table {
    display: block;
    margin: 16px 0 0;
    padding: 4px 16px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff !important;
    font-size: 14px !important;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table tbody {
    display: block;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table tr {
    display: grid;
    grid-template-columns: 72px 1fr;
    column-gap: 12px;
    padding: 10px 0;
    border: none;
    border-top: 1px solid #f0f0f0;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table :is(th, td) {
    display: block;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    text-align: left !important;
    line-height: 1.6;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table th {
    color: #767676 !important;
    font-size: 12px !important;
    font-weight: 400;
    padding-top: 2px !important;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table td,
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table td p {
    margin: 0;
    color: #222 !important;
    font-size: 14px !important;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table tr:first-child {
    display: block;
    padding: 12px 0 8px;
    border-top: none;
  }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table tr:first-child th { display: none; }
  .p-questionButton-company_profile ~ .freeEditContent table.accordion-table tr:first-child td {
    font-size: 16px !important;
    font-weight: 700;
  }

  /* ---------- プライバシーポリシー ---------- */
  /* inline の width:0 で1文字ずつ折り返していた（390px 幅で高さ約 25,000px） */
  .p-questionButton-privacy ~ .freeEditContent > div > p:first-child {
    margin: 16px 0 0;
    font-size: 14px !important;
  }
  .p-questionButton-privacy ~ .freeEditContent ol {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px !important;
  }
  .p-questionButton-privacy ~ .freeEditContent ol > li {
    margin: 0;
    padding: 20px 0 0;
  }
  .p-questionButton-privacy ~ .freeEditContent ol > li > b {
    display: block;
    margin: 0 0 4px;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 1.5;
  }
  .p-questionButton-privacy ~ .freeEditContent ol > li p {
    margin: 0 0 .6em;
  }
  .p-questionButton-privacy ~ .freeEditContent ol > li p:last-child { margin-bottom: 0; }
  .p-questionButton-privacy ~ .freeEditContent ol ul {
    margin: 4px 0 .8em;
    padding: 0 0 0 1.3em;
    list-style: disc;
  }
  .p-questionButton-privacy ~ .freeEditContent ol ul li {
    margin: 0 0 4px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.7;
  }
}

/* =====================================================================
   SP お問い合わせ（/aec/user/inquiry_form。ヘッダ・フッタの無い単独ページ body.c-modal。本人指定 2026-10-02）
   判定は CSS のみ（.p-questionButton-inquiry_form を :has）。戻るリンク・placeholder 等は mb_script.js 23)
   フォームはカートの「その他注文情報」と同じトンマナ：ラベル 12px 太字＋入力欄 44px・16px・角丸6、送信は紺 48px
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.c-modal:has(.p-questionButton-inquiry_form) {
    background: #fff;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-modalWrap {
    width: auto;
    margin: 0;
    padding: 0 0 40px;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-modal-contents {
    margin: 0;
    padding: 0;
  }
  /* 戻る（JS が足す） */
  .mb-inq-back {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 16px;
    color: #274f79 !important;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none !important;
  }
  .mb-inq-back::before {
    content: "";
    width: 8px;
    height: 8px;
    margin: 0 8px 0 2px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }
  /* 見出し：他ページの見出し帯と同値 */
  body.c-modal:has(.p-questionButton-inquiry_form) h2.title03.p-questionButton-parent {
    margin: 0 0 4px;
    min-height: 0;
    padding: 6px 10px;
    background: #c7dae5;
    border: none;
    border-bottom: 1px solid #afcada;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) h2.title03 .c-title03-label {
    min-height: 0;
    padding: 2px 0 2px 13px;
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 26px;
  }
  /* 表 → 1列のフォーム */
  body.c-modal:has(.p-questionButton-inquiry_form) #inquiry {
    padding: 8px 16px 0;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table :is(tbody, tr, th, td) {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table tr {
    margin: 0 0 16px;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table th {
    margin: 0 0 6px;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table th .required {
    display: inline-block;
    margin: 0 0 0 6px;
    padding: 0 5px;
    border-radius: 3px;
    background: #fdf3f3;
    color: #c0392b;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 16px;
    vertical-align: 1px;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    box-shadow: none;
    background: #fff;
    color: #222;
    font-size: 16px;                     /* iOS のフォーカス拡大を出さない */
    line-height: 1.5;
    -webkit-appearance: none;
    appearance: none;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table textarea {
    height: auto;
    min-height: 168px;
    padding: 10px 12px;
    resize: vertical;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table :is(input, textarea)::placeholder {
    color: #b0b0b0;
    opacity: 1;                          /* テーマは textarea::placeholder を opacity 0 にしている（disabled 用の規則の書き損じ） */
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table :is(input, textarea):focus {
    border-color: #274f79;
    outline: none;
  }
  /* メッセージ：カートと同じ札。中身のある枠だけ出す */
  body.c-modal:has(.p-questionButton-inquiry_form) :is(.c-form-error-message, .c-form-info-message):not([style*="display: none"]) {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-form-error-message {
    border: 1px solid #f1c5c5;
    background: #fdf3f3;
    color: #c0392b;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .js-page-messages {
    margin: 0 16px;
  }
  /* 送信 */
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-button {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-button li {
    margin: 0;
    padding: 0;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-search-submit {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    height: 48px;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-search-submit .fa {
    margin: 0;
    font-size: 15px;
  }
}

/* =====================================================================
   PC（1025px 以上）仕入れリスト：お気に入り（f=1）／取引商品一覧（mm=発注）の行表示（mb_script.js 24) buildPc、本人決定 2026-10-07）
   目的：SP と同じトンマナへの統一。スコープは min-width:1025px のみ（768〜1024 のタブレット帯はベンダー規則のまま）。
   対象は body.mb-pc.mb-pc-list（JS 24) が 仕入れリスト／お気に入り／商品検索／カタログ商品一覧 に付ける。2026-10-07 に商品検索・カタログへ拡張）。
   - 見出し：灰の帯（#f6f6f6）を外し、白地に紺の左罫＋18px。直下のセグメント（お気に入り｜取引商品）は条件バーへ移して 1 行に
   - 条件バー：水色の帯（#c7dae5）→ 白地。セレクトは 32px・角丸 6・#d6d6d6 枠。「並び替え順を編集」はテキストリンク
   - 件数・ページャ：13px。「一括でカートに入れる」（橙）→ 紺の枠線ボタン（副）
   - 表：外枠・縦罫を外し、行は下罫 #e9e9e9 だけ。見出し行は白地・12px #666・下罫 2px。hover は #f7f9fb（テーマの黄 #fdffeb／#fff6da を置換）
   - 行：画像 56px／品番 12px #666／商品名 14px #222／数量は単位ごとに 1 段（ラベル 12px・丸ボタン 26px のステッパー＝SP と同値）／
         右端に「カートに入れる」（紺・32px・角丸 6）とお気に入り（32px の丸枠・ハート）。2 単位の行で高さ約 72px（元 140px）
   ===================================================================== */
@media screen and (min-width: 768px) {
  /* ---- 見出し ---- */
  body.mb-pc.mb-pc-list h1.c-title01 {
    background: none;
    border-bottom: none;
    margin-bottom: 12px;
    padding: 0;
  }
  body.mb-pc.mb-pc-list h1.c-title01 .c-title01-label {
    padding: 2px 0 2px 12px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    line-height: 24px;
  }

  /* ---- 条件バー（セグメント｜表示件数・並び替え） ---- */
  body.mb-pc.mb-pc-list .p-itemList-condition {
    background: none;
    margin: 0 0 8px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e5e5;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition:after {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .p-commonList-nav {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .p-commonList-condition {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .p-commonList-condition:after,
  body.mb-pc.mb-pc-list .p-itemList-condition .condition-group01:after,
  body.mb-pc.mb-pc-list .p-itemList-condition .condition-group02:after {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .js-field-messages:empty,
  body.mb-pc.mb-pc-list .p-itemList-condition .js-field-messages:not(:has(> [style*="display: block"], > :not([style]))) {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .condition-group01,
  body.mb-pc.mb-pc-list .p-itemList-condition .condition-group02 {
    float: none;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .condition-child {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-form-item-title {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-form-selectWrap {
    position: relative;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-form-selectWrap select {
    height: 32px;
    padding: 0 28px 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-form-selectWrap:after {
    top: 50%;
    right: 10px;
    margin-top: -2px;
    border-top-color: #666;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition #p-update-button-wrap {
    display: inline-block;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-button02.p-edit-usercharge-sort {
    height: 32px;
    padding: 0 4px;
    border: none;
    background: none;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  body.mb-pc.mb-pc-list .p-itemList-condition .c-button02.p-edit-usercharge-sort:hover {
    opacity: .7;
  }

  /* セグメント（SP の .mb-list-seg と同じ様式、幅だけ固定） */
  body.mb-pc.mb-pc-list .mb-list-seg-wrap {
    flex: 0 0 auto;
    position: static;
    margin: 0;
    padding: 0;
    background: none;
  }
  body.mb-pc.mb-pc-list .mb-list-seg {
    display: flex;
    width: 400px;
    margin: 0;
    padding: 0;                 /* テーマが nav に 13px 0 の padding を持つ */
    border: 2px solid #274f79;  /* 2026-10-07 本人指定「もっと目立つように」：紺 2px 枠・高さ 44・15px */
    border-radius: 24px;
    overflow: hidden;
    background: #fff;
  }
  body.mb-pc.mb-pc-list .mb-list-seg-item {
    flex: 1 1 0;
    display: block;
    padding: 12px 0;            /* 高さ 44px */
    color: #274f79;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
  }
  body.mb-pc.mb-pc-list .mb-list-seg-item + .mb-list-seg-item {
    border-left: 2px solid #274f79;
  }
  body.mb-pc.mb-pc-list .mb-list-seg-item:hover {
    background: #f2f6fa;
    color: #274f79;
    text-decoration: none;
  }
  body.mb-pc.mb-pc-list .mb-list-seg-item.is-current,
  body.mb-pc.mb-pc-list .mb-list-seg-item.is-current:hover {
    background: #274f79;
    color: #fff;
  }

  /* ---- 件数・ページャ・一括カート ---- */
  body.mb-pc.mb-pc-list .p-itemList-nav {
    border-bottom: none;
    padding-bottom: 0;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav > div {
    display: flex;
    align-items: center;
    gap: 24px;
    min-height: 40px;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav > div:after {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-count {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    color: #555;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-count strong {
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-pager {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    text-align: left;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-controls {
    float: none;
    margin: 0 0 0 auto;
    padding: 0;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-controls .c-button01 {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-controls .c-button01:hover {
    background: #f2f6fa;
    opacity: 1;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav .nav-controls .c-button01 .fa {
    margin-right: 6px;
  }
  body.mb-pc.mb-pc-list .p-itemList-nav-bottom {
    margin-top: 12px;
  }

  /* ---- 表 ---- */
  body.mb-pc.mb-pc-list .p-item-table {
    margin: 4px 0 0;
    border: none;
    table-layout: fixed;
  }
  body.mb-pc.mb-pc-list .p-item-table th,
  body.mb-pc.mb-pc-list .p-item-table td {
    border-right: none;
    border-bottom: 1px solid #e9e9e9;
    padding: 8px 10px;
  }
  body.mb-pc.mb-pc-list .p-item-table th {
    height: 36px;
    padding: 0 10px;
    border-bottom: 2px solid #e5e5e5;
    background: #fff;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(1) { width: 88px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(2) { width: 100px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(3) { text-align: left; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(4) { width: 300px; text-align: right; padding-right: 20px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(5) { width: 184px; }
  /* hover：テーマの黄（.p-table-highlight／.js-hoverTable）を置換 */
  body.mb-pc.mb-pc-list .p-table-highlight .p-row-highlight:hover,
  body.mb-pc.mb-pc-list .js-hoverTable .over,
  body.mb-pc.mb-pc-list .js-hoverTable .focus {
    background-color: #f7f9fb;
  }
  body.mb-pc.mb-pc-list .js-hoverTable .pointer,
  body.mb-pc.mb-pc-list .js-hoverTable .focus-pointer {
    background: #eef3f8 !important;
  }

  /* 画像 */
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-thumb {
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-thumb a {
    display: block;
    width: 56px;
    height: 56px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 4px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  /* 品番・商品名 */
  body.mb-pc.mb-pc-list .p-item-table tr.p-item td[data-label="品番"] {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-name {
    margin: 0;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-name a {
    color: #222;
    text-decoration: none;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-name a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }

  /* 数量：単位ごとに 1 段。ラベル右寄せ＋ステッパー */
  body.mb-pc.mb-pc-list .p-item-table tr.p-item td[data-label="数量"] {
    padding-right: 20px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-quantity-box > div + div {
    margin-top: 6px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-flexRowToEnd {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-flexRowToEnd:empty {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-quantity-input-caption {
    margin: 0;
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    white-space: nowrap;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-quantity-input-value {
    margin: 0;
  }
  /* ステッパー（SP「SP 数量ステッパー／カートボタン」ブロックと同値：白地・#c4c4c4 枠の丸 26px、数値 32px・15px 太字） */
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 26px;
    padding: 0;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button {
    position: relative;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    transition: background-color .15s linear;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button:hover {
    opacity: 1;
    background: #f2f2f2;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button:active {
    background: #e9e9e9;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button:before,
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-button:before {
    left: 7px;
    top: 11px;
    width: 10px;
    height: 2px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-increment:after {
    left: 11px;
    top: 7px;
    width: 2px;
    height: 10px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-input {
    position: static;
    flex: 0 0 36px;
    width: 36px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }

  /* 右端：カートに入れる＋お気に入り */
  body.mb-pc.mb-pc-list .p-item-table tr.p-item td:last-child > div {
    display: inline-block;
    vertical-align: middle;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item td:last-child {
    white-space: nowrap;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 118px;
    height: 32px;
    margin: 0 8px 0 0;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: opacity .15s linear;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart:hover {
    opacity: .85;
    color: #fff;
    text-decoration: none;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart .fa {
    margin-right: 5px;
    font-size: 13px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart.is-disabled {
    background: #d9d9d9;
    color: #fff;
    cursor: default;
    pointer-events: none;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite-block {
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #dadada;
    border-radius: 50%;
    background: #fff;
    color: #999;
    font-size: 14px;
    line-height: 1;
    vertical-align: middle;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a:hover {
    opacity: 1;
    border-color: #ff0080;
    color: #ff0080;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added {
    border-color: #ffd1e6;
    background: #fff5fa;
    color: #ff0080;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a .fa {
    color: inherit;
    margin: 0;
  }

  /* カート投入の吹き出し：橙の枠・橙ボタン → 紺（SP の .mb-balloon-float と同系）。位置はテーマの tether のまま */
  body.mb-pc.mb-pc-list .c-button-cart-balloon {
    border-color: #274f79;
    border-radius: 8px;
    padding: 16px 20px;
  }
  body.mb-pc.mb-pc-list .c-button-cart-balloon .balloon-button .c-button01 {
    background-color: #274f79;
    border-color: #274f79;
    color: #fff;
    border-radius: 6px;
  }
}

/* =====================================================================
   PC（1025px 以上）共通：ヘッダ・フッタ（本人指定 2026-10-07「ヘッダーやフッター」）
   SP と同じトンマナ（白地・紺 #274f79・角丸 6／16・12〜13px・罫線 #e5e5e5）。判定は CSS だけ（JS を待たないのでちらつかない）。
   - ヘッダ上段：ロゴ 160px。注文履歴・再注文／仕入れリスト（元 お気に入り商品、文言は JS 25)）は白地の丸ピル。
                 右上の ご利用ガイド／お問い合わせ は区切り線を外した 12px テキスト、会員メニューは紺枠のピル
   - ヘッダ下段（nav）：灰帯 #dfdfdf → 白地＋下罫。カテゴリ／カタログは紺枠の白ボタン、検索欄は枠付き角丸、
                 検索ボタンは紺、カートは橙グラデ → 紺の塗り（点数は従来どおり）
   - フッタ：灰帯＋区切り線 → 白地・上罫・12px リンク、コピーライト 10px #888
   ===================================================================== */
@media screen and (min-width: 768px) {
  /* ---- 初期描画の幕（PC） ----
     サイド／上部行は JS（buildPcSide）が DOMContentLoaded 後に組むため、素のテーマが一瞬描かれてから組み替わる。
     JS が init 完了時に body.mb-ready を付けるまで本文を隠す。JS が動かない場合は 1.5 秒後に元の表示を出す
     （カート荷姿欄の mb-cart-unit-reveal と同じ手法）。停止：MB_SKIP は不要、CSS から本ブロックを外せばよい
     ※ 別セッション（ec-style-dev LAN メモ 2026-10-07）の追加分。カード化の書き戻しで一度消えたため再掲（6.4 誤り訂正：force 書き戻し前の md5 照合を省いた） */
  body:not(.mb-ready) {
    visibility: hidden;
    animation: mb-pc-reveal 0s 1.5s forwards;
  }
  @keyframes mb-pc-reveal { to { visibility: visible; } }

  /* ---- ヘッダ上段 ---- */
  header.u-pc-item .l-header {
    align-items: center;
    padding: 14px 0 12px;
  }
  header.u-pc-item .l-header > div {
    padding: 0 !important;          /* テーマが inline style で padding を持つ（5px 25px 5px 5px／40px 5px 5px 25px） */
  }
  header.u-pc-item .l-header > div:nth-child(2) {
    padding-left: 24px !important;
  }
  header.u-pc-item .l-header-logo {
    width: 160px;
    margin: 0;
  }
  header.u-pc-item .l-header-logo img {
    width: 160px;
    height: auto;
  }
  header.u-pc-item .l-header-orderNav li {
    margin-right: 8px;
  }
  header.u-pc-item .l-header-orderNav .c-button03 {
    display: inline-flex;
    align-items: center;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  header.u-pc-item .l-header-orderNav .c-button03:hover {
    background: #f2f2f2;
    color: #333;
    text-decoration: none;
  }
  header.u-pc-item .l-header-orderNav .fa {
    margin-right: 6px;
    color: #274f79;
  }
  header.u-pc-item .l-header-orderNav .fa:before {
    font-size: 13px;
  }
  header.u-pc-item .l-header-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    letter-spacing: normal;
  }
  header.u-pc-item .l-header-utilityNav {
    margin: 0;
    padding: 0;
    letter-spacing: normal;
  }
  header.u-pc-item .l-header-utilityNav li,
  header.u-pc-item .l-header-utilityNav li:first-child {
    border: none;
    padding: 0 0 0 16px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
  }
  header.u-pc-item .l-header-utilityNav a {
    color: #666;
  }
  header.u-pc-item .l-header-utilityNav a:hover {
    color: #274f79;
    text-decoration: none;
  }
  header.u-pc-item .l-header-utilityNav .fa {
    color: #999;
    margin-right: 4px;
  }
  header.u-pc-item .l-header-userNav {
    letter-spacing: normal;
  }
  header.u-pc-item .l-header-userNav li {
    margin: 0;
  }
  header.u-pc-item .l-header-userNav .c-button04 {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    height: 32px;
    padding: 0 14px;
    border: 1px solid #274f79;
    border-radius: 16px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  header.u-pc-item .l-header-userNav .fa {
    margin-right: 6px;
  }
  header.u-pc-item .l-header-userNav-inner {
    top: 24px;
  }
  header.u-pc-item .l-header-userNav-child {
    border-radius: 8px;
    border-color: #e5e5e5;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .10);
  }
  header.u-pc-item .l-header-userNav-child li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  header.u-pc-item .l-header-group02 {
    min-height: 0;
    padding-top: 8px;
  }
  header.u-pc-item .l-header-delivery {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
  }

  /* ---- ヘッダ下段（nav） ---- */
  header.u-pc-item nav {
    background: #fff;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 24px;
    padding: 0 0 12px;
  }
  header.u-pc-item .l-nav {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  header.u-pc-item .l-nav:after {
    display: none;
  }
  header.u-pc-item .l-nav-item {
    float: none;
  }
  header.u-pc-item .l-nav-categorySearch-area,
  header.u-pc-item .l-nav-catalogSearch {
    width: auto;
    margin: 0;
  }
  header.u-pc-item .l-nav-categorySearch .c-button02,
  header.u-pc-item .l-nav-catalogSearch .c-button02 {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
  }
  header.u-pc-item .l-nav-categorySearch .c-button02:hover,
  header.u-pc-item .l-nav-catalogSearch .c-button02:hover {
    background: #f2f6fa;
    color: #274f79;
  }
  header.u-pc-item .l-nav-categorySearch .c-button02 .fa:before,
  header.u-pc-item .l-nav-catalogSearch .c-button02 .fa:before {
    font-size: 13px;
  }
  header.u-pc-item .l-nav-category {
    border-radius: 8px;
    border-color: #e5e5e5;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
  }
  header.u-pc-item .l-nav-category:before {
    border-color: #e5e5e5;
  }
  header.u-pc-item .l-nav form {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    min-width: 0;
  }
  header.u-pc-item .l-nav-keywordSearch {
    flex: 1 1 auto;
    width: auto;
    margin: 0;
  }
  header.u-pc-item .l-nav-keywordSearch-input[type="text"] {
    height: 36px;
    padding: 0 96px 0 12px;
    border: 1px solid #d6d6d6;
    border-right: none;
    border-radius: 6px 0 0 6px;
    background: #fff;
    font-size: 13px;
    font-size: 1.3rem;
  }
  header.u-pc-item .l-nav-keywordSearch-input[type="text"]:focus {
    outline: none;
    border-color: #274f79;
  }
  header.u-pc-item .l-contents-header-search {
    top: 1px;
    right: 1px;
    width: 86px;
    height: 34px;
    background: #fff;
  }
  header.u-pc-item .l-contents-header-search-button {
    width: 86px;
    height: 34px;
    line-height: 34px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    border-left: 1px solid #e5e5e5;
  }
  header.u-pc-item .l-nav-detailSearch {
    margin: 0;
    position: relative;
  }
  header.u-pc-item .l-nav-keywordSearch-icon {
    position: static;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 36px;
    padding: 0 14px;
    border-radius: 0 6px 6px 0;
    background: #274f79;
  }
  header.u-pc-item .l-nav-keywordSearch-icon .fa {
    font-size: 14px;
    font-size: 1.4rem;
    margin-right: 5px;
  }
  header.u-pc-item .l-nav-keywordSearch-submit {
    height: auto;
    font-size: 12px;
    font-size: 1.2rem;
  }
  header.u-pc-item .l-nav-cartBox {
    float: none;
    width: auto;
    min-width: 180px;
    margin-left: auto;
    border-radius: 6px;
    background: #274f79 !important;
    background-image: none !important;
  }
  header.u-pc-item .l-nav-cartBox:hover {
    opacity: .85;
  }
  header.u-pc-item .l-nav-cartBox a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 36px;
    padding: 0 16px;
  }
  header.u-pc-item .l-nav-cartBox dl {
    letter-spacing: normal;
  }
  header.u-pc-item .l-nav-cartBox dt,
  header.u-pc-item .l-nav-cartBox dd {
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
  }
  header.u-pc-item .l-nav-cartBox .fa {
    font-size: 15px;
    font-size: 1.5rem;
    margin-right: 5px;
    vertical-align: middle;
  }
  header.u-pc-item .l-nav-cartBox dd:before {
    opacity: .5;
    margin: 0 2px;
  }

  /* ---- フッタ ---- */
  footer .l-footer-utility {
    background: #fff;
    border-top: 1px solid #e5e5e5;
    padding: 22px 0 6px;
  }
  footer .l-footer-utility-list li,
  footer .l-footer-utility-list li:last-child {
    border: none;
    padding: 4px 16px;
  }
  footer .l-footer-utility-list a {
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
  }
  footer .l-footer-utility-list a:hover {
    color: #274f79;
    text-decoration: none;
  }
  footer .l-footer-copyright {
    padding: 10px 0 28px;
    color: #888;
    font-size: 10px;
    font-size: 1rem;
    letter-spacing: .04em;
  }
  footer .l-footer-pagetop img {
    opacity: .6;
  }
}

/* =====================================================================
   PC（1025px 以上）TOP（本人指定 2026-10-07「TOPページ」。対象 .l-contents.p-top、判定は CSS）
   - 左カラム：「取引商品一覧表示」バナー非表示（JS 26) が .mb-hidden-sp を付ける）。カテゴリ一覧（全件・縦リスト、JS 26) が移す）とカタログ
   - 主カラム：お知らせ（1行・種別は紺枠の小札）／最近注文／お気に入り（4列カード、ステッパー・カートボタンは仕入れリストと同値）
   - 見出し（c-title01）：灰帯 → 白地・紺左罫 16px、右のリンクは 12px 紺テキスト
   ===================================================================== */
@media screen and (min-width: 768px) {
  .l-contents.p-top .mb-hidden-sp {
    display: none;
  }
  .l-contents.p-top .p-top-mainSlideWrap,
  .l-contents.p-top .p-top-mainSlideWrap .bx-wrapper {
    border-radius: 8px;
    overflow: hidden;
  }
  .l-contents.p-top .p-top-mainSlideWrap {
    max-width: 1240px;                   /* バナー画像の原寸幅。1240px 超の主カラム（1440px 上限）では bx-slider の枠と画像幅がずれ、
                                            隣のスライドが見える（1920px で実測）ため画像幅で止める */
  }
  .l-contents.p-top .l-contents-col2-l {
    margin-top: 32px;
  }
  .l-contents.p-top section.c-container {
    margin-bottom: 36px;
  }
  /* 見出し */
  .l-contents.p-top .c-title01 {
    background: none;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 14px;
    min-height: 0;
    padding: 0 0 10px;
  }
  .l-contents.p-top .c-title01 .c-title01-label {
    min-height: 0;
    padding: 1px 0 1px 12px;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .06em;
    line-height: 22px;
  }
  .l-contents.p-top .c-title01-button {
    top: 2px;
    right: 0;
  }
  .l-contents.p-top .c-title01-button .c-button03 {
    padding: 0;
    border: none;
    background: none;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 20px;
  }
  .l-contents.p-top .c-title01-button .c-button03:hover {
    opacity: .7;
    text-decoration: none;
  }
  .l-contents.p-top .c-title01-button .c-button03 .fa {
    display: none;
  }
  .l-contents.p-top .c-title01-button .c-button03 span:not(.fa):after {
    content: '›';
    margin-left: 4px;
    font-size: 14px;
  }
  /* お知らせ */
  .l-contents.p-top .p-news-list {
    margin: 0;
  }
  .l-contents.p-top .p-news-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 10px 0;
    border-bottom: 1px solid #eee;
    font-weight: 400;
  }
  .l-contents.p-top .p-news-list .p-news-date {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    white-space: nowrap;
  }
  .l-contents.p-top .p-news-list .p-news-date > span + span {
    margin: 0;
  }
  .l-contents.p-top .p-news-type {
    width: auto;
    min-width: 64px;
    padding: 2px 8px;
    border: 1px solid #274f79;
    border-radius: 3px;
    background: none !important;
    color: #274f79;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .l-contents.p-top .p-news-title a {
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .l-contents.p-top .p-news-title a:hover {
    color: #274f79;
  }
  /* 「注文した商品はありません。」 */
  .l-contents.p-top .p-item-error {
    margin: 0;
    padding: 20px 0;
    border: none;
    background: none;
    color: #888;
    font-size: 13px;
    font-size: 1.3rem;
    text-align: left;
  }
  /* 商品カード（最近注文／お気に入り） */
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap {
    padding: 0;
    gap: 24px;
    letter-spacing: normal;
  }
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box,
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box:nth-child(4n) {
    width: calc((100% - 72px) / 4);
    margin: 0;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-thumb {
    height: 160px;
    margin: 0;
    border-radius: 6px;
    overflow: hidden;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-thumb img {
    max-height: 160px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-name {
    min-height: 0;
    margin: 10px 0 8px;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.5;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-name a {
    color: #222;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group01 {
    margin: 0;
    padding: 0;
    border: none;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 {
    text-align: left;
  }
  .l-contents.p-top .p-itemLayout-grid .p-quantity-box {
    margin: 0;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-flexRowToEnd {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin: 0;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-flexRowToEnd:empty {
    display: none;
  }
  .l-contents.p-top .p-itemLayout-grid .p-quantity-box > .p-item-flexRowToEnd + .p-item-flexRowToEnd {
    margin-top: 6px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-quantity-input-caption {
    margin: 0;
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    white-space: nowrap;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 26px;
    padding: 0;
    margin: 0;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button {
    position: relative;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    transition: background-color .15s linear;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button:hover {
    opacity: 1;
    background: #f2f2f2;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button:active {
    background: #e9e9e9;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button:before,
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-button:before {
    left: 7px;
    top: 11px;
    width: 10px;
    height: 2px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-increment:after {
    left: 11px;
    top: 7px;
    width: 2px;
    height: 10px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-input {
    position: static;
    flex: 0 0 36px;
    width: 36px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-cart {
    display: block;
    margin-top: 10px;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-cart .c-button05.js-cart-set-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 32px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    transition: opacity .15s linear;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-cart .c-button05.js-cart-set-button:hover {
    opacity: .85;
    color: #fff;
    text-decoration: none;
  }
  .l-contents.p-top .p-itemLayout-grid .p-item-group02 .p-item-cart .c-button05.js-cart-set-button .fa {
    margin-right: 5px;
    font-size: 13px;
  }
  /* 左カラム：カテゴリ一覧（JS 26) が移す）＋カタログ */
  .l-contents.p-top .l-contents-side .c-container {
    margin-bottom: 32px;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .c-box-col4Wrap {
    padding: 0;
    letter-spacing: normal;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .c-box {
    width: 100%;
    margin: 0 0 16px;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-parent {
    margin: 0 0 4px;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-parent a {
    color: inherit;
    pointer-events: none;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child li {
    margin: 0;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child li:before {
    content: none;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child a {
    display: block;
    padding: 7px 0;
    border-bottom: 1px solid #eee;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child a:hover {
    color: #274f79;
    text-decoration: none;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .js-category-box.mb-pc-cat-collapsed .p-category-child li:nth-child(n + 13) {
    display: none;                       /* 先頭 12 件（JS 26) PC_CAT_VISIBLE と対）だけ見せる */
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .mb-pc-cat-more {
    display: block;
    margin: 8px 0 0;
    padding: 6px 0;
    border: none;
    background: none;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    cursor: pointer;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .mb-pc-cat-more:hover {
    opacity: .7;
  }
  .l-contents.p-top .p-catalog-box {
    padding: 4px 0 16px;
    border: none;
    text-align: left;
  }
  .l-contents.p-top .p-catalog-name {
    padding-bottom: 10px;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  .l-contents.p-top .p-catalog-thumb {
    height: auto;
    padding: 0;
    text-align: left;
  }
  .l-contents.p-top .p-catalog-thumb img {
    max-height: 160px;
    border-radius: 6px;
  }
  .l-contents.p-top .p-catalog-link {
    margin-top: 10px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .l-contents.p-top .p-catalog-link a {
    color: #274f79;
  }
}

/* =====================================================================
   PC（1025px 以上）ログイン（本人指定 2026-10-07。対象 body:has(#login_wrap)、判定は CSS）
   SP ログイン（body.mb-page-login）と同値：ロゴ 200px・副題 12px #888・入力欄 44px 角丸 6・ログイン 紺 44px・リンクは中央の紺テキスト。
   PC は薄灰の地（#f6f7f9）に白いカード 420px（角丸 12・薄い影）
   ===================================================================== */
@media screen and (min-width: 768px) {
  body:has(#login_wrap) {
    background: #f6f7f9;
  }
  body:has(#login_wrap) #login_wrap {
    width: 420px;
    margin: 10vh auto 48px;
    padding: 40px 36px 32px;
    border: none;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  }
  body:has(#login_wrap) #login_header {
    margin: 0 0 24px;
  }
  body:has(#login_wrap) #login_header img {
    width: 200px;
    height: auto;
  }
  body:has(#login_wrap) #login_header p {
    margin: 8px 0 0;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
  }
  body:has(#login_wrap) #login_header + .freeEditContent {
    display: none;                       /* 先頭の空段落（<p></p><p><br></p>） */
  }
  body:has(#login_wrap) .login_form_header {
    margin: 16px 0 6px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body:has(#login_wrap) .login_form input {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    box-shadow: none;
  }
  body:has(#login_wrap) .login_form input:focus {
    outline: none;
    border-color: #274f79;
  }
  body:has(#login_wrap) .login_form > div > p {
    margin: 6px 0 0;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.5;
  }
  body:has(#login_wrap) .c-form-error-message,
  body:has(#login_wrap) .c-form-info-message {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  body:has(#login_wrap) .c-form-error-message {
    border: 1px solid #f1c5c5;
    background: #fdf3f3;
    color: #c0392b;
  }
  body:has(#login_wrap) .p-login-button-border {
    margin: 24px 0 16px;
  }
  body:has(#login_wrap) .p-login-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    transition: opacity .15s linear;
  }
  body:has(#login_wrap) .p-login-button:hover {
    opacity: .85;
  }
  body:has(#login_wrap) .p-login-button .fa {
    margin-right: 6px;
    font-size: 14px;
  }
  body:has(#login_wrap) .reminder_text {
    margin: 0;
    text-align: center;
  }
  body:has(#login_wrap) .reminder_text a {
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body:has(#login_wrap) #login_wrap .freeEditContent {
    text-align: center;
  }
  body:has(#login_wrap) #login_wrap .freeEditContent p {
    margin: 0;
  }
  body:has(#login_wrap) #login_wrap .freeEditContent p:has(> span > br:only-child) {
    height: 8px;                         /* 「操作・設定方法の説明は」前の空行を 8px に */
  }
  body:has(#login_wrap) #login_wrap .freeEditContent span,
  body:has(#login_wrap) #login_wrap .freeEditContent u {
    font-size: 12px !important;
    background: none !important;
    color: #666 !important;
    text-decoration: none;
  }
  body:has(#login_wrap) #login_wrap .freeEditContent a span {
    color: #274f79 !important;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}

/* =====================================================================
   PC（1025px 以上）サイドメニュー＋上部行（mb_script.js 27) buildPcSide、本人指定 2026-10-07「orderie と同じようにサイドメニュー」）
   orderie PC 実測値：サイド 223px（padding 40／内側 143）、白地、sticky。ロゴ 132px → 34px → ナビ（18px アイコン＋14px、項目間 24px、
   現在地は左端の 24×2px 短線）→ 60px → 12px 情報リンク → コピーライト 11px。
   アラジン側：body.mb-pc-side に padding-left 223px、サイドは fixed。ヘッダ帯（.l-header／nav）は隠し、上部行 .mb-pc-topbar に
   得意先名（左）と 検索欄／カテゴリ／カタログ／会員メニュー（右）を並べる。フッタは残す（本人決定 2026-10-07、サイドの情報リンクと重複は許容）
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-side {
    box-sizing: border-box;              /* テーマの body{width:100%} が content-box のため padding 分はみ出す（実測：scrollWidth = 幅 + 223） */
    width: 100%;
    min-width: 0;
    padding-left: 223px;
  }
  body.mb-pc-side .c-container-center {
    max-width: 1440px;                   /* 広い画面では左寄せのまま 1440px で止める（表・カードが間延びしない） */
    margin: 0;
    padding: 0 40px 0 32px;
  }
  /* ---- サイド ---- */
  .mb-side {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 120;
    width: 223px;
    padding: 40px;
    background: #fff;
    border-right: 1px solid #f0f0f0;
    overflow-y: auto;
    scrollbar-width: none;
  }
  .mb-side::-webkit-scrollbar { display: none; }
  .mb-side-logo {
    display: block;
    width: 132px;
  }
  .mb-side-logo img {
    display: block;
    width: 132px;
    height: auto;
  }
  .mb-side-nav {
    margin: 34px 0 0;
    padding: 0;
    background: none;                    /* テーマの nav { background:#dfdfdf; padding:13px 0 } を打ち消す */
  }
  .mb-side-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .mb-side-item {
    position: relative;
    margin-top: 24px;
  }
  .mb-side-item:first-child {
    margin-top: 0;
  }
  .mb-side-item a {
    display: flex;
    align-items: center;
    min-height: 18px;
    color: #1a1a1a;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 18px;
    text-decoration: none;
  }
  .mb-side-item a:hover {
    color: #274f79;
    text-decoration: none;
  }
  .mb-side-icon {
    flex: 0 0 26px;
    width: 26px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    color: inherit;
  }
  .mb-side-icon svg {
    width: 18px;
    height: 18px;
    display: block;
  }
  .mb-side-icon .fa {
    font-size: 16px;
    line-height: 18px;
    width: 18px;
    text-align: center;
  }
  .mb-side-label {
    white-space: nowrap;
  }
  /* 現在地：画面左端から 24px の短線（orderie と同じ） */
  .mb-side-item.is-current:before {
    content: '';
    position: absolute;
    left: -40px;
    top: 8px;
    width: 24px;
    height: 2px;
    background: #1a1a1a;
  }
  .mb-side-item.is-current a {
    font-weight: 700;
  }
  .mb-side-count {
    margin-left: 8px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 9px;
    background: #274f79;
    color: #fff;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
  }
  .mb-side-info {
    margin: 60px 0 0;
    padding: 0;
    list-style: none;
  }
  .mb-side-info li {
    margin-top: 6px;
    line-height: 1.4;
  }
  .mb-side-info li:first-child {
    margin-top: 0;
  }
  .mb-side-info a {
    color: #1a1a1a;
    font-size: 12px;
    font-size: 1.2rem;
    text-decoration: none;
  }
  .mb-side-info a:hover {
    color: #274f79;
  }
  .mb-side-copy {
    margin: 40px 0 0;
    color: #1a1a1a;
    font-size: 11px;
    font-size: 1.1rem;
    letter-spacing: .02em;
  }

  /* ---- 上部行（ヘッダ帯の代わり） ---- */
  body.mb-pc-side header.u-pc-item .l-header,
  body.mb-pc-side header.u-pc-item nav {
    display: none;
  }
  body.mb-pc-side header.u-pc-item > .c-container-center:first-child {
    display: none;                       /* .l-header の外枠 */
  }
  body.mb-pc-side header.u-pc-item {
    padding: 0;
    border: none;
    background: none;
  }
  body.mb-pc-side .mb-pc-topbar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 36px 0 28px;
  }
  /* 1段目：得意先名 ＋ 会員メニュー（右端） */
  body.mb-pc-side .mb-pc-topbar-left {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 36px;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-delivery {
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
    margin: 0;
    color: #1a1a1a;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: left;
    line-height: 1.3;
    white-space: nowrap;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-delivery span {
    display: inline;
  }
  body.mb-pc-side .mb-pc-topbar-home {
    display: inline-flex;
    width: 22px;
    height: 22px;
    color: #1a1a1a;
  }
  body.mb-pc-side .mb-pc-topbar-home svg {
    width: 22px;
    height: 22px;
  }
  body.mb-pc-side .mb-pc-topbar-left .l-header-userNav {
    margin-left: auto;
  }
  /* 2段目：検索欄・カテゴリ・カタログ */
  body.mb-pc-side .mb-pc-topbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }
  /* 検索欄：form をそのまま移してある（.l-nav-keywordSearch＋.l-nav-detailSearch） */
  body.mb-pc-side .mb-pc-topbar form {
    display: flex;
    align-items: center;
    flex: 0 1 420px;
    min-width: 300px;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-item {
    float: none;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch {
    flex: 1 1 auto;
    position: relative;
    width: auto;
    margin: 0;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-input[type="text"] {
    width: 100%;
    height: 36px;
    padding: 0 96px 0 12px;
    border: 1px solid #d6d6d6;
    border-right: none;
    border-radius: 6px 0 0 6px;
    background: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    box-shadow: none;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-input[type="text"]:focus {
    outline: none;
    border-color: #274f79;
  }
  body.mb-pc-side .mb-pc-topbar .l-contents-header-search {
    position: absolute;
    top: 1px;
    right: 1px;
    width: 86px;
    height: 34px;
    background: #fff;
  }
  body.mb-pc-side .mb-pc-topbar .l-contents-header-search-button {
    width: 86px;
    height: 34px;
    line-height: 34px;
    border-left: 1px solid #e5e5e5;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-detailSearch {
    position: relative;
    margin: 0;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-icon {
    position: static;
    display: inline-flex;
    align-items: center;
    width: auto;
    height: 36px;
    padding: 0 14px;
    border-radius: 0 6px 6px 0;
    background: #274f79;
    color: #fff;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-icon .fa {
    font-size: 14px;
    font-size: 1.4rem;
    margin-right: 5px;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-submit {
    width: auto;
    height: auto;
    font-size: 12px;
    font-size: 1.2rem;
    white-space: nowrap;
  }
  /* カテゴリ／カタログ：紺枠の白ボタン */
  body.mb-pc-side .mb-pc-topbar .l-nav-categorySearch-area,
  body.mb-pc-side .mb-pc-topbar .l-nav-catalogSearch {
    width: auto;
    margin: 0;
    position: relative;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-categorySearch .c-button02,
  body.mb-pc-side .mb-pc-topbar .l-nav-catalogSearch .c-button02 {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 12px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-categorySearch .c-button02:hover,
  body.mb-pc-side .mb-pc-topbar .l-nav-catalogSearch .c-button02:hover {
    background: #f2f6fa;
    color: #274f79;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-categorySearch .c-button02 .fa:before,
  body.mb-pc-side .mb-pc-topbar .l-nav-catalogSearch .c-button02 .fa:before {
    font-size: 13px;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-category {
    top: 44px;
    border-radius: 8px;
    border-color: #e5e5e5;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-category:before {
    border-color: #e5e5e5;
  }
  /* 会員メニュー */
  body.mb-pc-side .mb-pc-topbar .l-header-userNav {
    letter-spacing: normal;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav li {
    margin: 0;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav .c-button04 {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #dadada;
    border-radius: 6px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav .fa {
    margin-right: 6px;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav-inner {
    top: 26px;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav-child {
    border-radius: 8px;
    border-color: #e5e5e5;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .10);
  }
  body.mb-pc-side .mb-pc-topbar .l-header-userNav-child li {
    font-size: 12px;
    font-size: 1.2rem;
  }
  /* 詳細検索パネル（検索欄の下に開く）：欄の左端に揃える */
  body.mb-pc-side .l-contents-header-search-form {
    border-radius: 8px;
    border-color: #e5e5e5;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .10);
  }

  /* ---- TOP：上部行の下から始まるので余白を詰める ---- */
  body.mb-pc-side .l-contents {
    padding-top: 0;
  }
  body.mb-pc-side .l-contents.p-top .l-contents-col2-l {
    margin-top: 28px;
  }
  /* 仕入れリスト：見出しの上余白 */
  body.mb-pc-side.mb-pc.mb-pc-list h1.c-title01 {
    margin-top: 0;
  }
  /* フッタ：テーマは position:absolute; width:100%（sticky footer）。body の padding-left 分だけ右へはみ出し横スクロールが出るので
     left/right で収める（実測：html.scrollWidth = 幅 + 223） */
  body.mb-pc-side footer {
    left: 223px;
    right: 0;
    width: auto;
  }
  body.mb-pc-side footer .l-footer-utility {
    margin-top: 24px;
  }
}

/* =====================================================================
   PC（1025px 以上）カート（本人指定 2026-10-07「カート画面も変更」。対象 body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input))＝カート入力画面。
   確認画面 cart_con（数量入力なし）は対象外。SP カート（1行1アイテム・丸ステッパー・白地フォーム・紺の確認ボタン）と同値）
   ===================================================================== */
@media screen and (min-width: 768px) {
  /* 進行（01 カート → 02 確認 → 03 完了） */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-flow {
    margin: 0 0 20px;
    letter-spacing: normal;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-flow li {
    margin-right: 10px;
    padding-right: 18px;
    color: #999;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-flow li:after {
    border-width: 2px;
    border-color: #ccc;
    top: 2px;
    width: 6px;
    height: 6px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-flow .p-cart-flow-current {
    color: #274f79;
    font-weight: 700;
  }
  /* 見出し */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) h1.title03 {
    margin: 0 0 14px;
    min-height: 0;
    padding: 0 0 10px;
    border-bottom: 1px solid #e5e5e5;
    background: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) h1.title03 .c-title03-label {
    min-height: 0;
    padding: 1px 0 1px 12px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) section.c-container > section.c-container {
    margin-bottom: 36px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .required {
    margin-left: 8px;
    padding: 1px 6px;
    border: 1px solid #e8a0a0;
    border-radius: 3px;
    background: #fdf3f3;
    color: #c0392b;
    font-size: 11px;
    font-size: 1.1rem;
    vertical-align: middle;
  }
  /* エラー・お知らせ */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message {
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-error-message {
    border: 1px solid #f1c5c5;
    background: #fdf3f3;
    color: #c0392b;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-form-info-message {
    border: 1px solid #e3e3e3;
    background: #f7f7f7;
    color: #333;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-error-alert-sec:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]), p:not(:empty))) {
    display: none;
  }
  /* 商品の表 */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table {
    margin: 0;
    border: none;
    table-layout: fixed;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table td {
    border-right: none;
    border-bottom: 1px solid #e9e9e9;
    padding: 10px 12px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th {
    height: 36px;
    padding: 0 12px;
    border-bottom: 2px solid #e5e5e5;
    background: #fff;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(1) { text-align: left; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(2) { width: 150px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(3) { width: 220px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(4) { width: 80px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th div,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th span {
    display: inline;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-table-highlight .p-row-highlight:hover {
    background-color: #f7f9fb;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item.u-fbox {
    display: flex;
    align-items: center;
    gap: 14px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-thumb {
    float: none;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-thumb img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-info {
    float: none;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-info li {
    margin: 0;
    font-weight: 400;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-code {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-code .p-cart-item-infoLabel {
    display: none;                       /* 「【商品コード】」の札を外して番号だけ */
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-info .p-cart-item-name {
    margin-top: 2px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-info .p-cart-item-name a {
    color: #222;
    text-decoration: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-item-info .p-cart-item-name a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  /* 荷姿 */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) td[data-label="荷姿"] .p-cart-item {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) td[data-label="荷姿"] .p-cart-item-infoLabel {
    color: #888;
  }
  /* 数量：丸ステッパー（ケース行は「数量：計」を下に小さく） */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-cart-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    font-size: 12px;
    font-size: 1.2rem;
    color: #666;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-commonDetail-nowrap {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-cart-item > .p-commonDetail-nowrap:first-child {
    flex: 1 1 100%;                      /* ステッパーは1段目いっぱい。「数量：」と計の値は2段目に並ぶ */
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-cart-item > span {
    white-space: nowrap;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-commonDetail-nowrap:has(.p-item-count-input[disabled]) {
    gap: 4px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-quantity-unit .p-commonDetail-nowrap:has(.p-item-count-input[disabled]) .p-item-count-input {
    width: 64px;
    flex: 0 0 64px;
    height: 18px;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left;
  }

  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 26px;
    padding: 0;
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button {
    position: relative;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: background-color .15s linear;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:hover { opacity: 1; background: #f2f2f2; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:active { background: #e9e9e9; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:before,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-button:before {
    left: 7px;
    top: 11px;
    width: 10px;
    height: 2px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-increment:after {
    left: 11px;
    top: 7px;
    width: 2px;
    height: 10px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input {
    position: static;
    flex: 0 0 36px;
    width: 36px;
    height: 26px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    box-shadow: none !important;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table .p-item-count-input[disabled] {
    color: #888;
    font-weight: 400;
  }

  /* 削除：テキストリンク */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-delete .c-button03 {
    width: auto;
    padding: 4px 6px;
    border: none;
    background: none;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-delete .c-button03:hover {
    color: #c0392b;
    text-decoration: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table-delete .fa {
    font-size: 12px;
    font-size: 1.2rem;
    margin-right: 2px;
  }
  /* 表の下：注記・買い物を続ける・カートをクリア */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-totalWrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 16px 0 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-tableWrap {
    float: none;
    width: auto;
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-table:empty,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-table:not(:has(td)) {
    display: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-continue {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    width: 100%;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-note {
    flex: 1 1 100%;
    margin: 0;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton {
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton .c-button02 {
    display: inline-flex;
    align-items: center;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-continueButton .c-button02:hover {
    background: #f2f6fa;
    color: #274f79;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-total-continue > p[style] {
    margin: 0 !important;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .js-cart-delete-button {
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .js-cart-delete-button:hover {
    color: #c0392b;
  }
  /* お届け先・お支払方法：灰箱 → 白地の枠 */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-box-noborder {
    margin-top: 0;
    padding: 16px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
    color: #333;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .c-box-noborder p {
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-edit {
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-edit-button {
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-edit-button .c-button-l {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 32px;
    padding: 0 12px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-edit-button .c-button-l .fa {
    margin-right: 6px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  /* その他注文情報：表 → ラベル＋入力欄 */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table {
    margin: 0;
    border: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table th,
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table td {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    vertical-align: middle;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table th {
    width: 160px;
    background: none;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: left;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .p-cart-other-memo {
    width: 360px !important;
    height: 36px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    font-size: 14px;
    font-size: 1.4rem;
    box-shadow: none;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .p-cart-other-memo:focus {
    outline: none;
    border-color: #274f79;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .p-cart-other-memo[readonly] {
    background: #fff;
    cursor: pointer;
  }
  /* 保存チェック・確認へ進む */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-save-checkbox {
    margin: 8px 0 20px;
    color: #555;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    text-align: left;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit {
    direction: ltr;
    text-align: right;
    letter-spacing: normal;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-submit-confirm {
    margin: 0;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-button.c-button01 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
    height: 48px;
    padding: 0 24px;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    transition: opacity .15s linear;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-button.c-button01:hover {
    opacity: .85;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-button .p-cart-submit-label {
    font-size: 15px;
    font-size: 1.5rem;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-button .fa {
    margin-left: 8px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  /* 到着希望日カレンダー（jQuery UI）：白地・紺 */
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .ui-datepicker {
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .10);
    font-size: 13px;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .ui-datepicker .ui-datepicker-header {
    background: #fff;
    border: none;
    border-bottom: 1px solid #eee;
    border-radius: 0;
    color: #222;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .ui-datepicker td a.ui-state-default {
    border: none;
    border-radius: 4px;
    background: #fff;
    color: #222;
    text-align: center;
  }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .ui-datepicker td a.ui-state-active {
    background: #274f79;
    color: #fff;
  }
}

/* =====================================================================
   PC（1025px 以上）商品詳細（本人指定 2026-10-07「商品詳細画面も変更」。対象 body.mb-pc.mb-page-detail、JS 24) が付ける）
   SP 詳細（品番 12px → 商品名 → 単位ごとの丸ステッパー → 紺の「カートに入れる」）と同値。
   元の3列（画像 36%／情報＋数量 64% の中で group01｜縦罫｜group02）は保ち、罫線・灰帯・橙を外す
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc.mb-page-detail .p-itemDetail .u-sp-pdg {
    padding: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-text.p-text-from-richtext:first-child:not(:has(img, strong, a)) {
    display: none;                       /* 先頭の空リッチテキスト */
  }
  body.mb-pc.mb-page-detail .p-itemDetail-thumb .p-item-thumb-l {
    margin-bottom: 12px;
    border-radius: 8px;
    overflow: hidden;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-thumb .p-item-thumb-l img {
    max-height: 420px;
  }
  body.mb-pc.mb-page-detail .p-item-thumb-s li {
    width: 56px;
    height: 56px;
    margin: 0 8px 8px 0;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
  }
  body.mb-pc.mb-page-detail .p-item-thumb-s li.js-active {
    border-color: #274f79;
  }
  body.mb-pc.mb-page-detail .p-item-thumb-s img {
    max-width: 54px;
    max-height: 54px;
  }
  /* 品番・JAN */
  body.mb-pc.mb-page-detail .p-item-code {
    padding: 0 0 10px;
    letter-spacing: normal;
  }
  body.mb-pc.mb-page-detail .p-item-code li,
  body.mb-pc.mb-page-detail .p-item-code li:last-child {
    border: none;
    padding: 0 16px 0 0;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc.mb-page-detail .p-item-code li:empty,
  body.mb-pc.mb-page-detail .p-item-code li:has(> span:last-child:empty) {
    display: none;                       /* JAN が空なら出さない */
  }
  body.mb-pc.mb-page-detail .p-item-code-label {
    color: #888;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-name.u-pc-item {
    margin: 0 0 16px;
    color: #222;
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.4;
  }
  /* 備考の表 → ラベル／値 */
  body.mb-pc.mb-page-detail .p-item-table-label {
    margin: 0 0 14px;
    border: none;
  }
  body.mb-pc.mb-page-detail .p-item-table-label th,
  body.mb-pc.mb-page-detail .p-item-table-label td {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 8px 0;
    font-size: 13px;
    font-size: 1.3rem;
    background: none;
  }
  body.mb-pc.mb-page-detail .p-item-table-label th {
    width: 96px;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: left;
  }
  /* カテゴリ：チップ */
  body.mb-pc.mb-page-detail .p-item-category {
    margin: 0 0 14px;
    letter-spacing: normal;
  }
  body.mb-pc.mb-page-detail .p-item-category li {
    padding: 0 6px 0 0;
  }
  body.mb-pc.mb-page-detail .p-item-category li:after {
    display: none;
  }
  body.mb-pc.mb-page-detail .p-item-category li a {
    display: inline-block;
    padding: 5px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    text-decoration: none;
  }
  body.mb-pc.mb-page-detail .p-item-category li a:hover {
    border-color: #274f79;
    color: #274f79;
  }
  /* タグ */
  body.mb-pc.mb-page-detail .p-tag-data {
    margin: 0 6px 6px 0;
    padding: 4px 10px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc.mb-page-detail .p-tag-input {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
  }
  body.mb-pc.mb-page-detail .p-tag-input .p-tag-input-text {
    width: auto;
    flex: 0 1 260px;
  }
  body.mb-pc.mb-page-detail .p-tag-input .p-tag-input-button {
    width: auto;
    text-align: left;
  }
  body.mb-pc.mb-page-detail .p-tag-text {
    height: 32px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    font-size: 13px;
    font-size: 1.3rem;
    box-shadow: none;
  }
  body.mb-pc.mb-page-detail .p-tag-text:focus {
    outline: none;
    border-color: #274f79;
  }
  body.mb-pc.mb-page-detail .p-tag-button .c-button03,
  body.mb-pc.mb-page-detail .p-itemDetail-memo-update .c-button03 {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    height: 32px;
    padding: 0 12px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc.mb-page-detail .p-tag-button .c-button03 .fa,
  body.mb-pc.mb-page-detail .p-itemDetail-memo-update .c-button03 .fa {
    margin-right: 6px;
    font-size: 12px;
  }
  /* 右：数量・カート・お気に入り */
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group01 {
    border-right: none;
    padding-right: 32px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 {
    min-width: 260px;
    padding: 16px 20px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    text-align: left;
    white-space: normal;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-flexRowToEnd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-flexRowToEnd + .p-item-flexRowToEnd {
    margin-top: 10px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-quantity-input-caption {
    color: #555;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-count {
    margin: 0;
  }

  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count {
    display: flex;
    align-items: center;
    width: auto;
    height: 32px;
    padding: 0;
    margin: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button {
    position: relative;
    flex: 0 0 32px;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid #c4c4c4;
    border-radius: 50%;
    background: #fff;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
    transition: background-color .15s linear;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button:hover { opacity: 1; background: #f2f2f2; }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button:active { background: #e9e9e9; }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button:before,
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button:after {
    background: #333;
    border-radius: 1px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-button:before {
    left: 10px;
    top: 14px;
    width: 10px;
    height: 2px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-increment:after {
    left: 14px;
    top: 10px;
    width: 2px;
    height: 10px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-input {
    position: static;
    flex: 0 0 48px;
    width: 48px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    text-align: center;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    box-shadow: none !important;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-input:focus {
    outline: none;
    border-bottom: 2px solid #274f79;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 .p-item-count-input[disabled] {
    color: #888;
    font-weight: 400;
  }

  body.mb-pc.mb-page-detail .p-itemDetail .p-item-cart {
    margin: 16px 0 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-cart .c-button01 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    transition: opacity .15s linear;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-cart .c-button01:hover {
    opacity: .85;
    color: #fff;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-cart .c-button01 .fa {
    margin-right: 6px;
    font-size: 14px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite {
    margin-top: 10px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    padding: 0;
    border: 1px solid #dadada;
    border-radius: 6px;
    background: #fff;
    color: #999;
    font-size: 14px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a:after {
    content: '仕入れリストに追加';
    margin-left: 8px;
    color: #333;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a:hover {
    border-color: #ff0080;
    color: #ff0080;
    opacity: 1;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added {
    border-color: #ffd1e6;
    background: #fff5fa;
    color: #ff0080;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added:after {
    content: '仕入れリスト追加済み';
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-favorite > a .fa {
    color: inherit;
    margin: 0;
  }
  /* メモ */
  body.mb-pc.mb-page-detail .p-itemDetail-memo {
    margin: 32px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid #e5e5e5;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list {
    display: flex;
    gap: 16px;
    padding: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list li {
    flex: 1 1 0;
    margin: 0;
    padding: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list .c-form-item-title {
    position: static;
    display: block;
    margin-bottom: 6px;
    transform: none;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list input.c-form-item-full {
    width: 100%;
    height: 36px;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    box-shadow: none;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list input.c-form-item-full:focus {
    outline: none;
    border-color: #274f79;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list input.c-form-item-full[disabled] {
    background: #f6f6f6;
    color: #555;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-update {
    margin-top: 12px;
  }
  /* 特徴などの本文 */
  body.mb-pc.mb-page-detail .p-itemDetail-memo ~ .p-itemDetail-text,
  body.mb-pc.mb-page-detail .p-itemDetail .u-sp-pdg > .p-itemDetail-text:last-child {
    margin-top: 24px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-text strong {
    display: block;
    margin-bottom: 4px;
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
  }
}

/* =====================================================================
   PC 幅の可変対応（本人指定 2026-10-07「PC で画面幅を変更しても崩れない」）
   サイド 223px を引いた主カラムは 1025px 画面で約 730px。1279px 以下では表の固定列幅を詰め、条件バーを折り返し、
   TOP のカードを 3 列にする。1440px 以上は .c-container-center の max-width で止める（サイドメニューのブロック参照）
   ===================================================================== */
@media screen and (min-width: 768px) and (max-width: 1279px) {
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(1) { width: 72px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(2) { width: 84px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(4) { width: 236px; padding-right: 12px; }
  body.mb-pc.mb-pc-list .p-item-table th:nth-child(5) { width: 168px; }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item td[data-label="数量"] { padding-right: 12px; }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-flexRowToEnd { gap: 6px; }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart { width: 108px; margin-right: 6px; }
  body.mb-pc.mb-pc-list .p-itemList-condition .p-commonList-nav { flex-wrap: wrap; row-gap: 10px; }
  body.mb-pc.mb-pc-list .p-itemList-condition .p-commonList-condition { flex-wrap: wrap; row-gap: 10px; }
  body.mb-pc.mb-pc-list .p-itemList-nav > div { flex-wrap: wrap; row-gap: 8px; }
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box,
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box:nth-child(4n) { width: calc((100% - 48px) / 3); }
  body.mb-pc-side .mb-pc-topbar form { flex: 1 1 260px; min-width: 260px; }
  body.mb-pc-side .mb-pc-topbar-right { flex-wrap: wrap; row-gap: 8px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(2) { width: 120px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-table th:nth-child(3) { width: 180px; }
  body.mb-pc:is(.mb-pc-cart, :has(#formmain .p-cart-table .p-item-count-input)) .p-cart-other-table .p-cart-other-memo { width: 100% !important; max-width: 360px; }
}

/* =====================================================================
   PC 商品検索：「条件から検索する」内の整理（SP ブロックの写し。mb_script.js 30) buildPcSearchMain が body.mb-pc-search-main を付ける）（mb_script.js 10) chipifySearchConditions と対）
   - お気に入り設定／注文履歴 の行は出さない（下部タブバーに同じ入口があるため。本人指定 2026-09-30）
   - セレクト（商品分類／カタログ／タグ）は隠し、JS が生成する .mb-chips で選ぶ。チップの見た目は TOP カテゴリ一覧と同値
   - 商品分類（47件）は3行で畳み「すべて表示（N）」で開く
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="f"]),
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="o"]),
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition > li:has(> .search_item_input input[name="mm"]) {
    display: none;             /* mm＝商品メモ（本人指定 2026-09-30 追加） */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .c-form-selectWrap.mb-chipified {
    position: absolute;          /* display:none にすると一部ブラウザでフォーム送信対象から外れる懸念があるため画面外へ */
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    margin: -1px;
  }
  body.mb-pc-search-main .mb-chips {
    position: relative;
  }
  body.mb-pc-search-main .mb-chips-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    --mb-chip-h: 30px;           /* 7+7 padding + 12px×1.2 line-height ≒ 28.4 → 30 で丸める（3行の高さ計算に使う） */
  }
  body.mb-pc-search-main .mb-chip {
    display: inline-block;
    padding: 7px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    background: #fff;
    color: #333;
    font-family: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    -webkit-appearance: none;
    appearance: none;
    -webkit-tap-highlight-color: transparent;
  }
  body.mb-pc-search-main .mb-chip:active {
    background: #f0f0f0;
  }
  body.mb-pc-search-main .mb-chip.is-selected {
    border-color: #274f79;
    background: #274f79;
    color: #fff;
  }

  /* 畳み：3行ぶん（チップ30px×3＋隙間8px×2＝106px）＋下端のフェード */
  body.mb-pc-search-main .mb-chips-collapsible:not(.is-expanded) .mb-chips-list {
    max-height: 106px;
    overflow: hidden;
  }
  body.mb-pc-search-main .mb-chips-collapsible:not(.is-expanded) .mb-chips-list:after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    height: 24px;
    background: linear-gradient(to bottom, rgba(246,246,246,0), #f6f6f6);   /* .p-search-box-inner の地色 */
    pointer-events: none;
  }
  body.mb-pc-search-main .mb-chips-more {
    display: block;
    margin-top: 8px;
    padding: 6px 0;
    border: none;
    background: none;
    color: #274f79;
    font-family: inherit;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
    -webkit-appearance: none;
    appearance: none;
  }
  body.mb-pc-search-main .mb-chips-more:before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 6px 2px 0;
    border-right: 2px solid #274f79;
    border-bottom: 2px solid #274f79;
    transform: rotate(45deg);
  }
  body.mb-pc-search-main .mb-chips.is-expanded .mb-chips-more:before {
    transform: rotate(-135deg);
    margin-bottom: -2px;
  }
}

/* =====================================================================
   PC 商品検索：「条件から検索する」を軽くする（SP ブロックの写し）（本人指定 2026-09-30：見出し・背景色・ボタンが重い、縦に長い）
   対象は一覧本体側 .l-contents-col2-l .p-search（ヘッダ内 #detailSearchForm 側は触らない）
   - 開閉ボタン（紺の塗り）→ 白地のテキスト行＋右端の開閉アイコン
   - 絞り込みボックスの地色 #f6f6f6・罫線・「カテゴリで絞り込む」「他の条件で絞り込む」見出し帯 → すべて外し、1枚のフォームとして続ける
   - 入力欄 48px → 36px、項目間 10px、内側余白 20 → 0
   - 検索ボタンは2つ（商品分類側・他の条件側、どちらも同じフォームを送信）→ 商品分類側を隠して末尾の1つに
   - 「商品メモ」CSV出力 → 見出しを消し、右寄せのテキストリンク風に
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-search-main .l-contents-col2-l .p-search.js-accWrap {
    margin: 6px 0 4px;
  }

  /* 開閉行 */
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-button .c-button02 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 10px 2px;
    border: none;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    background: transparent;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-button .c-button02:hover {
    opacity: 1;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-button .c-button02:after {
    display: none;             /* 元の clearfix 疑似要素が flex の3つ目の子になり、アイコンが中央へ寄るのを防ぐ */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-button .fa {
    float: none;
    color: #999;
    font-size: 14px;
  }

  /* 箱・見出し帯を外す */
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box {
    margin: 0;
    background: transparent;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box .c-title01 {
    display: none;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-inner {
    padding: 12px 2px 0;
    border: none;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-category .p-search-box-inner {
    padding-bottom: 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-category .p-search-box-condition > li {
    margin-bottom: 0;          /* 「すべて表示」の下は次ブロックの padding-top 12 だけにする */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition {
    margin-bottom: 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition > li {
    margin-bottom: 12px;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition .c-form-item-title {
    margin-bottom: 4px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .js-field-messages:empty,
  body.mb-pc-search-main .l-contents-col2-l .p-search .js-field-messages:not(:has(.c-form-error-message:not([style*="display: none"]),
  body.mb-pc-search-main .c-form-info-message:not([style*="display: none"]))) {
    display: none;             /* 非表示のメッセージ枠が余白だけ残すのを防ぐ */
  }

  /* 入力欄 */
  body.mb-pc-search-main .l-contents-col2-l .p-search input[type="text"].c-form-search-input-control {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    box-shadow: none;
  }

  /* 検索ボタン：商品分類側を隠し、末尾の1つを軽めに */
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-category .p-search-box-button {
    display: none;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button {
    margin: 4px 0 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button .c-button02 {
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 6px;
    line-height: 40px;
    font-size: 13px;
    font-size: 1.3rem;
  }

  /* 商品メモ CSV出力：見出しなし、右寄せのテキストリンク風 */
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-memo .p-search-box-inner {
    padding: 8px 2px 4px;
    text-align: right;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-memo .p-search-box-button .c-button02 {
    display: inline-block;
    width: auto;
    padding: 6px 2px;
    border: none;
    background: transparent;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
  }

  /* 商品分類チップの畳みフェードは地色が白になったので合わせる */
  body.mb-pc-search-main .l-contents-col2-l .p-search .mb-chips-collapsible:not(.is-expanded) .mb-chips-list:after {
    background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
  }
}

/* =====================================================================
   PC 商品検索・カタログ：条件フォームを結果一覧の上に全幅で出し、常に開く（mb_script.js 30)、本人指定 2026-10-07「SP に合わせて」）
   テーマの .l-contents-col2-l .l-contents-side-variable{display:none} を戻し、2カラムをやめて縦に積む
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-search-main .l-contents-col2-l .l-contents-side-variable {
    display: block;
    float: none;
    width: 100%;
    padding: 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .l-contents-side {
    float: none;
    width: 100%;
    padding: 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .l-contents-main-variable {
    float: none;
    width: 100%;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search.js-accWrap {
    margin: 0 0 28px;
    padding: 20px 24px 8px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-button {
    display: none;                       /* 開閉ボタンは出さない（常に開く） */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .js-acc-body {
    display: block !important;           /* テーマの slideToggle（inline display）に依らず開いた状態 */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-inner {
    padding: 0;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition > li {
    margin-bottom: 16px;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-category .p-search-box-condition > li {
    margin-bottom: 16px;                 /* 「すべて表示」とキーワード欄の間 */
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-condition .c-form-item-title {
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 6px;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search input[type="text"].c-form-search-input-control {
    width: 100%;
    max-width: 480px;
    height: 40px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button {
    margin: 4px 0 12px;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button .c-button02 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 40px;
    background: #274f79;
    color: #fff;
    font-weight: 700;
  }
  body.mb-pc-search-main .l-contents-col2-l .p-search .p-search-box-other .p-search-box-button .c-button02:hover {
    opacity: .85;
  }
  body.mb-pc-search-main .mb-chips-list {
    gap: 8px;
  }
  body.mb-pc-search-main .mb-chip:hover {
    border-color: #274f79;
    color: #274f79;
  }
  body.mb-pc-search-main .mb-chip.is-selected:hover {
    color: #fff;
  }
  /* 結果一覧の見出し帯は条件フォームの下に */
  body.mb-pc-search-main.mb-pc-list h1.c-title01 {
    margin-bottom: 16px;
  }
}

/* =====================================================================
   PC 商品検索・カタログ：行の「カートに入れる」は出さず、「仕入れリストに入れる」（お気に入りボタン）を主役に（本人指定 2026-10-07）
   数量列・一括でカートに入れる も隠す（カートへは仕入れリスト（お気に入り）から入れる導線）
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-search-main.mb-pc-list .p-item-table th:nth-child(4),
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item td[data-label="数量"] {
    display: none;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table th:nth-child(5) {
    width: 220px;
  }
  body.mb-pc-search-main.mb-pc-list .p-itemList-nav .nav-controls {
    display: none;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item td:last-child {
    text-align: right;
    padding-right: 16px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a {
    width: 176px;
    height: 36px;
    border-radius: 6px;
    border-color: #274f79;
    color: #274f79;
    font-size: 13px;
    gap: 6px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a:after {
    content: '仕入れリストに追加';
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a:hover {
    background: #f2f6fa;
    border-color: #274f79;
    color: #274f79;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added {
    border-color: #274f79;
    background: #274f79;
    color: #fff;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added:after {
    content: '仕入れリスト追加済み';
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added:hover {
    background: #1f4066;
    color: #fff;
  }
}

/* =====================================================================
   PC（1025px 以上）注文履歴（本人指定 2026-10-07。対象 body.mb-pc:is(.mb-page-history, :has(#orderSearch))）
   左の検索条件は商品検索と同じ軽いフォーム、右は仕入れリストと同じ表。展開行（注文の詳細）は見出し付きの2段：注文情報（ラベル／値）＋明細の表
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .l-contents-col2-l .l-contents-side {
    width: 280px;
    padding-right: 32px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .l-contents-col2-l .l-contents-main {
    width: calc(100% - 280px);
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-button {
    display: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .js-acc-body {
    display: block !important;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order {
    margin: 0 0 24px;
    background: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box .c-title01,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order .c-title01 {
    background: none;
    border-bottom: 1px solid #e5e5e5;
    margin: 0 0 12px;
    min-height: 0;
    padding: 0 0 8px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box .c-title01-label,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order .c-title01-label {
    min-height: 0;
    padding: 0 0 0 10px;
    border-left-width: 3px;
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: .04em;
    line-height: 20px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-inner,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order .p-search-box-inner {
    padding: 0;
    border: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-condition > li {
    margin-bottom: 14px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-condition .c-form-item-title {
    margin-bottom: 4px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.2;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .js-field-messages:not(:has(.c-form-error-message:not([style*="display: none"]), .c-form-info-message:not([style*="display: none"]))) {
    display: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search input[type="text"].c-form-search-input-control {
    height: 36px;
    padding: 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    box-shadow: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search input[type="text"].js-input-date {
    width: calc(50% - 12px) !important;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .search_item_input > span {
    display: inline-block;
    width: 16px;
    text-align: center;
    color: #999;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .c-form-selectWrap select {
    height: 36px;
    padding: 0 28px 0 10px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .c-form-inblock-list li {
    font-size: 13px;
    font-size: 1.3rem;
    margin: 0 12px 4px 0;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-button {
    margin-top: 4px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-button .c-button02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order .p-search-box-button .c-button02 {
    display: inline-flex;
    align-items: center;
    width: auto;
    padding: 6px 0;
    border: none;
    background: none;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  /* 右：見出し・条件バー・件数 */
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) h1.c-title01 {
    background: none;
    border-bottom: none;
    margin: 0 0 12px;
    padding: 0;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) h1.c-title01 .c-title01-label {
    padding: 2px 0 2px 12px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition {
    background: none;
    margin: 0 0 8px;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e5e5;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition:after { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .p-commonList-nav { display: flex; align-items: center; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .p-commonList-condition { display: flex; align-items: center; gap: 16px; margin-left: auto; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .p-commonList-condition:after,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .condition-group01:after,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .condition-group02:after { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .js-field-messages:not(:has(> :not([style]), > [style*="display: block"])) { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .condition-group01,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .condition-group02 { float: none; margin: 0; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .condition-child { display: flex; align-items: center; gap: 8px; margin: 0; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .c-form-item-title { color: #666; font-size: 12px; font-size: 1.2rem; font-weight: 700; white-space: nowrap; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .c-form-selectWrap { margin: 0; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .c-form-selectWrap select { height: 32px; padding: 0 28px 0 10px; border: 1px solid #d6d6d6; border-radius: 6px; background: #fff; font-size: 13px; font-size: 1.3rem; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-condition .c-button02.p-edit-usercharge-sort { height: 32px; padding: 0 4px; border: none; background: none; color: #274f79; font-size: 12px; font-size: 1.2rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-nav { border: none; margin: 0; padding: 0; min-height: 36px; display: flex; align-items: center; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-nav .nav-count { float: none; margin: 0; padding: 0; color: #555; font-size: 13px; font-size: 1.3rem; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-nav .nav-count strong { color: #222; font-size: 15px; font-size: 1.5rem; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-itemList-nav-bottom { display: none; }
  /* 一覧の表 */
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table {
    margin-top: 4px;
    border: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table th,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td {
    border-right: none;
    border-bottom: 1px solid #e9e9e9;
    padding: 12px 10px;
    font-size: 13px;
    font-size: 1.3rem;
    word-break: normal;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table th {
    height: 36px;
    padding: 0 10px;
    border-bottom: 2px solid #e5e5e5;
    background: #fff;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    white-space: nowrap;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td[data-label="注文番号"] {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td pre { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-table-highlight .p-row-highlight:hover { background-color: #f7f9fb; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table .js-order-info .fa {
    color: #274f79 !important;             /* inline の水色（#339af0）を紺に */
    font-size: 18px;
  }
  /* 展開行 */
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td.orderInfoDispField {
    padding: 8px 0 24px 36px;
    background: #fff;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .js-order-header {
    width: auto !important;
    max-width: 640px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-parent-flexbox {
    display: grid;
    grid-template-columns: 110px 1fr;
    border: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) li.p-order-inline-list {
    display: contents;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) li.p-order-inline-list > span:nth-child(odd),
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) li.p-order-inline-list > span:nth-child(even) {
    width: auto;
    height: auto;
    padding: 8px 0;
    border: none;
    border-bottom: 1px solid #eee;
    background: none;
    font-size: 13px;
    font-size: 1.3rem;
    text-align: left;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) li.p-order-inline-list > span:nth-child(odd) {
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-container {
    margin-top: 16px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline {
    width: 100%;
    margin: 0;
    border: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li > div,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li:nth-child(1) > div {
    border: none;
    border-bottom: 1px solid #e9e9e9;
    padding: 10px 12px;
    background: none;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li:nth-child(1) > div {
    border-bottom: 2px solid #e5e5e5;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li:nth-child(1) > div br { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li:nth-child(1) > div span { display: inline; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li div.p-col-item-cd { width: 40%; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li div.p-col-unit-div,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li div.p-col-order-quantity { width: 12%; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li div.p-col-shipment-status,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li div.p-col-shipment-quantity { width: 18%; white-space: normal; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td[data-label="注文日時"] { white-space: nowrap; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline > li > div { text-align: left; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-cart-item-code { color: #666; font-size: 12px; font-size: 1.2rem; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-cart-item-name { font-size: 14px; font-size: 1.4rem; font-weight: 500; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-cart-item-name:empty { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-cart-item-name a { color: #222; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-cart-item-infoLabel { color: #888; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-item-count { display: inline-block; width: auto; height: auto; margin: 0; padding: 0; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-item-count-input[disabled] {
    position: static;
    width: 56px;
    height: 24px;
    padding: 0;
    border: none;
    background: none;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    text-align: left;
    box-shadow: none !important;
    -webkit-text-fill-color: #222;
    opacity: 1;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-col-order-quantity .p-commonDetail-nowrap { display: inline-block; color: #888; font-size: 12px; font-size: 1.2rem; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status span.block { display: inline-block; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status .unshipped,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status .shipped {
    padding: 2px 8px;
    border-radius: 3px;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    background: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status .unshipped { border: 1px solid #c9c9c9; color: #666; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status .shipped { border: 1px solid #274f79; color: #274f79; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status br { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .history_list_status span.block + span.block { margin-left: 8px; color: #555; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .p-col-shipment-quantity .block { display: inline-block; margin-right: 10px; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .shipment_end_flg_0,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) ul.p-order-detail-inline .shipment_end_flg_1 { background: none !important; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-cart-totalWrap { margin: 0; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-order-total-table:empty { display: none; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-cart-submit {
    direction: ltr;
    margin-top: 16px;
    text-align: left;
    letter-spacing: normal;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-cart-button.c-button01 {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 20px;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-cart-button .fa { margin-right: 6px; }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .orderInfoDispField .p-cart-submit-label { font-size: 13px; font-size: 1.3rem; }
}

/* =====================================================================
   PC（1025px 以上）情報ページ：ご利用ガイド／会社概要／プライバシーポリシー（本人指定 2026-10-07。判定は CSS、各ページの .p-questionButton-* を :has で拾う）
   管理画面貼り付けの inline style（固定幅 1240／1190／832px、色、字の大きさ）を !important で外し、本文幅 800px の読み物に揃える
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent {
    max-width: 800px;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent p:empty,
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent p:has(> br:only-child) {
    display: none;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent * {
    letter-spacing: normal !important;
    font-family: inherit !important;
  }
  /* 見出し帯（会社概要・プライバシーは見出しが無いので ::before で足す） */
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent h2.c-title01 {
    margin: 0 0 20px !important;
    padding: 0 0 10px !important;
    border: none !important;
    border-bottom: 1px solid #e5e5e5 !important;
    background: none !important;
    min-height: 0 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide, .p-questionButton-company_profile, .p-questionButton-privacy) .freeEditContent h2.c-title01 .c-title01-label {
    padding: 2px 0 2px 12px !important;
    border-left: 4px solid #274f79 !important;
    color: #222;
    font-size: 18px !important;
    letter-spacing: .06em !important;
    line-height: 24px;
    min-height: 0 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent::before,
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent::before {
    display: block;
    margin: 0 0 20px;
    padding: 2px 0 12px 12px;
    border-left: 4px solid #274f79;
    border-bottom: 1px solid #e5e5e5;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent::before { content: '会社概要'; }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent::before { content: 'プライバシーポリシー'; }
  /* ガイド */
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type {
    margin: 0 0 24px;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type span {
    font-size: 14px !important;
    background: none !important;
    color: #333 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type a {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 6px 12px;
    border: 1px solid #274f79;
    border-radius: 6px;
    text-decoration: none;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type a span,
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type a u {
    color: #274f79 !important;
    font-size: 13px !important;
    font-weight: 700;
    text-decoration: none !important;
    background: none !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .freeEditContent > div > p:first-of-type a:after {
    content: 'PDF';
    margin-left: 8px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #274f79;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-sec {
    width: auto !important;
    margin: 0 0 40px !important;
    overflow: visible !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-h4-step {
    display: flex;
    align-items: center;
    gap: 12px;
    width: auto !important;
    margin: 24px 0 0 !important;
    padding: 0 !important;
    background: none !important;
    color: #222 !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-h4-step:first-child { margin-top: 0 !important; }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-step-icon {
    display: inline-block;
    margin: 0 !important;
    padding: 3px 10px;
    border-radius: 4px;
    background: #274f79;
    color: #fff;
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: .04em !important;
    white-space: nowrap;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-h4-step > span:not(.p-guide-step-icon) { display: none; }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-wrap {
    width: auto !important;
    margin: 10px 0 0 15px !important;
    padding: 4px 0 20px 24px !important;
    border: none !important;
    border-left: 2px solid #dbe4ec !important;
    background: none !important;
    overflow: visible !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-guide) .p-guide-wrap p {
    color: #333;
    font-size: 14px !important;
    line-height: 1.8;
  }
  /* 会社概要：1社1枚 */
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table {
    width: 100% !important;
    max-width: 800px;
    margin: 0 0 28px;
    border-collapse: collapse;
    color: #333 !important;
    font-size: 14px !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table th,
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table td {
    padding: 10px 0 !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    color: #333 !important;
    font-size: 14px !important;
    text-align: left !important;
    vertical-align: top;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table th {
    width: 140px !important;
    color: #767676 !important;
    font-size: 12px !important;
    font-weight: 700;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table tr:first-child td {
    font-size: 16px !important;
    font-weight: 700 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-company_profile) .freeEditContent table td p {
    margin: 0;
    display: block !important;
  }
  /* プライバシー */
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent p,
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent li {
    color: #333 !important;
    font-size: 14px !important;
    line-height: 1.8;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent ol > li {
    margin-bottom: 20px !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent b {
    display: block;
    margin-bottom: 4px;
    color: #222;
    font-size: 15px !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent ul {
    margin: 8px 0 !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent ul li {
    font-size: 13px !important;
  }
  body.mb-pc .l-contents.p-top:has(.p-questionButton-privacy) .freeEditContent ul li:before {
    content: '・';
    color: #888;
  }
}

/* =====================================================================
   PC（1025px 以上）お問い合わせ（本人指定 2026-10-07。対象 body.c-modal:has(.p-questionButton-inquiry_form)＝ヘッダ・フッタ無しの単独ページ）
   白カード 680px・1列フォーム（ラベル 12px 太字＋入力 44px 角丸6）・送信は紺 48px。SP ブロックと同値。JS 23) enhanceInquiry は PC でも動く（戻る・placeholder）
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.c-modal:has(.p-questionButton-inquiry_form) {
    background: #f6f7f9;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-modalWrap {
    width: 680px;
    margin: 48px auto;
    padding: 32px 40px 40px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, .06);
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-modal-contents {
    padding: 0;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) h2.title03 {
    margin: 0 0 20px;
    min-height: 0;
    padding: 0 0 12px;
    border-bottom: 1px solid #e5e5e5;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) h2.title03 .c-title03-label {
    min-height: 0;
    padding: 2px 0 2px 12px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .mb-inquiry-back {
    display: inline-block;
    margin: 0 0 12px;
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    text-decoration: none;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table tbody,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table tr,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table th,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table td {
    display: block;
    width: 100%;
    border: none;
    padding: 0;
    background: none;
    text-align: left;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table tr {
    margin-bottom: 16px;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table th {
    margin-bottom: 6px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table .required {
    margin-left: 6px;
    padding: 1px 6px;
    border: 1px solid #e8a0a0;
    border-radius: 3px;
    background: #fdf3f3;
    color: #c0392b;
    font-size: 11px;
    font-size: 1.1rem;
    vertical-align: middle;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table input[type="text"],
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table input[type="email"],
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table input[type="tel"],
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table textarea {
    width: 100%;
    height: 44px;
    padding: 0 12px;
    border: 1px solid #d6d6d6;
    border-radius: 6px;
    background: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    box-shadow: none;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table textarea {
    height: 168px;
    padding: 10px 12px;
    line-height: 1.6;
    resize: vertical;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table textarea::placeholder {
    opacity: 1;
    color: #999;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table input:focus,
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-table textarea:focus {
    outline: none;
    border-color: #274f79;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .c-form-error-message {
    margin: 6px 0 0;
    padding: 8px 12px;
    border: 1px solid #f1c5c5;
    border-radius: 6px;
    background: #fdf3f3;
    color: #c0392b;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-address-button {
    margin-top: 8px;
    text-align: left;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    padding: 0;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
  }
  body.c-modal:has(.p-questionButton-inquiry_form) .p-cart-search-submit .fa {
    margin-right: 8px;
    font-size: 14px;
  }
}

/* =====================================================================
   PC（1025px 以上）商品一覧をカード並びに（本人提案 2026-10-07「1列じゃなくて2列か3列でもいいのでは」）
   表（tr）はそのまま、CSS で tbody を grid、tr をカードにする（Vue の描画・行カートボタン・お気に入りはそのまま効く）。
   - 商品検索・カタログ（body.mb-pc-search-main）：3列。画像 → 品番 → 商品名 → 仕入れリストに入れる
   - 仕入れリスト・取引商品（それ以外の .mb-pc-list）：2列。画像＋品番・商品名を横に、下に単位ごとのステッパー、カートに入れる＋ハート
   - 1025〜1279px は両方とも 2 列
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc.mb-pc-list .p-item-table {
    display: block;
    margin: 8px 0 0;
    border: none;
  }
  body.mb-pc.mb-pc-list .p-item-table thead {
    display: none;
  }
  body.mb-pc.mb-pc-list .p-item-table tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tbody {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    grid-template-areas:
      "img  code"
      "img  name"
      "qty  qty"
      "act  act";
    column-gap: 16px;
    row-gap: 4px;
    padding: 16px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    transition: box-shadow .15s linear;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item:hover,
  body.mb-pc.mb-pc-list .p-table-highlight .p-row-highlight:hover,
  body.mb-pc.mb-pc-list .js-hoverTable .over,
  body.mb-pc.mb-pc-list .js-hoverTable .focus {
    background: #fff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td {
    display: block;
    padding: 0;
    border: none;
    text-align: left;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td[data-label="商品画像"] {
    grid-area: img;
    align-self: start;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-thumb a {
    width: 96px;
    height: 96px;
    margin: 0;
    border-radius: 6px;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td[data-label="品番"] {
    grid-area: code;
    align-self: end;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td[data-label="商品名"] {
    grid-area: name;
    align-self: start;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-name {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td[data-label="数量"] {
    grid-area: qty;
    margin-top: 10px;
    padding: 10px 0 0;
    border-top: 1px solid #eee;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-flexRowToEnd {
    justify-content: space-between;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-quantity-input-caption {
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td:last-child {
    grid-area: act;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
    white-space: normal;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td:last-child > div {
    display: block;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item > td:last-child > div:first-child {
    flex: 1 1 auto;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .mb-row-cart {
    width: 100%;
    height: 36px;
    margin: 0;
  }
  body.mb-pc.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a {
    width: 36px;
    height: 36px;
  }
  /* 商品検索・カタログ：数量なし。仕入れリストに入れるを全幅に */
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item {
    grid-template-areas:
      "img  code"
      "img  name"
      "act  act";
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item > td:last-child {
    padding-right: 0;
    text-align: left;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item > td:last-child > div:first-child {
    display: none;                       /* 空の .js-cart-set-button 枠 */
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite-block {
    width: 100%;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-favorite > a {
    width: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  body.mb-pc-search-main.mb-pc-list .p-item-table tbody {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =====================================================================
   PC 商品一覧カードの差別化（本人指定 2026-10-07「仕入れリストも複数列。ただし商品一覧の見せ方とは差別化」）
   - 商品検索・カタログ＝「眺めて探す」：3列・画像を大きく上に置くギャラリー型カード（画像 180px → 品番 → 商品名 → 仕入れリストに入れる）
   - 仕入れリスト・取引商品＝「数を入れて送る」：2列・枠なしの密な作業行（画像 64px｜品番・商品名｜右に単位ごとのステッパー、下にカートに入れる）
     行間は下罫だけ、左右の列の間に縦罫。上の「カード化」ブロックの既定（枠付き・96px 画像）を上書きする
   ===================================================================== */
@media screen and (min-width: 768px) {
  /* ---- 商品検索・カタログ：ギャラリー型 ---- */
  body.mb-pc-search-main.mb-pc-list .p-item-table tbody {
    gap: 24px 20px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "img"
      "code"
      "name"
      "act";
    row-gap: 6px;
    padding: 12px 12px 14px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item > td[data-label="商品画像"] {
    margin-bottom: 6px;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-thumb,
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-thumb.p-item-min-image {
    display: block;
    width: auto;
    height: auto;
    max-width: none;                     /* テーマ .p-item-min-image{max-width:100px;max-height:100px;margin:10px auto} を外す */
    max-height: none;
    margin: 0;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-thumb a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 180px;
    border-radius: 6px;
    background: #fafafa;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-thumb img,
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item .p-item-thumb img.minImageImg {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item > td[data-label="商品名"] {
    min-height: 42px;                    /* 2行ぶん。ボタンの高さを揃える */
  }
  body.mb-pc-search-main.mb-pc-list .p-item-table tr.p-item > td:last-child {
    margin-top: 6px;
  }

  /* ---- 仕入れリスト・取引商品：作業行 ---- */
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tbody {
    gap: 0 40px;
    position: relative;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tbody::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    border-left: 1px solid #e9e9e9;       /* 2列の間の縦罫 */
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item {
    grid-template-columns: 64px minmax(0, 1fr) 208px;
    grid-template-areas:
      "img  code qty"
      "img  name qty"
      "img  act  qty";
    column-gap: 14px;
    row-gap: 2px;
    padding: 14px 0;
    border: none;
    border-bottom: 1px solid #e9e9e9;
    border-radius: 0;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item:hover,
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-table-highlight .p-row-highlight:hover,
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .js-hoverTable .over,
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .js-hoverTable .focus {
    background: #f7f9fb;
    box-shadow: none;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .p-item-thumb a {
    width: 64px;
    height: 64px;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item > td[data-label="品番"] {
    align-self: start;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .p-item-name {
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item > td[data-label="数量"] {
    grid-area: qty;
    align-self: center;
    margin: 0;
    padding: 0;
    border: none;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .p-item-flexRowToEnd {
    justify-content: flex-end;
    gap: 8px;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .p-item-quantity-input-caption {
    font-size: 11px;
    font-size: 1.1rem;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item > td:last-child {
    grid-area: act;
    margin-top: 8px;
    gap: 6px;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item > td:last-child > div:first-child {
    flex: 0 0 auto;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .mb-row-cart {
    width: 132px;
    height: 30px;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item .p-item-favorite > a {
    width: 30px;
    height: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  /* 1279px 以下の仕入れリストは 1 列（2 列だと 1 行 360px で窮屈） */
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tbody {
    grid-template-columns: minmax(0, 1fr);
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tbody::before {
    display: none;
  }
  body.mb-pc.mb-pc-list:not(.mb-pc-search-main) .p-item-table tr.p-item {
    grid-template-columns: 64px minmax(0, 1fr) 240px;
  }
}

/* =====================================================================
   PC 仕入れリスト・取引商品：上部2段目（キーワード検索欄・カテゴリから探す・カタログから探す）を出さない（本人指定 2026-10-07）
   探す入口はサイドの「商品検索」に一本化。1段目（得意先名・会員メニュー）は残す
   カート・注文内容の確認・注文完了（mb-page-cart＝/aec/user/cart〜）も同じ（本人指定 2026-10-08「カート画面や注文内容確認画面に検索やカテゴリで探す、カタログで探すはいらない」）
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-side:is(.mb-page-list, .mb-page-favorite, .mb-page-cart) .mb-pc-topbar-right {
    display: none;
  }
  body.mb-pc-side:is(.mb-page-list, .mb-page-favorite, .mb-page-cart) .mb-pc-topbar {
    margin-bottom: 20px;
  }
}

/* =====================================================================
   タブレット（768〜1024px）：PC 版をそのまま下へ伸ばし（上の各 PC ブロックの min-width を 1025 → 768 に変更、2026-10-07 本人指定
   「タブレットサイズでも画面変更。PC や SP で対応した画面全部」）、幅に合わせて詰める。
   テーマはこの帯でも PC の DOM（header.u-pc-item）を出すので、SP 版ではなく PC 版を土台にする。
   - サイド 223px → 72px のアイコンレール（アイコン＋10px 文字、情報リンク・コピーライトは出さない、現在地は左端 3px の縦線）
   - 主カラム padding 0 20px、上部2段目は折り返し、TOP の2カラムは縦積み（カテゴリ一覧はチップ風の横並び）
   - JS 側は mqPc を (min-width: 768px) に（mb_script.js 24)）
   ===================================================================== */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.mb-pc-side {
    padding-left: 72px;
  }
  body.mb-pc-side .c-container-center {
    padding: 0 20px;
  }
  .mb-side {
    width: 72px;
    padding: 16px 0 16px;
  }
  .mb-side-logo {
    width: 40px;
    height: 40px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 8px;
  }
  .mb-side-logo img {
    width: auto;
    height: 40px;                        /* 横長ロゴ（190×44）を高さ 40 に。40px 枠で左端のマークだけ見せる */
    max-width: none;
  }
  .mb-side-nav {
    margin-top: 20px;
  }
  .mb-side-item {
    margin-top: 6px;
  }
  .mb-side-item a {
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    min-height: 56px;
    padding: 6px 2px;
    font-size: 10px;
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
  }
  .mb-side-icon {
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    justify-content: center;
  }
  .mb-side-icon svg {
    width: 20px;
    height: 20px;
  }
  .mb-side-icon .fa {
    font-size: 18px;
    width: 20px;
    line-height: 20px;
  }
  .mb-side-label {
    white-space: nowrap;
    letter-spacing: -.02em;
  }
  .mb-side-item.is-current:before {
    left: 0;
    top: 10px;
    bottom: 10px;
    width: 3px;
    height: auto;
    background: #274f79;
  }
  .mb-side-count {
    position: absolute;
    top: 2px;
    right: 8px;
    margin: 0;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 8px;
    font-size: 10px;
    line-height: 16px;
  }
  .mb-side-item {
    position: relative;
  }
  .mb-side-info,
  .mb-side-copy {
    display: none;
  }
  body.mb-pc-side footer {
    left: 72px;
  }
  /* 上部行 */
  body.mb-pc-side .mb-pc-topbar {
    margin: 20px 0 20px;
    gap: 12px;
  }
  body.mb-pc-side .mb-pc-topbar-left {
    flex-wrap: wrap;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-delivery {
    flex: 1 1 auto;
    width: auto !important;
    min-width: 0;
    font-size: 14px;
    font-size: 1.4rem;
    white-space: normal;
  }
  body.mb-pc-side .mb-pc-topbar .l-header-delivery span {
    display: inline !important;
  }
  body.mb-pc-side .mb-pc-topbar-left .l-header-userNav {
    flex: 0 0 auto;
  }
  body.mb-pc-side .mb-pc-topbar-right {
    flex-wrap: wrap;
    row-gap: 8px;
  }
  body.mb-pc-side .mb-pc-topbar form {
    flex: 1 1 100%;
    min-width: 0;
  }
  /* TOP：2カラム → 縦積み。カテゴリ一覧はチップ風の横並び */
  .l-contents.p-top .l-contents-col2-l .l-contents-side,
  .l-contents.p-top .l-contents-col2-l .l-contents-main {
    float: none;
    width: 100%;
    padding: 0;
  }
  .l-contents.p-top .l-contents-col2-l {
    display: flex;
    flex-direction: column;
  }
  .l-contents.p-top .l-contents-col2-l .l-contents-side {
    order: 2;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child li {
    margin: 0;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .p-category-child a {
    padding: 6px 12px;
    border: 1px solid #dadada;
    border-radius: 16px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .js-category-box.mb-pc-cat-collapsed .p-category-child li:nth-child(n + 13) {
    display: block;                      /* 横並びなら全件見せても高さは知れている */
  }
  .l-contents.p-top #js-top-category.mb-pc-side-category .mb-pc-cat-more {
    display: none;
  }
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box,
  .l-contents.p-top .p-itemLayout-grid .c-box-col4Wrap .c-box:nth-child(4n) {
    width: calc((100% - 48px) / 3);
  }
  .l-contents.p-top .p-catalog-boxWrap {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }
  /* 商品詳細：画像と情報を縦に */
  body.mb-pc.mb-page-detail .p-itemDetail-thumb,
  body.mb-pc.mb-page-detail .p-itemDetail-info {
    float: none;
    width: 100%;
    padding: 0;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-thumb {
    margin-bottom: 20px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-thumb .p-item-thumb-l img {
    max-height: 320px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group01 {
    padding-right: 20px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail .p-item-group02 {
    min-width: 220px;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list {
    flex-wrap: wrap;
  }
  body.mb-pc.mb-page-detail .p-itemDetail-memo-list li {
    flex: 1 1 200px;
  }
  /* 注文履歴：左の検索条件を上に */
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .l-contents-col2-l .l-contents-side,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .l-contents-col2-l .l-contents-main {
    float: none;
    width: 100%;
    padding: 0;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-condition {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search .p-search-box-button .c-button02 {
    width: 240px;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-search-box-order {
    margin-bottom: 8px;
  }
  /* お問い合わせ・ログイン：カード幅 */
  body.c-modal:has(.p-questionButton-inquiry_form) .c-modalWrap {
    width: auto;
    margin: 32px 24px;
  }
  body:has(#login_wrap) #login_wrap {
    margin-top: 8vh;
  }
}

/* =====================================================================
   保険：SP 幅（767px 以下）では PC 版の生成物（サイド .mb-side／上部行 .mb-pc-topbar）を出さない
   （PC 幅で開いた後にウィンドウを 767px 以下へ縮めた場合。本人報告 2026-10-07「PC でスマホサイズに変更すると残骸が表示される」。
     PC の CSS は全て min-width:768px なので、縮めると生成した DOM だけが素のまま残っていた。SP 版の保険ブロック（768px 以上で .mb-tabbar 等を隠す）と対）
   ===================================================================== */
@media only screen and (max-width: 767px) {
  .mb-side,
  .mb-pc-topbar {
    display: none !important;
  }
  body.mb-pc-side {
    padding-left: 0 !important;
  }
  body.mb-pc-side footer {
    left: 0;
    right: 0;
    width: 100%;
  }
}

/* =====================================================================
   注文内容の確認 cart_con（本人指定 2026-10-08「この画面も整えられますか」）。対象 body:has(#cartform .p-cart-con-table)
   カート入力画面（SP／PC）と同値のトンマナ。数量入力なし・変更ボタンなしの読み取り専用画面なので、
   表は下罫のみ、お届け先・お支払・その他情報は白地の枠、ボタンは「この内容で注文する」（紺・不可逆）だけ強調し
   「カート画面へ戻る」は紺枠白に落とす
   ===================================================================== */
/* ---- PC・タブレット（768px 以上、JS が body.mb-pc を付ける） ---- */
@media screen and (min-width: 768px) {
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-flow {
    margin: 0 0 20px;
    letter-spacing: normal;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-flow li {
    margin-right: 10px;
    padding-right: 18px;
    color: #999;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-flow li:after {
    border-width: 2px;
    border-color: #ccc;
    top: 2px;
    width: 6px;
    height: 6px;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-flow .p-cart-flow-current {
    color: #274f79;
    font-weight: 700;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) h1.title03 {
    margin: 0 0 14px;
    min-height: 0;
    padding: 0 0 10px;
    border-bottom: 1px solid #e5e5e5;
    background: none;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) h1.title03 .c-title03-label {
    min-height: 0;
    padding: 1px 0 1px 12px;
    font-size: 18px;
    font-size: 1.8rem;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) #cartform section.c-container > .u-sp-pdg > section.c-container {
    margin-bottom: 36px;
  }
  /* 商品の表 */
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table {
    margin: 0;
    border: none;
    table-layout: fixed;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th,
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td {
    border-right: none;
    border-bottom: 1px solid #e9e9e9;
    padding: 10px 12px;
    background: #fff;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th {
    height: 36px;
    padding: 0 12px;
    border-bottom: 2px solid #e5e5e5;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th:nth-child(1) { text-align: left; }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th:nth-child(2) { width: 150px; }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th:nth-child(3) { width: 220px; }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th div,
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table th span {
    display: inline;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item.u-fbox {
    display: flex;
    align-items: center;
    gap: 14px;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-thumb {
    float: none;
    flex: 0 0 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    margin: 0;
    overflow: hidden;
    border-radius: 4px;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-thumb img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-info {
    float: none;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-info li {
    margin: 0;
    font-weight: 400;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-code {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-code .p-cart-item-infoLabel {
    display: none;                       /* 「【商品コード】」の札を外して番号だけ */
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-name {
    margin-top: 2px;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-name a {
    color: #222;
    text-decoration: none;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-name a:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  /* 荷姿 */
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] .p-cart-item {
    color: #555;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.6;
    text-align: center;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] .p-cart-item > div {
    display: inline;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] .p-cart-item-infoLabel {
    color: #888;
  }
  /* 数量：ケース行は「1 ｹｰｽ」を太字で、計の個数は下に小さく */
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-cart-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap {
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap + .p-commonDetail-nowrap {
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 400;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap + .p-commonDetail-nowrap:before {
    content: "数量：";
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-totalWrap:not(:has(td)) {
    display: none;                       /* 合計表（中身なし） */
  }
  /* お届け先・お支払方法：灰枠 → 白地の枠・角丸 */
  body.mb-pc:has(#cartform .p-cart-con-table) .c-box-border02 {
    margin-top: 0;
    padding: 16px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.7;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .c-box-border02 p {
    margin: 0;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-deliveryAddress p + p {
    margin-top: 2px;
    color: #666;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-payment-table,
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-payment-table th,
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-payment-table td {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
  }
  /* その他注文情報：ラベル／値の罫線行 */
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table {
    margin: 0;
    border: none;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table th,
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table td {
    border: none;
    border-bottom: 1px solid #eee;
    padding: 10px 0;
    background: none;
    vertical-align: middle;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table th {
    width: 160px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: left;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table td {
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-other-table td:empty:before {
    content: "—";
    color: #bbb;
  }
  /* ボタン：戻る（左・紺枠白）／この内容で注文する（右・紺・不可逆） */
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-submit {
    display: flex;
    flex-direction: row-reverse;         /* HTML は 注文→戻る の順。確定を右端に置く */
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    direction: ltr;
    letter-spacing: normal;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-submit-confirm {
    margin: 0;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button01 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 280px;
    height: 48px;
    padding: 0 24px;
    border: none;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    transition: opacity .15s linear;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button01:hover {
    opacity: .85;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button03 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 20px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button03:hover {
    background: #f2f6fa;
    color: #274f79;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button .p-cart-submit-label {
    font-size: inherit;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button .fa {
    font-size: 14px;
    font-size: 1.4rem;
  }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button01 .fa { margin-left: 8px; }
  body.mb-pc:has(#cartform .p-cart-con-table) .p-cart-button.c-button03 .fa { margin-right: 4px; }
}

/* ---- SP（767px 以下）：カート入力画面の行（画像 72px／品番・商品名／荷姿）と同じ組み、数量は右端 ---- */
@media only screen and (max-width: 767px) {
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg {
    padding-left: 0;
    padding-right: 0;
  }
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg > section.c-container:first-of-type {
    margin-bottom: 0;
  }
  /* 進行（テーマは SP で非表示）：見出し帯の上に小さく出す */
  body:has(#cartform .p-cart-con-table) .p-cart-flow {
    display: block;
    margin: 0;
    padding: 8px 16px 6px;
    letter-spacing: -.40em;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-flow li {
    margin-right: 8px;
    padding-right: 14px;
    color: #999;
    font-size: 11px;
    font-size: 1.1rem;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-flow li:after {
    border-width: 2px;
    border-color: #ccc;
    top: 2px;
    width: 5px;
    height: 5px;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-flow li span {
    display: inline;
  }
  /* 見出し：カートの見出し帯と同じ */
  body:has(#cartform .p-cart-con-table) h1.title03.p-questionButton-parent {
    margin: 0 0 4px;
    min-height: 0;
    padding: 6px 10px;
    background: #c7dae5;
    border-bottom: 1px solid #afcada;
  }
  body:has(#cartform .p-cart-con-table) h1.title03.p-questionButton-parent .c-title03-label {
    min-height: 0;
    padding: 2px 0 2px 13px;
    color: #222;
    font-size: 16px;
    font-size: 1.6rem;
    letter-spacing: .1em;
    line-height: 26px;
  }
  /* 商品の行：グリッド */
  body:has(#cartform .p-cart-con-table) .p-cart-con-table {
    margin: 0;
    border: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table thead {
    display: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table tbody {
    display: block;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table tbody tr:first-of-type {
    border-top: 1px solid #ececec;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table tr {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) auto;
    grid-template-rows: auto auto auto;
    align-items: start;
    column-gap: 12px;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 12px 16px;
    border: none;
    border-bottom: 1px solid #ececec;
    background: #fff;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td {
    display: block !important;
    width: auto;
    padding: 0;
    border: none;
    background: transparent;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td:before {
    display: none;                       /* 見出し列（商品／荷姿／数量） */
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item {
    display: block;
    width: auto;
    padding: 0;
    background: transparent;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td.p-cart-table-name,
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td.p-cart-table-name > .p-cart-item,
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-info {
    display: contents !important;        /* 画像・品番・商品名をグリッドへ直接置く */
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-thumb {
    grid-column: 1;
    grid-row: 1 / 4;
    align-self: center;
    width: 72px;
    height: 72px;
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
    background: #f6f6f6;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-thumb a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-code {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.6;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-code .p-cart-item-infoLabel {
    display: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-name {
    grid-column: 2;
    grid-row: 2;
    margin: 2px 0 0;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table .p-cart-item-name a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] {
    grid-column: 2;
    grid-row: 3;
    margin-top: 4px;
    color: #666;
    line-height: 1.6;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] .p-cart-item > div {
    display: inline;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="荷姿"] .p-cart-item-infoLabel {
    color: #999;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] {
    grid-column: 3;
    grid-row: 1 / 4;
    align-self: center;
    text-align: right;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap {
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap + .p-commonDetail-nowrap {
    margin-top: 2px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 400;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-con-table td[data-label="数量"] .p-commonDetail-nowrap + .p-commonDetail-nowrap:before {
    content: "数量：";
  }
  body:has(#cartform .p-cart-con-table) .p-cart-totalWrap:not(:has(td)) {
    display: none;
  }
  /* お届け先・お支払方法・その他注文情報：1枚のフォーム（カート入力画面と同じ） */
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg > section.c-container + section.c-container {
    margin: 0;
    padding: 0 16px;
  }
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg > section.c-container:first-of-type + section.c-container {
    margin-top: 12px;
    padding-top: 20px;
    border-top: 8px solid #f3f4f6;
  }
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg > section.c-container + section.c-container h1.title03 {
    min-height: 0;
    margin: 0 0 6px;
    padding: 0;
    background: none;
  }
  body:has(#cartform .p-cart-con-table) #cartform > .c-container > .u-sp-pdg > section.c-container + section.c-container .c-title03-label {
    min-height: 0;
    padding: 0;
    border: none;
    color: #222;
    font-size: 13px;
    font-size: 1.3rem;
    letter-spacing: .04em;
    line-height: 1.4;
  }
  body:has(#cartform .p-cart-con-table) .c-box-border02 {
    margin: 0 0 20px;
    padding: 0;
    border: none;
    background: transparent;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.7;
  }
  body:has(#cartform .p-cart-con-table) .c-box-border02 p {
    margin: 0;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-deliveryAddress p + p {
    margin-top: 2px;
    color: #666;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-payment-table,
  body:has(#cartform .p-cart-con-table) .p-cart-payment-table th,
  body:has(#cartform .p-cart-con-table) .p-cart-payment-table td {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table {
    display: block;
    margin: 8px 0 0;
    border: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table tbody,
  body:has(#cartform .p-cart-con-table) .p-cart-other-table tr {
    display: block;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table tr + tr {
    margin-top: 12px;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table th,
  body:has(#cartform .p-cart-con-table) .p-cart-other-table td {
    display: block;
    width: auto;
    padding: 0;
    border: none;
    background: transparent;
    text-align: left;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table th {
    margin-bottom: 2px;
    color: #666;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.4;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table td {
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-other-table td:empty:before {
    content: "—";
    color: #bbb;
  }
  /* ボタン：この内容で注文する（紺・全幅）→ カート画面へ戻る（紺枠白・全幅） */
  body:has(#cartform .p-cart-con-table) .p-cart-submit {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 20px 16px 8px;
    direction: ltr;
    letter-spacing: normal;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit-confirm {
    display: block;
    margin: 0;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    padding: 0;
    border-radius: 6px;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: .04em;
    box-shadow: none;
    text-decoration: none;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-button.c-button01 {
    border: none;
    background: #274f79;
    color: #fff;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-button.c-button01:active {
    background: #1d3d5f;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-button.c-button03 {
    border: 1px solid #274f79;
    background: #fff;
    color: #274f79;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-submit-label {
    font-size: inherit;
  }
  body:has(#cartform .p-cart-con-table) .p-cart-submit .p-cart-button .fa {
    display: none;
  }
}

/* =====================================================================
   SP 商品検索・カタログ商品一覧：カートに入れない（本人指定 2026-10-22「スマホで商品検索からカートに追加はできないようにして欲しい」）
   数量入力・単位・カートに入れる・一括でカートに入れる をログイン状態に関わらず出さない（未ログイン時の規則と同じ内容）。
   カート投入は仕入れリスト（お気に入り・取引商品）の商品パネルに一本化する
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item > td[data-label="数量"]:not(:has(.c-button-variations)),
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-cart,
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .js-cart-set-button,
  body:is(.mb-page-search, .mb-page-catalog) .p-itemList-nav .nav-controls {
    display: none !important;
  }
}

/* =====================================================================
   SP 商品検索・カタログ商品一覧：ハート → 「仕入れリストに追加」ボタン（本人指定 2026-10-22「ハートボタンではなく仕入れリストに追加ボタンを目立つように」）
   画像右上の丸いハート（30px）を、カード末尾の全幅ボタン（36px・紺）にする。要素は同じ .js-favorite-button（商品検索は Vue の
   favorite-button、カタログは inline onclick の asyncFavorite）なので機能はそのまま。文言は ::after で付け、
   追加済み（.p-item-favorite-added）は白地・紺枠「仕入れリスト追加済み」にして、もう一度押せば外せることを見た目で示す
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item > td:not([data-label]) {
    position: static;
    order: 9;                            /* 画像(1)・品番・商品名・（数量は非表示）の後ろ */
    width: auto;
    margin-top: auto;                    /* 商品名の行数が違っても、同じ段のカードでボタンの下端を揃える（グリッドの行高に合わせて押し下げる） */
    padding-top: 10px;
    z-index: auto;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite-block,
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite {
    margin: 0;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a,
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a:not(.p-item-favorite-added) {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    box-sizing: border-box;
    width: 100%;
    height: 36px;
    margin: 0;
    padding: 0 8px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #274f79;
    box-shadow: none;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a:after {
    content: "仕入れリストに追加";
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a:active {
    opacity: .85;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite .fa {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added {
    background: #fff;
    color: #274f79;
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added:after {
    content: "仕入れリスト追加済み";
  }
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tr.p-item .p-item-favorite > a.p-item-favorite-added .fa {
    color: #FF0080;
  }
  /* 数量行が無くなった分、行間はパネル付きページと同じ 28px */
  body:is(.mb-page-search, .mb-page-catalog) .p-item-table tbody {
    row-gap: 28px;
  }
}

/* =====================================================================
   TOP：バナー（スライダー）を出さない（本人指定 2026-10-22）。全幅。
   代わりに「重要なお知らせ」（JS 33) buildImportantNotice が .mb-notice を同じ位置に置く）を出す
   ===================================================================== */
.l-contents.p-top #js-top-banner {
  display: none !important;
}
.mb-notice {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.mb-notice-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-sizing: border-box;
  padding: 14px 16px;
  border: 1px solid #f1c5c5;
  border-left: 4px solid #c0392b;
  border-radius: 8px;
  background: #fdf3f3;
  color: #222;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.mb-notice-item:hover,
.mb-notice-item:active {
  background: #fbe9e9;
  text-decoration: none;
}
.mb-notice-head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mb-notice-label {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 3px;
  background: #c0392b;
  color: #fff;
  font-size: 11px;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.4;
}
.mb-notice-date {
  color: #888;
  font-size: 12px;
  font-size: 1.2rem;
}
.mb-notice-title {
  color: #222;
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
.mb-notice-body {
  color: #444;
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 1.7;
}
.mb-notice-more {
  color: #c0392b;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .l-contents.p-top .mb-notice {
    margin: 12px 16px 24px;
  }
}
@media screen and (min-width: 768px) {
  .l-contents.p-top .mb-notice {
    margin: 0 0 28px;
  }
  .mb-notice-item {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    padding: 14px 20px;
  }
  .mb-notice-title {
    flex: 1 1 auto;
    min-width: 0;
  }
  .mb-notice-item.mb-notice-builtin {
    display: grid;                       /* 本文付き：札｜題名｜リンク を1行目、本文を2行目に */
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 16px;
    row-gap: 4px;
  }
  .mb-notice-item.mb-notice-builtin .mb-notice-head  { grid-column: 1; grid-row: 1; }
  .mb-notice-item.mb-notice-builtin .mb-notice-title { grid-column: 2; grid-row: 1; }
  .mb-notice-item.mb-notice-builtin .mb-notice-more  { grid-column: 3; grid-row: 1; white-space: nowrap; }
  .mb-notice-item.mb-notice-builtin .mb-notice-body  { grid-column: 2 / 4; grid-row: 2; }
}

/* =====================================================================
   TOP：最近注文した商品・お気に入り商品（SP は横スクロール、PC・タブレットは4列カード）を出さない
   （本人指定 2026-10-22「仕入れリストの一覧のようなものはいらない」「PCやタブレットでも出ているので取る」）。全幅。
   仕入れリスト（SP タブバー／PC サイドメニュー）に入口を一本化。カテゴリ一覧・カタログ・お知らせは残す
   ===================================================================== */
.l-contents.p-top #js-top-recent-ordered-shohin,
.l-contents.p-top #js-top-favorite-shohin {
  display: none !important;
}

/* =====================================================================
   SP お知らせ一覧（news_list）・お知らせ詳細（news_info）（本人指定 2026-10-22「お知らせ画面をいい感じに」）。body.mb-page-news
   - サイド（「取引商品一覧表示」バナー＝JS 5) が隠す／カタログ）は出さない。お知らせだけの画面にする
   - 一覧：見出し帯は仕入れリストと同じ。表示件数・件数行は隠す（件数が少なく、ページ送りは下の帯で足りる）。
     行は 種別札＋日付 の小行 → 題名 15px 太字、右端に ›。行全体をタップできるよう a を広げる
   - 詳細：種別札 → 題名 18px → 日付 12px → 本文（画像は全幅・角丸）→ 添付（紺枠ボタン）→ 前後のお知らせ・一覧へ戻る
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-page-news .l-contents-col2-l .l-contents-side {
    display: none !important;
  }
  body.mb-page-news .l-contents-main {
    padding-bottom: 8px;
  }
  /* 一覧 */
  body.mb-page-news .p-itemList-condition,
  body.mb-page-news .p-itemList-nav:not(.p-itemList-nav-bottom) .nav-count,
  body.mb-page-news .p-itemList-nav-bottom .nav-count {
    display: none;
  }
  body.mb-page-news .p-itemList-nav {
    margin: 0;
    padding: 0 16px;
  }
  body.mb-page-news .p-itemList-nav:not(:has(.c-pager, .pager, a)) {
    display: none;
  }
  body.mb-page-news form#billListSearch > section.c-container > .u-sp-pdg {
    padding: 0;
  }
  body.mb-page-news .p-news-list {
    margin: 0;
  }
  body.mb-page-news .p-news-list li {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
    border-bottom: 1px solid #ececec;
  }
  body.mb-page-news .p-news-list .p-news-date {
    position: absolute;
    top: 14px;
    left: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.4;
    pointer-events: none;
  }
  body.mb-page-news .p-news-type {
    display: inline-block;
    min-width: 0;
    margin: 0;
    padding: 1px 6px;
    border: 1px solid #274f79;
    border-radius: 3px;
    background: #fff;
    color: #274f79;
    font-size: 10px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
  }
  body.mb-page-news .p-news-list .p-news-title {
    display: block;
    margin: 0;
    font-size: inherit;
  }
  body.mb-page-news .p-news-list .p-news-title a {
    display: block;
    padding: 36px 40px 14px 16px;   /* 上は種別札・日付の行（絶対配置）の分 */
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
  }
  body.mb-page-news .p-news-list .p-news-title a:after {
    content: "›";
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 20px;
    font-weight: 400;
  }
  body.mb-page-news .p-news-list .p-news-title a:active {
    background: #f7f9fb;
  }
  /* 詳細 */
  body.mb-page-news .l-contents-main > section.c-container {
    margin-bottom: 0;
  }
  body.mb-page-news .p-news-type-label {
    margin: 12px 16px 0;
  }
  body.mb-page-news .p-news-type-label .p-news-type {
    display: inline-block;
  }
  body.mb-page-news h1.c-title01:has(.p-news-title) {
    min-height: 0;
    margin: 8px 0 0;
    padding: 0 16px;
    border: none;
    background: none;
  }
  body.mb-page-news h1.c-title01 .c-title01-label.p-news-title {
    min-height: 0;
    padding: 0;
    border: none;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.5;
  }
  body.mb-page-news .p-questionButton-news_info:not(:has(*)),
  body.mb-page-news .p-questionButton-news_list:not(:has(*)) {
    display: none;
  }
  body.mb-page-news .l-contents-main > section.c-container > p:empty {
    display: none;
  }
  body.mb-page-news .c-pager-prev-next {
    margin: 0;
    padding: 0 16px;
  }
  body.mb-page-news .c-pager-prev-next > div {
    float: none !important;
    display: flex;
    justify-content: space-between;
    gap: 12px;
  }
  body.mb-page-news .c-pager-prev-next a {
    color: #274f79;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    text-decoration: none;
  }
  /* 上側の 前後のお知らせ は隠し、本文の下だけ残す */
  body.mb-page-news .js-page-messages + span .c-pager-prev-next,
  body.mb-page-news h1.c-title01 ~ span:first-of-type .c-pager-prev-next {
    display: none;
  }
  body.mb-page-news #newsPdfDownload {
    margin: 12px 0 20px;
    padding: 0 16px;
  }
  body.mb-page-news .p-cart-address-table,
  body.mb-page-news .p-cart-address-table tbody,
  body.mb-page-news .p-cart-address-table tr,
  body.mb-page-news .p-cart-address-table th,
  body.mb-page-news .p-cart-address-table td {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    text-align: left;
  }
  body.mb-page-news .p-cart-address-table th {
    display: none;                       /* 「日付」「内容」「添付ファイルダウンロード」の見出し列 */
  }
  body.mb-page-news .p-cart-address-table tr:first-child td {
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
  }
  body.mb-page-news .p-cart-address-table .p-news-detail {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #ececec;
    color: #333;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.8;
    word-break: break-word;
  }
  body.mb-page-news .p-cart-address-table .p-news-detail p {
    margin: 0 0 .8em;
  }
  body.mb-page-news .p-cart-address-table .p-news-detail p:last-child {
    margin-bottom: 0;
  }
  body.mb-page-news .p-cart-address-table td img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px 0 0;
    border-radius: 6px;
  }
  body.mb-page-news .p-cart-address-table tr:has(.pdf_list_btn) td {
    margin-top: 16px;
  }
  body.mb-page-news .pdf_list_btn {
    margin: 0 0 4px;
  }
  body.mb-page-news .pdf_list_btn .btn a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-page-news .pdf_list_btn .btn a:before {
    content: "PDF";
    margin-right: 8px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #274f79;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
  }
  body.mb-page-news .pdf_list_name {
    color: #888;
    font-size: 11px;
    font-size: 1.1rem;
    word-break: break-all;
  }
  body.mb-page-news .mb-news-back {
    margin: 20px 16px 0;
  }
  body.mb-page-news .mb-news-back a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
  }
}

/* =====================================================================
   SP 商品詳細：カートに入れない（本人指定 2026-10-22「SPで商品詳細ページでもカートに入れれないようにしたい」）
   数量入力（単位ごとの行）と「カートに入れる」を出さず、お気に入り（.js-favorite-button）を商品検索と同じ
   全幅の「仕入れリストに追加」ボタンにする。単価・在庫・入数の表示（出る契約のみ）はそのまま。
   カート投入は仕入れリストの商品パネルに一本化
   ===================================================================== */
@media only screen and (max-width: 767px) {
  body.mb-detail .p-itemDetail .p-item-group02 > div:has(.p-item-quantity-input-caption, .p-item-count-input),
  body.mb-detail .p-itemDetail .p-item-group02 > .p-item-cart {
    display: none !important;
  }
  body.mb-detail .p-itemDetail .p-item-group02 > .p-item-favorite {
    flex: 1 1 100%;
    margin: 4px 0 0;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a,
  body.mb-detail .p-itemDetail .p-item-favorite > a:not(.p-item-favorite-added),
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added {   /* 追加済みも同じ箱。上の旧ブロックが a.p-item-favorite-added に width:44px を持ち、::after の文言が縦に崩れていた（本人報告 2026-10-22） */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 44px;
    margin: 0;
    padding: 0 12px;
    white-space: nowrap;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #274f79;
    color: #fff;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a:after {
    content: "仕入れリストに追加";
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a:active {
    background: #1d3d5f;
    opacity: 1;
  }
  body.mb-detail .p-itemDetail .p-item-favorite .fa {
    font-size: 14px;
    line-height: 1;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added {
    background: #fff;
    border-color: #274f79;
    color: #274f79;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added:after {
    content: "仕入れリスト追加済み";
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added:active {
    background: #f3f4f6;
  }
  body.mb-detail .p-itemDetail .p-item-favorite > a.p-item-favorite-added .fa {
    color: #FF0080;
  }
}

/* =====================================================================
   PC・タブレット 上部検索欄：「詳細検索▼」「カテゴリから探す」「カタログから探す」を出さない（本人指定 2026-10-22「トリです」）
   残るのはキーワード入力＋検索ボタンだけ。探し方の細分（分類・カタログ・タグ）はサイドの「商品検索」画面に一本化。
   要素は移してあるだけ（JS 27) move）なので、テーマの JS は壊れない
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-side .mb-pc-topbar .l-nav-categorySearch-area,
  body.mb-pc-side .mb-pc-topbar .l-nav-catalogSearch,
  body.mb-pc-side .mb-pc-topbar .l-contents-header-search,
  body.mb-pc-side #detailSearchForm {
    display: none !important;
  }
  body.mb-pc-side .mb-pc-topbar .l-nav-keywordSearch-input[type="text"] {
    padding-right: 12px;                 /* 詳細検索▼ の分（96px）を戻す */
  }
}

/* =====================================================================
   PC・タブレット お知らせ一覧（news_list）・詳細（news_info）（本人指定 2026-10-22「お知らせ一覧画面も見直して」）。body.mb-pc.mb-page-news
   SP 版と同じ構成を 1 カラムで。サイド（「取引商品一覧表示」バナー・カタログ）は出さない。
   一覧：見出し（白地・紺左罫）→ 行（種別札＋日付／題名 15px／右端 ›、行全体リンク）。表示件数・件数行は隠す（ページ送りは下の帯のみ）
   詳細：種別札 → 題名 22px → 日付 → 本文（max-width 760）→ 添付 → 前後・一覧へ戻る
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc.mb-page-news .l-contents-col2-l .l-contents-side {
    display: none !important;
  }
  body.mb-pc.mb-page-news .l-contents-col2-l .l-contents-main {
    float: none;
    width: auto;
    max-width: 920px;
  }
  body.mb-pc.mb-page-news h1.c-title01 {
    min-height: 0;
    margin: 0 0 8px;
    padding: 0 0 10px;
    border: none;
    border-bottom: 1px solid #e5e5e5;
    background: none;
  }
  body.mb-pc.mb-page-news h1.c-title01 .c-title01-label {
    min-height: 0;
    padding: 1px 0 1px 12px;
    border-left: 3px solid #274f79;
    color: #222;
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 24px;
  }
  body.mb-pc.mb-page-news .p-questionButton-news_list:not(:has(*)),
  body.mb-pc.mb-page-news .p-questionButton-news_info:not(:has(*)) {
    display: none;
  }
  /* 一覧 */
  body.mb-pc.mb-page-news .p-itemList-condition,
  body.mb-pc.mb-page-news .p-itemList-nav .nav-count {
    display: none;
  }
  body.mb-pc.mb-page-news .p-itemList-nav {
    margin: 0;
    padding: 0;
  }
  body.mb-pc.mb-page-news .p-itemList-nav:not(:has(.c-pager, .pager, a)) {
    display: none;
  }
  body.mb-pc.mb-page-news .p-news-list {
    margin: 0;
  }
  body.mb-pc.mb-page-news .p-news-list li {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
    border-bottom: 1px solid #ececec;
  }
  body.mb-pc.mb-page-news .p-news-list .p-news-date {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
    width: 180px;
    margin: 0;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.4;
    pointer-events: none;
  }
  body.mb-pc.mb-page-news .p-news-type {
    display: inline-block;
    min-width: 0;
    margin: 0;
    padding: 1px 8px;
    border: 1px solid #274f79;
    border-radius: 3px;
    background: #fff;
    color: #274f79;
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
  }
  body.mb-pc.mb-page-news .p-news-list .p-news-title {
    display: block;
    margin: 0;
    font-size: inherit;
  }
  body.mb-pc.mb-page-news .p-news-list .p-news-title a {
    display: block;
    padding: 16px 40px 16px 196px;       /* 左 180px は種別札・日付（絶対配置） */
    color: #222;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
  }
  body.mb-pc.mb-page-news .p-news-list .p-news-title a:after {
    content: "›";
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: #999;
    font-size: 20px;
    font-weight: 400;
  }
  body.mb-pc.mb-page-news .p-news-list .p-news-title a:hover {
    background: #f7f9fb;
  }
  /* 詳細 */
  body.mb-pc.mb-page-news .p-news-type-label {
    margin: 0 0 8px;
  }
  body.mb-pc.mb-page-news .p-news-type-label .p-news-type {
    display: inline-block;
  }
  body.mb-pc.mb-page-news h1.c-title01:has(.p-news-title) {
    margin: 0;
    padding: 0;
    border: none;
  }
  body.mb-pc.mb-page-news h1.c-title01 .c-title01-label.p-news-title {
    padding: 0;
    border: none;
    font-size: 22px;
    font-size: 2.2rem;
    letter-spacing: .02em;
    line-height: 1.5;
  }
  body.mb-pc.mb-page-news .l-contents-main > section.c-container > p:empty {
    display: none;
  }
  body.mb-pc.mb-page-news .js-page-messages + span .c-pager-prev-next,
  body.mb-pc.mb-page-news h1.c-title01 ~ span:first-of-type .c-pager-prev-next {
    display: none;                       /* 上側の前後リンクは隠し、本文の下だけ */
  }
  body.mb-pc.mb-page-news #newsPdfDownload {
    margin: 8px 0 24px;
  }
  body.mb-pc.mb-page-news .p-cart-address-table,
  body.mb-pc.mb-page-news .p-cart-address-table tbody,
  body.mb-pc.mb-page-news .p-cart-address-table tr,
  body.mb-pc.mb-page-news .p-cart-address-table th,
  body.mb-pc.mb-page-news .p-cart-address-table td {
    display: block;
    width: auto;
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    text-align: left;
  }
  body.mb-pc.mb-page-news .p-cart-address-table th {
    display: none;
  }
  body.mb-pc.mb-page-news .p-cart-address-table tr:first-child td {
    color: #888;
    font-size: 13px;
    font-size: 1.3rem;
  }
  body.mb-pc.mb-page-news .p-cart-address-table .p-news-detail {
    max-width: 760px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #ececec;
    color: #333;
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.9;
    word-break: break-word;
  }
  body.mb-pc.mb-page-news .p-cart-address-table .p-news-detail p {
    margin: 0 0 .8em;
  }
  body.mb-pc.mb-page-news .p-cart-address-table td img {
    display: block;
    max-width: 760px;
    width: auto;
    height: auto;
    margin: 16px 0 0;
    border-radius: 6px;
  }
  body.mb-pc.mb-page-news .p-cart-address-table tr:has(.pdf_list_btn) td {
    margin-top: 20px;
  }
  body.mb-pc.mb-page-news .pdf_list_btn {
    margin: 0 0 4px;
  }
  body.mb-pc.mb-page-news .pdf_list_btn .btn a {
    display: inline-flex;
    align-items: center;
    height: 40px;
    padding: 0 16px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-pc.mb-page-news .pdf_list_btn .btn a:hover {
    background: #f2f6fa;
  }
  body.mb-pc.mb-page-news .pdf_list_btn .btn a:before {
    content: "PDF";
    margin-right: 8px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #274f79;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
  }
  body.mb-pc.mb-page-news .pdf_list_name {
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc.mb-page-news .c-pager-prev-next {
    margin: 0;
    padding: 16px 0 0;
    border-top: 1px solid #ececec;
  }
  body.mb-pc.mb-page-news .c-pager-prev-next > div {
    float: none !important;
    display: flex;
    justify-content: space-between;
    gap: 16px;
  }
  body.mb-pc.mb-page-news .c-pager-prev-next a {
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-pc.mb-page-news .mb-news-back {
    margin: 20px 0 0;
  }
  body.mb-pc.mb-page-news .mb-news-back a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding: 0 20px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-pc.mb-page-news .mb-news-back a:hover {
    background: #f2f6fa;
  }
}

/* =====================================================================
   PC・タブレット TOP：カテゴリ一覧・カタログを主カラムに（本人指定 2026-10-22「PCのTOP画面で、カテゴリとカタログの表示をいい感じに」）
   最近注文・お気に入りを撤去したので主カラムは お知らせ だけ。JS 26) がカテゴリ一覧（全件）とカタログを主カラムのお知らせの下へ移す。
   左カラムは空になるので出さず、主カラムを全幅に。カテゴリはチップ（SP と同じ見た目、13px）、カタログは 4 列（1025〜1279px は 3 列）のカード
   ===================================================================== */
@media screen and (min-width: 768px) {
  body.mb-pc-top-main .l-contents.p-top .l-contents-col2-l .l-contents-side {
    display: none !important;
  }
  body.mb-pc-top-main .l-contents.p-top .l-contents-col2-l .l-contents-main {
    float: none;
    width: 100%;
  }
  body.mb-pc-top-main .l-contents.p-top #js-component-position-main > .c-container {
    margin-bottom: 36px;
  }
  /* カテゴリ一覧：チップ */
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .c-box-col4Wrap {
    display: block;
    padding: 0;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .c-box {
    width: 100%;
    margin: 0 0 16px;
    padding: 0;
    border: none;
    background: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-parent {
    margin: 0 0 10px;
    padding: 0;
    border: none;
    background: none;
    color: #888;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: .04em;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-parent a {
    color: inherit;
    font-size: inherit;
    text-decoration: none;
    pointer-events: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-parent .fa,
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-parent .u-sp-item {
    display: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-child {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    border: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-child li {
    margin: 0;
    padding: 0;
    border: none;
    list-style: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-child li:before {
    content: none;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-child a {
    display: inline-flex;
    align-items: center;
    height: 34px;
    padding: 0 14px;
    border: 1px solid #dadada;
    border-radius: 17px;
    background: #fff;
    color: #333;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1;
    text-decoration: none;
    transition: background-color .15s linear, border-color .15s linear;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .p-category-child a:hover {
    border-color: #274f79;
    background: #f2f6fa;
    color: #274f79;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .js-category-box.mb-pc-cat-collapsed .p-category-child li:nth-child(n + 13) {
    display: block;
  }
  body.mb-pc-top-main .l-contents.p-top #js-top-category.mb-pc-main-category .mb-pc-cat-more {
    display: none;
  }
  /* カタログ：カード */
  body.mb-pc-top-main .l-contents.p-top #js-top-cat-container-side.mb-pc-main-catalog .u-sp-pdg {
    padding: 0;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-boxWrap,
  body.mb-pc-top-main #js-component-position-main .mb-pc-main-catalog .p-catalog-boxWrap {
    border: none;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-box,
  body.mb-pc-top-main #js-component-position-main .p-catalog-boxWrap .p-catalog-box {   /* テーマの #js-component-position-main … .p-catalog-box{width:24%;display:inline-block}（id 指定）に勝つ */
    display: flex;
    flex-direction: column;
    width: auto;
    margin: 0;
    padding: 16px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    text-align: left;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-thumb {
    order: 1;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0 0 12px;
    overflow: hidden;
    border-radius: 6px;
    background: #f6f6f6;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-thumb a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-thumb img,
  body.mb-pc-top-main #js-component-position-main .mb-pc-main-catalog .p-catalog-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    object-fit: contain;                 /* 表紙は縦長が多いので切らずに収める */
  }
  body.mb-pc-top-main #js-component-position-main .mb-pc-main-catalog .p-catalog-thumb {
    width: 100%;
    margin: 0 0 12px;
  }
  body.mb-pc-top-main #js-component-position-main .mb-pc-main-catalog .p-catalog-thumb a {
    display: flex;
    width: 100%;
    height: 100%;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-name {
    order: 2;
    margin: 0 0 12px;
    color: #222;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-link {
    order: 3;
    margin: auto 0 0;
    text-align: left;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-link .fa {
    display: none;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 36px;
    border: 1px solid #274f79;
    border-radius: 6px;
    background: #fff;
    color: #274f79;
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: 700;
    text-decoration: none;
  }
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-link a:hover {
    background: #f2f6fa;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-boxWrap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body.mb-pc-top-main .l-contents.p-top .mb-pc-main-catalog .p-catalog-boxWrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =====================================================================
   タブレット（768〜1024px）注文履歴一覧：テーマが td を縦積み（左 110px にラベル、td:before）にする規則と、PC 用の表の規則
   （padding 12px 10px）が重なり、ラベルと値が重なっていた（本人報告 2026-10-22）。タブレットは PC と同じ表のまま出す
   ===================================================================== */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table {
    display: table;
    width: 100%;
    border-collapse: collapse;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table thead {
    display: table-header-group;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table tbody {
    display: table-row-group;
    width: auto;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table tr {
    display: table-row;
    width: auto;
    margin: 0;
    border-top: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table th {
    display: table-cell;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td {
    display: table-cell;
    position: static;
    width: auto;
    padding: 12px 8px;
    border-left: none;
    border-bottom: 1px solid #e9e9e9;
    font-size: 12px;
    font-size: 1.2rem;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td:before,
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td:after {
    content: none;
    display: none;
  }
  body.mb-pc:is(.mb-page-history, :has(#orderSearch)) .p-order-table td.orderInfoDispField {
    padding: 0;
  }
}

/* =====================================================================
   カート投入の成功通知：吹き出し＋幕 → 控えめなトースト（本人指定 2026-10-22「仕入れリストからカートに追加したときに出るモーダルがうざい」）
   JS（SP 12)／PC buildPcRowCart）が成功時だけ .mb-cart-toast を付ける。エラーは従来の吹き出しのまま。
   黒地の小さな帯（点数・金額・「カートを見る」）を画面下に 2 秒出す。幕（#tether-bg）は操作を遮らない
   ===================================================================== */
.c-button-cart-balloon.mb-cart-toast {
  position: fixed !important;
  top: auto !important;
  width: auto !important;
  max-width: calc(100% - 32px);
  margin: 0 !important;
  padding: 10px 14px 10px 16px !important;
  border: none !important;
  border-radius: 10px !important;
  background: rgba(31, 31, 31, .94) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .18) !important;
  color: #fff;
  text-align: left;
  transform: none !important;
  z-index: 230 !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px 12px;
}
.c-button-cart-balloon.mb-cart-toast .balloon-ttl {
  margin: 0;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-button-cart-balloon.mb-cart-toast .balloon-price {
  margin: 0;
  color: #bbb;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1.4;
}
.c-button-cart-balloon.mb-cart-toast .balloon-price strong {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
}
.c-button-cart-balloon.mb-cart-toast .balloon-delivery {
  display: none;
}
.c-button-cart-balloon.mb-cart-toast .balloon-button {
  margin: 0 0 0 auto;
}
.c-button-cart-balloon.mb-cart-toast .balloon-button .c-button01 {
  display: inline-flex;
  align-items: center;
  width: auto;
  height: 28px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, .5) !important;
  border-radius: 6px;
  background: transparent !important;
  color: #fff !important;
  font-size: 12px;
  font-size: 1.2rem;
  font-weight: 700;
  white-space: nowrap;
}
.c-button-cart-balloon.mb-cart-toast .balloon-button .c-button01 .fa,
.c-button-cart-balloon.mb-cart-toast .balloon-button .c-button01 > span:not(.fa) {
  display: none;                       /* 「カート内を見る・注文する」→ 短く */
}
.c-button-cart-balloon.mb-cart-toast .balloon-button .c-button01:after {
  content: "カートを見る";
}
.c-button-cart-balloon.mb-cart-toast .balloon-button .c-button01:hover {
  background: rgba(255, 255, 255, .12) !important;
}
body:has(.c-button-cart-balloon.mb-cart-toast) #tether-bg.js-cart-balloon-overlay {
  pointer-events: none;                /* 幕で画面を塞がない。閉じるのは 2 秒の自動クローズか「カートを見る」 */
  background: transparent;
}
@media only screen and (max-width: 767px) {
  .c-button-cart-balloon.mb-cart-toast {
    left: 16px !important;
    right: 16px !important;
    bottom: calc(82px + 12px + env(safe-area-inset-bottom)) !important;
  }
}
@media screen and (min-width: 768px) {
  .c-button-cart-balloon.mb-cart-toast {
    left: auto !important;
    right: 24px !important;
    bottom: 24px !important;
    min-width: 320px;
  }
}

/* =====================================================================
   未ログインの仕入れリスト（お気に入り／取引商品）：一覧を出さない（本人報告 2026-10-22。JS 34) guardListGuest が body.mb-list-guest を付ける）
   サーバは未ログインだと絞り込みが効かず全商品を返すため、主カラムの中身（条件バー・件数・一覧・ページ送り）と側の検索条件を隠し、
   案内文とログインボタンだけ出す。見出し「仕入れリスト」とセグメントはそのまま
   ===================================================================== */
body.mb-list-guest .l-contents-col2-l :is(.l-contents-main, .l-contents-main-variable) > section.c-container > *:not(h1):not(.mb-list-guest),
body.mb-list-guest .l-contents-col2-l :is(.l-contents-main, .l-contents-main-variable) > *:not(section.c-container),
body.mb-list-guest .l-contents-col2-l .l-contents-side,
body.mb-list-guest .p-itemList-nav,
body.mb-list-guest .mb-list-seg-wrap,
body.mb-list-guest .mb-list-seg {
  display: none !important;
}
body.mb-list-guest .l-contents-col2-l :is(.l-contents-main, .l-contents-main-variable) {
  float: none;
  width: 100%;
}
body.mb-list-guest .mb-list-guest {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 8px 16px 24px;
  padding: 32px 20px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #fff;
  text-align: center;
}
body.mb-list-guest .mb-list-guest-text {
  margin: 0;
  color: #444;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.7;
}
body.mb-list-guest .mb-list-guest-login {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  height: 44px;
  padding: 0 24px;
  border-radius: 6px;
  background: #274f79;
  color: #fff;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
}
body.mb-list-guest .mb-list-guest-login:hover {
  opacity: .85;
  color: #fff;
}
@media screen and (min-width: 768px) {
  body.mb-list-guest .mb-list-guest {
    max-width: 560px;
    margin: 8px 0 24px;
  }
}
